From 5e6ad92a53f59a9fce950427602fe36ec3dff6a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Murat=20Go=CC=88zel?= Date: Thu, 2 Jan 2025 04:06:45 +0300 Subject: [PATCH] build: removed tsup and switched to babel + rollup to expand supported environments --- .browserslistrc | 1 - README.md | 162 +- babel.config.js | 23 - dist/MIMEMessage.d.ts | 73 + dist/MIMEMessageContent.d.ts | 16 + dist/MIMEMessageHeader.d.ts | 37 + dist/MIMETextError-BRDlE5Ge.d.cts | 150 - dist/MIMETextError-BRDlE5Ge.d.ts | 150 - dist/MIMETextError.d.ts | 5 + dist/Mailbox.d.ts | 22 + dist/browser.cjs | 3 - dist/browser.cjs.map | 1 - dist/browser.d.cts | 6 - dist/browser.d.ts | 6 - dist/browser.global.js | 3 - dist/browser.global.js.map | 1 - dist/browser.js | 3 - dist/browser.js.map | 1 - dist/chunk-VH3IXZT5.js | 2 - dist/chunk-VH3IXZT5.js.map | 1 - dist/entrypoints/browser.d.ts | 12 + dist/entrypoints/gas.d.ts | 12 + dist/entrypoints/node.d.ts | 12 + dist/gas.cjs | 3 - dist/gas.cjs.map | 1 - dist/gas.d.cts | 6 - dist/gas.d.ts | 6 - dist/gas.global.js | 3 - dist/gas.global.js.map | 1 - dist/gas.js | 3 - dist/gas.js.map | 1 - dist/mimetext.browser.cjs.js | 2 + dist/mimetext.browser.cjs.js.map | 1 + dist/mimetext.browser.es.js | 2 + dist/mimetext.browser.es.js.map | 1 + dist/mimetext.gas.iife.js | 2 + dist/mimetext.gas.iife.js.map | 1 + dist/mimetext.iife.js | 2 + dist/mimetext.iife.js.map | 1 + dist/mimetext.node.cjs.js | 2 + dist/mimetext.node.cjs.js.map | 1 + dist/mimetext.node.es.js | 2 + dist/mimetext.node.es.js.map | 1 + dist/node.cjs | 3 - dist/node.cjs.map | 1 - dist/node.d.cts | 6 - dist/node.d.ts | 6 - dist/node.global.js | 19 - dist/node.global.js.map | 1 - dist/node.js | 3 - dist/node.js.map | 1 - docs/.nojekyll | 1 - docs/assets/highlight.css | 85 - docs/assets/icons.js | 15 - docs/assets/icons.svg | 1 - docs/assets/main.js | 59 - docs/assets/navigation.js | 1 - docs/assets/search.js | 1 - docs/assets/style.css | 1414 -- docs/classes/node.MIMEMessage.html | 37 - docs/classes/node.MIMEMessageContent.html | 12 - .../node.MIMEMessageContentHeader.html | 17 - docs/classes/node.MIMEMessageHeader.html | 17 - docs/classes/node.MIMETextError.html | 13 - docs/classes/node.Mailbox.html | 12 - docs/functions/browser.createMimeMessage.html | 1 - docs/functions/gas.createMimeMessage.html | 1 - docs/functions/node.createMimeMessage.html | 1 - docs/hierarchy.html | 1 - docs/index.html | 37 - docs/interfaces/node.AttachmentOptions.html | 8 - docs/interfaces/node.Boundaries.html | 4 - docs/interfaces/node.ContentHeaders.html | 5 - docs/interfaces/node.ContentOptions.html | 6 - docs/interfaces/node.EnvironmentContext.html | 5 - docs/interfaces/node.HeaderField.html | 9 - docs/interfaces/node.MailboxAddrObject.html | 4 - docs/interfaces/node.MailboxConfig.html | 2 - docs/modules/browser.html | 19 - docs/modules/gas.html | 19 - docs/modules/node.html | 19 - docs/types/node.ContentTransferEncoding.html | 1 - docs/types/node.HeadersObject.html | 1 - docs/types/node.MailboxType.html | 1 - package-lock.json | 16149 ++++++++++++++++ package.json | 65 +- pnpm-lock.yaml | 9097 --------- rollup.config.js | 130 +- tsconfig.json | 1 + tsup.config.js | 15 - 90 files changed, 16595 insertions(+), 11475 deletions(-) delete mode 100644 .browserslistrc delete mode 100644 babel.config.js create mode 100644 dist/MIMEMessage.d.ts create mode 100644 dist/MIMEMessageContent.d.ts create mode 100644 dist/MIMEMessageHeader.d.ts delete mode 100644 dist/MIMETextError-BRDlE5Ge.d.cts delete mode 100644 dist/MIMETextError-BRDlE5Ge.d.ts create mode 100644 dist/MIMETextError.d.ts create mode 100644 dist/Mailbox.d.ts delete mode 100644 dist/browser.cjs delete mode 100644 dist/browser.cjs.map delete mode 100644 dist/browser.d.cts delete mode 100644 dist/browser.d.ts delete mode 100644 dist/browser.global.js delete mode 100644 dist/browser.global.js.map delete mode 100644 dist/browser.js delete mode 100644 dist/browser.js.map delete mode 100644 dist/chunk-VH3IXZT5.js delete mode 100644 dist/chunk-VH3IXZT5.js.map create mode 100644 dist/entrypoints/browser.d.ts create mode 100644 dist/entrypoints/gas.d.ts create mode 100644 dist/entrypoints/node.d.ts delete mode 100644 dist/gas.cjs delete mode 100644 dist/gas.cjs.map delete mode 100644 dist/gas.d.cts delete mode 100644 dist/gas.d.ts delete mode 100644 dist/gas.global.js delete mode 100644 dist/gas.global.js.map delete mode 100644 dist/gas.js delete mode 100644 dist/gas.js.map create mode 100644 dist/mimetext.browser.cjs.js create mode 100644 dist/mimetext.browser.cjs.js.map create mode 100644 dist/mimetext.browser.es.js create mode 100644 dist/mimetext.browser.es.js.map create mode 100644 dist/mimetext.gas.iife.js create mode 100644 dist/mimetext.gas.iife.js.map create mode 100644 dist/mimetext.iife.js create mode 100644 dist/mimetext.iife.js.map create mode 100644 dist/mimetext.node.cjs.js create mode 100644 dist/mimetext.node.cjs.js.map create mode 100644 dist/mimetext.node.es.js create mode 100644 dist/mimetext.node.es.js.map delete mode 100644 dist/node.cjs delete mode 100644 dist/node.cjs.map delete mode 100644 dist/node.d.cts delete mode 100644 dist/node.d.ts delete mode 100644 dist/node.global.js delete mode 100644 dist/node.global.js.map delete mode 100644 dist/node.js delete mode 100644 dist/node.js.map delete mode 100644 docs/.nojekyll delete mode 100644 docs/assets/highlight.css delete mode 100644 docs/assets/icons.js delete mode 100644 docs/assets/icons.svg delete mode 100644 docs/assets/main.js delete mode 100644 docs/assets/navigation.js delete mode 100644 docs/assets/search.js delete mode 100644 docs/assets/style.css delete mode 100644 docs/classes/node.MIMEMessage.html delete mode 100644 docs/classes/node.MIMEMessageContent.html delete mode 100644 docs/classes/node.MIMEMessageContentHeader.html delete mode 100644 docs/classes/node.MIMEMessageHeader.html delete mode 100644 docs/classes/node.MIMETextError.html delete mode 100644 docs/classes/node.Mailbox.html delete mode 100644 docs/functions/browser.createMimeMessage.html delete mode 100644 docs/functions/gas.createMimeMessage.html delete mode 100644 docs/functions/node.createMimeMessage.html delete mode 100644 docs/hierarchy.html delete mode 100644 docs/index.html delete mode 100644 docs/interfaces/node.AttachmentOptions.html delete mode 100644 docs/interfaces/node.Boundaries.html delete mode 100644 docs/interfaces/node.ContentHeaders.html delete mode 100644 docs/interfaces/node.ContentOptions.html delete mode 100644 docs/interfaces/node.EnvironmentContext.html delete mode 100644 docs/interfaces/node.HeaderField.html delete mode 100644 docs/interfaces/node.MailboxAddrObject.html delete mode 100644 docs/interfaces/node.MailboxConfig.html delete mode 100644 docs/modules/browser.html delete mode 100644 docs/modules/gas.html delete mode 100644 docs/modules/node.html delete mode 100644 docs/types/node.ContentTransferEncoding.html delete mode 100644 docs/types/node.HeadersObject.html delete mode 100644 docs/types/node.MailboxType.html create mode 100644 package-lock.json delete mode 100644 pnpm-lock.yaml delete mode 100644 tsup.config.js diff --git a/.browserslistrc b/.browserslistrc deleted file mode 100644 index 537af71..0000000 --- a/.browserslistrc +++ /dev/null @@ -1 +0,0 @@ -defaults, > 0.1%, ie 10 and not ie 9 diff --git a/README.md b/README.md index c693aa4..0696e30 100644 --- a/README.md +++ b/README.md @@ -1,23 +1,54 @@ # MIMEText -[RFC-2822](https://www.rfc-editor.org/rfc/rfc2822), [RFC-2045](https://www.rfc-editor.org/rfc/rfc2045) and [RFC-2049](https://www.rfc-editor.org/rfc/rfc2049) compliant raw email message generator. Refer to [https://muratgozel.github.io/MIMEText/](https://muratgozel.github.io/MIMEText/) for full api docs. +RFC-5322 compliant, fully typed and documented email message generator for javascript runtimes. -It has full typings. Optimized to run on node, browser and google apps script environments. Compatible with commonjs and esm. +> Earlier specification RFC-2822 obsoleted by RFC-5322, therefore this library aims to be fully compliant with RFC-5322 and it's decendant specifications. -## Install +## Installation +### npm +It's published on [npm](https://www.npmjs.com/package/mimetext). Any package manager compatible with it, should work: ```sh npm i mimetext +# or +pnpm add mimetext +# or +yarn add mimetext ``` -There is special version for Google Apps Script environment which can be found under dist folder: `./dist/gas.js` or `./dist/gas.cjs` +### Standalone Browser Script +There is an [iife version](dist/mimetext.iife.js) (immediatly invoked function). This file includes polyfills and transforms that is neccessary to work on almost all browsers. Use it in your html documents but be aware of its size (~50kb). +```html + + +``` + +### Google Apps Script +There is a special export that is compatible with Google Apps Script environment. Use [gas.cjs](https://github.com/muratgozel/MIMEText/blob/master/dist/gas.cjs) as necessary. + +## Usage +The code is optimized for different environments such as node, browser and gas (Google Apps Script). Therefore, the library has three corresponding exports: +```ts +import { createMimeMessage } from 'mimetext/node' +import { createMimeMessage } from 'mimetext/browser' +import { createMimeMessage } from 'mimetext/gas' +// defaults to node export +import { createMimeMessage } from 'mimetext' +``` +They all have the same API but minor internal differences. Apart from environment, it can be imported as commonjs module too: +```ts +const { createMimeMessage } = require('mimetext') +const { createMimeMessage } = require('mimetext') +const { createMimeMessage } = require('mimetext') +// defaults to node export +const { createMimeMessage } = require('mimetext') +``` -## Use -Import the appropriate version for your environment. Use `mimetext/browser` for browser and `mimetext` for node environments. +### Simple Email Message +Here is a simple plain text email message: ```js -// es -import {createMimeMessage} from 'mimetext' -// or const {createMimeMessage} = require('mimetext') for commonjs +import { createMimeMessage } from 'mimetext' -// create a simple plain text email const msg = createMimeMessage() msg.setSender({name: 'Lorem Ipsum', addr: 'lorem@ipsum.com'}) msg.setRecipient('foobor@test.com') @@ -28,6 +59,7 @@ msg.addMessage({ I'm a simple text.` }) const raw = msg.asRaw() + /* Date: Sun, 24 Oct 2021 04:50:32 +0000 From: "Lorem Ipsum" @@ -42,31 +74,33 @@ I'm a simple text. */ ``` -### Different Ways Of Adding Recipients -There are more than one method and format to add recipients: +### APIs For Adding Different Kind Of Recipients ```js -// adds recipient to To field by default -msg.setRecipient('Firstname Lastname ') -// you can specify To, Cc, Bcc -msg.setRecipient('Firstname Lastname ', {type: 'Cc'}) -// as object, only addr is required -msg.setRecipient({addr: 'first@last.com', name: 'Firstname Lastname', type: 'Bcc'}) -// shortcut methods msg.setTo('first@last.com') msg.setCc('first@last.com') msg.setBcc('first@last.com') -// multiple recipient at once -msg.setRecipients('test@mail.com', 'Firstname Lastname ', {addr: 'multiple@mail.com'}) -// similarly you can set the sender -msg.setSender('First Last ') -msg.setSender({name: 'First Last', addr: 'sender@mail.com'}) +// "To" by default +msg.setRecipient('Firstname Lastname ') +// but you can still specify other kinds +msg.setRecipient('Firstname Lastname ', {type: 'Cc'}) +// all as object +msg.setRecipient({ + addr: 'first@last.com', + name: 'Firstname Lastname', + type: 'Bcc' +}) + +// multiple recipients, each as argument +msg.setRecipients( + 'test@mail.com', + 'Firstname Lastname ', + {addr: 'multiple@mail.com'} +) ``` ### HTML Message With Plain Text Fallback And Attachments -You can set html and plain text messages both and recipients mail client will render however they think appropriate. - -The example below demonstrates more sophisticated email content including inline attachments and regular attachments. +Both html and plain text version of a message can be set and attachments can be added. Here is a more complex example: ```js const msg = createMimeMessage() msg.setSender('sender@mail.com') @@ -77,16 +111,25 @@ msg.addMessage({ data: 'Hello there,' + EOL + EOL + 'This is a test email sent by MimeText test suite.' }) -// specify inline attachment's content id inside img src tag. msg.addMessage({ contentType: 'text/html', data: 'Hello there,

' + 'This is a test email sent by MimeText test suite.

' + 'The term MimeText above supposed to be bold. Are you able to see it?

' + 'Below, there should be a small image that contains little black dots:

' + + // using an inline attachment id here: '

' + 'Best regards.' }) +// and the inline attachment: +msg.addAttachment({ + inline: true, + filename: 'dots.jpg', + contentType: 'image/jpg', + data: '...base64 encoded data...', + headers: {'Content-ID': 'dots123456'} +}) +// two more attachments but they aren't inlined, they are attached msg.addAttachment({ filename: 'sample.jpg', contentType: 'image/jpg', @@ -97,15 +140,9 @@ msg.addAttachment({ contentType: 'text/plain', data: '...base64 encoded data...' }) -// this is inline attachment! -msg.addAttachment({ - inline: true, - filename: 'dots.jpg', - contentType: 'image/jpg', - data: '...base64 encoded data...', - headers: {'Content-ID': 'dots123456'} -}) + const raw = msg.asRaw() + /* Date: Sun, 26 Mar 2023 13:27:15 +0000 From: @@ -150,32 +187,30 @@ SGVsbG8gdGhlcmUu ``` ### Encoding The Output -If you ever need to get base64-websafe encoded version of the raw data, you can use `asEncoded()` method. -```js +Service providers may ask for the encoded version of a message. In that case use the `.asEncoded()` call instead of `.asRaw()`: +```ts +// base64-websafe encoded message // it first gets the raw version and then encodes it. msg.asEncoded() ``` ## Use Cases -MIMEText is useful for email sending platforms and end-user apps whose email clients require raw email messages. +- Email delivery services might ask you to prepare an email message in raw format before sending it with their email client. +- When email message testing or parsing needed. +- Preference. -Below you can find some examples for **Amazon SES** or **Google Gmail**. +Here are two examples that uses **Amazon SES** and **Google Gmail** for email sending. -### Amazon SES with AWS-SDK -ses client v1: +### Amazon SES with AWS-SDK Client V1 ```js // install with npm i @aws-sdk/client-ses -// init aws sdk const { SESClient, SendRawEmailCommand } = require('@aws-sdk/client-ses') const ses = new SESClient({ region: 'YOUR_REGION' }) const { Buffer } = require('node:buffer') - -// init mimetext const { createMimeMessage } = require('mimetext') -const message = createMimeMessage() -// create email message +const message = createMimeMessage() message.setSender('sender@email.com') message.setTo('person1@email.com') message.setSubject('Weekly Newsletter 49 Ready 🚀') @@ -189,31 +224,31 @@ message.addMessage({ data: 'Hello John.' }) -// send email with aws sdk +// send const params = { - Destinations: message.getRecipients({type: 'to'}).map(mailbox => mailbox.addr), + Destinations: message.getRecipients({type: 'to'}) + .map(mailbox => mailbox.addr), RawMessage: { - Data: Buffer.from(message.asRaw(), 'utf8') // the raw message data needs to be sent as uint8array + // the raw message data needs to be sent as uint8array + Data: Buffer.from(message.asRaw(), 'utf8') }, Source: message.getSender().addr } const result = await ses.send(new SendRawEmailCommand(params)) -// result.MessageId + +// expect result.MessageId ``` -ses client v2: + +### Amazon SES with AWS-SDK Client V2 ```js // install with npm i @aws-sdk/client-sesv2 -// init aws sdk const { SESv2Client, SendEmailCommand } = require('@aws-sdk/client-ses') const ses = new SESv2Client({ region: 'YOUR_REGION' }) const { Buffer } = require('node:buffer') - -// init mimetext const { createMimeMessage } = require('mimetext') -const message = createMimeMessage() -// create email message +const message = createMimeMessage() message.setSender('sender@email.com') message.setTo('person1@email.com') message.setSubject('Weekly Newsletter 49 Ready 🚀') @@ -230,7 +265,8 @@ message.addMessage({ const params = { FromEmailAddress: message.getSender().addr, Destination: { - ToAddresses: message.getRecipients().map((box) => box.addr) + ToAddresses: message.getRecipients() + .map((box) => box.addr) }, Content: { Raw: { @@ -239,6 +275,7 @@ const params = { } } const result = await ses.send(new SendEmailCommand(params)) + // result.MessageId ``` @@ -247,9 +284,8 @@ const result = await ses.send(new SendEmailCommand(params)) ```js // init google api sdk const {google} = require('googleapis') - -// create email message const {createMimeMessage} = require('mimetext') + const message = createMimeMessage() message.setSender('sender@email.com') message.setTo('person1@email.com') @@ -264,7 +300,7 @@ message.addMessage({ data: 'Hello John.' }) -// send email +// send google.auth .getClient({scopes: ['https://www.googleapis.com/auth/gmail.send']}) .then(function(client) { @@ -280,7 +316,7 @@ google.auth } }) .then(function(result) { - // result.id + // expect result.id }) .catch(function(err) { @@ -289,7 +325,7 @@ google.auth ``` ## Error Handling -Most of the methods raises `MIMETextError` in case of invalid input. You can catch them and handle them accordingly. +Most of the methods raises `MIMETextError` in case of invalid input. You can catch and handle them accordingly. ```js try { message.setTo({prop: 'invalid'}) diff --git a/babel.config.js b/babel.config.js deleted file mode 100644 index c88cebc..0000000 --- a/babel.config.js +++ /dev/null @@ -1,23 +0,0 @@ -export default (api) => { - api.cache(false) - - const presets = [ - ['@babel/env', { - useBuiltIns: false, - debug: false - }] - ] - const plugins = [ - ['@babel/plugin-transform-runtime', { - corejs: {version: 3, proposals: true}, - helpers: true, - regenerator: true, - absoluteRuntime: false - }] - ] - - return { - presets, - plugins - } -} diff --git a/dist/MIMEMessage.d.ts b/dist/MIMEMessage.d.ts new file mode 100644 index 0000000..fbc53d1 --- /dev/null +++ b/dist/MIMEMessage.d.ts @@ -0,0 +1,73 @@ +import type { MailboxAddrObject, MailboxConfig } from './Mailbox.js'; +import { type HeadersObject, MIMEMessageHeader } from './MIMEMessageHeader.js'; +import { Mailbox } from './Mailbox.js'; +import { MIMEMessageContent } from './MIMEMessageContent.js'; +export declare class MIMEMessage { + envctx: EnvironmentContext; + headers: MIMEMessageHeader; + boundaries: Boundaries; + validTypes: string[]; + validContentTransferEncodings: string[]; + messages: MIMEMessageContent[]; + constructor(envctx: EnvironmentContext); + asRaw(): string; + asEncoded(): string; + dumpTextContent(plaintext: MIMEMessageContent | undefined, html: MIMEMessageContent | undefined, boundary: string): string; + hasInlineAttachments(): boolean; + hasAttachments(): boolean; + getAttachments(): MIMEMessageContent[] | []; + getInlineAttachments(): MIMEMessageContent[] | []; + getMessageByType(type: string): MIMEMessageContent | undefined; + addAttachment(opts: AttachmentOptions): MIMEMessageContent; + addMessage(opts: ContentOptions): MIMEMessageContent; + private _addMessage; + setSender(input: MailboxAddrObject | string, config?: MailboxConfig): Mailbox; + getSender(): Mailbox | undefined; + setRecipients(input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config?: MailboxConfig): Mailbox[]; + getRecipients(config?: MailboxConfig): Mailbox | Mailbox[] | undefined; + setRecipient(input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config?: MailboxConfig): Mailbox[]; + setTo(input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config?: MailboxConfig): Mailbox[]; + setCc(input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config?: MailboxConfig): Mailbox[]; + setBcc(input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config?: MailboxConfig): Mailbox[]; + setSubject(value: string): string; + getSubject(): string | undefined; + setHeader(name: string, value: string | Mailbox | Mailbox[]): string; + getHeader(name: string): string | Mailbox | Mailbox[] | undefined; + setHeaders(obj: Record): string[]; + getHeaders(): HeadersObject; + toBase64(v: string): string; + toBase64WebSafe(v: string): string; + generateBoundaries(): void; + isArray(v: unknown): v is unknown[]; + isObject(v: unknown): v is object; +} +export interface EnvironmentContext { + toBase64: (v: string) => string; + toBase64WebSafe: (v: string) => string; + eol: string; + validateContentType: (v: string) => string | false; +} +export interface Boundaries { + mixed: string; + alt: string; + related: string; +} +export type ContentTransferEncoding = '7bit' | '8bit' | 'binary' | 'quoted-printable' | 'base64'; +export interface ContentHeaders { + 'Content-Type'?: string; + 'Content-Transfer-Encoding'?: ContentTransferEncoding; + 'Content-Disposition'?: string; + 'Content-ID'?: string; + [index: string]: string | undefined; +} +export interface ContentOptions { + data: string; + encoding?: ContentTransferEncoding; + contentType: string; + headers?: ContentHeaders; + charset?: string; +} +export interface AttachmentOptions extends ContentOptions { + inline?: boolean; + filename: string; +} diff --git a/dist/MIMEMessageContent.d.ts b/dist/MIMEMessageContent.d.ts new file mode 100644 index 0000000..1113a97 --- /dev/null +++ b/dist/MIMEMessageContent.d.ts @@ -0,0 +1,16 @@ +import type { EnvironmentContext } from './MIMEMessage'; +import type { Mailbox } from './Mailbox'; +import { type HeadersObject, MIMEMessageContentHeader } from './MIMEMessageHeader.js'; +export declare class MIMEMessageContent { + envctx: EnvironmentContext; + headers: MIMEMessageContentHeader; + data: string; + constructor(envctx: EnvironmentContext, data: string, headers?: {}); + dump(): string; + isAttachment(): boolean; + isInlineAttachment(): boolean; + setHeader(name: string, value: string | Mailbox | Mailbox[]): string; + getHeader(name: string): string | Mailbox | Mailbox[] | undefined; + setHeaders(obj: Record): string[]; + getHeaders(): HeadersObject; +} diff --git a/dist/MIMEMessageHeader.d.ts b/dist/MIMEMessageHeader.d.ts new file mode 100644 index 0000000..675615e --- /dev/null +++ b/dist/MIMEMessageHeader.d.ts @@ -0,0 +1,37 @@ +import type { EnvironmentContext } from "./MIMEMessage"; +import { Mailbox } from "./Mailbox.js"; +export declare class MIMEMessageHeader { + envctx: EnvironmentContext; + fields: HeaderField[]; + constructor(envctx: EnvironmentContext); + dump(): string; + toObject(): HeadersObject; + get(name: string): string | Mailbox | Mailbox[] | undefined; + set(name: string, value: string | Mailbox | Mailbox[]): HeaderField; + setCustom(obj: HeaderField): HeaderField; + validateMailboxSingle(v: unknown): v is Mailbox; + validateMailboxMulti(v: unknown): boolean; + dumpMailboxMulti(v: unknown): string; + dumpMailboxSingle(v: unknown): string; + isHeaderField(v: unknown): v is HeaderField; + isObject(v: unknown): v is object; + isArrayOfMailboxes(v: unknown): v is Mailbox[]; + isArray(v: unknown): v is never[]; +} +export declare class MIMEMessageContentHeader extends MIMEMessageHeader { + fields: { + name: string; + }[]; + constructor(envctx: EnvironmentContext); +} +export type HeadersObject = Record; +export interface HeaderField { + name: string; + dump?: (v: string | Mailbox | Mailbox[] | undefined) => string; + value?: string | Mailbox | Mailbox[] | undefined; + validate?: (v: unknown) => boolean; + required?: boolean; + disabled?: boolean; + generator?: () => string; + custom?: boolean; +} diff --git a/dist/MIMETextError-BRDlE5Ge.d.cts b/dist/MIMETextError-BRDlE5Ge.d.cts deleted file mode 100644 index 0075e7e..0000000 --- a/dist/MIMETextError-BRDlE5Ge.d.cts +++ /dev/null @@ -1,150 +0,0 @@ -declare class Mailbox { - reSpecCompliantAddr: RegExp; - name: string; - addr: string; - type: MailboxType; - constructor(input: MailboxAddrObject | string, config?: MailboxConfig); - getAddrDomain(): string; - dump(): string; - parse(input: MailboxAddrObject | string): this; - isMailboxAddrText(v: unknown): boolean; - isMailboxAddrObject(v: unknown): v is MailboxAddrObject; - isObject(v: unknown): v is object; -} -interface MailboxConfig { - type: MailboxType; -} -interface MailboxAddrObject { - addr: string; - name?: string; - type?: MailboxType; -} -type MailboxType = 'To' | 'From' | 'Cc' | 'Bcc'; - -declare class MIMEMessageHeader { - envctx: EnvironmentContext; - fields: HeaderField[]; - constructor(envctx: EnvironmentContext); - dump(): string; - toObject(): HeadersObject; - get(name: string): string | Mailbox | Mailbox[] | undefined; - set(name: string, value: string | Mailbox | Mailbox[]): HeaderField; - setCustom(obj: HeaderField): HeaderField; - validateMailboxSingle(v: unknown): v is Mailbox; - validateMailboxMulti(v: unknown): boolean; - dumpMailboxMulti(v: unknown): string; - dumpMailboxSingle(v: unknown): string; - isHeaderField(v: unknown): v is HeaderField; - isObject(v: unknown): v is object; - isArrayOfMailboxes(v: unknown): v is Mailbox[]; - isArray(v: unknown): v is never[]; -} -declare class MIMEMessageContentHeader extends MIMEMessageHeader { - fields: { - name: string; - }[]; - constructor(envctx: EnvironmentContext); -} -type HeadersObject = Record; -interface HeaderField { - name: string; - dump?: (v: string | Mailbox | Mailbox[] | undefined) => string; - value?: string | Mailbox | Mailbox[] | undefined; - validate?: (v: unknown) => boolean; - required?: boolean; - disabled?: boolean; - generator?: () => string; - custom?: boolean; -} - -declare class MIMEMessageContent { - envctx: EnvironmentContext; - headers: MIMEMessageContentHeader; - data: string; - constructor(envctx: EnvironmentContext, data: string, headers?: {}); - dump(): string; - isAttachment(): boolean; - isInlineAttachment(): boolean; - setHeader(name: string, value: string | Mailbox | Mailbox[]): string; - getHeader(name: string): string | Mailbox | Mailbox[] | undefined; - setHeaders(obj: Record): string[]; - getHeaders(): HeadersObject; -} - -declare class MIMEMessage { - envctx: EnvironmentContext; - headers: MIMEMessageHeader; - boundaries: Boundaries; - validTypes: string[]; - validContentTransferEncodings: string[]; - messages: MIMEMessageContent[]; - constructor(envctx: EnvironmentContext); - asRaw(): string; - asEncoded(): string; - dumpTextContent(plaintext: MIMEMessageContent | undefined, html: MIMEMessageContent | undefined, boundary: string): string; - hasInlineAttachments(): boolean; - hasAttachments(): boolean; - getAttachments(): MIMEMessageContent[] | []; - getInlineAttachments(): MIMEMessageContent[] | []; - getMessageByType(type: string): MIMEMessageContent | undefined; - addAttachment(opts: AttachmentOptions): MIMEMessageContent; - addMessage(opts: ContentOptions): MIMEMessageContent; - private _addMessage; - setSender(input: MailboxAddrObject | string, config?: MailboxConfig): Mailbox; - getSender(): Mailbox | undefined; - setRecipients(input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config?: MailboxConfig): Mailbox[]; - getRecipients(config?: MailboxConfig): Mailbox | Mailbox[] | undefined; - setRecipient(input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config?: MailboxConfig): Mailbox[]; - setTo(input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config?: MailboxConfig): Mailbox[]; - setCc(input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config?: MailboxConfig): Mailbox[]; - setBcc(input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config?: MailboxConfig): Mailbox[]; - setSubject(value: string): string; - getSubject(): string | undefined; - setHeader(name: string, value: string | Mailbox | Mailbox[]): string; - getHeader(name: string): string | Mailbox | Mailbox[] | undefined; - setHeaders(obj: Record): string[]; - getHeaders(): HeadersObject; - toBase64(v: string): string; - toBase64WebSafe(v: string): string; - generateBoundaries(): void; - isArray(v: unknown): v is unknown[]; - isObject(v: unknown): v is object; -} -interface EnvironmentContext { - toBase64: (v: string) => string; - toBase64WebSafe: (v: string) => string; - eol: string; - validateContentType: (v: string) => string | false; -} -interface Boundaries { - mixed: string; - alt: string; - related: string; -} -type ContentTransferEncoding = '7bit' | '8bit' | 'binary' | 'quoted-printable' | 'base64'; -interface ContentHeaders { - 'Content-Type'?: string; - 'Content-Transfer-Encoding'?: ContentTransferEncoding; - 'Content-Disposition'?: string; - 'Content-ID'?: string; - [index: string]: string | undefined; -} -interface ContentOptions { - data: string; - encoding?: ContentTransferEncoding; - contentType: string; - headers?: ContentHeaders; - charset?: string; -} -interface AttachmentOptions extends ContentOptions { - inline?: boolean; - filename: string; -} - -declare class MIMETextError extends Error { - name: string; - description: string; - constructor(message: string, description?: string); -} - -export { type AttachmentOptions as A, type Boundaries as B, type ContentTransferEncoding as C, type EnvironmentContext as E, type HeadersObject as H, MIMEMessage as M, Mailbox as a, MIMETextError as b, MIMEMessageHeader as c, MIMEMessageContent as d, type ContentHeaders as e, type ContentOptions as f, type MailboxConfig as g, type MailboxAddrObject as h, type MailboxType as i, MIMEMessageContentHeader as j, type HeaderField as k }; diff --git a/dist/MIMETextError-BRDlE5Ge.d.ts b/dist/MIMETextError-BRDlE5Ge.d.ts deleted file mode 100644 index 0075e7e..0000000 --- a/dist/MIMETextError-BRDlE5Ge.d.ts +++ /dev/null @@ -1,150 +0,0 @@ -declare class Mailbox { - reSpecCompliantAddr: RegExp; - name: string; - addr: string; - type: MailboxType; - constructor(input: MailboxAddrObject | string, config?: MailboxConfig); - getAddrDomain(): string; - dump(): string; - parse(input: MailboxAddrObject | string): this; - isMailboxAddrText(v: unknown): boolean; - isMailboxAddrObject(v: unknown): v is MailboxAddrObject; - isObject(v: unknown): v is object; -} -interface MailboxConfig { - type: MailboxType; -} -interface MailboxAddrObject { - addr: string; - name?: string; - type?: MailboxType; -} -type MailboxType = 'To' | 'From' | 'Cc' | 'Bcc'; - -declare class MIMEMessageHeader { - envctx: EnvironmentContext; - fields: HeaderField[]; - constructor(envctx: EnvironmentContext); - dump(): string; - toObject(): HeadersObject; - get(name: string): string | Mailbox | Mailbox[] | undefined; - set(name: string, value: string | Mailbox | Mailbox[]): HeaderField; - setCustom(obj: HeaderField): HeaderField; - validateMailboxSingle(v: unknown): v is Mailbox; - validateMailboxMulti(v: unknown): boolean; - dumpMailboxMulti(v: unknown): string; - dumpMailboxSingle(v: unknown): string; - isHeaderField(v: unknown): v is HeaderField; - isObject(v: unknown): v is object; - isArrayOfMailboxes(v: unknown): v is Mailbox[]; - isArray(v: unknown): v is never[]; -} -declare class MIMEMessageContentHeader extends MIMEMessageHeader { - fields: { - name: string; - }[]; - constructor(envctx: EnvironmentContext); -} -type HeadersObject = Record; -interface HeaderField { - name: string; - dump?: (v: string | Mailbox | Mailbox[] | undefined) => string; - value?: string | Mailbox | Mailbox[] | undefined; - validate?: (v: unknown) => boolean; - required?: boolean; - disabled?: boolean; - generator?: () => string; - custom?: boolean; -} - -declare class MIMEMessageContent { - envctx: EnvironmentContext; - headers: MIMEMessageContentHeader; - data: string; - constructor(envctx: EnvironmentContext, data: string, headers?: {}); - dump(): string; - isAttachment(): boolean; - isInlineAttachment(): boolean; - setHeader(name: string, value: string | Mailbox | Mailbox[]): string; - getHeader(name: string): string | Mailbox | Mailbox[] | undefined; - setHeaders(obj: Record): string[]; - getHeaders(): HeadersObject; -} - -declare class MIMEMessage { - envctx: EnvironmentContext; - headers: MIMEMessageHeader; - boundaries: Boundaries; - validTypes: string[]; - validContentTransferEncodings: string[]; - messages: MIMEMessageContent[]; - constructor(envctx: EnvironmentContext); - asRaw(): string; - asEncoded(): string; - dumpTextContent(plaintext: MIMEMessageContent | undefined, html: MIMEMessageContent | undefined, boundary: string): string; - hasInlineAttachments(): boolean; - hasAttachments(): boolean; - getAttachments(): MIMEMessageContent[] | []; - getInlineAttachments(): MIMEMessageContent[] | []; - getMessageByType(type: string): MIMEMessageContent | undefined; - addAttachment(opts: AttachmentOptions): MIMEMessageContent; - addMessage(opts: ContentOptions): MIMEMessageContent; - private _addMessage; - setSender(input: MailboxAddrObject | string, config?: MailboxConfig): Mailbox; - getSender(): Mailbox | undefined; - setRecipients(input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config?: MailboxConfig): Mailbox[]; - getRecipients(config?: MailboxConfig): Mailbox | Mailbox[] | undefined; - setRecipient(input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config?: MailboxConfig): Mailbox[]; - setTo(input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config?: MailboxConfig): Mailbox[]; - setCc(input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config?: MailboxConfig): Mailbox[]; - setBcc(input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config?: MailboxConfig): Mailbox[]; - setSubject(value: string): string; - getSubject(): string | undefined; - setHeader(name: string, value: string | Mailbox | Mailbox[]): string; - getHeader(name: string): string | Mailbox | Mailbox[] | undefined; - setHeaders(obj: Record): string[]; - getHeaders(): HeadersObject; - toBase64(v: string): string; - toBase64WebSafe(v: string): string; - generateBoundaries(): void; - isArray(v: unknown): v is unknown[]; - isObject(v: unknown): v is object; -} -interface EnvironmentContext { - toBase64: (v: string) => string; - toBase64WebSafe: (v: string) => string; - eol: string; - validateContentType: (v: string) => string | false; -} -interface Boundaries { - mixed: string; - alt: string; - related: string; -} -type ContentTransferEncoding = '7bit' | '8bit' | 'binary' | 'quoted-printable' | 'base64'; -interface ContentHeaders { - 'Content-Type'?: string; - 'Content-Transfer-Encoding'?: ContentTransferEncoding; - 'Content-Disposition'?: string; - 'Content-ID'?: string; - [index: string]: string | undefined; -} -interface ContentOptions { - data: string; - encoding?: ContentTransferEncoding; - contentType: string; - headers?: ContentHeaders; - charset?: string; -} -interface AttachmentOptions extends ContentOptions { - inline?: boolean; - filename: string; -} - -declare class MIMETextError extends Error { - name: string; - description: string; - constructor(message: string, description?: string); -} - -export { type AttachmentOptions as A, type Boundaries as B, type ContentTransferEncoding as C, type EnvironmentContext as E, type HeadersObject as H, MIMEMessage as M, Mailbox as a, MIMETextError as b, MIMEMessageHeader as c, MIMEMessageContent as d, type ContentHeaders as e, type ContentOptions as f, type MailboxConfig as g, type MailboxAddrObject as h, type MailboxType as i, MIMEMessageContentHeader as j, type HeaderField as k }; diff --git a/dist/MIMETextError.d.ts b/dist/MIMETextError.d.ts new file mode 100644 index 0000000..d1ab955 --- /dev/null +++ b/dist/MIMETextError.d.ts @@ -0,0 +1,5 @@ +export declare class MIMETextError extends Error { + name: string; + description: string; + constructor(message: string, description?: string); +} diff --git a/dist/Mailbox.d.ts b/dist/Mailbox.d.ts new file mode 100644 index 0000000..2c50f53 --- /dev/null +++ b/dist/Mailbox.d.ts @@ -0,0 +1,22 @@ +export declare class Mailbox { + reSpecCompliantAddr: RegExp; + name: string; + addr: string; + type: MailboxType; + constructor(input: MailboxAddrObject | string, config?: MailboxConfig); + getAddrDomain(): string; + dump(): string; + parse(input: MailboxAddrObject | string): this; + isMailboxAddrText(v: unknown): boolean; + isMailboxAddrObject(v: unknown): v is MailboxAddrObject; + isObject(v: unknown): v is object; +} +export interface MailboxConfig { + type: MailboxType; +} +export interface MailboxAddrObject { + addr: string; + name?: string; + type?: MailboxType; +} +export type MailboxType = 'To' | 'From' | 'Cc' | 'Bcc'; diff --git a/dist/browser.cjs b/dist/browser.cjs deleted file mode 100644 index ff5352c..0000000 --- a/dist/browser.cjs +++ /dev/null @@ -1,3 +0,0 @@ -'use strict';var jsBase64=require('js-base64');var C=Object.defineProperty;var E=(a,e,t)=>e in a?C(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var s=(a,e,t)=>E(a,typeof e!="symbol"?e+"":e,t);var o=class extends Error{constructor(t,n=""){super(n);s(this,"name","");s(this,"description","");this.name=t,this.description=n;}};var d=class{constructor(e,t={type:"To"}){s(this,"reSpecCompliantAddr",/(([^<>\r\n]+)\s)?<[^\r\n]+>/);s(this,"name","");s(this,"addr","");s(this,"type","To");this.type=t.type,this.parse(e);}getAddrDomain(){if(this.addr.includes("@")){let e=this.addr.split("@");if(e.length>1)return e[1]}return ""}dump(){return this.name.length>0?`"${this.name}" <${this.addr}>`:`<${this.addr}>`}parse(e){if(this.isMailboxAddrObject(e))return this.addr=e.addr,typeof e.name=="string"&&(this.name=e.name),typeof e.type=="string"&&(this.type=e.type),this;if(this.isMailboxAddrText(e)){let t=e.trim();if(t.startsWith("<")&&t.endsWith(">"))return this.addr=t.slice(1,-1),this;let n=t.split(" <");return n[0]=/^("|')/.test(n[0])?n[0].slice(1):n[0],n[0]=/("|')$/.test(n[0])?n[0].slice(0,-1):n[0],n[1]=n[1].slice(0,-1),this.name=n[0],this.addr=n[1],this}if(typeof e=="string")return this.addr=e,this;throw new o("MIMETEXT_INVALID_MAILBOX","Couldn't recognize the input.")}isMailboxAddrText(e){return typeof e=="string"&&this.reSpecCompliantAddr.test(e)}isMailboxAddrObject(e){return this.isObject(e)&&Object.hasOwn(e,"addr")}isObject(e){return !!e&&e.constructor===Object}};var c=class{constructor(e){s(this,"envctx");s(this,"fields",[{name:"Date",generator:()=>new Date().toUTCString().replace(/GMT|UTC/gi,"+0000")},{name:"From",required:!0,validate:e=>this.validateMailboxSingle(e),dump:e=>this.dumpMailboxSingle(e)},{name:"Sender",validate:e=>this.validateMailboxSingle(e),dump:e=>this.dumpMailboxSingle(e)},{name:"Reply-To",validate:e=>this.validateMailboxSingle(e),dump:e=>this.dumpMailboxSingle(e)},{name:"To",validate:e=>this.validateMailboxMulti(e),dump:e=>this.dumpMailboxMulti(e)},{name:"Cc",validate:e=>this.validateMailboxMulti(e),dump:e=>this.dumpMailboxMulti(e)},{name:"Bcc",validate:e=>this.validateMailboxMulti(e),dump:e=>this.dumpMailboxMulti(e)},{name:"Message-ID",generator:()=>{let e=Math.random().toString(36).slice(2),n=this.fields.filter(i=>i.name==="From")[0].value.getAddrDomain();return "<"+e+"@"+n+">"}},{name:"Subject",required:!0,dump:e=>typeof e=="string"?"=?utf-8?B?"+this.envctx.toBase64(e)+"?=":""},{name:"MIME-Version",generator:()=>"1.0"}]);this.envctx=e;}dump(){let e="";for(let t of this.fields){if(t.disabled)continue;let n=t.value!==void 0&&t.value!==null;if(!n&&t.required)throw new o("MIMETEXT_MISSING_HEADER",`The "${t.name}" header is required.`);if(!n&&typeof t.generator!="function")continue;!n&&typeof t.generator=="function"&&(t.value=t.generator());let i=Object.hasOwn(t,"dump")&&typeof t.dump=="function"?t.dump(t.value):typeof t.value=="string"?t.value:"";e+=`${t.name}: ${i}${this.envctx.eol}`;}return e.slice(0,-1*this.envctx.eol.length)}toObject(){return this.fields.reduce((e,t)=>(e[t.name]=t.value,e),{})}get(e){let t=i=>i.name.toLowerCase()===e.toLowerCase(),n=this.fields.findIndex(t);return n!==-1?this.fields[n].value:void 0}set(e,t){let n=r=>r.name.toLowerCase()===e.toLowerCase();if(!!this.fields.some(n)){let r=this.fields.findIndex(n),l=this.fields[r];if(l.validate&&!l.validate(t))throw new o("MIMETEXT_INVALID_HEADER_VALUE",`The value for the header "${e}" is invalid.`);return this.fields[r].value=t,this.fields[r]}return this.setCustom({name:e,value:t,custom:!0,dump:r=>typeof r=="string"?r:""})}setCustom(e){if(this.isHeaderField(e)){if(typeof e.value!="string")throw new o("MIMETEXT_INVALID_HEADER_FIELD","Custom header must have a value.");return this.fields.push(e),e}throw new o("MIMETEXT_INVALID_HEADER_FIELD","Invalid input for custom header. It must be in type of HeaderField.")}validateMailboxSingle(e){return e instanceof d}validateMailboxMulti(e){return e instanceof d||this.isArrayOfMailboxes(e)}dumpMailboxMulti(e){let t=n=>n.name.length===0?n.dump():`=?utf-8?B?${this.envctx.toBase64(n.name)}?= <${n.addr}>`;return this.isArrayOfMailboxes(e)?e.map(t).join(`,${this.envctx.eol} `):e instanceof d?t(e):""}dumpMailboxSingle(e){let t=n=>n.name.length===0?n.dump():`=?utf-8?B?${this.envctx.toBase64(n.name)}?= <${n.addr}>`;return e instanceof d?t(e):""}isHeaderField(e){let t=["name","value","dump","required","disabled","generator","custom"];if(this.isObject(e)){let n=e;if(Object.hasOwn(n,"name")&&typeof n.name=="string"&&n.name.length>0&&!Object.keys(n).some(i=>!t.includes(i)))return !0}return !1}isObject(e){return !!e&&e.constructor===Object}isArrayOfMailboxes(e){return this.isArray(e)&&e.every(t=>t instanceof d)}isArray(e){return !!e&&e.constructor===Array}},x=class extends c{constructor(t){super(t);s(this,"fields",[{name:"Content-ID"},{name:"Content-Type"},{name:"Content-Transfer-Encoding"},{name:"Content-Disposition"}]);}};var g=class{constructor(e,t,n={}){s(this,"envctx");s(this,"headers");s(this,"data");this.envctx=e,this.headers=new x(this.envctx),this.data=t,this.setHeaders(n);}dump(){let e=this.envctx.eol;return this.headers.dump()+e+e+this.data}isAttachment(){let e=this.headers.get("Content-Disposition");return typeof e=="string"&&e.includes("attachment")}isInlineAttachment(){let e=this.headers.get("Content-Disposition");return typeof e=="string"&&e.includes("inline")}setHeader(e,t){return this.headers.set(e,t),e}getHeader(e){return this.headers.get(e)}setHeaders(e){return Object.keys(e).map(t=>this.setHeader(t,e[t]))}getHeaders(){return this.headers.toObject()}};var M=class{constructor(e){s(this,"envctx");s(this,"headers");s(this,"boundaries",{mixed:"",alt:"",related:""});s(this,"validTypes",["text/html","text/plain"]);s(this,"validContentTransferEncodings",["7bit","8bit","binary","quoted-printable","base64"]);s(this,"messages",[]);this.envctx=e,this.headers=new c(this.envctx),this.messages=[],this.generateBoundaries();}asRaw(){let e=this.envctx.eol,t=this.headers.dump(),n=this.getMessageByType("text/plain"),i=this.getMessageByType("text/html"),r=i??n??void 0;if(r===void 0)throw new o("MIMETEXT_MISSING_BODY","No content added to the message.");let l=this.hasAttachments(),f=this.hasInlineAttachments(),b=f&&l?"mixed+related":l?"mixed":f?"related":n&&i?"alternative":"";if(b==="mixed+related"){let h=this.getAttachments().map(p=>"--"+this.boundaries.mixed+e+p.dump()+e+e).join("").slice(0,-1*e.length),u=this.getInlineAttachments().map(p=>"--"+this.boundaries.related+e+p.dump()+e+e).join("").slice(0,-1*e.length);return t+e+"Content-Type: multipart/mixed; boundary="+this.boundaries.mixed+e+e+"--"+this.boundaries.mixed+e+"Content-Type: multipart/related; boundary="+this.boundaries.related+e+e+this.dumpTextContent(n,i,this.boundaries.related)+e+e+u+"--"+this.boundaries.related+"--"+e+h+"--"+this.boundaries.mixed+"--"}else if(b==="mixed"){let h=this.getAttachments().map(u=>"--"+this.boundaries.mixed+e+u.dump()+e+e).join("").slice(0,-1*e.length);return t+e+"Content-Type: multipart/mixed; boundary="+this.boundaries.mixed+e+e+this.dumpTextContent(n,i,this.boundaries.mixed)+e+(n&&i?"":e)+h+"--"+this.boundaries.mixed+"--"}else if(b==="related"){let h=this.getInlineAttachments().map(u=>"--"+this.boundaries.related+e+u.dump()+e+e).join("").slice(0,-1*e.length);return t+e+"Content-Type: multipart/related; boundary="+this.boundaries.related+e+e+this.dumpTextContent(n,i,this.boundaries.related)+e+e+h+"--"+this.boundaries.related+"--"}else return b==="alternative"?t+e+"Content-Type: multipart/alternative; boundary="+this.boundaries.alt+e+e+this.dumpTextContent(n,i,this.boundaries.alt)+e+e+"--"+this.boundaries.alt+"--":t+e+r.dump()}asEncoded(){return this.envctx.toBase64WebSafe(this.asRaw())}dumpTextContent(e,t,n){let i=this.envctx.eol,r=t??e,l="";return e&&t&&!this.hasInlineAttachments()&&this.hasAttachments()?l="--"+n+i+"Content-Type: multipart/alternative; boundary="+this.boundaries.alt+i+i+"--"+this.boundaries.alt+i+e.dump()+i+i+"--"+this.boundaries.alt+i+t.dump()+i+i+"--"+this.boundaries.alt+"--":e&&t&&this.hasInlineAttachments()?l="--"+n+i+t.dump():e&&t?l="--"+n+i+e.dump()+i+i+"--"+n+i+t.dump():l="--"+n+i+r.dump(),l}hasInlineAttachments(){return this.messages.some(e=>e.isInlineAttachment())}hasAttachments(){return this.messages.some(e=>e.isAttachment())}getAttachments(){let e=t=>t.isAttachment();return this.messages.some(e)?this.messages.filter(e):[]}getInlineAttachments(){let e=t=>t.isInlineAttachment();return this.messages.some(e)?this.messages.filter(e):[]}getMessageByType(e){let t=n=>!n.isAttachment()&&!n.isInlineAttachment()&&(n.getHeader("Content-Type")||"").includes(e);return this.messages.some(t)?this.messages.filter(t)[0]:void 0}addAttachment(e){if(this.isObject(e.headers)||(e.headers={}),typeof e.filename!="string")throw new o("MIMETEXT_MISSING_FILENAME",'The property "filename" must exist while adding attachments.');let t=(e.headers["Content-Type"]??e.contentType)||"none";if(this.envctx.validateContentType(t)===!1)throw new o("MIMETEXT_INVALID_MESSAGE_TYPE",`You specified an invalid content type "${t}".`);let n=e.headers["Content-Transfer-Encoding"]??e.encoding??"base64";this.validContentTransferEncodings.includes(n)||(t="application/octet-stream");let i=e.headers["Content-ID"];typeof i=="string"&&i.length>2&&!i.startsWith("<")&&!i.endsWith(">")&&(e.headers["Content-ID"]="<"+e.headers["Content-ID"]+">");let r=e.inline?"inline":"attachment";return e.headers=Object.assign({},e.headers,{"Content-Type":`${t}; name="${e.filename}"`,"Content-Transfer-Encoding":n,"Content-Disposition":`${r}; filename="${e.filename}"`}),this._addMessage({data:e.data,headers:e.headers})}addMessage(e){this.isObject(e.headers)||(e.headers={});let t=(e.headers["Content-Type"]??e.contentType)||"none";if(!this.validTypes.includes(t))throw new o("MIMETEXT_INVALID_MESSAGE_TYPE",`Valid content types are ${this.validTypes.join(", ")} but you specified "${t}".`);let n=e.headers["Content-Transfer-Encoding"]??e.encoding??"7bit";this.validContentTransferEncodings.includes(n)||(t="application/octet-stream");let i=e.charset??"UTF-8";return e.headers=Object.assign({},e.headers,{"Content-Type":`${t}; charset=${i}`,"Content-Transfer-Encoding":n}),this._addMessage({data:e.data,headers:e.headers})}_addMessage(e){let t=new g(this.envctx,e.data,e.headers);return this.messages.push(t),t}setSender(e,t={type:"From"}){let n=new d(e,t);return this.setHeader("From",n),n}getSender(){return this.getHeader("From")}setRecipients(e,t={type:"To"}){let i=(this.isArray(e)?e:[e]).map(r=>new d(r,t));return this.setHeader(t.type,i),i}getRecipients(e={type:"To"}){return this.getHeader(e.type)}setRecipient(e,t={type:"To"}){return this.setRecipients(e,t)}setTo(e,t={type:"To"}){return this.setRecipients(e,t)}setCc(e,t={type:"Cc"}){return this.setRecipients(e,t)}setBcc(e,t={type:"Bcc"}){return this.setRecipients(e,t)}setSubject(e){return this.setHeader("subject",e),e}getSubject(){return this.getHeader("subject")}setHeader(e,t){return this.headers.set(e,t),e}getHeader(e){return this.headers.get(e)}setHeaders(e){return Object.keys(e).map(t=>this.setHeader(t,e[t]))}getHeaders(){return this.headers.toObject()}toBase64(e){return this.envctx.toBase64(e)}toBase64WebSafe(e){return this.envctx.toBase64WebSafe(e)}generateBoundaries(){this.boundaries={mixed:Math.random().toString(36).slice(2),alt:Math.random().toString(36).slice(2),related:Math.random().toString(36).slice(2)};}isArray(e){return !!e&&e.constructor===Array}isObject(e){return !!e&&e.constructor===Object}};var T={toBase64:function(e){return jsBase64.Base64.encode(e)},toBase64WebSafe:function(e){return jsBase64.Base64.encodeURI(e)},eol:`\r -`,validateContentType:a=>a.length>0?a:!1};function J(){return new M(T)}exports.MIMEMessage=M;exports.MIMEMessageContent=g;exports.MIMEMessageHeader=c;exports.MIMETextError=o;exports.Mailbox=d;exports.createMimeMessage=J;//# sourceMappingURL=browser.cjs.map -//# sourceMappingURL=browser.cjs.map \ No newline at end of file diff --git a/dist/browser.cjs.map b/dist/browser.cjs.map deleted file mode 100644 index e9242ee..0000000 --- a/dist/browser.cjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../src/entrypoints/browser.ts","../src/MIMETextError.ts","../src/Mailbox.ts","../src/MIMEMessageHeader.ts","../src/MIMEMessageContent.ts","../src/MIMEMessage.ts"],"names":["MIMETextError","message","description","__publicField","Mailbox","input","config","arr","text","v","MIMEMessageHeader","envctx","randomstr","domain","obj","lines","field","isValueDefinedByUser","strval","memo","item","name","fieldMatcher","ind","value","dump","validProps","h","prop","MIMEMessageContentHeader","MIMEMessageContent","data","headers","eol","disposition","MIMEMessage","plaintext","html","primaryMessage","hasAttachments","hasInlineAttachments","structure","attachments","a","inlineAttachments","boundary","msg","matcher","type","opts","encoding","contentId","charset","mailbox","recs","_input","Base64","createMimeMessage"],"mappings":"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","file":"browser.cjs","sourcesContent":["import { Base64 } from 'js-base64'\nimport { MIMEMessage } from '../MIMEMessage.js'\n\nconst envctx = {\n toBase64: function toBase64 (data: string) {\n return Base64.encode(data)\n },\n toBase64WebSafe: function toBase64WebSafe (data: string) {\n return Base64.encodeURI(data)\n },\n eol: '\\r\\n',\n validateContentType: (v: string): string | false => {\n return v.length > 0 ? v : false\n }\n}\n\nexport function createMimeMessage (): MIMEMessage {\n return new MIMEMessage(envctx)\n}\n\nexport { MIMEMessage } from '../MIMEMessage.js'\nexport { Mailbox } from '../Mailbox.js'\nexport { MIMETextError } from '../MIMETextError.js'\nexport { MIMEMessageHeader } from '../MIMEMessageHeader.js'\nexport { MIMEMessageContent } from '../MIMEMessageContent.js'\n\nexport type * from '../MIMEMessage.js'\nexport type * from '../Mailbox.js'\nexport type * from '../MIMETextError.js'\nexport type * from '../MIMEMessageHeader.js'\nexport type * from '../MIMEMessageContent.js'\n","export class MIMETextError extends Error {\n override name = ''\n description = ''\n\n constructor (message: string, description = '') {\n super(description)\n\n this.name = message\n this.description = description\n }\n}\n","import { MIMETextError } from './MIMETextError.js'\n\nexport class Mailbox {\n reSpecCompliantAddr = /(([^<>\\r\\n]+)\\s)?<[^\\r\\n]+>/\n name = ''\n addr = ''\n type: MailboxType = 'To'\n\n constructor (input: MailboxAddrObject | string, config: MailboxConfig = { type: 'To' }) {\n this.type = config.type\n\n this.parse(input)\n }\n\n getAddrDomain (): string {\n if (this.addr.includes('@')) {\n const arr = this.addr.split('@')\n if (arr.length > 1) return arr[1]!\n }\n return ''\n }\n\n dump (): string {\n return this.name.length > 0 ? `\"${this.name}\" <${this.addr}>` : `<${this.addr}>`\n }\n\n parse (input: MailboxAddrObject | string): this {\n if (this.isMailboxAddrObject(input)) {\n this.addr = input.addr\n if (typeof input.name === 'string') this.name = input.name\n if (typeof input.type === 'string') this.type = input.type\n return this\n }\n\n if (this.isMailboxAddrText(input)) {\n const text = input.trim()\n if (text.startsWith('<') && text.endsWith('>')) {\n this.addr = text.slice(1, -1)\n return this\n }\n const arr = text.split(' <') as [string, string]\n arr[0] = /^(\"|')/.test(arr[0]) ? arr[0].slice(1) : arr[0]\n arr[0] = /(\"|')$/.test(arr[0]) ? arr[0].slice(0, -1) : arr[0]\n arr[1] = arr[1].slice(0, -1)\n this.name = arr[0]\n this.addr = arr[1]\n return this\n }\n\n if (typeof input === 'string') {\n this.addr = input\n return this\n }\n\n throw new MIMETextError('MIMETEXT_INVALID_MAILBOX', 'Couldn\\'t recognize the input.')\n }\n\n isMailboxAddrText (v: unknown): boolean {\n return typeof v === 'string' && this.reSpecCompliantAddr.test(v)\n }\n\n isMailboxAddrObject (v: unknown): v is MailboxAddrObject {\n return this.isObject(v) && Object.hasOwn(v, 'addr')\n }\n\n isObject (v: unknown): v is object {\n return (!!v) && (v.constructor === Object)\n }\n}\n\nexport interface MailboxConfig {\n type: MailboxType\n}\nexport interface MailboxAddrObject {\n addr: string\n name?: string\n type?: MailboxType\n}\nexport type MailboxType = 'To' | 'From' | 'Cc' | 'Bcc'\n","import type { EnvironmentContext } from './MIMEMessage'\nimport { MIMETextError } from './MIMETextError.js'\nimport { Mailbox } from './Mailbox.js'\n\n/*\n Headers are based on: https://www.rfc-editor.org/rfc/rfc4021#section-2.1\n (Some are ignored as they can be added later or as a custom header.)\n*/\n\nexport class MIMEMessageHeader {\n envctx: EnvironmentContext\n fields: HeaderField[] = [\n {\n name: 'Date',\n generator: () => ((new Date()).toUTCString()).replace(/GMT|UTC/gi, '+0000')\n },\n {\n name: 'From',\n required: true,\n validate: (v: unknown) => this.validateMailboxSingle(v),\n dump: (v: unknown) => this.dumpMailboxSingle(v)\n },\n {\n name: 'Sender',\n validate: (v: unknown) => this.validateMailboxSingle(v),\n dump: (v: unknown) => this.dumpMailboxSingle(v)\n },\n {\n name: 'Reply-To',\n validate: (v: unknown) => this.validateMailboxSingle(v),\n dump: (v: unknown) => this.dumpMailboxSingle(v)\n },\n {\n name: 'To',\n validate: (v: unknown) => this.validateMailboxMulti(v),\n dump: (v: unknown) => this.dumpMailboxMulti(v)\n },\n {\n name: 'Cc',\n validate: (v: unknown) => this.validateMailboxMulti(v),\n dump: (v: unknown) => this.dumpMailboxMulti(v)\n },\n {\n name: 'Bcc',\n validate: (v: unknown) => this.validateMailboxMulti(v),\n dump: (v: unknown) => this.dumpMailboxMulti(v)\n },\n {\n name: 'Message-ID',\n generator: () => {\n const randomstr = Math.random().toString(36).slice(2)\n const from = (this.fields.filter((obj) => obj.name === 'From')[0]!).value as Mailbox\n const domain = from.getAddrDomain()\n return '<' + randomstr + '@' + domain + '>'\n }\n },\n {\n name: 'Subject',\n required: true,\n dump: (v: unknown) => {\n return typeof v === 'string' ? '=?utf-8?B?' + this.envctx.toBase64(v) + '?=' : ''\n }\n },\n {\n name: 'MIME-Version',\n generator: () => '1.0'\n }\n ]\n\n constructor (envctx: EnvironmentContext) {\n this.envctx = envctx\n }\n\n dump (): string {\n let lines = ''\n\n for (const field of this.fields) {\n if (field.disabled) continue\n const isValueDefinedByUser = field.value !== undefined && field.value !== null\n if (!isValueDefinedByUser && field.required) {\n throw new MIMETextError('MIMETEXT_MISSING_HEADER', `The \"${field.name}\" header is required.`)\n }\n if (!isValueDefinedByUser && typeof field.generator !== 'function') continue\n if (!isValueDefinedByUser && typeof field.generator === 'function') field.value = field.generator()\n const strval = Object.hasOwn(field, 'dump') && typeof field.dump === 'function'\n ? field.dump(field.value)\n : typeof field.value === 'string' ? field.value : ''\n lines += `${field.name}: ${strval}${this.envctx.eol}`\n }\n\n return lines.slice(0, -1 * this.envctx.eol.length)\n }\n\n toObject (): HeadersObject {\n return this.fields.reduce((memo: HeadersObject, item) => {\n memo[item.name] = item.value\n return memo\n }, {})\n }\n\n get (name: string): string | Mailbox | Mailbox[] | undefined {\n const fieldMatcher = (obj: HeaderField): boolean => obj.name.toLowerCase() === name.toLowerCase()\n const ind = this.fields.findIndex(fieldMatcher)\n\n return ind !== -1 ? (this.fields[ind]!).value : undefined\n }\n\n set (name: string, value: string | Mailbox | Mailbox[]): HeaderField {\n const fieldMatcher = (obj: HeaderField): boolean => obj.name.toLowerCase() === name.toLowerCase()\n const isCustomHeader = !this.fields.some(fieldMatcher)\n\n if (!isCustomHeader) {\n const ind = this.fields.findIndex(fieldMatcher)\n const field = this.fields[ind]!\n if (field.validate && !field.validate(value)) {\n throw new MIMETextError('MIMETEXT_INVALID_HEADER_VALUE', `The value for the header \"${name}\" is invalid.`)\n }\n (this.fields[ind]!).value = value\n return this.fields[ind]!\n }\n\n return this.setCustom({\n name: name,\n value: value,\n custom: true,\n dump: (v: unknown) => typeof v === 'string' ? v : ''\n })\n }\n\n setCustom (obj: HeaderField): HeaderField {\n if (this.isHeaderField(obj)) {\n if (typeof obj.value !== 'string') {\n throw new MIMETextError('MIMETEXT_INVALID_HEADER_FIELD', 'Custom header must have a value.')\n }\n this.fields.push(obj)\n return obj\n }\n\n throw new MIMETextError('MIMETEXT_INVALID_HEADER_FIELD', 'Invalid input for custom header. It must be in type of HeaderField.')\n }\n\n validateMailboxSingle (v: unknown): v is Mailbox {\n return v instanceof Mailbox\n }\n\n validateMailboxMulti (v: unknown): boolean {\n return v instanceof Mailbox || this.isArrayOfMailboxes(v)\n }\n\n dumpMailboxMulti (v: unknown): string {\n const dump = (item: Mailbox): string => item.name.length === 0\n ? item.dump()\n : `=?utf-8?B?${this.envctx.toBase64(item.name)}?= <${item.addr}>`\n return this.isArrayOfMailboxes(v) ? v.map(dump).join(`,${this.envctx.eol} `) : v instanceof Mailbox ? dump(v) : ''\n }\n\n dumpMailboxSingle (v: unknown): string {\n const dump = (item: Mailbox): string => item.name.length === 0\n ? item.dump()\n : `=?utf-8?B?${this.envctx.toBase64(item.name)}?= <${item.addr}>`\n return v instanceof Mailbox ? dump(v) : ''\n }\n\n isHeaderField (v: unknown): v is HeaderField {\n const validProps = ['name', 'value', 'dump', 'required', 'disabled', 'generator', 'custom']\n if (this.isObject(v)) {\n const h = v as HeaderField\n if (Object.hasOwn(h, 'name') && typeof h.name === 'string' && h.name.length > 0) {\n if (!Object.keys(h).some((prop) => !validProps.includes(prop))) {\n return true\n }\n }\n }\n return false\n }\n\n isObject (v: unknown): v is object {\n return (!!v) && (v.constructor === Object)\n }\n\n isArrayOfMailboxes (v: unknown): v is Mailbox[] {\n return this.isArray(v) && v.every((item: unknown) => item instanceof Mailbox)\n }\n\n isArray (v: unknown): v is never[] {\n return (!!v) && (v.constructor === Array)\n }\n}\n\nexport class MIMEMessageContentHeader extends MIMEMessageHeader {\n override fields = [\n {\n name: 'Content-ID'\n },\n {\n name: 'Content-Type'\n },\n {\n name: 'Content-Transfer-Encoding'\n },\n {\n name: 'Content-Disposition'\n }\n ]\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor (envctx: EnvironmentContext) {\n super(envctx)\n }\n}\n\nexport type HeadersObject = Record\nexport interface HeaderField {\n name: string\n dump?: (v: string | Mailbox | Mailbox[] | undefined) => string\n value?: string | Mailbox | Mailbox[] | undefined\n validate?: (v: unknown) => boolean\n required?: boolean\n disabled?: boolean\n generator?: () => string\n custom?: boolean\n}\n","import type { EnvironmentContext } from './MIMEMessage'\nimport type { Mailbox } from './Mailbox'\nimport { type HeadersObject, MIMEMessageContentHeader } from './MIMEMessageHeader.js'\n\nexport class MIMEMessageContent {\n envctx: EnvironmentContext\n headers\n data\n\n constructor (envctx: EnvironmentContext, data: string, headers = {}) {\n this.envctx = envctx\n this.headers = new MIMEMessageContentHeader(this.envctx)\n this.data = data\n this.setHeaders(headers)\n }\n\n dump (): string {\n const eol = this.envctx.eol\n return this.headers.dump() + eol + eol + this.data\n }\n\n isAttachment (): boolean {\n const disposition = this.headers.get('Content-Disposition')\n return typeof disposition === 'string' && disposition.includes('attachment')\n }\n\n isInlineAttachment (): boolean {\n const disposition = this.headers.get('Content-Disposition')\n return typeof disposition === 'string' && disposition.includes('inline')\n }\n\n setHeader (name: string, value: string | Mailbox | Mailbox[]): string {\n this.headers.set(name, value)\n return name\n }\n\n getHeader (name: string): string | Mailbox | Mailbox[] | undefined {\n return this.headers.get(name)\n }\n\n setHeaders (obj: Record): string[] {\n return Object.keys(obj).map((prop) => this.setHeader(prop, obj[prop]!))\n }\n\n getHeaders (): HeadersObject {\n return this.headers.toObject()\n }\n}\n","import type { MailboxAddrObject, MailboxConfig } from './Mailbox.js'\n\nimport { MIMETextError } from './MIMETextError.js'\nimport { type HeadersObject, MIMEMessageHeader } from './MIMEMessageHeader.js'\nimport { Mailbox } from './Mailbox.js'\nimport { MIMEMessageContent } from './MIMEMessageContent.js'\n\nexport class MIMEMessage {\n envctx: EnvironmentContext\n headers: MIMEMessageHeader\n boundaries: Boundaries = { mixed: '', alt: '', related: '' }\n validTypes = ['text/html', 'text/plain']\n validContentTransferEncodings = ['7bit', '8bit', 'binary', 'quoted-printable', 'base64']\n messages: MIMEMessageContent[] = []\n\n constructor (envctx: EnvironmentContext) {\n this.envctx = envctx\n this.headers = new MIMEMessageHeader(this.envctx)\n this.messages = []\n\n this.generateBoundaries()\n }\n\n asRaw (): string {\n const eol = this.envctx.eol\n const lines = this.headers.dump()\n\n const plaintext = this.getMessageByType('text/plain')\n const html = this.getMessageByType('text/html')\n const primaryMessage = html ?? (plaintext ?? undefined)\n\n if (primaryMessage === undefined) {\n throw new MIMETextError('MIMETEXT_MISSING_BODY', 'No content added to the message.')\n }\n\n const hasAttachments = this.hasAttachments()\n const hasInlineAttachments = this.hasInlineAttachments()\n\n const structure = hasInlineAttachments && hasAttachments\n ? 'mixed+related'\n : hasAttachments\n ? 'mixed'\n : hasInlineAttachments\n ? 'related'\n : plaintext && html\n ? 'alternative'\n : ''\n\n if (structure === 'mixed+related') {\n const attachments = this.getAttachments()\n .map((a) => '--' + this.boundaries.mixed + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n const inlineAttachments = this.getInlineAttachments()\n .map((a) => '--' + this.boundaries.related + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n return lines + eol +\n 'Content-Type: multipart/mixed; boundary=' + this.boundaries.mixed + eol +\n eol +\n '--' + this.boundaries.mixed + eol +\n 'Content-Type: multipart/related; boundary=' + this.boundaries.related + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.related) + eol +\n eol +\n inlineAttachments +\n '--' + this.boundaries.related + '--' + eol +\n attachments +\n '--' + this.boundaries.mixed + '--'\n } else if (structure === 'mixed') {\n const attachments = this.getAttachments()\n .map((a) => '--' + this.boundaries.mixed + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n return lines + eol +\n 'Content-Type: multipart/mixed; boundary=' + this.boundaries.mixed + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.mixed) + eol +\n (plaintext && html ? '' : eol) +\n attachments +\n '--' + this.boundaries.mixed + '--'\n } else if (structure === 'related') {\n const inlineAttachments = this.getInlineAttachments()\n .map((a) => '--' + this.boundaries.related + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n return lines + eol +\n 'Content-Type: multipart/related; boundary=' + this.boundaries.related + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.related) + eol +\n eol +\n inlineAttachments +\n '--' + this.boundaries.related + '--'\n } else if (structure === 'alternative') {\n return lines + eol +\n 'Content-Type: multipart/alternative; boundary=' + this.boundaries.alt + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.alt) + eol +\n eol +\n '--' + this.boundaries.alt + '--'\n } else {\n return lines + eol + primaryMessage.dump()\n }\n }\n\n asEncoded (): string {\n return this.envctx.toBase64WebSafe(this.asRaw())\n }\n\n dumpTextContent (plaintext: MIMEMessageContent | undefined, html: MIMEMessageContent | undefined, boundary: string): string {\n const eol = this.envctx.eol\n const primaryMessage = html ?? plaintext\n\n let data = ''\n\n if (plaintext && html && !this.hasInlineAttachments() && this.hasAttachments()) {\n data = '--' + boundary + eol +\n 'Content-Type: multipart/alternative; boundary=' + this.boundaries.alt + eol +\n eol +\n '--' + this.boundaries.alt + eol +\n plaintext.dump() + eol +\n eol +\n '--' + this.boundaries.alt + eol +\n html.dump() + eol +\n eol +\n '--' + this.boundaries.alt + '--'\n } else if (plaintext && html && this.hasInlineAttachments()) {\n data = '--' + boundary + eol +\n html.dump()\n } else if (plaintext && html) {\n data = '--' + boundary + eol +\n plaintext.dump() + eol +\n eol +\n '--' + boundary + eol +\n html.dump()\n } else {\n data = '--' + boundary + eol +\n (primaryMessage!).dump()\n }\n\n return data\n }\n\n hasInlineAttachments (): boolean {\n return this.messages.some((msg) => msg.isInlineAttachment())\n }\n\n hasAttachments (): boolean {\n return this.messages.some((msg) => msg.isAttachment())\n }\n\n getAttachments (): MIMEMessageContent[] | [] {\n const matcher = (msg: MIMEMessageContent): boolean => msg.isAttachment()\n return this.messages.some(matcher) ? this.messages.filter(matcher) : []\n }\n\n getInlineAttachments (): MIMEMessageContent[] | [] {\n const matcher = (msg: MIMEMessageContent): boolean => msg.isInlineAttachment()\n return this.messages.some(matcher) ? this.messages.filter(matcher) : []\n }\n\n getMessageByType (type: string): MIMEMessageContent | undefined {\n const matcher = (msg: MIMEMessageContent): boolean => !msg.isAttachment() && !msg.isInlineAttachment() && (msg.getHeader('Content-Type') as string || '').includes(type)\n return this.messages.some(matcher) ? this.messages.filter(matcher)[0] : undefined\n }\n\n addAttachment (opts: AttachmentOptions): MIMEMessageContent {\n if (!this.isObject(opts.headers)) opts.headers = {}\n\n if (typeof opts.filename !== 'string') {\n throw new MIMETextError('MIMETEXT_MISSING_FILENAME', 'The property \"filename\" must exist while adding attachments.')\n }\n\n let type = (opts.headers['Content-Type'] ?? opts.contentType) || 'none'\n if (this.envctx.validateContentType(type) === false) {\n throw new MIMETextError('MIMETEXT_INVALID_MESSAGE_TYPE', `You specified an invalid content type \"${type}\".`)\n }\n\n const encoding = (opts.headers['Content-Transfer-Encoding'] ?? opts.encoding) ?? 'base64'\n if (!this.validContentTransferEncodings.includes(encoding)) {\n type = 'application/octet-stream'\n }\n\n const contentId = opts.headers['Content-ID']\n if (typeof contentId === 'string' && contentId.length > 2 && !contentId.startsWith('<') && !contentId.endsWith('>')) {\n opts.headers['Content-ID'] = '<' + opts.headers['Content-ID'] + '>'\n }\n\n const disposition = opts.inline ? 'inline' : 'attachment'\n\n opts.headers = Object.assign({}, opts.headers, {\n 'Content-Type': `${type}; name=\"${opts.filename}\"`,\n 'Content-Transfer-Encoding': encoding,\n 'Content-Disposition': `${disposition}; filename=\"${opts.filename}\"`\n })\n\n return this._addMessage({ data: opts.data, headers: opts.headers })\n }\n\n addMessage (opts: ContentOptions): MIMEMessageContent {\n if (!this.isObject(opts.headers)) opts.headers = {}\n\n let type = (opts.headers['Content-Type'] ?? opts.contentType) || 'none'\n if (!this.validTypes.includes(type)) {\n throw new MIMETextError('MIMETEXT_INVALID_MESSAGE_TYPE', `Valid content types are ${this.validTypes.join(', ')} but you specified \"${type}\".`)\n }\n\n const encoding = (opts.headers['Content-Transfer-Encoding'] ?? opts.encoding) ?? '7bit'\n if (!this.validContentTransferEncodings.includes(encoding)) {\n type = 'application/octet-stream'\n }\n\n const charset = opts.charset ?? 'UTF-8'\n\n opts.headers = Object.assign({}, opts.headers, {\n 'Content-Type': `${type}; charset=${charset}`,\n 'Content-Transfer-Encoding': encoding\n })\n\n return this._addMessage({ data: opts.data, headers: opts.headers })\n }\n\n private _addMessage (opts: { data: string, headers: ContentHeaders }): MIMEMessageContent {\n const msg = new MIMEMessageContent(this.envctx, opts.data, opts.headers)\n\n this.messages.push(msg)\n\n return msg\n }\n\n setSender (input: MailboxAddrObject | string, config: MailboxConfig = { type: 'From' }): Mailbox {\n const mailbox = new Mailbox(input, config)\n this.setHeader('From', mailbox)\n return mailbox\n }\n\n getSender (): Mailbox | undefined {\n return this.getHeader('From') as Mailbox\n }\n\n setRecipients (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'To' }): Mailbox[] {\n const arr = !this.isArray(input) ? [input] : input\n const recs = arr.map((_input) => new Mailbox(_input, config))\n this.setHeader(config.type, recs)\n return recs\n }\n\n getRecipients (config: MailboxConfig = { type: 'To' }): Mailbox | Mailbox[] | undefined {\n return this.getHeader(config.type) as Mailbox | Mailbox[] | undefined\n }\n\n setRecipient (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'To' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setTo (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'To' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setCc (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'Cc' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setBcc (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'Bcc' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setSubject (value: string): string {\n this.setHeader('subject', value)\n return value\n }\n\n getSubject (): string | undefined {\n return this.getHeader('subject') as string\n }\n\n setHeader (name: string, value: string | Mailbox | Mailbox[]): string {\n this.headers.set(name, value)\n return name\n }\n\n getHeader (name: string): string | Mailbox | Mailbox[] | undefined {\n return this.headers.get(name)\n }\n\n setHeaders (obj: Record): string[] {\n return Object.keys(obj).map((prop) => this.setHeader(prop, obj[prop]!))\n }\n\n getHeaders (): HeadersObject {\n return this.headers.toObject()\n }\n\n toBase64 (v: string): string {\n return this.envctx.toBase64(v)\n }\n\n toBase64WebSafe (v: string): string {\n return this.envctx.toBase64WebSafe(v)\n }\n\n generateBoundaries (): void {\n this.boundaries = {\n mixed: Math.random().toString(36).slice(2),\n alt: Math.random().toString(36).slice(2),\n related: Math.random().toString(36).slice(2)\n }\n }\n\n isArray (v: unknown): v is unknown[] {\n return (!!v) && (v.constructor === Array)\n }\n\n isObject (v: unknown): v is object {\n return (!!v) && (v.constructor === Object)\n }\n}\n\nexport interface EnvironmentContext {\n toBase64: (v: string) => string\n toBase64WebSafe: (v: string) => string\n eol: string\n validateContentType: (v: string) => string | false\n}\n\nexport interface Boundaries {\n mixed: string\n alt: string\n related: string\n}\n\nexport type ContentTransferEncoding = '7bit' | '8bit' | 'binary' | 'quoted-printable' | 'base64'\n\nexport interface ContentHeaders {\n 'Content-Type'?: string\n 'Content-Transfer-Encoding'?: ContentTransferEncoding\n 'Content-Disposition'?: string\n 'Content-ID'?: string\n [index: string]: string | undefined\n}\n\nexport interface ContentOptions {\n data: string\n encoding?: ContentTransferEncoding\n contentType: string\n headers?: ContentHeaders\n charset?: string\n}\n\nexport interface AttachmentOptions extends ContentOptions {\n inline?: boolean\n filename: string\n}\n"]} \ No newline at end of file diff --git a/dist/browser.d.cts b/dist/browser.d.cts deleted file mode 100644 index fa004be..0000000 --- a/dist/browser.d.cts +++ /dev/null @@ -1,6 +0,0 @@ -import { M as MIMEMessage } from './MIMETextError-BRDlE5Ge.cjs'; -export { A as AttachmentOptions, B as Boundaries, e as ContentHeaders, f as ContentOptions, C as ContentTransferEncoding, E as EnvironmentContext, k as HeaderField, H as HeadersObject, d as MIMEMessageContent, j as MIMEMessageContentHeader, c as MIMEMessageHeader, b as MIMETextError, a as Mailbox, h as MailboxAddrObject, g as MailboxConfig, i as MailboxType } from './MIMETextError-BRDlE5Ge.cjs'; - -declare function createMimeMessage(): MIMEMessage; - -export { MIMEMessage, createMimeMessage }; diff --git a/dist/browser.d.ts b/dist/browser.d.ts deleted file mode 100644 index 92e630d..0000000 --- a/dist/browser.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { M as MIMEMessage } from './MIMETextError-BRDlE5Ge.js'; -export { A as AttachmentOptions, B as Boundaries, e as ContentHeaders, f as ContentOptions, C as ContentTransferEncoding, E as EnvironmentContext, k as HeaderField, H as HeadersObject, d as MIMEMessageContent, j as MIMEMessageContentHeader, c as MIMEMessageHeader, b as MIMETextError, a as Mailbox, h as MailboxAddrObject, g as MailboxConfig, i as MailboxType } from './MIMETextError-BRDlE5Ge.js'; - -declare function createMimeMessage(): MIMEMessage; - -export { MIMEMessage, createMimeMessage }; diff --git a/dist/browser.global.js b/dist/browser.global.js deleted file mode 100644 index fcb1e7d..0000000 --- a/dist/browser.global.js +++ /dev/null @@ -1,3 +0,0 @@ -var MimeText=(function(exports){'use strict';var G=Object.defineProperty;var Z=(n,e,t)=>e in n?G(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var o=(n,e,t)=>Z(n,typeof e!="symbol"?e+"":e,t);var F="3.7.7",Y=F,f=typeof Buffer=="function",B=typeof TextDecoder=="function"?new TextDecoder:void 0,S=typeof TextEncoder=="function"?new TextEncoder:void 0,J="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",b=Array.prototype.slice.call(J),C=(n=>{let e={};return n.forEach((t,r)=>e[t]=r),e})(b),K=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,a=String.fromCharCode.bind(String),H=typeof Uint8Array.from=="function"?Uint8Array.from.bind(Uint8Array):n=>new Uint8Array(Array.prototype.slice.call(n,0)),k=n=>n.replace(/=/g,"").replace(/[+\/]/g,e=>e=="+"?"-":"_"),U=n=>n.replace(/[^A-Za-z0-9\+\/]/g,""),R=n=>{let e,t,r,i,s="",d=n.length%3;for(let u=0;u255||(r=n.charCodeAt(u++))>255||(i=n.charCodeAt(u++))>255)throw new TypeError("invalid character found");e=t<<16|r<<8|i,s+=b[e>>18&63]+b[e>>12&63]+b[e>>6&63]+b[e&63];}return d?s.slice(0,d-3)+"===".substring(d):s},w=typeof btoa=="function"?n=>btoa(n):f?n=>Buffer.from(n,"binary").toString("base64"):R,v=f?n=>Buffer.from(n).toString("base64"):n=>{let t=[];for(let r=0,i=n.length;re?k(v(n)):v(n),Q=n=>{if(n.length<2){var e=n.charCodeAt(0);return e<128?n:e<2048?a(192|e>>>6)+a(128|e&63):a(224|e>>>12&15)+a(128|e>>>6&63)+a(128|e&63)}else {var e=65536+(n.charCodeAt(0)-55296)*1024+(n.charCodeAt(1)-56320);return a(240|e>>>18&7)+a(128|e>>>12&63)+a(128|e>>>6&63)+a(128|e&63)}},ee=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,$=n=>n.replace(ee,Q),_=f?n=>Buffer.from(n,"utf8").toString("base64"):S?n=>v(S.encode(n)):n=>w($(n)),h=(n,e=!1)=>e?k(_(n)):_(n),D=n=>h(n,!0),te=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,ne=n=>{switch(n.length){case 4:var e=(7&n.charCodeAt(0))<<18|(63&n.charCodeAt(1))<<12|(63&n.charCodeAt(2))<<6|63&n.charCodeAt(3),t=e-65536;return a((t>>>10)+55296)+a((t&1023)+56320);case 3:return a((15&n.charCodeAt(0))<<12|(63&n.charCodeAt(1))<<6|63&n.charCodeAt(2));default:return a((31&n.charCodeAt(0))<<6|63&n.charCodeAt(1))}},L=n=>n.replace(te,ne),V=n=>{if(n=n.replace(/\s+/g,""),!K.test(n))throw new TypeError("malformed base64.");n+="==".slice(2-(n.length&3));let e,t="",r,i;for(let s=0;s>16&255):i===64?a(e>>16&255,e>>8&255):a(e>>16&255,e>>8&255,e&255);return t},j=typeof atob=="function"?n=>atob(U(n)):f?n=>Buffer.from(n,"base64").toString("binary"):V,N=f?n=>H(Buffer.from(n,"base64")):n=>H(j(n).split("").map(e=>e.charCodeAt(0))),W=n=>N(X(n)),re=f?n=>Buffer.from(n,"base64").toString("utf8"):B?n=>B.decode(N(n)):n=>L(j(n)),X=n=>U(n.replace(/[-_]/g,e=>e=="-"?"+":"/")),I=n=>re(X(n)),ie=n=>{if(typeof n!="string")return !1;let e=n.replace(/\s+/g,"").replace(/={0,2}$/,"");return !/[^\s0-9a-zA-Z\+/]/.test(e)||!/[^\s0-9a-zA-Z\-_]/.test(e)},P=n=>({value:n,enumerable:!1,writable:!0,configurable:!0}),q=function(){let n=(e,t)=>Object.defineProperty(String.prototype,e,P(t));n("fromBase64",function(){return I(this)}),n("toBase64",function(e){return h(this,e)}),n("toBase64URI",function(){return h(this,!0)}),n("toBase64URL",function(){return h(this,!0)}),n("toUint8Array",function(){return W(this)});},z=function(){let n=(e,t)=>Object.defineProperty(Uint8Array.prototype,e,P(t));n("toBase64",function(e){return A(this,e)}),n("toBase64URI",function(){return A(this,!0)}),n("toBase64URL",function(){return A(this,!0)});},se=()=>{q(),z();},O={version:F,VERSION:Y,atob:j,atobPolyfill:V,btoa:w,btoaPolyfill:R,fromBase64:I,toBase64:h,encode:h,encodeURI:D,encodeURL:D,utob:$,btou:L,decode:I,isValid:ie,fromUint8Array:A,toUint8Array:W,extendString:q,extendUint8Array:z,extendBuiltins:se};var l=class extends Error{constructor(t,r=""){super(r);o(this,"name","");o(this,"description","");this.name=t,this.description=r;}};var c=class{constructor(e,t={type:"To"}){o(this,"reSpecCompliantAddr",/(([^<>\r\n]+)\s)?<[^\r\n]+>/);o(this,"name","");o(this,"addr","");o(this,"type","To");this.type=t.type,this.parse(e);}getAddrDomain(){if(this.addr.includes("@")){let e=this.addr.split("@");if(e.length>1)return e[1]}return ""}dump(){return this.name.length>0?`"${this.name}" <${this.addr}>`:`<${this.addr}>`}parse(e){if(this.isMailboxAddrObject(e))return this.addr=e.addr,typeof e.name=="string"&&(this.name=e.name),typeof e.type=="string"&&(this.type=e.type),this;if(this.isMailboxAddrText(e)){let t=e.trim();if(t.startsWith("<")&&t.endsWith(">"))return this.addr=t.slice(1,-1),this;let r=t.split(" <");return r[0]=/^("|')/.test(r[0])?r[0].slice(1):r[0],r[0]=/("|')$/.test(r[0])?r[0].slice(0,-1):r[0],r[1]=r[1].slice(0,-1),this.name=r[0],this.addr=r[1],this}if(typeof e=="string")return this.addr=e,this;throw new l("MIMETEXT_INVALID_MAILBOX","Couldn't recognize the input.")}isMailboxAddrText(e){return typeof e=="string"&&this.reSpecCompliantAddr.test(e)}isMailboxAddrObject(e){return this.isObject(e)&&Object.hasOwn(e,"addr")}isObject(e){return !!e&&e.constructor===Object}};var x=class{constructor(e){o(this,"envctx");o(this,"fields",[{name:"Date",generator:()=>new Date().toUTCString().replace(/GMT|UTC/gi,"+0000")},{name:"From",required:!0,validate:e=>this.validateMailboxSingle(e),dump:e=>this.dumpMailboxSingle(e)},{name:"Sender",validate:e=>this.validateMailboxSingle(e),dump:e=>this.dumpMailboxSingle(e)},{name:"Reply-To",validate:e=>this.validateMailboxSingle(e),dump:e=>this.dumpMailboxSingle(e)},{name:"To",validate:e=>this.validateMailboxMulti(e),dump:e=>this.dumpMailboxMulti(e)},{name:"Cc",validate:e=>this.validateMailboxMulti(e),dump:e=>this.dumpMailboxMulti(e)},{name:"Bcc",validate:e=>this.validateMailboxMulti(e),dump:e=>this.dumpMailboxMulti(e)},{name:"Message-ID",generator:()=>{let e=Math.random().toString(36).slice(2),r=this.fields.filter(i=>i.name==="From")[0].value.getAddrDomain();return "<"+e+"@"+r+">"}},{name:"Subject",required:!0,dump:e=>typeof e=="string"?"=?utf-8?B?"+this.envctx.toBase64(e)+"?=":""},{name:"MIME-Version",generator:()=>"1.0"}]);this.envctx=e;}dump(){let e="";for(let t of this.fields){if(t.disabled)continue;let r=t.value!==void 0&&t.value!==null;if(!r&&t.required)throw new l("MIMETEXT_MISSING_HEADER",`The "${t.name}" header is required.`);if(!r&&typeof t.generator!="function")continue;!r&&typeof t.generator=="function"&&(t.value=t.generator());let i=Object.hasOwn(t,"dump")&&typeof t.dump=="function"?t.dump(t.value):typeof t.value=="string"?t.value:"";e+=`${t.name}: ${i}${this.envctx.eol}`;}return e.slice(0,-1*this.envctx.eol.length)}toObject(){return this.fields.reduce((e,t)=>(e[t.name]=t.value,e),{})}get(e){let t=i=>i.name.toLowerCase()===e.toLowerCase(),r=this.fields.findIndex(t);return r!==-1?this.fields[r].value:void 0}set(e,t){let r=s=>s.name.toLowerCase()===e.toLowerCase();if(!!this.fields.some(r)){let s=this.fields.findIndex(r),d=this.fields[s];if(d.validate&&!d.validate(t))throw new l("MIMETEXT_INVALID_HEADER_VALUE",`The value for the header "${e}" is invalid.`);return this.fields[s].value=t,this.fields[s]}return this.setCustom({name:e,value:t,custom:!0,dump:s=>typeof s=="string"?s:""})}setCustom(e){if(this.isHeaderField(e)){if(typeof e.value!="string")throw new l("MIMETEXT_INVALID_HEADER_FIELD","Custom header must have a value.");return this.fields.push(e),e}throw new l("MIMETEXT_INVALID_HEADER_FIELD","Invalid input for custom header. It must be in type of HeaderField.")}validateMailboxSingle(e){return e instanceof c}validateMailboxMulti(e){return e instanceof c||this.isArrayOfMailboxes(e)}dumpMailboxMulti(e){let t=r=>r.name.length===0?r.dump():`=?utf-8?B?${this.envctx.toBase64(r.name)}?= <${r.addr}>`;return this.isArrayOfMailboxes(e)?e.map(t).join(`,${this.envctx.eol} `):e instanceof c?t(e):""}dumpMailboxSingle(e){let t=r=>r.name.length===0?r.dump():`=?utf-8?B?${this.envctx.toBase64(r.name)}?= <${r.addr}>`;return e instanceof c?t(e):""}isHeaderField(e){let t=["name","value","dump","required","disabled","generator","custom"];if(this.isObject(e)){let r=e;if(Object.hasOwn(r,"name")&&typeof r.name=="string"&&r.name.length>0&&!Object.keys(r).some(i=>!t.includes(i)))return !0}return !1}isObject(e){return !!e&&e.constructor===Object}isArrayOfMailboxes(e){return this.isArray(e)&&e.every(t=>t instanceof c)}isArray(e){return !!e&&e.constructor===Array}},E=class extends x{constructor(t){super(t);o(this,"fields",[{name:"Content-ID"},{name:"Content-Type"},{name:"Content-Transfer-Encoding"},{name:"Content-Disposition"}]);}};var p=class{constructor(e,t,r={}){o(this,"envctx");o(this,"headers");o(this,"data");this.envctx=e,this.headers=new E(this.envctx),this.data=t,this.setHeaders(r);}dump(){let e=this.envctx.eol;return this.headers.dump()+e+e+this.data}isAttachment(){let e=this.headers.get("Content-Disposition");return typeof e=="string"&&e.includes("attachment")}isInlineAttachment(){let e=this.headers.get("Content-Disposition");return typeof e=="string"&&e.includes("inline")}setHeader(e,t){return this.headers.set(e,t),e}getHeader(e){return this.headers.get(e)}setHeaders(e){return Object.keys(e).map(t=>this.setHeader(t,e[t]))}getHeaders(){return this.headers.toObject()}};var M=class{constructor(e){o(this,"envctx");o(this,"headers");o(this,"boundaries",{mixed:"",alt:"",related:""});o(this,"validTypes",["text/html","text/plain"]);o(this,"validContentTransferEncodings",["7bit","8bit","binary","quoted-printable","base64"]);o(this,"messages",[]);this.envctx=e,this.headers=new x(this.envctx),this.messages=[],this.generateBoundaries();}asRaw(){let e=this.envctx.eol,t=this.headers.dump(),r=this.getMessageByType("text/plain"),i=this.getMessageByType("text/html"),s=i??r??void 0;if(s===void 0)throw new l("MIMETEXT_MISSING_BODY","No content added to the message.");let d=this.hasAttachments(),u=this.hasInlineAttachments(),y=u&&d?"mixed+related":d?"mixed":u?"related":r&&i?"alternative":"";if(y==="mixed+related"){let g=this.getAttachments().map(T=>"--"+this.boundaries.mixed+e+T.dump()+e+e).join("").slice(0,-1*e.length),m=this.getInlineAttachments().map(T=>"--"+this.boundaries.related+e+T.dump()+e+e).join("").slice(0,-1*e.length);return t+e+"Content-Type: multipart/mixed; boundary="+this.boundaries.mixed+e+e+"--"+this.boundaries.mixed+e+"Content-Type: multipart/related; boundary="+this.boundaries.related+e+e+this.dumpTextContent(r,i,this.boundaries.related)+e+e+m+"--"+this.boundaries.related+"--"+e+g+"--"+this.boundaries.mixed+"--"}else if(y==="mixed"){let g=this.getAttachments().map(m=>"--"+this.boundaries.mixed+e+m.dump()+e+e).join("").slice(0,-1*e.length);return t+e+"Content-Type: multipart/mixed; boundary="+this.boundaries.mixed+e+e+this.dumpTextContent(r,i,this.boundaries.mixed)+e+(r&&i?"":e)+g+"--"+this.boundaries.mixed+"--"}else if(y==="related"){let g=this.getInlineAttachments().map(m=>"--"+this.boundaries.related+e+m.dump()+e+e).join("").slice(0,-1*e.length);return t+e+"Content-Type: multipart/related; boundary="+this.boundaries.related+e+e+this.dumpTextContent(r,i,this.boundaries.related)+e+e+g+"--"+this.boundaries.related+"--"}else return y==="alternative"?t+e+"Content-Type: multipart/alternative; boundary="+this.boundaries.alt+e+e+this.dumpTextContent(r,i,this.boundaries.alt)+e+e+"--"+this.boundaries.alt+"--":t+e+s.dump()}asEncoded(){return this.envctx.toBase64WebSafe(this.asRaw())}dumpTextContent(e,t,r){let i=this.envctx.eol,s=t??e,d="";return e&&t&&!this.hasInlineAttachments()&&this.hasAttachments()?d="--"+r+i+"Content-Type: multipart/alternative; boundary="+this.boundaries.alt+i+i+"--"+this.boundaries.alt+i+e.dump()+i+i+"--"+this.boundaries.alt+i+t.dump()+i+i+"--"+this.boundaries.alt+"--":e&&t&&this.hasInlineAttachments()?d="--"+r+i+t.dump():e&&t?d="--"+r+i+e.dump()+i+i+"--"+r+i+t.dump():d="--"+r+i+s.dump(),d}hasInlineAttachments(){return this.messages.some(e=>e.isInlineAttachment())}hasAttachments(){return this.messages.some(e=>e.isAttachment())}getAttachments(){let e=t=>t.isAttachment();return this.messages.some(e)?this.messages.filter(e):[]}getInlineAttachments(){let e=t=>t.isInlineAttachment();return this.messages.some(e)?this.messages.filter(e):[]}getMessageByType(e){let t=r=>!r.isAttachment()&&!r.isInlineAttachment()&&(r.getHeader("Content-Type")||"").includes(e);return this.messages.some(t)?this.messages.filter(t)[0]:void 0}addAttachment(e){if(this.isObject(e.headers)||(e.headers={}),typeof e.filename!="string")throw new l("MIMETEXT_MISSING_FILENAME",'The property "filename" must exist while adding attachments.');let t=(e.headers["Content-Type"]??e.contentType)||"none";if(this.envctx.validateContentType(t)===!1)throw new l("MIMETEXT_INVALID_MESSAGE_TYPE",`You specified an invalid content type "${t}".`);let r=e.headers["Content-Transfer-Encoding"]??e.encoding??"base64";this.validContentTransferEncodings.includes(r)||(t="application/octet-stream");let i=e.headers["Content-ID"];typeof i=="string"&&i.length>2&&!i.startsWith("<")&&!i.endsWith(">")&&(e.headers["Content-ID"]="<"+e.headers["Content-ID"]+">");let s=e.inline?"inline":"attachment";return e.headers=Object.assign({},e.headers,{"Content-Type":`${t}; name="${e.filename}"`,"Content-Transfer-Encoding":r,"Content-Disposition":`${s}; filename="${e.filename}"`}),this._addMessage({data:e.data,headers:e.headers})}addMessage(e){this.isObject(e.headers)||(e.headers={});let t=(e.headers["Content-Type"]??e.contentType)||"none";if(!this.validTypes.includes(t))throw new l("MIMETEXT_INVALID_MESSAGE_TYPE",`Valid content types are ${this.validTypes.join(", ")} but you specified "${t}".`);let r=e.headers["Content-Transfer-Encoding"]??e.encoding??"7bit";this.validContentTransferEncodings.includes(r)||(t="application/octet-stream");let i=e.charset??"UTF-8";return e.headers=Object.assign({},e.headers,{"Content-Type":`${t}; charset=${i}`,"Content-Transfer-Encoding":r}),this._addMessage({data:e.data,headers:e.headers})}_addMessage(e){let t=new p(this.envctx,e.data,e.headers);return this.messages.push(t),t}setSender(e,t={type:"From"}){let r=new c(e,t);return this.setHeader("From",r),r}getSender(){return this.getHeader("From")}setRecipients(e,t={type:"To"}){let i=(this.isArray(e)?e:[e]).map(s=>new c(s,t));return this.setHeader(t.type,i),i}getRecipients(e={type:"To"}){return this.getHeader(e.type)}setRecipient(e,t={type:"To"}){return this.setRecipients(e,t)}setTo(e,t={type:"To"}){return this.setRecipients(e,t)}setCc(e,t={type:"Cc"}){return this.setRecipients(e,t)}setBcc(e,t={type:"Bcc"}){return this.setRecipients(e,t)}setSubject(e){return this.setHeader("subject",e),e}getSubject(){return this.getHeader("subject")}setHeader(e,t){return this.headers.set(e,t),e}getHeader(e){return this.headers.get(e)}setHeaders(e){return Object.keys(e).map(t=>this.setHeader(t,e[t]))}getHeaders(){return this.headers.toObject()}toBase64(e){return this.envctx.toBase64(e)}toBase64WebSafe(e){return this.envctx.toBase64WebSafe(e)}generateBoundaries(){this.boundaries={mixed:Math.random().toString(36).slice(2),alt:Math.random().toString(36).slice(2),related:Math.random().toString(36).slice(2)};}isArray(e){return !!e&&e.constructor===Array}isObject(e){return !!e&&e.constructor===Object}};var oe={toBase64:function(e){return O.encode(e)},toBase64WebSafe:function(e){return O.encodeURI(e)},eol:`\r -`,validateContentType:n=>n.length>0?n:!1};function Oe(){return new M(oe)}exports.MIMEMessage=M;exports.MIMEMessageContent=p;exports.MIMEMessageHeader=x;exports.MIMETextError=l;exports.Mailbox=c;exports.createMimeMessage=Oe;return exports;})({});//# sourceMappingURL=browser.global.js.map -//# sourceMappingURL=browser.global.js.map \ No newline at end of file diff --git a/dist/browser.global.js.map b/dist/browser.global.js.map deleted file mode 100644 index 04be6f7..0000000 --- a/dist/browser.global.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../node_modules/.pnpm/js-base64@3.7.7/node_modules/js-base64/base64.mjs","../src/MIMETextError.ts","../src/Mailbox.ts","../src/MIMEMessageHeader.ts","../src/MIMEMessageContent.ts","../src/MIMEMessage.ts","../src/entrypoints/browser.ts"],"names":["version","VERSION","_hasBuffer","_TD","_TE","b64ch","b64chs","b64tab","a","tab","c","i","b64re","_fromCC","_U8Afrom","it","_mkUriSafe","src","m0","_tidyB64","s","btoaPolyfill","bin","u32","c0","c1","c2","asc","pad","_btoa","_fromUint8Array","u8a","strs","l","fromUint8Array","urlsafe","cb_utob","cc","re_utob","utob","u","_encode","encode","encodeURI","re_btou","cb_btou","cccc","cp","offset","btou","b","atobPolyfill","u24","r1","r2","_atob","_toUint8Array","toUint8Array","_unURI","_decode","decode","isValid","_noEnum","v","extendString","_add","name","body","extendUint8Array","extendBuiltins","gBase64","MIMETextError","message","description","__publicField","Mailbox","input","config","arr","text","MIMEMessageHeader","envctx","randomstr","domain","obj","lines","field","isValueDefinedByUser","strval","memo","item","fieldMatcher","ind","value","dump","validProps","h","prop","MIMEMessageContentHeader","MIMEMessageContent","data","headers","eol","disposition","MIMEMessage","plaintext","html","primaryMessage","hasAttachments","hasInlineAttachments","structure","attachments","inlineAttachments","boundary","msg","matcher","type","opts","encoding","contentId","charset","mailbox","recs","_input","createMimeMessage"],"mappings":"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","file":"browser.global.js","sourcesContent":["/**\n * base64.ts\n *\n * Licensed under the BSD 3-Clause License.\n * http://opensource.org/licenses/BSD-3-Clause\n *\n * References:\n * http://en.wikipedia.org/wiki/Base64\n *\n * @author Dan Kogai (https://github.com/dankogai)\n */\nconst version = '3.7.7';\n/**\n * @deprecated use lowercase `version`.\n */\nconst VERSION = version;\nconst _hasBuffer = typeof Buffer === 'function';\nconst _TD = typeof TextDecoder === 'function' ? new TextDecoder() : undefined;\nconst _TE = typeof TextEncoder === 'function' ? new TextEncoder() : undefined;\nconst b64ch = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\nconst b64chs = Array.prototype.slice.call(b64ch);\nconst b64tab = ((a) => {\n let tab = {};\n a.forEach((c, i) => tab[c] = i);\n return tab;\n})(b64chs);\nconst b64re = /^(?:[A-Za-z\\d+\\/]{4})*?(?:[A-Za-z\\d+\\/]{2}(?:==)?|[A-Za-z\\d+\\/]{3}=?)?$/;\nconst _fromCC = String.fromCharCode.bind(String);\nconst _U8Afrom = typeof Uint8Array.from === 'function'\n ? Uint8Array.from.bind(Uint8Array)\n : (it) => new Uint8Array(Array.prototype.slice.call(it, 0));\nconst _mkUriSafe = (src) => src\n .replace(/=/g, '').replace(/[+\\/]/g, (m0) => m0 == '+' ? '-' : '_');\nconst _tidyB64 = (s) => s.replace(/[^A-Za-z0-9\\+\\/]/g, '');\n/**\n * polyfill version of `btoa`\n */\nconst btoaPolyfill = (bin) => {\n // console.log('polyfilled');\n let u32, c0, c1, c2, asc = '';\n const pad = bin.length % 3;\n for (let i = 0; i < bin.length;) {\n if ((c0 = bin.charCodeAt(i++)) > 255 ||\n (c1 = bin.charCodeAt(i++)) > 255 ||\n (c2 = bin.charCodeAt(i++)) > 255)\n throw new TypeError('invalid character found');\n u32 = (c0 << 16) | (c1 << 8) | c2;\n asc += b64chs[u32 >> 18 & 63]\n + b64chs[u32 >> 12 & 63]\n + b64chs[u32 >> 6 & 63]\n + b64chs[u32 & 63];\n }\n return pad ? asc.slice(0, pad - 3) + \"===\".substring(pad) : asc;\n};\n/**\n * does what `window.btoa` of web browsers do.\n * @param {String} bin binary string\n * @returns {string} Base64-encoded string\n */\nconst _btoa = typeof btoa === 'function' ? (bin) => btoa(bin)\n : _hasBuffer ? (bin) => Buffer.from(bin, 'binary').toString('base64')\n : btoaPolyfill;\nconst _fromUint8Array = _hasBuffer\n ? (u8a) => Buffer.from(u8a).toString('base64')\n : (u8a) => {\n // cf. https://stackoverflow.com/questions/12710001/how-to-convert-uint8-array-to-base64-encoded-string/12713326#12713326\n const maxargs = 0x1000;\n let strs = [];\n for (let i = 0, l = u8a.length; i < l; i += maxargs) {\n strs.push(_fromCC.apply(null, u8a.subarray(i, i + maxargs)));\n }\n return _btoa(strs.join(''));\n };\n/**\n * converts a Uint8Array to a Base64 string.\n * @param {boolean} [urlsafe] URL-and-filename-safe a la RFC4648 §5\n * @returns {string} Base64 string\n */\nconst fromUint8Array = (u8a, urlsafe = false) => urlsafe ? _mkUriSafe(_fromUint8Array(u8a)) : _fromUint8Array(u8a);\n// This trick is found broken https://github.com/dankogai/js-base64/issues/130\n// const utob = (src: string) => unescape(encodeURIComponent(src));\n// reverting good old fationed regexp\nconst cb_utob = (c) => {\n if (c.length < 2) {\n var cc = c.charCodeAt(0);\n return cc < 0x80 ? c\n : cc < 0x800 ? (_fromCC(0xc0 | (cc >>> 6))\n + _fromCC(0x80 | (cc & 0x3f)))\n : (_fromCC(0xe0 | ((cc >>> 12) & 0x0f))\n + _fromCC(0x80 | ((cc >>> 6) & 0x3f))\n + _fromCC(0x80 | (cc & 0x3f)));\n }\n else {\n var cc = 0x10000\n + (c.charCodeAt(0) - 0xD800) * 0x400\n + (c.charCodeAt(1) - 0xDC00);\n return (_fromCC(0xf0 | ((cc >>> 18) & 0x07))\n + _fromCC(0x80 | ((cc >>> 12) & 0x3f))\n + _fromCC(0x80 | ((cc >>> 6) & 0x3f))\n + _fromCC(0x80 | (cc & 0x3f)));\n }\n};\nconst re_utob = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFFF]|[^\\x00-\\x7F]/g;\n/**\n * @deprecated should have been internal use only.\n * @param {string} src UTF-8 string\n * @returns {string} UTF-16 string\n */\nconst utob = (u) => u.replace(re_utob, cb_utob);\n//\nconst _encode = _hasBuffer\n ? (s) => Buffer.from(s, 'utf8').toString('base64')\n : _TE\n ? (s) => _fromUint8Array(_TE.encode(s))\n : (s) => _btoa(utob(s));\n/**\n * converts a UTF-8-encoded string to a Base64 string.\n * @param {boolean} [urlsafe] if `true` make the result URL-safe\n * @returns {string} Base64 string\n */\nconst encode = (src, urlsafe = false) => urlsafe\n ? _mkUriSafe(_encode(src))\n : _encode(src);\n/**\n * converts a UTF-8-encoded string to URL-safe Base64 RFC4648 §5.\n * @returns {string} Base64 string\n */\nconst encodeURI = (src) => encode(src, true);\n// This trick is found broken https://github.com/dankogai/js-base64/issues/130\n// const btou = (src: string) => decodeURIComponent(escape(src));\n// reverting good old fationed regexp\nconst re_btou = /[\\xC0-\\xDF][\\x80-\\xBF]|[\\xE0-\\xEF][\\x80-\\xBF]{2}|[\\xF0-\\xF7][\\x80-\\xBF]{3}/g;\nconst cb_btou = (cccc) => {\n switch (cccc.length) {\n case 4:\n var cp = ((0x07 & cccc.charCodeAt(0)) << 18)\n | ((0x3f & cccc.charCodeAt(1)) << 12)\n | ((0x3f & cccc.charCodeAt(2)) << 6)\n | (0x3f & cccc.charCodeAt(3)), offset = cp - 0x10000;\n return (_fromCC((offset >>> 10) + 0xD800)\n + _fromCC((offset & 0x3FF) + 0xDC00));\n case 3:\n return _fromCC(((0x0f & cccc.charCodeAt(0)) << 12)\n | ((0x3f & cccc.charCodeAt(1)) << 6)\n | (0x3f & cccc.charCodeAt(2)));\n default:\n return _fromCC(((0x1f & cccc.charCodeAt(0)) << 6)\n | (0x3f & cccc.charCodeAt(1)));\n }\n};\n/**\n * @deprecated should have been internal use only.\n * @param {string} src UTF-16 string\n * @returns {string} UTF-8 string\n */\nconst btou = (b) => b.replace(re_btou, cb_btou);\n/**\n * polyfill version of `atob`\n */\nconst atobPolyfill = (asc) => {\n // console.log('polyfilled');\n asc = asc.replace(/\\s+/g, '');\n if (!b64re.test(asc))\n throw new TypeError('malformed base64.');\n asc += '=='.slice(2 - (asc.length & 3));\n let u24, bin = '', r1, r2;\n for (let i = 0; i < asc.length;) {\n u24 = b64tab[asc.charAt(i++)] << 18\n | b64tab[asc.charAt(i++)] << 12\n | (r1 = b64tab[asc.charAt(i++)]) << 6\n | (r2 = b64tab[asc.charAt(i++)]);\n bin += r1 === 64 ? _fromCC(u24 >> 16 & 255)\n : r2 === 64 ? _fromCC(u24 >> 16 & 255, u24 >> 8 & 255)\n : _fromCC(u24 >> 16 & 255, u24 >> 8 & 255, u24 & 255);\n }\n return bin;\n};\n/**\n * does what `window.atob` of web browsers do.\n * @param {String} asc Base64-encoded string\n * @returns {string} binary string\n */\nconst _atob = typeof atob === 'function' ? (asc) => atob(_tidyB64(asc))\n : _hasBuffer ? (asc) => Buffer.from(asc, 'base64').toString('binary')\n : atobPolyfill;\n//\nconst _toUint8Array = _hasBuffer\n ? (a) => _U8Afrom(Buffer.from(a, 'base64'))\n : (a) => _U8Afrom(_atob(a).split('').map(c => c.charCodeAt(0)));\n/**\n * converts a Base64 string to a Uint8Array.\n */\nconst toUint8Array = (a) => _toUint8Array(_unURI(a));\n//\nconst _decode = _hasBuffer\n ? (a) => Buffer.from(a, 'base64').toString('utf8')\n : _TD\n ? (a) => _TD.decode(_toUint8Array(a))\n : (a) => btou(_atob(a));\nconst _unURI = (a) => _tidyB64(a.replace(/[-_]/g, (m0) => m0 == '-' ? '+' : '/'));\n/**\n * converts a Base64 string to a UTF-8 string.\n * @param {String} src Base64 string. Both normal and URL-safe are supported\n * @returns {string} UTF-8 string\n */\nconst decode = (src) => _decode(_unURI(src));\n/**\n * check if a value is a valid Base64 string\n * @param {String} src a value to check\n */\nconst isValid = (src) => {\n if (typeof src !== 'string')\n return false;\n const s = src.replace(/\\s+/g, '').replace(/={0,2}$/, '');\n return !/[^\\s0-9a-zA-Z\\+/]/.test(s) || !/[^\\s0-9a-zA-Z\\-_]/.test(s);\n};\n//\nconst _noEnum = (v) => {\n return {\n value: v, enumerable: false, writable: true, configurable: true\n };\n};\n/**\n * extend String.prototype with relevant methods\n */\nconst extendString = function () {\n const _add = (name, body) => Object.defineProperty(String.prototype, name, _noEnum(body));\n _add('fromBase64', function () { return decode(this); });\n _add('toBase64', function (urlsafe) { return encode(this, urlsafe); });\n _add('toBase64URI', function () { return encode(this, true); });\n _add('toBase64URL', function () { return encode(this, true); });\n _add('toUint8Array', function () { return toUint8Array(this); });\n};\n/**\n * extend Uint8Array.prototype with relevant methods\n */\nconst extendUint8Array = function () {\n const _add = (name, body) => Object.defineProperty(Uint8Array.prototype, name, _noEnum(body));\n _add('toBase64', function (urlsafe) { return fromUint8Array(this, urlsafe); });\n _add('toBase64URI', function () { return fromUint8Array(this, true); });\n _add('toBase64URL', function () { return fromUint8Array(this, true); });\n};\n/**\n * extend Builtin prototypes with relevant methods\n */\nconst extendBuiltins = () => {\n extendString();\n extendUint8Array();\n};\nconst gBase64 = {\n version: version,\n VERSION: VERSION,\n atob: _atob,\n atobPolyfill: atobPolyfill,\n btoa: _btoa,\n btoaPolyfill: btoaPolyfill,\n fromBase64: decode,\n toBase64: encode,\n encode: encode,\n encodeURI: encodeURI,\n encodeURL: encodeURI,\n utob: utob,\n btou: btou,\n decode: decode,\n isValid: isValid,\n fromUint8Array: fromUint8Array,\n toUint8Array: toUint8Array,\n extendString: extendString,\n extendUint8Array: extendUint8Array,\n extendBuiltins: extendBuiltins\n};\n// makecjs:CUT //\nexport { version };\nexport { VERSION };\nexport { _atob as atob };\nexport { atobPolyfill };\nexport { _btoa as btoa };\nexport { btoaPolyfill };\nexport { decode as fromBase64 };\nexport { encode as toBase64 };\nexport { utob };\nexport { encode };\nexport { encodeURI };\nexport { encodeURI as encodeURL };\nexport { btou };\nexport { decode };\nexport { isValid };\nexport { fromUint8Array };\nexport { toUint8Array };\nexport { extendString };\nexport { extendUint8Array };\nexport { extendBuiltins };\n// and finally,\nexport { gBase64 as Base64 };\n","export class MIMETextError extends Error {\n override name = ''\n description = ''\n\n constructor (message: string, description = '') {\n super(description)\n\n this.name = message\n this.description = description\n }\n}\n","import { MIMETextError } from './MIMETextError.js'\n\nexport class Mailbox {\n reSpecCompliantAddr = /(([^<>\\r\\n]+)\\s)?<[^\\r\\n]+>/\n name = ''\n addr = ''\n type: MailboxType = 'To'\n\n constructor (input: MailboxAddrObject | string, config: MailboxConfig = { type: 'To' }) {\n this.type = config.type\n\n this.parse(input)\n }\n\n getAddrDomain (): string {\n if (this.addr.includes('@')) {\n const arr = this.addr.split('@')\n if (arr.length > 1) return arr[1]!\n }\n return ''\n }\n\n dump (): string {\n return this.name.length > 0 ? `\"${this.name}\" <${this.addr}>` : `<${this.addr}>`\n }\n\n parse (input: MailboxAddrObject | string): this {\n if (this.isMailboxAddrObject(input)) {\n this.addr = input.addr\n if (typeof input.name === 'string') this.name = input.name\n if (typeof input.type === 'string') this.type = input.type\n return this\n }\n\n if (this.isMailboxAddrText(input)) {\n const text = input.trim()\n if (text.startsWith('<') && text.endsWith('>')) {\n this.addr = text.slice(1, -1)\n return this\n }\n const arr = text.split(' <') as [string, string]\n arr[0] = /^(\"|')/.test(arr[0]) ? arr[0].slice(1) : arr[0]\n arr[0] = /(\"|')$/.test(arr[0]) ? arr[0].slice(0, -1) : arr[0]\n arr[1] = arr[1].slice(0, -1)\n this.name = arr[0]\n this.addr = arr[1]\n return this\n }\n\n if (typeof input === 'string') {\n this.addr = input\n return this\n }\n\n throw new MIMETextError('MIMETEXT_INVALID_MAILBOX', 'Couldn\\'t recognize the input.')\n }\n\n isMailboxAddrText (v: unknown): boolean {\n return typeof v === 'string' && this.reSpecCompliantAddr.test(v)\n }\n\n isMailboxAddrObject (v: unknown): v is MailboxAddrObject {\n return this.isObject(v) && Object.hasOwn(v, 'addr')\n }\n\n isObject (v: unknown): v is object {\n return (!!v) && (v.constructor === Object)\n }\n}\n\nexport interface MailboxConfig {\n type: MailboxType\n}\nexport interface MailboxAddrObject {\n addr: string\n name?: string\n type?: MailboxType\n}\nexport type MailboxType = 'To' | 'From' | 'Cc' | 'Bcc'\n","import type { EnvironmentContext } from './MIMEMessage'\nimport { MIMETextError } from './MIMETextError.js'\nimport { Mailbox } from './Mailbox.js'\n\n/*\n Headers are based on: https://www.rfc-editor.org/rfc/rfc4021#section-2.1\n (Some are ignored as they can be added later or as a custom header.)\n*/\n\nexport class MIMEMessageHeader {\n envctx: EnvironmentContext\n fields: HeaderField[] = [\n {\n name: 'Date',\n generator: () => ((new Date()).toUTCString()).replace(/GMT|UTC/gi, '+0000')\n },\n {\n name: 'From',\n required: true,\n validate: (v: unknown) => this.validateMailboxSingle(v),\n dump: (v: unknown) => this.dumpMailboxSingle(v)\n },\n {\n name: 'Sender',\n validate: (v: unknown) => this.validateMailboxSingle(v),\n dump: (v: unknown) => this.dumpMailboxSingle(v)\n },\n {\n name: 'Reply-To',\n validate: (v: unknown) => this.validateMailboxSingle(v),\n dump: (v: unknown) => this.dumpMailboxSingle(v)\n },\n {\n name: 'To',\n validate: (v: unknown) => this.validateMailboxMulti(v),\n dump: (v: unknown) => this.dumpMailboxMulti(v)\n },\n {\n name: 'Cc',\n validate: (v: unknown) => this.validateMailboxMulti(v),\n dump: (v: unknown) => this.dumpMailboxMulti(v)\n },\n {\n name: 'Bcc',\n validate: (v: unknown) => this.validateMailboxMulti(v),\n dump: (v: unknown) => this.dumpMailboxMulti(v)\n },\n {\n name: 'Message-ID',\n generator: () => {\n const randomstr = Math.random().toString(36).slice(2)\n const from = (this.fields.filter((obj) => obj.name === 'From')[0]!).value as Mailbox\n const domain = from.getAddrDomain()\n return '<' + randomstr + '@' + domain + '>'\n }\n },\n {\n name: 'Subject',\n required: true,\n dump: (v: unknown) => {\n return typeof v === 'string' ? '=?utf-8?B?' + this.envctx.toBase64(v) + '?=' : ''\n }\n },\n {\n name: 'MIME-Version',\n generator: () => '1.0'\n }\n ]\n\n constructor (envctx: EnvironmentContext) {\n this.envctx = envctx\n }\n\n dump (): string {\n let lines = ''\n\n for (const field of this.fields) {\n if (field.disabled) continue\n const isValueDefinedByUser = field.value !== undefined && field.value !== null\n if (!isValueDefinedByUser && field.required) {\n throw new MIMETextError('MIMETEXT_MISSING_HEADER', `The \"${field.name}\" header is required.`)\n }\n if (!isValueDefinedByUser && typeof field.generator !== 'function') continue\n if (!isValueDefinedByUser && typeof field.generator === 'function') field.value = field.generator()\n const strval = Object.hasOwn(field, 'dump') && typeof field.dump === 'function'\n ? field.dump(field.value)\n : typeof field.value === 'string' ? field.value : ''\n lines += `${field.name}: ${strval}${this.envctx.eol}`\n }\n\n return lines.slice(0, -1 * this.envctx.eol.length)\n }\n\n toObject (): HeadersObject {\n return this.fields.reduce((memo: HeadersObject, item) => {\n memo[item.name] = item.value\n return memo\n }, {})\n }\n\n get (name: string): string | Mailbox | Mailbox[] | undefined {\n const fieldMatcher = (obj: HeaderField): boolean => obj.name.toLowerCase() === name.toLowerCase()\n const ind = this.fields.findIndex(fieldMatcher)\n\n return ind !== -1 ? (this.fields[ind]!).value : undefined\n }\n\n set (name: string, value: string | Mailbox | Mailbox[]): HeaderField {\n const fieldMatcher = (obj: HeaderField): boolean => obj.name.toLowerCase() === name.toLowerCase()\n const isCustomHeader = !this.fields.some(fieldMatcher)\n\n if (!isCustomHeader) {\n const ind = this.fields.findIndex(fieldMatcher)\n const field = this.fields[ind]!\n if (field.validate && !field.validate(value)) {\n throw new MIMETextError('MIMETEXT_INVALID_HEADER_VALUE', `The value for the header \"${name}\" is invalid.`)\n }\n (this.fields[ind]!).value = value\n return this.fields[ind]!\n }\n\n return this.setCustom({\n name: name,\n value: value,\n custom: true,\n dump: (v: unknown) => typeof v === 'string' ? v : ''\n })\n }\n\n setCustom (obj: HeaderField): HeaderField {\n if (this.isHeaderField(obj)) {\n if (typeof obj.value !== 'string') {\n throw new MIMETextError('MIMETEXT_INVALID_HEADER_FIELD', 'Custom header must have a value.')\n }\n this.fields.push(obj)\n return obj\n }\n\n throw new MIMETextError('MIMETEXT_INVALID_HEADER_FIELD', 'Invalid input for custom header. It must be in type of HeaderField.')\n }\n\n validateMailboxSingle (v: unknown): v is Mailbox {\n return v instanceof Mailbox\n }\n\n validateMailboxMulti (v: unknown): boolean {\n return v instanceof Mailbox || this.isArrayOfMailboxes(v)\n }\n\n dumpMailboxMulti (v: unknown): string {\n const dump = (item: Mailbox): string => item.name.length === 0\n ? item.dump()\n : `=?utf-8?B?${this.envctx.toBase64(item.name)}?= <${item.addr}>`\n return this.isArrayOfMailboxes(v) ? v.map(dump).join(`,${this.envctx.eol} `) : v instanceof Mailbox ? dump(v) : ''\n }\n\n dumpMailboxSingle (v: unknown): string {\n const dump = (item: Mailbox): string => item.name.length === 0\n ? item.dump()\n : `=?utf-8?B?${this.envctx.toBase64(item.name)}?= <${item.addr}>`\n return v instanceof Mailbox ? dump(v) : ''\n }\n\n isHeaderField (v: unknown): v is HeaderField {\n const validProps = ['name', 'value', 'dump', 'required', 'disabled', 'generator', 'custom']\n if (this.isObject(v)) {\n const h = v as HeaderField\n if (Object.hasOwn(h, 'name') && typeof h.name === 'string' && h.name.length > 0) {\n if (!Object.keys(h).some((prop) => !validProps.includes(prop))) {\n return true\n }\n }\n }\n return false\n }\n\n isObject (v: unknown): v is object {\n return (!!v) && (v.constructor === Object)\n }\n\n isArrayOfMailboxes (v: unknown): v is Mailbox[] {\n return this.isArray(v) && v.every((item: unknown) => item instanceof Mailbox)\n }\n\n isArray (v: unknown): v is never[] {\n return (!!v) && (v.constructor === Array)\n }\n}\n\nexport class MIMEMessageContentHeader extends MIMEMessageHeader {\n override fields = [\n {\n name: 'Content-ID'\n },\n {\n name: 'Content-Type'\n },\n {\n name: 'Content-Transfer-Encoding'\n },\n {\n name: 'Content-Disposition'\n }\n ]\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor (envctx: EnvironmentContext) {\n super(envctx)\n }\n}\n\nexport type HeadersObject = Record\nexport interface HeaderField {\n name: string\n dump?: (v: string | Mailbox | Mailbox[] | undefined) => string\n value?: string | Mailbox | Mailbox[] | undefined\n validate?: (v: unknown) => boolean\n required?: boolean\n disabled?: boolean\n generator?: () => string\n custom?: boolean\n}\n","import type { EnvironmentContext } from './MIMEMessage'\nimport type { Mailbox } from './Mailbox'\nimport { type HeadersObject, MIMEMessageContentHeader } from './MIMEMessageHeader.js'\n\nexport class MIMEMessageContent {\n envctx: EnvironmentContext\n headers\n data\n\n constructor (envctx: EnvironmentContext, data: string, headers = {}) {\n this.envctx = envctx\n this.headers = new MIMEMessageContentHeader(this.envctx)\n this.data = data\n this.setHeaders(headers)\n }\n\n dump (): string {\n const eol = this.envctx.eol\n return this.headers.dump() + eol + eol + this.data\n }\n\n isAttachment (): boolean {\n const disposition = this.headers.get('Content-Disposition')\n return typeof disposition === 'string' && disposition.includes('attachment')\n }\n\n isInlineAttachment (): boolean {\n const disposition = this.headers.get('Content-Disposition')\n return typeof disposition === 'string' && disposition.includes('inline')\n }\n\n setHeader (name: string, value: string | Mailbox | Mailbox[]): string {\n this.headers.set(name, value)\n return name\n }\n\n getHeader (name: string): string | Mailbox | Mailbox[] | undefined {\n return this.headers.get(name)\n }\n\n setHeaders (obj: Record): string[] {\n return Object.keys(obj).map((prop) => this.setHeader(prop, obj[prop]!))\n }\n\n getHeaders (): HeadersObject {\n return this.headers.toObject()\n }\n}\n","import type { MailboxAddrObject, MailboxConfig } from './Mailbox.js'\n\nimport { MIMETextError } from './MIMETextError.js'\nimport { type HeadersObject, MIMEMessageHeader } from './MIMEMessageHeader.js'\nimport { Mailbox } from './Mailbox.js'\nimport { MIMEMessageContent } from './MIMEMessageContent.js'\n\nexport class MIMEMessage {\n envctx: EnvironmentContext\n headers: MIMEMessageHeader\n boundaries: Boundaries = { mixed: '', alt: '', related: '' }\n validTypes = ['text/html', 'text/plain']\n validContentTransferEncodings = ['7bit', '8bit', 'binary', 'quoted-printable', 'base64']\n messages: MIMEMessageContent[] = []\n\n constructor (envctx: EnvironmentContext) {\n this.envctx = envctx\n this.headers = new MIMEMessageHeader(this.envctx)\n this.messages = []\n\n this.generateBoundaries()\n }\n\n asRaw (): string {\n const eol = this.envctx.eol\n const lines = this.headers.dump()\n\n const plaintext = this.getMessageByType('text/plain')\n const html = this.getMessageByType('text/html')\n const primaryMessage = html ?? (plaintext ?? undefined)\n\n if (primaryMessage === undefined) {\n throw new MIMETextError('MIMETEXT_MISSING_BODY', 'No content added to the message.')\n }\n\n const hasAttachments = this.hasAttachments()\n const hasInlineAttachments = this.hasInlineAttachments()\n\n const structure = hasInlineAttachments && hasAttachments\n ? 'mixed+related'\n : hasAttachments\n ? 'mixed'\n : hasInlineAttachments\n ? 'related'\n : plaintext && html\n ? 'alternative'\n : ''\n\n if (structure === 'mixed+related') {\n const attachments = this.getAttachments()\n .map((a) => '--' + this.boundaries.mixed + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n const inlineAttachments = this.getInlineAttachments()\n .map((a) => '--' + this.boundaries.related + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n return lines + eol +\n 'Content-Type: multipart/mixed; boundary=' + this.boundaries.mixed + eol +\n eol +\n '--' + this.boundaries.mixed + eol +\n 'Content-Type: multipart/related; boundary=' + this.boundaries.related + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.related) + eol +\n eol +\n inlineAttachments +\n '--' + this.boundaries.related + '--' + eol +\n attachments +\n '--' + this.boundaries.mixed + '--'\n } else if (structure === 'mixed') {\n const attachments = this.getAttachments()\n .map((a) => '--' + this.boundaries.mixed + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n return lines + eol +\n 'Content-Type: multipart/mixed; boundary=' + this.boundaries.mixed + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.mixed) + eol +\n (plaintext && html ? '' : eol) +\n attachments +\n '--' + this.boundaries.mixed + '--'\n } else if (structure === 'related') {\n const inlineAttachments = this.getInlineAttachments()\n .map((a) => '--' + this.boundaries.related + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n return lines + eol +\n 'Content-Type: multipart/related; boundary=' + this.boundaries.related + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.related) + eol +\n eol +\n inlineAttachments +\n '--' + this.boundaries.related + '--'\n } else if (structure === 'alternative') {\n return lines + eol +\n 'Content-Type: multipart/alternative; boundary=' + this.boundaries.alt + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.alt) + eol +\n eol +\n '--' + this.boundaries.alt + '--'\n } else {\n return lines + eol + primaryMessage.dump()\n }\n }\n\n asEncoded (): string {\n return this.envctx.toBase64WebSafe(this.asRaw())\n }\n\n dumpTextContent (plaintext: MIMEMessageContent | undefined, html: MIMEMessageContent | undefined, boundary: string): string {\n const eol = this.envctx.eol\n const primaryMessage = html ?? plaintext\n\n let data = ''\n\n if (plaintext && html && !this.hasInlineAttachments() && this.hasAttachments()) {\n data = '--' + boundary + eol +\n 'Content-Type: multipart/alternative; boundary=' + this.boundaries.alt + eol +\n eol +\n '--' + this.boundaries.alt + eol +\n plaintext.dump() + eol +\n eol +\n '--' + this.boundaries.alt + eol +\n html.dump() + eol +\n eol +\n '--' + this.boundaries.alt + '--'\n } else if (plaintext && html && this.hasInlineAttachments()) {\n data = '--' + boundary + eol +\n html.dump()\n } else if (plaintext && html) {\n data = '--' + boundary + eol +\n plaintext.dump() + eol +\n eol +\n '--' + boundary + eol +\n html.dump()\n } else {\n data = '--' + boundary + eol +\n (primaryMessage!).dump()\n }\n\n return data\n }\n\n hasInlineAttachments (): boolean {\n return this.messages.some((msg) => msg.isInlineAttachment())\n }\n\n hasAttachments (): boolean {\n return this.messages.some((msg) => msg.isAttachment())\n }\n\n getAttachments (): MIMEMessageContent[] | [] {\n const matcher = (msg: MIMEMessageContent): boolean => msg.isAttachment()\n return this.messages.some(matcher) ? this.messages.filter(matcher) : []\n }\n\n getInlineAttachments (): MIMEMessageContent[] | [] {\n const matcher = (msg: MIMEMessageContent): boolean => msg.isInlineAttachment()\n return this.messages.some(matcher) ? this.messages.filter(matcher) : []\n }\n\n getMessageByType (type: string): MIMEMessageContent | undefined {\n const matcher = (msg: MIMEMessageContent): boolean => !msg.isAttachment() && !msg.isInlineAttachment() && (msg.getHeader('Content-Type') as string || '').includes(type)\n return this.messages.some(matcher) ? this.messages.filter(matcher)[0] : undefined\n }\n\n addAttachment (opts: AttachmentOptions): MIMEMessageContent {\n if (!this.isObject(opts.headers)) opts.headers = {}\n\n if (typeof opts.filename !== 'string') {\n throw new MIMETextError('MIMETEXT_MISSING_FILENAME', 'The property \"filename\" must exist while adding attachments.')\n }\n\n let type = (opts.headers['Content-Type'] ?? opts.contentType) || 'none'\n if (this.envctx.validateContentType(type) === false) {\n throw new MIMETextError('MIMETEXT_INVALID_MESSAGE_TYPE', `You specified an invalid content type \"${type}\".`)\n }\n\n const encoding = (opts.headers['Content-Transfer-Encoding'] ?? opts.encoding) ?? 'base64'\n if (!this.validContentTransferEncodings.includes(encoding)) {\n type = 'application/octet-stream'\n }\n\n const contentId = opts.headers['Content-ID']\n if (typeof contentId === 'string' && contentId.length > 2 && !contentId.startsWith('<') && !contentId.endsWith('>')) {\n opts.headers['Content-ID'] = '<' + opts.headers['Content-ID'] + '>'\n }\n\n const disposition = opts.inline ? 'inline' : 'attachment'\n\n opts.headers = Object.assign({}, opts.headers, {\n 'Content-Type': `${type}; name=\"${opts.filename}\"`,\n 'Content-Transfer-Encoding': encoding,\n 'Content-Disposition': `${disposition}; filename=\"${opts.filename}\"`\n })\n\n return this._addMessage({ data: opts.data, headers: opts.headers })\n }\n\n addMessage (opts: ContentOptions): MIMEMessageContent {\n if (!this.isObject(opts.headers)) opts.headers = {}\n\n let type = (opts.headers['Content-Type'] ?? opts.contentType) || 'none'\n if (!this.validTypes.includes(type)) {\n throw new MIMETextError('MIMETEXT_INVALID_MESSAGE_TYPE', `Valid content types are ${this.validTypes.join(', ')} but you specified \"${type}\".`)\n }\n\n const encoding = (opts.headers['Content-Transfer-Encoding'] ?? opts.encoding) ?? '7bit'\n if (!this.validContentTransferEncodings.includes(encoding)) {\n type = 'application/octet-stream'\n }\n\n const charset = opts.charset ?? 'UTF-8'\n\n opts.headers = Object.assign({}, opts.headers, {\n 'Content-Type': `${type}; charset=${charset}`,\n 'Content-Transfer-Encoding': encoding\n })\n\n return this._addMessage({ data: opts.data, headers: opts.headers })\n }\n\n private _addMessage (opts: { data: string, headers: ContentHeaders }): MIMEMessageContent {\n const msg = new MIMEMessageContent(this.envctx, opts.data, opts.headers)\n\n this.messages.push(msg)\n\n return msg\n }\n\n setSender (input: MailboxAddrObject | string, config: MailboxConfig = { type: 'From' }): Mailbox {\n const mailbox = new Mailbox(input, config)\n this.setHeader('From', mailbox)\n return mailbox\n }\n\n getSender (): Mailbox | undefined {\n return this.getHeader('From') as Mailbox\n }\n\n setRecipients (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'To' }): Mailbox[] {\n const arr = !this.isArray(input) ? [input] : input\n const recs = arr.map((_input) => new Mailbox(_input, config))\n this.setHeader(config.type, recs)\n return recs\n }\n\n getRecipients (config: MailboxConfig = { type: 'To' }): Mailbox | Mailbox[] | undefined {\n return this.getHeader(config.type) as Mailbox | Mailbox[] | undefined\n }\n\n setRecipient (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'To' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setTo (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'To' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setCc (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'Cc' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setBcc (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'Bcc' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setSubject (value: string): string {\n this.setHeader('subject', value)\n return value\n }\n\n getSubject (): string | undefined {\n return this.getHeader('subject') as string\n }\n\n setHeader (name: string, value: string | Mailbox | Mailbox[]): string {\n this.headers.set(name, value)\n return name\n }\n\n getHeader (name: string): string | Mailbox | Mailbox[] | undefined {\n return this.headers.get(name)\n }\n\n setHeaders (obj: Record): string[] {\n return Object.keys(obj).map((prop) => this.setHeader(prop, obj[prop]!))\n }\n\n getHeaders (): HeadersObject {\n return this.headers.toObject()\n }\n\n toBase64 (v: string): string {\n return this.envctx.toBase64(v)\n }\n\n toBase64WebSafe (v: string): string {\n return this.envctx.toBase64WebSafe(v)\n }\n\n generateBoundaries (): void {\n this.boundaries = {\n mixed: Math.random().toString(36).slice(2),\n alt: Math.random().toString(36).slice(2),\n related: Math.random().toString(36).slice(2)\n }\n }\n\n isArray (v: unknown): v is unknown[] {\n return (!!v) && (v.constructor === Array)\n }\n\n isObject (v: unknown): v is object {\n return (!!v) && (v.constructor === Object)\n }\n}\n\nexport interface EnvironmentContext {\n toBase64: (v: string) => string\n toBase64WebSafe: (v: string) => string\n eol: string\n validateContentType: (v: string) => string | false\n}\n\nexport interface Boundaries {\n mixed: string\n alt: string\n related: string\n}\n\nexport type ContentTransferEncoding = '7bit' | '8bit' | 'binary' | 'quoted-printable' | 'base64'\n\nexport interface ContentHeaders {\n 'Content-Type'?: string\n 'Content-Transfer-Encoding'?: ContentTransferEncoding\n 'Content-Disposition'?: string\n 'Content-ID'?: string\n [index: string]: string | undefined\n}\n\nexport interface ContentOptions {\n data: string\n encoding?: ContentTransferEncoding\n contentType: string\n headers?: ContentHeaders\n charset?: string\n}\n\nexport interface AttachmentOptions extends ContentOptions {\n inline?: boolean\n filename: string\n}\n","import { Base64 } from 'js-base64'\nimport { MIMEMessage } from '../MIMEMessage.js'\n\nconst envctx = {\n toBase64: function toBase64 (data: string) {\n return Base64.encode(data)\n },\n toBase64WebSafe: function toBase64WebSafe (data: string) {\n return Base64.encodeURI(data)\n },\n eol: '\\r\\n',\n validateContentType: (v: string): string | false => {\n return v.length > 0 ? v : false\n }\n}\n\nexport function createMimeMessage (): MIMEMessage {\n return new MIMEMessage(envctx)\n}\n\nexport { MIMEMessage } from '../MIMEMessage.js'\nexport { Mailbox } from '../Mailbox.js'\nexport { MIMETextError } from '../MIMETextError.js'\nexport { MIMEMessageHeader } from '../MIMEMessageHeader.js'\nexport { MIMEMessageContent } from '../MIMEMessageContent.js'\n\nexport type * from '../MIMEMessage.js'\nexport type * from '../Mailbox.js'\nexport type * from '../MIMETextError.js'\nexport type * from '../MIMEMessageHeader.js'\nexport type * from '../MIMEMessageContent.js'\n"]} \ No newline at end of file diff --git a/dist/browser.js b/dist/browser.js deleted file mode 100644 index 244763b..0000000 --- a/dist/browser.js +++ /dev/null @@ -1,3 +0,0 @@ -import {e}from'./chunk-VH3IXZT5.js';export{e as MIMEMessage,d as MIMEMessageContent,c as MIMEMessageHeader,a as MIMETextError,b as Mailbox}from'./chunk-VH3IXZT5.js';import {Base64}from'js-base64';var f={toBase64:function(r){return Base64.encode(r)},toBase64WebSafe:function(r){return Base64.encodeURI(r)},eol:`\r -`,validateContentType:e=>e.length>0?e:!1};function i(){return new e(f)}export{i as createMimeMessage};//# sourceMappingURL=browser.js.map -//# sourceMappingURL=browser.js.map \ No newline at end of file diff --git a/dist/browser.js.map b/dist/browser.js.map deleted file mode 100644 index 4498bf5..0000000 --- a/dist/browser.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../src/entrypoints/browser.ts"],"names":["envctx","data","Base64","v","createMimeMessage","MIMEMessage"],"mappings":"oMAGA,IAAMA,CAAAA,CAAS,CACX,QAAA,CAAU,SAAmBC,CAAAA,CAAc,CACvC,OAAOC,MAAO,CAAA,MAAA,CAAOD,CAAI,CAC7B,CAAA,CACA,eAAiB,CAAA,SAA0BA,CAAc,CAAA,CACrD,OAAOC,MAAAA,CAAO,SAAUD,CAAAA,CAAI,CAChC,CAAA,CACA,GAAK,CAAA,CAAA;AAAA,CAAA,CACL,mBAAsBE,CAAAA,CAAAA,EACXA,CAAE,CAAA,MAAA,CAAS,EAAIA,CAAI,CAAA,CAAA,CAElC,CAEO,CAAA,SAASC,GAAkC,CAC9C,OAAO,IAAIC,CAAAA,CAAYL,CAAM,CACjC","file":"browser.js","sourcesContent":["import { Base64 } from 'js-base64'\nimport { MIMEMessage } from '../MIMEMessage.js'\n\nconst envctx = {\n toBase64: function toBase64 (data: string) {\n return Base64.encode(data)\n },\n toBase64WebSafe: function toBase64WebSafe (data: string) {\n return Base64.encodeURI(data)\n },\n eol: '\\r\\n',\n validateContentType: (v: string): string | false => {\n return v.length > 0 ? v : false\n }\n}\n\nexport function createMimeMessage (): MIMEMessage {\n return new MIMEMessage(envctx)\n}\n\nexport { MIMEMessage } from '../MIMEMessage.js'\nexport { Mailbox } from '../Mailbox.js'\nexport { MIMETextError } from '../MIMETextError.js'\nexport { MIMEMessageHeader } from '../MIMEMessageHeader.js'\nexport { MIMEMessageContent } from '../MIMEMessageContent.js'\n\nexport type * from '../MIMEMessage.js'\nexport type * from '../Mailbox.js'\nexport type * from '../MIMETextError.js'\nexport type * from '../MIMEMessageHeader.js'\nexport type * from '../MIMEMessageContent.js'\n"]} \ No newline at end of file diff --git a/dist/chunk-VH3IXZT5.js b/dist/chunk-VH3IXZT5.js deleted file mode 100644 index df8d276..0000000 --- a/dist/chunk-VH3IXZT5.js +++ /dev/null @@ -1,2 +0,0 @@ -var C=Object.defineProperty;var T=(o,e,t)=>e in o?C(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var s=(o,e,t)=>T(o,typeof e!="symbol"?e+"":e,t);var a=class extends Error{constructor(t,n=""){super(n);s(this,"name","");s(this,"description","");this.name=t,this.description=n;}};var l=class{constructor(e,t={type:"To"}){s(this,"reSpecCompliantAddr",/(([^<>\r\n]+)\s)?<[^\r\n]+>/);s(this,"name","");s(this,"addr","");s(this,"type","To");this.type=t.type,this.parse(e);}getAddrDomain(){if(this.addr.includes("@")){let e=this.addr.split("@");if(e.length>1)return e[1]}return ""}dump(){return this.name.length>0?`"${this.name}" <${this.addr}>`:`<${this.addr}>`}parse(e){if(this.isMailboxAddrObject(e))return this.addr=e.addr,typeof e.name=="string"&&(this.name=e.name),typeof e.type=="string"&&(this.type=e.type),this;if(this.isMailboxAddrText(e)){let t=e.trim();if(t.startsWith("<")&&t.endsWith(">"))return this.addr=t.slice(1,-1),this;let n=t.split(" <");return n[0]=/^("|')/.test(n[0])?n[0].slice(1):n[0],n[0]=/("|')$/.test(n[0])?n[0].slice(0,-1):n[0],n[1]=n[1].slice(0,-1),this.name=n[0],this.addr=n[1],this}if(typeof e=="string")return this.addr=e,this;throw new a("MIMETEXT_INVALID_MAILBOX","Couldn't recognize the input.")}isMailboxAddrText(e){return typeof e=="string"&&this.reSpecCompliantAddr.test(e)}isMailboxAddrObject(e){return this.isObject(e)&&Object.hasOwn(e,"addr")}isObject(e){return !!e&&e.constructor===Object}};var u=class{constructor(e){s(this,"envctx");s(this,"fields",[{name:"Date",generator:()=>new Date().toUTCString().replace(/GMT|UTC/gi,"+0000")},{name:"From",required:!0,validate:e=>this.validateMailboxSingle(e),dump:e=>this.dumpMailboxSingle(e)},{name:"Sender",validate:e=>this.validateMailboxSingle(e),dump:e=>this.dumpMailboxSingle(e)},{name:"Reply-To",validate:e=>this.validateMailboxSingle(e),dump:e=>this.dumpMailboxSingle(e)},{name:"To",validate:e=>this.validateMailboxMulti(e),dump:e=>this.dumpMailboxMulti(e)},{name:"Cc",validate:e=>this.validateMailboxMulti(e),dump:e=>this.dumpMailboxMulti(e)},{name:"Bcc",validate:e=>this.validateMailboxMulti(e),dump:e=>this.dumpMailboxMulti(e)},{name:"Message-ID",generator:()=>{let e=Math.random().toString(36).slice(2),n=this.fields.filter(i=>i.name==="From")[0].value.getAddrDomain();return "<"+e+"@"+n+">"}},{name:"Subject",required:!0,dump:e=>typeof e=="string"?"=?utf-8?B?"+this.envctx.toBase64(e)+"?=":""},{name:"MIME-Version",generator:()=>"1.0"}]);this.envctx=e;}dump(){let e="";for(let t of this.fields){if(t.disabled)continue;let n=t.value!==void 0&&t.value!==null;if(!n&&t.required)throw new a("MIMETEXT_MISSING_HEADER",`The "${t.name}" header is required.`);if(!n&&typeof t.generator!="function")continue;!n&&typeof t.generator=="function"&&(t.value=t.generator());let i=Object.hasOwn(t,"dump")&&typeof t.dump=="function"?t.dump(t.value):typeof t.value=="string"?t.value:"";e+=`${t.name}: ${i}${this.envctx.eol}`;}return e.slice(0,-1*this.envctx.eol.length)}toObject(){return this.fields.reduce((e,t)=>(e[t.name]=t.value,e),{})}get(e){let t=i=>i.name.toLowerCase()===e.toLowerCase(),n=this.fields.findIndex(t);return n!==-1?this.fields[n].value:void 0}set(e,t){let n=r=>r.name.toLowerCase()===e.toLowerCase();if(!!this.fields.some(n)){let r=this.fields.findIndex(n),d=this.fields[r];if(d.validate&&!d.validate(t))throw new a("MIMETEXT_INVALID_HEADER_VALUE",`The value for the header "${e}" is invalid.`);return this.fields[r].value=t,this.fields[r]}return this.setCustom({name:e,value:t,custom:!0,dump:r=>typeof r=="string"?r:""})}setCustom(e){if(this.isHeaderField(e)){if(typeof e.value!="string")throw new a("MIMETEXT_INVALID_HEADER_FIELD","Custom header must have a value.");return this.fields.push(e),e}throw new a("MIMETEXT_INVALID_HEADER_FIELD","Invalid input for custom header. It must be in type of HeaderField.")}validateMailboxSingle(e){return e instanceof l}validateMailboxMulti(e){return e instanceof l||this.isArrayOfMailboxes(e)}dumpMailboxMulti(e){let t=n=>n.name.length===0?n.dump():`=?utf-8?B?${this.envctx.toBase64(n.name)}?= <${n.addr}>`;return this.isArrayOfMailboxes(e)?e.map(t).join(`,${this.envctx.eol} `):e instanceof l?t(e):""}dumpMailboxSingle(e){let t=n=>n.name.length===0?n.dump():`=?utf-8?B?${this.envctx.toBase64(n.name)}?= <${n.addr}>`;return e instanceof l?t(e):""}isHeaderField(e){let t=["name","value","dump","required","disabled","generator","custom"];if(this.isObject(e)){let n=e;if(Object.hasOwn(n,"name")&&typeof n.name=="string"&&n.name.length>0&&!Object.keys(n).some(i=>!t.includes(i)))return !0}return !1}isObject(e){return !!e&&e.constructor===Object}isArrayOfMailboxes(e){return this.isArray(e)&&e.every(t=>t instanceof l)}isArray(e){return !!e&&e.constructor===Array}},M=class extends u{constructor(t){super(t);s(this,"fields",[{name:"Content-ID"},{name:"Content-Type"},{name:"Content-Transfer-Encoding"},{name:"Content-Disposition"}]);}};var x=class{constructor(e,t,n={}){s(this,"envctx");s(this,"headers");s(this,"data");this.envctx=e,this.headers=new M(this.envctx),this.data=t,this.setHeaders(n);}dump(){let e=this.envctx.eol;return this.headers.dump()+e+e+this.data}isAttachment(){let e=this.headers.get("Content-Disposition");return typeof e=="string"&&e.includes("attachment")}isInlineAttachment(){let e=this.headers.get("Content-Disposition");return typeof e=="string"&&e.includes("inline")}setHeader(e,t){return this.headers.set(e,t),e}getHeader(e){return this.headers.get(e)}setHeaders(e){return Object.keys(e).map(t=>this.setHeader(t,e[t]))}getHeaders(){return this.headers.toObject()}};var y=class{constructor(e){s(this,"envctx");s(this,"headers");s(this,"boundaries",{mixed:"",alt:"",related:""});s(this,"validTypes",["text/html","text/plain"]);s(this,"validContentTransferEncodings",["7bit","8bit","binary","quoted-printable","base64"]);s(this,"messages",[]);this.envctx=e,this.headers=new u(this.envctx),this.messages=[],this.generateBoundaries();}asRaw(){let e=this.envctx.eol,t=this.headers.dump(),n=this.getMessageByType("text/plain"),i=this.getMessageByType("text/html"),r=i??n??void 0;if(r===void 0)throw new a("MIMETEXT_MISSING_BODY","No content added to the message.");let d=this.hasAttachments(),f=this.hasInlineAttachments(),m=f&&d?"mixed+related":d?"mixed":f?"related":n&&i?"alternative":"";if(m==="mixed+related"){let c=this.getAttachments().map(p=>"--"+this.boundaries.mixed+e+p.dump()+e+e).join("").slice(0,-1*e.length),h=this.getInlineAttachments().map(p=>"--"+this.boundaries.related+e+p.dump()+e+e).join("").slice(0,-1*e.length);return t+e+"Content-Type: multipart/mixed; boundary="+this.boundaries.mixed+e+e+"--"+this.boundaries.mixed+e+"Content-Type: multipart/related; boundary="+this.boundaries.related+e+e+this.dumpTextContent(n,i,this.boundaries.related)+e+e+h+"--"+this.boundaries.related+"--"+e+c+"--"+this.boundaries.mixed+"--"}else if(m==="mixed"){let c=this.getAttachments().map(h=>"--"+this.boundaries.mixed+e+h.dump()+e+e).join("").slice(0,-1*e.length);return t+e+"Content-Type: multipart/mixed; boundary="+this.boundaries.mixed+e+e+this.dumpTextContent(n,i,this.boundaries.mixed)+e+(n&&i?"":e)+c+"--"+this.boundaries.mixed+"--"}else if(m==="related"){let c=this.getInlineAttachments().map(h=>"--"+this.boundaries.related+e+h.dump()+e+e).join("").slice(0,-1*e.length);return t+e+"Content-Type: multipart/related; boundary="+this.boundaries.related+e+e+this.dumpTextContent(n,i,this.boundaries.related)+e+e+c+"--"+this.boundaries.related+"--"}else return m==="alternative"?t+e+"Content-Type: multipart/alternative; boundary="+this.boundaries.alt+e+e+this.dumpTextContent(n,i,this.boundaries.alt)+e+e+"--"+this.boundaries.alt+"--":t+e+r.dump()}asEncoded(){return this.envctx.toBase64WebSafe(this.asRaw())}dumpTextContent(e,t,n){let i=this.envctx.eol,r=t??e,d="";return e&&t&&!this.hasInlineAttachments()&&this.hasAttachments()?d="--"+n+i+"Content-Type: multipart/alternative; boundary="+this.boundaries.alt+i+i+"--"+this.boundaries.alt+i+e.dump()+i+i+"--"+this.boundaries.alt+i+t.dump()+i+i+"--"+this.boundaries.alt+"--":e&&t&&this.hasInlineAttachments()?d="--"+n+i+t.dump():e&&t?d="--"+n+i+e.dump()+i+i+"--"+n+i+t.dump():d="--"+n+i+r.dump(),d}hasInlineAttachments(){return this.messages.some(e=>e.isInlineAttachment())}hasAttachments(){return this.messages.some(e=>e.isAttachment())}getAttachments(){let e=t=>t.isAttachment();return this.messages.some(e)?this.messages.filter(e):[]}getInlineAttachments(){let e=t=>t.isInlineAttachment();return this.messages.some(e)?this.messages.filter(e):[]}getMessageByType(e){let t=n=>!n.isAttachment()&&!n.isInlineAttachment()&&(n.getHeader("Content-Type")||"").includes(e);return this.messages.some(t)?this.messages.filter(t)[0]:void 0}addAttachment(e){if(this.isObject(e.headers)||(e.headers={}),typeof e.filename!="string")throw new a("MIMETEXT_MISSING_FILENAME",'The property "filename" must exist while adding attachments.');let t=(e.headers["Content-Type"]??e.contentType)||"none";if(this.envctx.validateContentType(t)===!1)throw new a("MIMETEXT_INVALID_MESSAGE_TYPE",`You specified an invalid content type "${t}".`);let n=e.headers["Content-Transfer-Encoding"]??e.encoding??"base64";this.validContentTransferEncodings.includes(n)||(t="application/octet-stream");let i=e.headers["Content-ID"];typeof i=="string"&&i.length>2&&!i.startsWith("<")&&!i.endsWith(">")&&(e.headers["Content-ID"]="<"+e.headers["Content-ID"]+">");let r=e.inline?"inline":"attachment";return e.headers=Object.assign({},e.headers,{"Content-Type":`${t}; name="${e.filename}"`,"Content-Transfer-Encoding":n,"Content-Disposition":`${r}; filename="${e.filename}"`}),this._addMessage({data:e.data,headers:e.headers})}addMessage(e){this.isObject(e.headers)||(e.headers={});let t=(e.headers["Content-Type"]??e.contentType)||"none";if(!this.validTypes.includes(t))throw new a("MIMETEXT_INVALID_MESSAGE_TYPE",`Valid content types are ${this.validTypes.join(", ")} but you specified "${t}".`);let n=e.headers["Content-Transfer-Encoding"]??e.encoding??"7bit";this.validContentTransferEncodings.includes(n)||(t="application/octet-stream");let i=e.charset??"UTF-8";return e.headers=Object.assign({},e.headers,{"Content-Type":`${t}; charset=${i}`,"Content-Transfer-Encoding":n}),this._addMessage({data:e.data,headers:e.headers})}_addMessage(e){let t=new x(this.envctx,e.data,e.headers);return this.messages.push(t),t}setSender(e,t={type:"From"}){let n=new l(e,t);return this.setHeader("From",n),n}getSender(){return this.getHeader("From")}setRecipients(e,t={type:"To"}){let i=(this.isArray(e)?e:[e]).map(r=>new l(r,t));return this.setHeader(t.type,i),i}getRecipients(e={type:"To"}){return this.getHeader(e.type)}setRecipient(e,t={type:"To"}){return this.setRecipients(e,t)}setTo(e,t={type:"To"}){return this.setRecipients(e,t)}setCc(e,t={type:"Cc"}){return this.setRecipients(e,t)}setBcc(e,t={type:"Bcc"}){return this.setRecipients(e,t)}setSubject(e){return this.setHeader("subject",e),e}getSubject(){return this.getHeader("subject")}setHeader(e,t){return this.headers.set(e,t),e}getHeader(e){return this.headers.get(e)}setHeaders(e){return Object.keys(e).map(t=>this.setHeader(t,e[t]))}getHeaders(){return this.headers.toObject()}toBase64(e){return this.envctx.toBase64(e)}toBase64WebSafe(e){return this.envctx.toBase64WebSafe(e)}generateBoundaries(){this.boundaries={mixed:Math.random().toString(36).slice(2),alt:Math.random().toString(36).slice(2),related:Math.random().toString(36).slice(2)};}isArray(e){return !!e&&e.constructor===Array}isObject(e){return !!e&&e.constructor===Object}};export{a,l as b,u as c,x as d,y as e};//# sourceMappingURL=chunk-VH3IXZT5.js.map -//# sourceMappingURL=chunk-VH3IXZT5.js.map \ No newline at end of file diff --git a/dist/chunk-VH3IXZT5.js.map b/dist/chunk-VH3IXZT5.js.map deleted file mode 100644 index afaa21d..0000000 --- a/dist/chunk-VH3IXZT5.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../src/MIMETextError.ts","../src/Mailbox.ts","../src/MIMEMessageHeader.ts","../src/MIMEMessageContent.ts","../src/MIMEMessage.ts"],"names":["MIMETextError","message","description","__publicField","Mailbox","input","config","arr","text","v","MIMEMessageHeader","envctx","randomstr","domain","obj","lines","field","isValueDefinedByUser","strval","memo","item","name","fieldMatcher","ind","value","dump","validProps","h","prop","MIMEMessageContentHeader","MIMEMessageContent","data","headers","eol","disposition","MIMEMessage","plaintext","html","primaryMessage","hasAttachments","hasInlineAttachments","structure","attachments","a","inlineAttachments","boundary","msg","matcher","type","opts","encoding","contentId","charset","mailbox","recs","_input"],"mappings":"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","file":"chunk-VH3IXZT5.js","sourcesContent":["export class MIMETextError extends Error {\n override name = ''\n description = ''\n\n constructor (message: string, description = '') {\n super(description)\n\n this.name = message\n this.description = description\n }\n}\n","import { MIMETextError } from './MIMETextError.js'\n\nexport class Mailbox {\n reSpecCompliantAddr = /(([^<>\\r\\n]+)\\s)?<[^\\r\\n]+>/\n name = ''\n addr = ''\n type: MailboxType = 'To'\n\n constructor (input: MailboxAddrObject | string, config: MailboxConfig = { type: 'To' }) {\n this.type = config.type\n\n this.parse(input)\n }\n\n getAddrDomain (): string {\n if (this.addr.includes('@')) {\n const arr = this.addr.split('@')\n if (arr.length > 1) return arr[1]!\n }\n return ''\n }\n\n dump (): string {\n return this.name.length > 0 ? `\"${this.name}\" <${this.addr}>` : `<${this.addr}>`\n }\n\n parse (input: MailboxAddrObject | string): this {\n if (this.isMailboxAddrObject(input)) {\n this.addr = input.addr\n if (typeof input.name === 'string') this.name = input.name\n if (typeof input.type === 'string') this.type = input.type\n return this\n }\n\n if (this.isMailboxAddrText(input)) {\n const text = input.trim()\n if (text.startsWith('<') && text.endsWith('>')) {\n this.addr = text.slice(1, -1)\n return this\n }\n const arr = text.split(' <') as [string, string]\n arr[0] = /^(\"|')/.test(arr[0]) ? arr[0].slice(1) : arr[0]\n arr[0] = /(\"|')$/.test(arr[0]) ? arr[0].slice(0, -1) : arr[0]\n arr[1] = arr[1].slice(0, -1)\n this.name = arr[0]\n this.addr = arr[1]\n return this\n }\n\n if (typeof input === 'string') {\n this.addr = input\n return this\n }\n\n throw new MIMETextError('MIMETEXT_INVALID_MAILBOX', 'Couldn\\'t recognize the input.')\n }\n\n isMailboxAddrText (v: unknown): boolean {\n return typeof v === 'string' && this.reSpecCompliantAddr.test(v)\n }\n\n isMailboxAddrObject (v: unknown): v is MailboxAddrObject {\n return this.isObject(v) && Object.hasOwn(v, 'addr')\n }\n\n isObject (v: unknown): v is object {\n return (!!v) && (v.constructor === Object)\n }\n}\n\nexport interface MailboxConfig {\n type: MailboxType\n}\nexport interface MailboxAddrObject {\n addr: string\n name?: string\n type?: MailboxType\n}\nexport type MailboxType = 'To' | 'From' | 'Cc' | 'Bcc'\n","import type { EnvironmentContext } from './MIMEMessage'\nimport { MIMETextError } from './MIMETextError.js'\nimport { Mailbox } from './Mailbox.js'\n\n/*\n Headers are based on: https://www.rfc-editor.org/rfc/rfc4021#section-2.1\n (Some are ignored as they can be added later or as a custom header.)\n*/\n\nexport class MIMEMessageHeader {\n envctx: EnvironmentContext\n fields: HeaderField[] = [\n {\n name: 'Date',\n generator: () => ((new Date()).toUTCString()).replace(/GMT|UTC/gi, '+0000')\n },\n {\n name: 'From',\n required: true,\n validate: (v: unknown) => this.validateMailboxSingle(v),\n dump: (v: unknown) => this.dumpMailboxSingle(v)\n },\n {\n name: 'Sender',\n validate: (v: unknown) => this.validateMailboxSingle(v),\n dump: (v: unknown) => this.dumpMailboxSingle(v)\n },\n {\n name: 'Reply-To',\n validate: (v: unknown) => this.validateMailboxSingle(v),\n dump: (v: unknown) => this.dumpMailboxSingle(v)\n },\n {\n name: 'To',\n validate: (v: unknown) => this.validateMailboxMulti(v),\n dump: (v: unknown) => this.dumpMailboxMulti(v)\n },\n {\n name: 'Cc',\n validate: (v: unknown) => this.validateMailboxMulti(v),\n dump: (v: unknown) => this.dumpMailboxMulti(v)\n },\n {\n name: 'Bcc',\n validate: (v: unknown) => this.validateMailboxMulti(v),\n dump: (v: unknown) => this.dumpMailboxMulti(v)\n },\n {\n name: 'Message-ID',\n generator: () => {\n const randomstr = Math.random().toString(36).slice(2)\n const from = (this.fields.filter((obj) => obj.name === 'From')[0]!).value as Mailbox\n const domain = from.getAddrDomain()\n return '<' + randomstr + '@' + domain + '>'\n }\n },\n {\n name: 'Subject',\n required: true,\n dump: (v: unknown) => {\n return typeof v === 'string' ? '=?utf-8?B?' + this.envctx.toBase64(v) + '?=' : ''\n }\n },\n {\n name: 'MIME-Version',\n generator: () => '1.0'\n }\n ]\n\n constructor (envctx: EnvironmentContext) {\n this.envctx = envctx\n }\n\n dump (): string {\n let lines = ''\n\n for (const field of this.fields) {\n if (field.disabled) continue\n const isValueDefinedByUser = field.value !== undefined && field.value !== null\n if (!isValueDefinedByUser && field.required) {\n throw new MIMETextError('MIMETEXT_MISSING_HEADER', `The \"${field.name}\" header is required.`)\n }\n if (!isValueDefinedByUser && typeof field.generator !== 'function') continue\n if (!isValueDefinedByUser && typeof field.generator === 'function') field.value = field.generator()\n const strval = Object.hasOwn(field, 'dump') && typeof field.dump === 'function'\n ? field.dump(field.value)\n : typeof field.value === 'string' ? field.value : ''\n lines += `${field.name}: ${strval}${this.envctx.eol}`\n }\n\n return lines.slice(0, -1 * this.envctx.eol.length)\n }\n\n toObject (): HeadersObject {\n return this.fields.reduce((memo: HeadersObject, item) => {\n memo[item.name] = item.value\n return memo\n }, {})\n }\n\n get (name: string): string | Mailbox | Mailbox[] | undefined {\n const fieldMatcher = (obj: HeaderField): boolean => obj.name.toLowerCase() === name.toLowerCase()\n const ind = this.fields.findIndex(fieldMatcher)\n\n return ind !== -1 ? (this.fields[ind]!).value : undefined\n }\n\n set (name: string, value: string | Mailbox | Mailbox[]): HeaderField {\n const fieldMatcher = (obj: HeaderField): boolean => obj.name.toLowerCase() === name.toLowerCase()\n const isCustomHeader = !this.fields.some(fieldMatcher)\n\n if (!isCustomHeader) {\n const ind = this.fields.findIndex(fieldMatcher)\n const field = this.fields[ind]!\n if (field.validate && !field.validate(value)) {\n throw new MIMETextError('MIMETEXT_INVALID_HEADER_VALUE', `The value for the header \"${name}\" is invalid.`)\n }\n (this.fields[ind]!).value = value\n return this.fields[ind]!\n }\n\n return this.setCustom({\n name: name,\n value: value,\n custom: true,\n dump: (v: unknown) => typeof v === 'string' ? v : ''\n })\n }\n\n setCustom (obj: HeaderField): HeaderField {\n if (this.isHeaderField(obj)) {\n if (typeof obj.value !== 'string') {\n throw new MIMETextError('MIMETEXT_INVALID_HEADER_FIELD', 'Custom header must have a value.')\n }\n this.fields.push(obj)\n return obj\n }\n\n throw new MIMETextError('MIMETEXT_INVALID_HEADER_FIELD', 'Invalid input for custom header. It must be in type of HeaderField.')\n }\n\n validateMailboxSingle (v: unknown): v is Mailbox {\n return v instanceof Mailbox\n }\n\n validateMailboxMulti (v: unknown): boolean {\n return v instanceof Mailbox || this.isArrayOfMailboxes(v)\n }\n\n dumpMailboxMulti (v: unknown): string {\n const dump = (item: Mailbox): string => item.name.length === 0\n ? item.dump()\n : `=?utf-8?B?${this.envctx.toBase64(item.name)}?= <${item.addr}>`\n return this.isArrayOfMailboxes(v) ? v.map(dump).join(`,${this.envctx.eol} `) : v instanceof Mailbox ? dump(v) : ''\n }\n\n dumpMailboxSingle (v: unknown): string {\n const dump = (item: Mailbox): string => item.name.length === 0\n ? item.dump()\n : `=?utf-8?B?${this.envctx.toBase64(item.name)}?= <${item.addr}>`\n return v instanceof Mailbox ? dump(v) : ''\n }\n\n isHeaderField (v: unknown): v is HeaderField {\n const validProps = ['name', 'value', 'dump', 'required', 'disabled', 'generator', 'custom']\n if (this.isObject(v)) {\n const h = v as HeaderField\n if (Object.hasOwn(h, 'name') && typeof h.name === 'string' && h.name.length > 0) {\n if (!Object.keys(h).some((prop) => !validProps.includes(prop))) {\n return true\n }\n }\n }\n return false\n }\n\n isObject (v: unknown): v is object {\n return (!!v) && (v.constructor === Object)\n }\n\n isArrayOfMailboxes (v: unknown): v is Mailbox[] {\n return this.isArray(v) && v.every((item: unknown) => item instanceof Mailbox)\n }\n\n isArray (v: unknown): v is never[] {\n return (!!v) && (v.constructor === Array)\n }\n}\n\nexport class MIMEMessageContentHeader extends MIMEMessageHeader {\n override fields = [\n {\n name: 'Content-ID'\n },\n {\n name: 'Content-Type'\n },\n {\n name: 'Content-Transfer-Encoding'\n },\n {\n name: 'Content-Disposition'\n }\n ]\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor (envctx: EnvironmentContext) {\n super(envctx)\n }\n}\n\nexport type HeadersObject = Record\nexport interface HeaderField {\n name: string\n dump?: (v: string | Mailbox | Mailbox[] | undefined) => string\n value?: string | Mailbox | Mailbox[] | undefined\n validate?: (v: unknown) => boolean\n required?: boolean\n disabled?: boolean\n generator?: () => string\n custom?: boolean\n}\n","import type { EnvironmentContext } from './MIMEMessage'\nimport type { Mailbox } from './Mailbox'\nimport { type HeadersObject, MIMEMessageContentHeader } from './MIMEMessageHeader.js'\n\nexport class MIMEMessageContent {\n envctx: EnvironmentContext\n headers\n data\n\n constructor (envctx: EnvironmentContext, data: string, headers = {}) {\n this.envctx = envctx\n this.headers = new MIMEMessageContentHeader(this.envctx)\n this.data = data\n this.setHeaders(headers)\n }\n\n dump (): string {\n const eol = this.envctx.eol\n return this.headers.dump() + eol + eol + this.data\n }\n\n isAttachment (): boolean {\n const disposition = this.headers.get('Content-Disposition')\n return typeof disposition === 'string' && disposition.includes('attachment')\n }\n\n isInlineAttachment (): boolean {\n const disposition = this.headers.get('Content-Disposition')\n return typeof disposition === 'string' && disposition.includes('inline')\n }\n\n setHeader (name: string, value: string | Mailbox | Mailbox[]): string {\n this.headers.set(name, value)\n return name\n }\n\n getHeader (name: string): string | Mailbox | Mailbox[] | undefined {\n return this.headers.get(name)\n }\n\n setHeaders (obj: Record): string[] {\n return Object.keys(obj).map((prop) => this.setHeader(prop, obj[prop]!))\n }\n\n getHeaders (): HeadersObject {\n return this.headers.toObject()\n }\n}\n","import type { MailboxAddrObject, MailboxConfig } from './Mailbox.js'\n\nimport { MIMETextError } from './MIMETextError.js'\nimport { type HeadersObject, MIMEMessageHeader } from './MIMEMessageHeader.js'\nimport { Mailbox } from './Mailbox.js'\nimport { MIMEMessageContent } from './MIMEMessageContent.js'\n\nexport class MIMEMessage {\n envctx: EnvironmentContext\n headers: MIMEMessageHeader\n boundaries: Boundaries = { mixed: '', alt: '', related: '' }\n validTypes = ['text/html', 'text/plain']\n validContentTransferEncodings = ['7bit', '8bit', 'binary', 'quoted-printable', 'base64']\n messages: MIMEMessageContent[] = []\n\n constructor (envctx: EnvironmentContext) {\n this.envctx = envctx\n this.headers = new MIMEMessageHeader(this.envctx)\n this.messages = []\n\n this.generateBoundaries()\n }\n\n asRaw (): string {\n const eol = this.envctx.eol\n const lines = this.headers.dump()\n\n const plaintext = this.getMessageByType('text/plain')\n const html = this.getMessageByType('text/html')\n const primaryMessage = html ?? (plaintext ?? undefined)\n\n if (primaryMessage === undefined) {\n throw new MIMETextError('MIMETEXT_MISSING_BODY', 'No content added to the message.')\n }\n\n const hasAttachments = this.hasAttachments()\n const hasInlineAttachments = this.hasInlineAttachments()\n\n const structure = hasInlineAttachments && hasAttachments\n ? 'mixed+related'\n : hasAttachments\n ? 'mixed'\n : hasInlineAttachments\n ? 'related'\n : plaintext && html\n ? 'alternative'\n : ''\n\n if (structure === 'mixed+related') {\n const attachments = this.getAttachments()\n .map((a) => '--' + this.boundaries.mixed + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n const inlineAttachments = this.getInlineAttachments()\n .map((a) => '--' + this.boundaries.related + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n return lines + eol +\n 'Content-Type: multipart/mixed; boundary=' + this.boundaries.mixed + eol +\n eol +\n '--' + this.boundaries.mixed + eol +\n 'Content-Type: multipart/related; boundary=' + this.boundaries.related + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.related) + eol +\n eol +\n inlineAttachments +\n '--' + this.boundaries.related + '--' + eol +\n attachments +\n '--' + this.boundaries.mixed + '--'\n } else if (structure === 'mixed') {\n const attachments = this.getAttachments()\n .map((a) => '--' + this.boundaries.mixed + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n return lines + eol +\n 'Content-Type: multipart/mixed; boundary=' + this.boundaries.mixed + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.mixed) + eol +\n (plaintext && html ? '' : eol) +\n attachments +\n '--' + this.boundaries.mixed + '--'\n } else if (structure === 'related') {\n const inlineAttachments = this.getInlineAttachments()\n .map((a) => '--' + this.boundaries.related + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n return lines + eol +\n 'Content-Type: multipart/related; boundary=' + this.boundaries.related + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.related) + eol +\n eol +\n inlineAttachments +\n '--' + this.boundaries.related + '--'\n } else if (structure === 'alternative') {\n return lines + eol +\n 'Content-Type: multipart/alternative; boundary=' + this.boundaries.alt + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.alt) + eol +\n eol +\n '--' + this.boundaries.alt + '--'\n } else {\n return lines + eol + primaryMessage.dump()\n }\n }\n\n asEncoded (): string {\n return this.envctx.toBase64WebSafe(this.asRaw())\n }\n\n dumpTextContent (plaintext: MIMEMessageContent | undefined, html: MIMEMessageContent | undefined, boundary: string): string {\n const eol = this.envctx.eol\n const primaryMessage = html ?? plaintext\n\n let data = ''\n\n if (plaintext && html && !this.hasInlineAttachments() && this.hasAttachments()) {\n data = '--' + boundary + eol +\n 'Content-Type: multipart/alternative; boundary=' + this.boundaries.alt + eol +\n eol +\n '--' + this.boundaries.alt + eol +\n plaintext.dump() + eol +\n eol +\n '--' + this.boundaries.alt + eol +\n html.dump() + eol +\n eol +\n '--' + this.boundaries.alt + '--'\n } else if (plaintext && html && this.hasInlineAttachments()) {\n data = '--' + boundary + eol +\n html.dump()\n } else if (plaintext && html) {\n data = '--' + boundary + eol +\n plaintext.dump() + eol +\n eol +\n '--' + boundary + eol +\n html.dump()\n } else {\n data = '--' + boundary + eol +\n (primaryMessage!).dump()\n }\n\n return data\n }\n\n hasInlineAttachments (): boolean {\n return this.messages.some((msg) => msg.isInlineAttachment())\n }\n\n hasAttachments (): boolean {\n return this.messages.some((msg) => msg.isAttachment())\n }\n\n getAttachments (): MIMEMessageContent[] | [] {\n const matcher = (msg: MIMEMessageContent): boolean => msg.isAttachment()\n return this.messages.some(matcher) ? this.messages.filter(matcher) : []\n }\n\n getInlineAttachments (): MIMEMessageContent[] | [] {\n const matcher = (msg: MIMEMessageContent): boolean => msg.isInlineAttachment()\n return this.messages.some(matcher) ? this.messages.filter(matcher) : []\n }\n\n getMessageByType (type: string): MIMEMessageContent | undefined {\n const matcher = (msg: MIMEMessageContent): boolean => !msg.isAttachment() && !msg.isInlineAttachment() && (msg.getHeader('Content-Type') as string || '').includes(type)\n return this.messages.some(matcher) ? this.messages.filter(matcher)[0] : undefined\n }\n\n addAttachment (opts: AttachmentOptions): MIMEMessageContent {\n if (!this.isObject(opts.headers)) opts.headers = {}\n\n if (typeof opts.filename !== 'string') {\n throw new MIMETextError('MIMETEXT_MISSING_FILENAME', 'The property \"filename\" must exist while adding attachments.')\n }\n\n let type = (opts.headers['Content-Type'] ?? opts.contentType) || 'none'\n if (this.envctx.validateContentType(type) === false) {\n throw new MIMETextError('MIMETEXT_INVALID_MESSAGE_TYPE', `You specified an invalid content type \"${type}\".`)\n }\n\n const encoding = (opts.headers['Content-Transfer-Encoding'] ?? opts.encoding) ?? 'base64'\n if (!this.validContentTransferEncodings.includes(encoding)) {\n type = 'application/octet-stream'\n }\n\n const contentId = opts.headers['Content-ID']\n if (typeof contentId === 'string' && contentId.length > 2 && !contentId.startsWith('<') && !contentId.endsWith('>')) {\n opts.headers['Content-ID'] = '<' + opts.headers['Content-ID'] + '>'\n }\n\n const disposition = opts.inline ? 'inline' : 'attachment'\n\n opts.headers = Object.assign({}, opts.headers, {\n 'Content-Type': `${type}; name=\"${opts.filename}\"`,\n 'Content-Transfer-Encoding': encoding,\n 'Content-Disposition': `${disposition}; filename=\"${opts.filename}\"`\n })\n\n return this._addMessage({ data: opts.data, headers: opts.headers })\n }\n\n addMessage (opts: ContentOptions): MIMEMessageContent {\n if (!this.isObject(opts.headers)) opts.headers = {}\n\n let type = (opts.headers['Content-Type'] ?? opts.contentType) || 'none'\n if (!this.validTypes.includes(type)) {\n throw new MIMETextError('MIMETEXT_INVALID_MESSAGE_TYPE', `Valid content types are ${this.validTypes.join(', ')} but you specified \"${type}\".`)\n }\n\n const encoding = (opts.headers['Content-Transfer-Encoding'] ?? opts.encoding) ?? '7bit'\n if (!this.validContentTransferEncodings.includes(encoding)) {\n type = 'application/octet-stream'\n }\n\n const charset = opts.charset ?? 'UTF-8'\n\n opts.headers = Object.assign({}, opts.headers, {\n 'Content-Type': `${type}; charset=${charset}`,\n 'Content-Transfer-Encoding': encoding\n })\n\n return this._addMessage({ data: opts.data, headers: opts.headers })\n }\n\n private _addMessage (opts: { data: string, headers: ContentHeaders }): MIMEMessageContent {\n const msg = new MIMEMessageContent(this.envctx, opts.data, opts.headers)\n\n this.messages.push(msg)\n\n return msg\n }\n\n setSender (input: MailboxAddrObject | string, config: MailboxConfig = { type: 'From' }): Mailbox {\n const mailbox = new Mailbox(input, config)\n this.setHeader('From', mailbox)\n return mailbox\n }\n\n getSender (): Mailbox | undefined {\n return this.getHeader('From') as Mailbox\n }\n\n setRecipients (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'To' }): Mailbox[] {\n const arr = !this.isArray(input) ? [input] : input\n const recs = arr.map((_input) => new Mailbox(_input, config))\n this.setHeader(config.type, recs)\n return recs\n }\n\n getRecipients (config: MailboxConfig = { type: 'To' }): Mailbox | Mailbox[] | undefined {\n return this.getHeader(config.type) as Mailbox | Mailbox[] | undefined\n }\n\n setRecipient (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'To' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setTo (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'To' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setCc (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'Cc' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setBcc (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'Bcc' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setSubject (value: string): string {\n this.setHeader('subject', value)\n return value\n }\n\n getSubject (): string | undefined {\n return this.getHeader('subject') as string\n }\n\n setHeader (name: string, value: string | Mailbox | Mailbox[]): string {\n this.headers.set(name, value)\n return name\n }\n\n getHeader (name: string): string | Mailbox | Mailbox[] | undefined {\n return this.headers.get(name)\n }\n\n setHeaders (obj: Record): string[] {\n return Object.keys(obj).map((prop) => this.setHeader(prop, obj[prop]!))\n }\n\n getHeaders (): HeadersObject {\n return this.headers.toObject()\n }\n\n toBase64 (v: string): string {\n return this.envctx.toBase64(v)\n }\n\n toBase64WebSafe (v: string): string {\n return this.envctx.toBase64WebSafe(v)\n }\n\n generateBoundaries (): void {\n this.boundaries = {\n mixed: Math.random().toString(36).slice(2),\n alt: Math.random().toString(36).slice(2),\n related: Math.random().toString(36).slice(2)\n }\n }\n\n isArray (v: unknown): v is unknown[] {\n return (!!v) && (v.constructor === Array)\n }\n\n isObject (v: unknown): v is object {\n return (!!v) && (v.constructor === Object)\n }\n}\n\nexport interface EnvironmentContext {\n toBase64: (v: string) => string\n toBase64WebSafe: (v: string) => string\n eol: string\n validateContentType: (v: string) => string | false\n}\n\nexport interface Boundaries {\n mixed: string\n alt: string\n related: string\n}\n\nexport type ContentTransferEncoding = '7bit' | '8bit' | 'binary' | 'quoted-printable' | 'base64'\n\nexport interface ContentHeaders {\n 'Content-Type'?: string\n 'Content-Transfer-Encoding'?: ContentTransferEncoding\n 'Content-Disposition'?: string\n 'Content-ID'?: string\n [index: string]: string | undefined\n}\n\nexport interface ContentOptions {\n data: string\n encoding?: ContentTransferEncoding\n contentType: string\n headers?: ContentHeaders\n charset?: string\n}\n\nexport interface AttachmentOptions extends ContentOptions {\n inline?: boolean\n filename: string\n}\n"]} \ No newline at end of file diff --git a/dist/entrypoints/browser.d.ts b/dist/entrypoints/browser.d.ts new file mode 100644 index 0000000..1b8087b --- /dev/null +++ b/dist/entrypoints/browser.d.ts @@ -0,0 +1,12 @@ +import { MIMEMessage } from '../MIMEMessage.js'; +export declare function createMimeMessage(): MIMEMessage; +export { MIMEMessage } from '../MIMEMessage.js'; +export { Mailbox } from '../Mailbox.js'; +export { MIMETextError } from '../MIMETextError.js'; +export { MIMEMessageHeader } from '../MIMEMessageHeader.js'; +export { MIMEMessageContent } from '../MIMEMessageContent.js'; +export type * from '../MIMEMessage.js'; +export type * from '../Mailbox.js'; +export type * from '../MIMETextError.js'; +export type * from '../MIMEMessageHeader.js'; +export type * from '../MIMEMessageContent.js'; diff --git a/dist/entrypoints/gas.d.ts b/dist/entrypoints/gas.d.ts new file mode 100644 index 0000000..1b8087b --- /dev/null +++ b/dist/entrypoints/gas.d.ts @@ -0,0 +1,12 @@ +import { MIMEMessage } from '../MIMEMessage.js'; +export declare function createMimeMessage(): MIMEMessage; +export { MIMEMessage } from '../MIMEMessage.js'; +export { Mailbox } from '../Mailbox.js'; +export { MIMETextError } from '../MIMETextError.js'; +export { MIMEMessageHeader } from '../MIMEMessageHeader.js'; +export { MIMEMessageContent } from '../MIMEMessageContent.js'; +export type * from '../MIMEMessage.js'; +export type * from '../Mailbox.js'; +export type * from '../MIMETextError.js'; +export type * from '../MIMEMessageHeader.js'; +export type * from '../MIMEMessageContent.js'; diff --git a/dist/entrypoints/node.d.ts b/dist/entrypoints/node.d.ts new file mode 100644 index 0000000..1b8087b --- /dev/null +++ b/dist/entrypoints/node.d.ts @@ -0,0 +1,12 @@ +import { MIMEMessage } from '../MIMEMessage.js'; +export declare function createMimeMessage(): MIMEMessage; +export { MIMEMessage } from '../MIMEMessage.js'; +export { Mailbox } from '../Mailbox.js'; +export { MIMETextError } from '../MIMETextError.js'; +export { MIMEMessageHeader } from '../MIMEMessageHeader.js'; +export { MIMEMessageContent } from '../MIMEMessageContent.js'; +export type * from '../MIMEMessage.js'; +export type * from '../Mailbox.js'; +export type * from '../MIMETextError.js'; +export type * from '../MIMEMessageHeader.js'; +export type * from '../MIMEMessageContent.js'; diff --git a/dist/gas.cjs b/dist/gas.cjs deleted file mode 100644 index 381d501..0000000 --- a/dist/gas.cjs +++ /dev/null @@ -1,3 +0,0 @@ -'use strict';var y=Object.defineProperty;var C=(a,e,t)=>e in a?y(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var s=(a,e,t)=>C(a,typeof e!="symbol"?e+"":e,t);var o=class extends Error{constructor(t,n=""){super(n);s(this,"name","");s(this,"description","");this.name=t,this.description=n;}};var d=class{constructor(e,t={type:"To"}){s(this,"reSpecCompliantAddr",/(([^<>\r\n]+)\s)?<[^\r\n]+>/);s(this,"name","");s(this,"addr","");s(this,"type","To");this.type=t.type,this.parse(e);}getAddrDomain(){if(this.addr.includes("@")){let e=this.addr.split("@");if(e.length>1)return e[1]}return ""}dump(){return this.name.length>0?`"${this.name}" <${this.addr}>`:`<${this.addr}>`}parse(e){if(this.isMailboxAddrObject(e))return this.addr=e.addr,typeof e.name=="string"&&(this.name=e.name),typeof e.type=="string"&&(this.type=e.type),this;if(this.isMailboxAddrText(e)){let t=e.trim();if(t.startsWith("<")&&t.endsWith(">"))return this.addr=t.slice(1,-1),this;let n=t.split(" <");return n[0]=/^("|')/.test(n[0])?n[0].slice(1):n[0],n[0]=/("|')$/.test(n[0])?n[0].slice(0,-1):n[0],n[1]=n[1].slice(0,-1),this.name=n[0],this.addr=n[1],this}if(typeof e=="string")return this.addr=e,this;throw new o("MIMETEXT_INVALID_MAILBOX","Couldn't recognize the input.")}isMailboxAddrText(e){return typeof e=="string"&&this.reSpecCompliantAddr.test(e)}isMailboxAddrObject(e){return this.isObject(e)&&Object.hasOwn(e,"addr")}isObject(e){return !!e&&e.constructor===Object}};var c=class{constructor(e){s(this,"envctx");s(this,"fields",[{name:"Date",generator:()=>new Date().toUTCString().replace(/GMT|UTC/gi,"+0000")},{name:"From",required:!0,validate:e=>this.validateMailboxSingle(e),dump:e=>this.dumpMailboxSingle(e)},{name:"Sender",validate:e=>this.validateMailboxSingle(e),dump:e=>this.dumpMailboxSingle(e)},{name:"Reply-To",validate:e=>this.validateMailboxSingle(e),dump:e=>this.dumpMailboxSingle(e)},{name:"To",validate:e=>this.validateMailboxMulti(e),dump:e=>this.dumpMailboxMulti(e)},{name:"Cc",validate:e=>this.validateMailboxMulti(e),dump:e=>this.dumpMailboxMulti(e)},{name:"Bcc",validate:e=>this.validateMailboxMulti(e),dump:e=>this.dumpMailboxMulti(e)},{name:"Message-ID",generator:()=>{let e=Math.random().toString(36).slice(2),n=this.fields.filter(i=>i.name==="From")[0].value.getAddrDomain();return "<"+e+"@"+n+">"}},{name:"Subject",required:!0,dump:e=>typeof e=="string"?"=?utf-8?B?"+this.envctx.toBase64(e)+"?=":""},{name:"MIME-Version",generator:()=>"1.0"}]);this.envctx=e;}dump(){let e="";for(let t of this.fields){if(t.disabled)continue;let n=t.value!==void 0&&t.value!==null;if(!n&&t.required)throw new o("MIMETEXT_MISSING_HEADER",`The "${t.name}" header is required.`);if(!n&&typeof t.generator!="function")continue;!n&&typeof t.generator=="function"&&(t.value=t.generator());let i=Object.hasOwn(t,"dump")&&typeof t.dump=="function"?t.dump(t.value):typeof t.value=="string"?t.value:"";e+=`${t.name}: ${i}${this.envctx.eol}`;}return e.slice(0,-1*this.envctx.eol.length)}toObject(){return this.fields.reduce((e,t)=>(e[t.name]=t.value,e),{})}get(e){let t=i=>i.name.toLowerCase()===e.toLowerCase(),n=this.fields.findIndex(t);return n!==-1?this.fields[n].value:void 0}set(e,t){let n=r=>r.name.toLowerCase()===e.toLowerCase();if(!!this.fields.some(n)){let r=this.fields.findIndex(n),l=this.fields[r];if(l.validate&&!l.validate(t))throw new o("MIMETEXT_INVALID_HEADER_VALUE",`The value for the header "${e}" is invalid.`);return this.fields[r].value=t,this.fields[r]}return this.setCustom({name:e,value:t,custom:!0,dump:r=>typeof r=="string"?r:""})}setCustom(e){if(this.isHeaderField(e)){if(typeof e.value!="string")throw new o("MIMETEXT_INVALID_HEADER_FIELD","Custom header must have a value.");return this.fields.push(e),e}throw new o("MIMETEXT_INVALID_HEADER_FIELD","Invalid input for custom header. It must be in type of HeaderField.")}validateMailboxSingle(e){return e instanceof d}validateMailboxMulti(e){return e instanceof d||this.isArrayOfMailboxes(e)}dumpMailboxMulti(e){let t=n=>n.name.length===0?n.dump():`=?utf-8?B?${this.envctx.toBase64(n.name)}?= <${n.addr}>`;return this.isArrayOfMailboxes(e)?e.map(t).join(`,${this.envctx.eol} `):e instanceof d?t(e):""}dumpMailboxSingle(e){let t=n=>n.name.length===0?n.dump():`=?utf-8?B?${this.envctx.toBase64(n.name)}?= <${n.addr}>`;return e instanceof d?t(e):""}isHeaderField(e){let t=["name","value","dump","required","disabled","generator","custom"];if(this.isObject(e)){let n=e;if(Object.hasOwn(n,"name")&&typeof n.name=="string"&&n.name.length>0&&!Object.keys(n).some(i=>!t.includes(i)))return !0}return !1}isObject(e){return !!e&&e.constructor===Object}isArrayOfMailboxes(e){return this.isArray(e)&&e.every(t=>t instanceof d)}isArray(e){return !!e&&e.constructor===Array}},x=class extends c{constructor(t){super(t);s(this,"fields",[{name:"Content-ID"},{name:"Content-Type"},{name:"Content-Transfer-Encoding"},{name:"Content-Disposition"}]);}};var g=class{constructor(e,t,n={}){s(this,"envctx");s(this,"headers");s(this,"data");this.envctx=e,this.headers=new x(this.envctx),this.data=t,this.setHeaders(n);}dump(){let e=this.envctx.eol;return this.headers.dump()+e+e+this.data}isAttachment(){let e=this.headers.get("Content-Disposition");return typeof e=="string"&&e.includes("attachment")}isInlineAttachment(){let e=this.headers.get("Content-Disposition");return typeof e=="string"&&e.includes("inline")}setHeader(e,t){return this.headers.set(e,t),e}getHeader(e){return this.headers.get(e)}setHeaders(e){return Object.keys(e).map(t=>this.setHeader(t,e[t]))}getHeaders(){return this.headers.toObject()}};var M=class{constructor(e){s(this,"envctx");s(this,"headers");s(this,"boundaries",{mixed:"",alt:"",related:""});s(this,"validTypes",["text/html","text/plain"]);s(this,"validContentTransferEncodings",["7bit","8bit","binary","quoted-printable","base64"]);s(this,"messages",[]);this.envctx=e,this.headers=new c(this.envctx),this.messages=[],this.generateBoundaries();}asRaw(){let e=this.envctx.eol,t=this.headers.dump(),n=this.getMessageByType("text/plain"),i=this.getMessageByType("text/html"),r=i??n??void 0;if(r===void 0)throw new o("MIMETEXT_MISSING_BODY","No content added to the message.");let l=this.hasAttachments(),p=this.hasInlineAttachments(),b=p&&l?"mixed+related":l?"mixed":p?"related":n&&i?"alternative":"";if(b==="mixed+related"){let h=this.getAttachments().map(f=>"--"+this.boundaries.mixed+e+f.dump()+e+e).join("").slice(0,-1*e.length),u=this.getInlineAttachments().map(f=>"--"+this.boundaries.related+e+f.dump()+e+e).join("").slice(0,-1*e.length);return t+e+"Content-Type: multipart/mixed; boundary="+this.boundaries.mixed+e+e+"--"+this.boundaries.mixed+e+"Content-Type: multipart/related; boundary="+this.boundaries.related+e+e+this.dumpTextContent(n,i,this.boundaries.related)+e+e+u+"--"+this.boundaries.related+"--"+e+h+"--"+this.boundaries.mixed+"--"}else if(b==="mixed"){let h=this.getAttachments().map(u=>"--"+this.boundaries.mixed+e+u.dump()+e+e).join("").slice(0,-1*e.length);return t+e+"Content-Type: multipart/mixed; boundary="+this.boundaries.mixed+e+e+this.dumpTextContent(n,i,this.boundaries.mixed)+e+(n&&i?"":e)+h+"--"+this.boundaries.mixed+"--"}else if(b==="related"){let h=this.getInlineAttachments().map(u=>"--"+this.boundaries.related+e+u.dump()+e+e).join("").slice(0,-1*e.length);return t+e+"Content-Type: multipart/related; boundary="+this.boundaries.related+e+e+this.dumpTextContent(n,i,this.boundaries.related)+e+e+h+"--"+this.boundaries.related+"--"}else return b==="alternative"?t+e+"Content-Type: multipart/alternative; boundary="+this.boundaries.alt+e+e+this.dumpTextContent(n,i,this.boundaries.alt)+e+e+"--"+this.boundaries.alt+"--":t+e+r.dump()}asEncoded(){return this.envctx.toBase64WebSafe(this.asRaw())}dumpTextContent(e,t,n){let i=this.envctx.eol,r=t??e,l="";return e&&t&&!this.hasInlineAttachments()&&this.hasAttachments()?l="--"+n+i+"Content-Type: multipart/alternative; boundary="+this.boundaries.alt+i+i+"--"+this.boundaries.alt+i+e.dump()+i+i+"--"+this.boundaries.alt+i+t.dump()+i+i+"--"+this.boundaries.alt+"--":e&&t&&this.hasInlineAttachments()?l="--"+n+i+t.dump():e&&t?l="--"+n+i+e.dump()+i+i+"--"+n+i+t.dump():l="--"+n+i+r.dump(),l}hasInlineAttachments(){return this.messages.some(e=>e.isInlineAttachment())}hasAttachments(){return this.messages.some(e=>e.isAttachment())}getAttachments(){let e=t=>t.isAttachment();return this.messages.some(e)?this.messages.filter(e):[]}getInlineAttachments(){let e=t=>t.isInlineAttachment();return this.messages.some(e)?this.messages.filter(e):[]}getMessageByType(e){let t=n=>!n.isAttachment()&&!n.isInlineAttachment()&&(n.getHeader("Content-Type")||"").includes(e);return this.messages.some(t)?this.messages.filter(t)[0]:void 0}addAttachment(e){if(this.isObject(e.headers)||(e.headers={}),typeof e.filename!="string")throw new o("MIMETEXT_MISSING_FILENAME",'The property "filename" must exist while adding attachments.');let t=(e.headers["Content-Type"]??e.contentType)||"none";if(this.envctx.validateContentType(t)===!1)throw new o("MIMETEXT_INVALID_MESSAGE_TYPE",`You specified an invalid content type "${t}".`);let n=e.headers["Content-Transfer-Encoding"]??e.encoding??"base64";this.validContentTransferEncodings.includes(n)||(t="application/octet-stream");let i=e.headers["Content-ID"];typeof i=="string"&&i.length>2&&!i.startsWith("<")&&!i.endsWith(">")&&(e.headers["Content-ID"]="<"+e.headers["Content-ID"]+">");let r=e.inline?"inline":"attachment";return e.headers=Object.assign({},e.headers,{"Content-Type":`${t}; name="${e.filename}"`,"Content-Transfer-Encoding":n,"Content-Disposition":`${r}; filename="${e.filename}"`}),this._addMessage({data:e.data,headers:e.headers})}addMessage(e){this.isObject(e.headers)||(e.headers={});let t=(e.headers["Content-Type"]??e.contentType)||"none";if(!this.validTypes.includes(t))throw new o("MIMETEXT_INVALID_MESSAGE_TYPE",`Valid content types are ${this.validTypes.join(", ")} but you specified "${t}".`);let n=e.headers["Content-Transfer-Encoding"]??e.encoding??"7bit";this.validContentTransferEncodings.includes(n)||(t="application/octet-stream");let i=e.charset??"UTF-8";return e.headers=Object.assign({},e.headers,{"Content-Type":`${t}; charset=${i}`,"Content-Transfer-Encoding":n}),this._addMessage({data:e.data,headers:e.headers})}_addMessage(e){let t=new g(this.envctx,e.data,e.headers);return this.messages.push(t),t}setSender(e,t={type:"From"}){let n=new d(e,t);return this.setHeader("From",n),n}getSender(){return this.getHeader("From")}setRecipients(e,t={type:"To"}){let i=(this.isArray(e)?e:[e]).map(r=>new d(r,t));return this.setHeader(t.type,i),i}getRecipients(e={type:"To"}){return this.getHeader(e.type)}setRecipient(e,t={type:"To"}){return this.setRecipients(e,t)}setTo(e,t={type:"To"}){return this.setRecipients(e,t)}setCc(e,t={type:"Cc"}){return this.setRecipients(e,t)}setBcc(e,t={type:"Bcc"}){return this.setRecipients(e,t)}setSubject(e){return this.setHeader("subject",e),e}getSubject(){return this.getHeader("subject")}setHeader(e,t){return this.headers.set(e,t),e}getHeader(e){return this.headers.get(e)}setHeaders(e){return Object.keys(e).map(t=>this.setHeader(t,e[t]))}getHeaders(){return this.headers.toObject()}toBase64(e){return this.envctx.toBase64(e)}toBase64WebSafe(e){return this.envctx.toBase64WebSafe(e)}generateBoundaries(){this.boundaries={mixed:Math.random().toString(36).slice(2),alt:Math.random().toString(36).slice(2),related:Math.random().toString(36).slice(2)};}isArray(e){return !!e&&e.constructor===Array}isObject(e){return !!e&&e.constructor===Object}};var E={toBase64:function(e){return Utilities.base64Encode(e,Utilities.Charset.UTF_8)},toBase64WebSafe:function(e){return Utilities.base64EncodeWebSafe(e)},eol:`\r -`,validateContentType:a=>a.length>0?a:!1};function P(){return new M(E)}exports.MIMEMessage=M;exports.MIMEMessageContent=g;exports.MIMEMessageHeader=c;exports.MIMETextError=o;exports.Mailbox=d;exports.createMimeMessage=P;//# sourceMappingURL=gas.cjs.map -//# sourceMappingURL=gas.cjs.map \ No newline at end of file diff --git a/dist/gas.cjs.map b/dist/gas.cjs.map deleted file mode 100644 index da5769b..0000000 --- a/dist/gas.cjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../src/MIMETextError.ts","../src/Mailbox.ts","../src/MIMEMessageHeader.ts","../src/MIMEMessageContent.ts","../src/MIMEMessage.ts","../src/entrypoints/gas.ts"],"names":["MIMETextError","message","description","__publicField","Mailbox","input","config","arr","text","v","MIMEMessageHeader","envctx","randomstr","domain","obj","lines","field","isValueDefinedByUser","strval","memo","item","name","fieldMatcher","ind","value","dump","validProps","h","prop","MIMEMessageContentHeader","MIMEMessageContent","data","headers","eol","disposition","MIMEMessage","plaintext","html","primaryMessage","hasAttachments","hasInlineAttachments","structure","attachments","a","inlineAttachments","boundary","msg","matcher","type","opts","encoding","contentId","charset","mailbox","recs","_input","createMimeMessage"],"mappings":"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","file":"gas.cjs","sourcesContent":["export class MIMETextError extends Error {\n override name = ''\n description = ''\n\n constructor (message: string, description = '') {\n super(description)\n\n this.name = message\n this.description = description\n }\n}\n","import { MIMETextError } from './MIMETextError.js'\n\nexport class Mailbox {\n reSpecCompliantAddr = /(([^<>\\r\\n]+)\\s)?<[^\\r\\n]+>/\n name = ''\n addr = ''\n type: MailboxType = 'To'\n\n constructor (input: MailboxAddrObject | string, config: MailboxConfig = { type: 'To' }) {\n this.type = config.type\n\n this.parse(input)\n }\n\n getAddrDomain (): string {\n if (this.addr.includes('@')) {\n const arr = this.addr.split('@')\n if (arr.length > 1) return arr[1]!\n }\n return ''\n }\n\n dump (): string {\n return this.name.length > 0 ? `\"${this.name}\" <${this.addr}>` : `<${this.addr}>`\n }\n\n parse (input: MailboxAddrObject | string): this {\n if (this.isMailboxAddrObject(input)) {\n this.addr = input.addr\n if (typeof input.name === 'string') this.name = input.name\n if (typeof input.type === 'string') this.type = input.type\n return this\n }\n\n if (this.isMailboxAddrText(input)) {\n const text = input.trim()\n if (text.startsWith('<') && text.endsWith('>')) {\n this.addr = text.slice(1, -1)\n return this\n }\n const arr = text.split(' <') as [string, string]\n arr[0] = /^(\"|')/.test(arr[0]) ? arr[0].slice(1) : arr[0]\n arr[0] = /(\"|')$/.test(arr[0]) ? arr[0].slice(0, -1) : arr[0]\n arr[1] = arr[1].slice(0, -1)\n this.name = arr[0]\n this.addr = arr[1]\n return this\n }\n\n if (typeof input === 'string') {\n this.addr = input\n return this\n }\n\n throw new MIMETextError('MIMETEXT_INVALID_MAILBOX', 'Couldn\\'t recognize the input.')\n }\n\n isMailboxAddrText (v: unknown): boolean {\n return typeof v === 'string' && this.reSpecCompliantAddr.test(v)\n }\n\n isMailboxAddrObject (v: unknown): v is MailboxAddrObject {\n return this.isObject(v) && Object.hasOwn(v, 'addr')\n }\n\n isObject (v: unknown): v is object {\n return (!!v) && (v.constructor === Object)\n }\n}\n\nexport interface MailboxConfig {\n type: MailboxType\n}\nexport interface MailboxAddrObject {\n addr: string\n name?: string\n type?: MailboxType\n}\nexport type MailboxType = 'To' | 'From' | 'Cc' | 'Bcc'\n","import type { EnvironmentContext } from './MIMEMessage'\nimport { MIMETextError } from './MIMETextError.js'\nimport { Mailbox } from './Mailbox.js'\n\n/*\n Headers are based on: https://www.rfc-editor.org/rfc/rfc4021#section-2.1\n (Some are ignored as they can be added later or as a custom header.)\n*/\n\nexport class MIMEMessageHeader {\n envctx: EnvironmentContext\n fields: HeaderField[] = [\n {\n name: 'Date',\n generator: () => ((new Date()).toUTCString()).replace(/GMT|UTC/gi, '+0000')\n },\n {\n name: 'From',\n required: true,\n validate: (v: unknown) => this.validateMailboxSingle(v),\n dump: (v: unknown) => this.dumpMailboxSingle(v)\n },\n {\n name: 'Sender',\n validate: (v: unknown) => this.validateMailboxSingle(v),\n dump: (v: unknown) => this.dumpMailboxSingle(v)\n },\n {\n name: 'Reply-To',\n validate: (v: unknown) => this.validateMailboxSingle(v),\n dump: (v: unknown) => this.dumpMailboxSingle(v)\n },\n {\n name: 'To',\n validate: (v: unknown) => this.validateMailboxMulti(v),\n dump: (v: unknown) => this.dumpMailboxMulti(v)\n },\n {\n name: 'Cc',\n validate: (v: unknown) => this.validateMailboxMulti(v),\n dump: (v: unknown) => this.dumpMailboxMulti(v)\n },\n {\n name: 'Bcc',\n validate: (v: unknown) => this.validateMailboxMulti(v),\n dump: (v: unknown) => this.dumpMailboxMulti(v)\n },\n {\n name: 'Message-ID',\n generator: () => {\n const randomstr = Math.random().toString(36).slice(2)\n const from = (this.fields.filter((obj) => obj.name === 'From')[0]!).value as Mailbox\n const domain = from.getAddrDomain()\n return '<' + randomstr + '@' + domain + '>'\n }\n },\n {\n name: 'Subject',\n required: true,\n dump: (v: unknown) => {\n return typeof v === 'string' ? '=?utf-8?B?' + this.envctx.toBase64(v) + '?=' : ''\n }\n },\n {\n name: 'MIME-Version',\n generator: () => '1.0'\n }\n ]\n\n constructor (envctx: EnvironmentContext) {\n this.envctx = envctx\n }\n\n dump (): string {\n let lines = ''\n\n for (const field of this.fields) {\n if (field.disabled) continue\n const isValueDefinedByUser = field.value !== undefined && field.value !== null\n if (!isValueDefinedByUser && field.required) {\n throw new MIMETextError('MIMETEXT_MISSING_HEADER', `The \"${field.name}\" header is required.`)\n }\n if (!isValueDefinedByUser && typeof field.generator !== 'function') continue\n if (!isValueDefinedByUser && typeof field.generator === 'function') field.value = field.generator()\n const strval = Object.hasOwn(field, 'dump') && typeof field.dump === 'function'\n ? field.dump(field.value)\n : typeof field.value === 'string' ? field.value : ''\n lines += `${field.name}: ${strval}${this.envctx.eol}`\n }\n\n return lines.slice(0, -1 * this.envctx.eol.length)\n }\n\n toObject (): HeadersObject {\n return this.fields.reduce((memo: HeadersObject, item) => {\n memo[item.name] = item.value\n return memo\n }, {})\n }\n\n get (name: string): string | Mailbox | Mailbox[] | undefined {\n const fieldMatcher = (obj: HeaderField): boolean => obj.name.toLowerCase() === name.toLowerCase()\n const ind = this.fields.findIndex(fieldMatcher)\n\n return ind !== -1 ? (this.fields[ind]!).value : undefined\n }\n\n set (name: string, value: string | Mailbox | Mailbox[]): HeaderField {\n const fieldMatcher = (obj: HeaderField): boolean => obj.name.toLowerCase() === name.toLowerCase()\n const isCustomHeader = !this.fields.some(fieldMatcher)\n\n if (!isCustomHeader) {\n const ind = this.fields.findIndex(fieldMatcher)\n const field = this.fields[ind]!\n if (field.validate && !field.validate(value)) {\n throw new MIMETextError('MIMETEXT_INVALID_HEADER_VALUE', `The value for the header \"${name}\" is invalid.`)\n }\n (this.fields[ind]!).value = value\n return this.fields[ind]!\n }\n\n return this.setCustom({\n name: name,\n value: value,\n custom: true,\n dump: (v: unknown) => typeof v === 'string' ? v : ''\n })\n }\n\n setCustom (obj: HeaderField): HeaderField {\n if (this.isHeaderField(obj)) {\n if (typeof obj.value !== 'string') {\n throw new MIMETextError('MIMETEXT_INVALID_HEADER_FIELD', 'Custom header must have a value.')\n }\n this.fields.push(obj)\n return obj\n }\n\n throw new MIMETextError('MIMETEXT_INVALID_HEADER_FIELD', 'Invalid input for custom header. It must be in type of HeaderField.')\n }\n\n validateMailboxSingle (v: unknown): v is Mailbox {\n return v instanceof Mailbox\n }\n\n validateMailboxMulti (v: unknown): boolean {\n return v instanceof Mailbox || this.isArrayOfMailboxes(v)\n }\n\n dumpMailboxMulti (v: unknown): string {\n const dump = (item: Mailbox): string => item.name.length === 0\n ? item.dump()\n : `=?utf-8?B?${this.envctx.toBase64(item.name)}?= <${item.addr}>`\n return this.isArrayOfMailboxes(v) ? v.map(dump).join(`,${this.envctx.eol} `) : v instanceof Mailbox ? dump(v) : ''\n }\n\n dumpMailboxSingle (v: unknown): string {\n const dump = (item: Mailbox): string => item.name.length === 0\n ? item.dump()\n : `=?utf-8?B?${this.envctx.toBase64(item.name)}?= <${item.addr}>`\n return v instanceof Mailbox ? dump(v) : ''\n }\n\n isHeaderField (v: unknown): v is HeaderField {\n const validProps = ['name', 'value', 'dump', 'required', 'disabled', 'generator', 'custom']\n if (this.isObject(v)) {\n const h = v as HeaderField\n if (Object.hasOwn(h, 'name') && typeof h.name === 'string' && h.name.length > 0) {\n if (!Object.keys(h).some((prop) => !validProps.includes(prop))) {\n return true\n }\n }\n }\n return false\n }\n\n isObject (v: unknown): v is object {\n return (!!v) && (v.constructor === Object)\n }\n\n isArrayOfMailboxes (v: unknown): v is Mailbox[] {\n return this.isArray(v) && v.every((item: unknown) => item instanceof Mailbox)\n }\n\n isArray (v: unknown): v is never[] {\n return (!!v) && (v.constructor === Array)\n }\n}\n\nexport class MIMEMessageContentHeader extends MIMEMessageHeader {\n override fields = [\n {\n name: 'Content-ID'\n },\n {\n name: 'Content-Type'\n },\n {\n name: 'Content-Transfer-Encoding'\n },\n {\n name: 'Content-Disposition'\n }\n ]\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor (envctx: EnvironmentContext) {\n super(envctx)\n }\n}\n\nexport type HeadersObject = Record\nexport interface HeaderField {\n name: string\n dump?: (v: string | Mailbox | Mailbox[] | undefined) => string\n value?: string | Mailbox | Mailbox[] | undefined\n validate?: (v: unknown) => boolean\n required?: boolean\n disabled?: boolean\n generator?: () => string\n custom?: boolean\n}\n","import type { EnvironmentContext } from './MIMEMessage'\nimport type { Mailbox } from './Mailbox'\nimport { type HeadersObject, MIMEMessageContentHeader } from './MIMEMessageHeader.js'\n\nexport class MIMEMessageContent {\n envctx: EnvironmentContext\n headers\n data\n\n constructor (envctx: EnvironmentContext, data: string, headers = {}) {\n this.envctx = envctx\n this.headers = new MIMEMessageContentHeader(this.envctx)\n this.data = data\n this.setHeaders(headers)\n }\n\n dump (): string {\n const eol = this.envctx.eol\n return this.headers.dump() + eol + eol + this.data\n }\n\n isAttachment (): boolean {\n const disposition = this.headers.get('Content-Disposition')\n return typeof disposition === 'string' && disposition.includes('attachment')\n }\n\n isInlineAttachment (): boolean {\n const disposition = this.headers.get('Content-Disposition')\n return typeof disposition === 'string' && disposition.includes('inline')\n }\n\n setHeader (name: string, value: string | Mailbox | Mailbox[]): string {\n this.headers.set(name, value)\n return name\n }\n\n getHeader (name: string): string | Mailbox | Mailbox[] | undefined {\n return this.headers.get(name)\n }\n\n setHeaders (obj: Record): string[] {\n return Object.keys(obj).map((prop) => this.setHeader(prop, obj[prop]!))\n }\n\n getHeaders (): HeadersObject {\n return this.headers.toObject()\n }\n}\n","import type { MailboxAddrObject, MailboxConfig } from './Mailbox.js'\n\nimport { MIMETextError } from './MIMETextError.js'\nimport { type HeadersObject, MIMEMessageHeader } from './MIMEMessageHeader.js'\nimport { Mailbox } from './Mailbox.js'\nimport { MIMEMessageContent } from './MIMEMessageContent.js'\n\nexport class MIMEMessage {\n envctx: EnvironmentContext\n headers: MIMEMessageHeader\n boundaries: Boundaries = { mixed: '', alt: '', related: '' }\n validTypes = ['text/html', 'text/plain']\n validContentTransferEncodings = ['7bit', '8bit', 'binary', 'quoted-printable', 'base64']\n messages: MIMEMessageContent[] = []\n\n constructor (envctx: EnvironmentContext) {\n this.envctx = envctx\n this.headers = new MIMEMessageHeader(this.envctx)\n this.messages = []\n\n this.generateBoundaries()\n }\n\n asRaw (): string {\n const eol = this.envctx.eol\n const lines = this.headers.dump()\n\n const plaintext = this.getMessageByType('text/plain')\n const html = this.getMessageByType('text/html')\n const primaryMessage = html ?? (plaintext ?? undefined)\n\n if (primaryMessage === undefined) {\n throw new MIMETextError('MIMETEXT_MISSING_BODY', 'No content added to the message.')\n }\n\n const hasAttachments = this.hasAttachments()\n const hasInlineAttachments = this.hasInlineAttachments()\n\n const structure = hasInlineAttachments && hasAttachments\n ? 'mixed+related'\n : hasAttachments\n ? 'mixed'\n : hasInlineAttachments\n ? 'related'\n : plaintext && html\n ? 'alternative'\n : ''\n\n if (structure === 'mixed+related') {\n const attachments = this.getAttachments()\n .map((a) => '--' + this.boundaries.mixed + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n const inlineAttachments = this.getInlineAttachments()\n .map((a) => '--' + this.boundaries.related + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n return lines + eol +\n 'Content-Type: multipart/mixed; boundary=' + this.boundaries.mixed + eol +\n eol +\n '--' + this.boundaries.mixed + eol +\n 'Content-Type: multipart/related; boundary=' + this.boundaries.related + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.related) + eol +\n eol +\n inlineAttachments +\n '--' + this.boundaries.related + '--' + eol +\n attachments +\n '--' + this.boundaries.mixed + '--'\n } else if (structure === 'mixed') {\n const attachments = this.getAttachments()\n .map((a) => '--' + this.boundaries.mixed + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n return lines + eol +\n 'Content-Type: multipart/mixed; boundary=' + this.boundaries.mixed + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.mixed) + eol +\n (plaintext && html ? '' : eol) +\n attachments +\n '--' + this.boundaries.mixed + '--'\n } else if (structure === 'related') {\n const inlineAttachments = this.getInlineAttachments()\n .map((a) => '--' + this.boundaries.related + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n return lines + eol +\n 'Content-Type: multipart/related; boundary=' + this.boundaries.related + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.related) + eol +\n eol +\n inlineAttachments +\n '--' + this.boundaries.related + '--'\n } else if (structure === 'alternative') {\n return lines + eol +\n 'Content-Type: multipart/alternative; boundary=' + this.boundaries.alt + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.alt) + eol +\n eol +\n '--' + this.boundaries.alt + '--'\n } else {\n return lines + eol + primaryMessage.dump()\n }\n }\n\n asEncoded (): string {\n return this.envctx.toBase64WebSafe(this.asRaw())\n }\n\n dumpTextContent (plaintext: MIMEMessageContent | undefined, html: MIMEMessageContent | undefined, boundary: string): string {\n const eol = this.envctx.eol\n const primaryMessage = html ?? plaintext\n\n let data = ''\n\n if (plaintext && html && !this.hasInlineAttachments() && this.hasAttachments()) {\n data = '--' + boundary + eol +\n 'Content-Type: multipart/alternative; boundary=' + this.boundaries.alt + eol +\n eol +\n '--' + this.boundaries.alt + eol +\n plaintext.dump() + eol +\n eol +\n '--' + this.boundaries.alt + eol +\n html.dump() + eol +\n eol +\n '--' + this.boundaries.alt + '--'\n } else if (plaintext && html && this.hasInlineAttachments()) {\n data = '--' + boundary + eol +\n html.dump()\n } else if (plaintext && html) {\n data = '--' + boundary + eol +\n plaintext.dump() + eol +\n eol +\n '--' + boundary + eol +\n html.dump()\n } else {\n data = '--' + boundary + eol +\n (primaryMessage!).dump()\n }\n\n return data\n }\n\n hasInlineAttachments (): boolean {\n return this.messages.some((msg) => msg.isInlineAttachment())\n }\n\n hasAttachments (): boolean {\n return this.messages.some((msg) => msg.isAttachment())\n }\n\n getAttachments (): MIMEMessageContent[] | [] {\n const matcher = (msg: MIMEMessageContent): boolean => msg.isAttachment()\n return this.messages.some(matcher) ? this.messages.filter(matcher) : []\n }\n\n getInlineAttachments (): MIMEMessageContent[] | [] {\n const matcher = (msg: MIMEMessageContent): boolean => msg.isInlineAttachment()\n return this.messages.some(matcher) ? this.messages.filter(matcher) : []\n }\n\n getMessageByType (type: string): MIMEMessageContent | undefined {\n const matcher = (msg: MIMEMessageContent): boolean => !msg.isAttachment() && !msg.isInlineAttachment() && (msg.getHeader('Content-Type') as string || '').includes(type)\n return this.messages.some(matcher) ? this.messages.filter(matcher)[0] : undefined\n }\n\n addAttachment (opts: AttachmentOptions): MIMEMessageContent {\n if (!this.isObject(opts.headers)) opts.headers = {}\n\n if (typeof opts.filename !== 'string') {\n throw new MIMETextError('MIMETEXT_MISSING_FILENAME', 'The property \"filename\" must exist while adding attachments.')\n }\n\n let type = (opts.headers['Content-Type'] ?? opts.contentType) || 'none'\n if (this.envctx.validateContentType(type) === false) {\n throw new MIMETextError('MIMETEXT_INVALID_MESSAGE_TYPE', `You specified an invalid content type \"${type}\".`)\n }\n\n const encoding = (opts.headers['Content-Transfer-Encoding'] ?? opts.encoding) ?? 'base64'\n if (!this.validContentTransferEncodings.includes(encoding)) {\n type = 'application/octet-stream'\n }\n\n const contentId = opts.headers['Content-ID']\n if (typeof contentId === 'string' && contentId.length > 2 && !contentId.startsWith('<') && !contentId.endsWith('>')) {\n opts.headers['Content-ID'] = '<' + opts.headers['Content-ID'] + '>'\n }\n\n const disposition = opts.inline ? 'inline' : 'attachment'\n\n opts.headers = Object.assign({}, opts.headers, {\n 'Content-Type': `${type}; name=\"${opts.filename}\"`,\n 'Content-Transfer-Encoding': encoding,\n 'Content-Disposition': `${disposition}; filename=\"${opts.filename}\"`\n })\n\n return this._addMessage({ data: opts.data, headers: opts.headers })\n }\n\n addMessage (opts: ContentOptions): MIMEMessageContent {\n if (!this.isObject(opts.headers)) opts.headers = {}\n\n let type = (opts.headers['Content-Type'] ?? opts.contentType) || 'none'\n if (!this.validTypes.includes(type)) {\n throw new MIMETextError('MIMETEXT_INVALID_MESSAGE_TYPE', `Valid content types are ${this.validTypes.join(', ')} but you specified \"${type}\".`)\n }\n\n const encoding = (opts.headers['Content-Transfer-Encoding'] ?? opts.encoding) ?? '7bit'\n if (!this.validContentTransferEncodings.includes(encoding)) {\n type = 'application/octet-stream'\n }\n\n const charset = opts.charset ?? 'UTF-8'\n\n opts.headers = Object.assign({}, opts.headers, {\n 'Content-Type': `${type}; charset=${charset}`,\n 'Content-Transfer-Encoding': encoding\n })\n\n return this._addMessage({ data: opts.data, headers: opts.headers })\n }\n\n private _addMessage (opts: { data: string, headers: ContentHeaders }): MIMEMessageContent {\n const msg = new MIMEMessageContent(this.envctx, opts.data, opts.headers)\n\n this.messages.push(msg)\n\n return msg\n }\n\n setSender (input: MailboxAddrObject | string, config: MailboxConfig = { type: 'From' }): Mailbox {\n const mailbox = new Mailbox(input, config)\n this.setHeader('From', mailbox)\n return mailbox\n }\n\n getSender (): Mailbox | undefined {\n return this.getHeader('From') as Mailbox\n }\n\n setRecipients (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'To' }): Mailbox[] {\n const arr = !this.isArray(input) ? [input] : input\n const recs = arr.map((_input) => new Mailbox(_input, config))\n this.setHeader(config.type, recs)\n return recs\n }\n\n getRecipients (config: MailboxConfig = { type: 'To' }): Mailbox | Mailbox[] | undefined {\n return this.getHeader(config.type) as Mailbox | Mailbox[] | undefined\n }\n\n setRecipient (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'To' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setTo (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'To' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setCc (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'Cc' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setBcc (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'Bcc' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setSubject (value: string): string {\n this.setHeader('subject', value)\n return value\n }\n\n getSubject (): string | undefined {\n return this.getHeader('subject') as string\n }\n\n setHeader (name: string, value: string | Mailbox | Mailbox[]): string {\n this.headers.set(name, value)\n return name\n }\n\n getHeader (name: string): string | Mailbox | Mailbox[] | undefined {\n return this.headers.get(name)\n }\n\n setHeaders (obj: Record): string[] {\n return Object.keys(obj).map((prop) => this.setHeader(prop, obj[prop]!))\n }\n\n getHeaders (): HeadersObject {\n return this.headers.toObject()\n }\n\n toBase64 (v: string): string {\n return this.envctx.toBase64(v)\n }\n\n toBase64WebSafe (v: string): string {\n return this.envctx.toBase64WebSafe(v)\n }\n\n generateBoundaries (): void {\n this.boundaries = {\n mixed: Math.random().toString(36).slice(2),\n alt: Math.random().toString(36).slice(2),\n related: Math.random().toString(36).slice(2)\n }\n }\n\n isArray (v: unknown): v is unknown[] {\n return (!!v) && (v.constructor === Array)\n }\n\n isObject (v: unknown): v is object {\n return (!!v) && (v.constructor === Object)\n }\n}\n\nexport interface EnvironmentContext {\n toBase64: (v: string) => string\n toBase64WebSafe: (v: string) => string\n eol: string\n validateContentType: (v: string) => string | false\n}\n\nexport interface Boundaries {\n mixed: string\n alt: string\n related: string\n}\n\nexport type ContentTransferEncoding = '7bit' | '8bit' | 'binary' | 'quoted-printable' | 'base64'\n\nexport interface ContentHeaders {\n 'Content-Type'?: string\n 'Content-Transfer-Encoding'?: ContentTransferEncoding\n 'Content-Disposition'?: string\n 'Content-ID'?: string\n [index: string]: string | undefined\n}\n\nexport interface ContentOptions {\n data: string\n encoding?: ContentTransferEncoding\n contentType: string\n headers?: ContentHeaders\n charset?: string\n}\n\nexport interface AttachmentOptions extends ContentOptions {\n inline?: boolean\n filename: string\n}\n","import { MIMEMessage } from '../MIMEMessage.js'\n\nconst envctx = {\n toBase64: function toBase64 (data: string) {\n return Utilities.base64Encode(data, Utilities.Charset.UTF_8)\n },\n toBase64WebSafe: function toBase64WebSafe (data: string) {\n return Utilities.base64EncodeWebSafe(data)\n },\n eol: '\\r\\n',\n validateContentType: (v: string): string | false => {\n return v.length > 0 ? v : false\n }\n}\n\nexport function createMimeMessage (): MIMEMessage {\n return new MIMEMessage(envctx)\n}\n\nexport { MIMEMessage } from '../MIMEMessage.js'\nexport { Mailbox } from '../Mailbox.js'\nexport { MIMETextError } from '../MIMETextError.js'\nexport { MIMEMessageHeader } from '../MIMEMessageHeader.js'\nexport { MIMEMessageContent } from '../MIMEMessageContent.js'\n\nexport type * from '../MIMEMessage.js'\nexport type * from '../Mailbox.js'\nexport type * from '../MIMETextError.js'\nexport type * from '../MIMEMessageHeader.js'\nexport type * from '../MIMEMessageContent.js'\n"]} \ No newline at end of file diff --git a/dist/gas.d.cts b/dist/gas.d.cts deleted file mode 100644 index fa004be..0000000 --- a/dist/gas.d.cts +++ /dev/null @@ -1,6 +0,0 @@ -import { M as MIMEMessage } from './MIMETextError-BRDlE5Ge.cjs'; -export { A as AttachmentOptions, B as Boundaries, e as ContentHeaders, f as ContentOptions, C as ContentTransferEncoding, E as EnvironmentContext, k as HeaderField, H as HeadersObject, d as MIMEMessageContent, j as MIMEMessageContentHeader, c as MIMEMessageHeader, b as MIMETextError, a as Mailbox, h as MailboxAddrObject, g as MailboxConfig, i as MailboxType } from './MIMETextError-BRDlE5Ge.cjs'; - -declare function createMimeMessage(): MIMEMessage; - -export { MIMEMessage, createMimeMessage }; diff --git a/dist/gas.d.ts b/dist/gas.d.ts deleted file mode 100644 index 92e630d..0000000 --- a/dist/gas.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { M as MIMEMessage } from './MIMETextError-BRDlE5Ge.js'; -export { A as AttachmentOptions, B as Boundaries, e as ContentHeaders, f as ContentOptions, C as ContentTransferEncoding, E as EnvironmentContext, k as HeaderField, H as HeadersObject, d as MIMEMessageContent, j as MIMEMessageContentHeader, c as MIMEMessageHeader, b as MIMETextError, a as Mailbox, h as MailboxAddrObject, g as MailboxConfig, i as MailboxType } from './MIMETextError-BRDlE5Ge.js'; - -declare function createMimeMessage(): MIMEMessage; - -export { MIMEMessage, createMimeMessage }; diff --git a/dist/gas.global.js b/dist/gas.global.js deleted file mode 100644 index aa7f4e0..0000000 --- a/dist/gas.global.js +++ /dev/null @@ -1,3 +0,0 @@ -var MimeText=(function(exports){'use strict';var p=Object.defineProperty;var y=(a,e,t)=>e in a?p(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var s=(a,e,t)=>y(a,typeof e!="symbol"?e+"":e,t);var o=class extends Error{constructor(t,n=""){super(n);s(this,"name","");s(this,"description","");this.name=t,this.description=n;}};var d=class{constructor(e,t={type:"To"}){s(this,"reSpecCompliantAddr",/(([^<>\r\n]+)\s)?<[^\r\n]+>/);s(this,"name","");s(this,"addr","");s(this,"type","To");this.type=t.type,this.parse(e);}getAddrDomain(){if(this.addr.includes("@")){let e=this.addr.split("@");if(e.length>1)return e[1]}return ""}dump(){return this.name.length>0?`"${this.name}" <${this.addr}>`:`<${this.addr}>`}parse(e){if(this.isMailboxAddrObject(e))return this.addr=e.addr,typeof e.name=="string"&&(this.name=e.name),typeof e.type=="string"&&(this.type=e.type),this;if(this.isMailboxAddrText(e)){let t=e.trim();if(t.startsWith("<")&&t.endsWith(">"))return this.addr=t.slice(1,-1),this;let n=t.split(" <");return n[0]=/^("|')/.test(n[0])?n[0].slice(1):n[0],n[0]=/("|')$/.test(n[0])?n[0].slice(0,-1):n[0],n[1]=n[1].slice(0,-1),this.name=n[0],this.addr=n[1],this}if(typeof e=="string")return this.addr=e,this;throw new o("MIMETEXT_INVALID_MAILBOX","Couldn't recognize the input.")}isMailboxAddrText(e){return typeof e=="string"&&this.reSpecCompliantAddr.test(e)}isMailboxAddrObject(e){return this.isObject(e)&&Object.hasOwn(e,"addr")}isObject(e){return !!e&&e.constructor===Object}};var c=class{constructor(e){s(this,"envctx");s(this,"fields",[{name:"Date",generator:()=>new Date().toUTCString().replace(/GMT|UTC/gi,"+0000")},{name:"From",required:!0,validate:e=>this.validateMailboxSingle(e),dump:e=>this.dumpMailboxSingle(e)},{name:"Sender",validate:e=>this.validateMailboxSingle(e),dump:e=>this.dumpMailboxSingle(e)},{name:"Reply-To",validate:e=>this.validateMailboxSingle(e),dump:e=>this.dumpMailboxSingle(e)},{name:"To",validate:e=>this.validateMailboxMulti(e),dump:e=>this.dumpMailboxMulti(e)},{name:"Cc",validate:e=>this.validateMailboxMulti(e),dump:e=>this.dumpMailboxMulti(e)},{name:"Bcc",validate:e=>this.validateMailboxMulti(e),dump:e=>this.dumpMailboxMulti(e)},{name:"Message-ID",generator:()=>{let e=Math.random().toString(36).slice(2),n=this.fields.filter(i=>i.name==="From")[0].value.getAddrDomain();return "<"+e+"@"+n+">"}},{name:"Subject",required:!0,dump:e=>typeof e=="string"?"=?utf-8?B?"+this.envctx.toBase64(e)+"?=":""},{name:"MIME-Version",generator:()=>"1.0"}]);this.envctx=e;}dump(){let e="";for(let t of this.fields){if(t.disabled)continue;let n=t.value!==void 0&&t.value!==null;if(!n&&t.required)throw new o("MIMETEXT_MISSING_HEADER",`The "${t.name}" header is required.`);if(!n&&typeof t.generator!="function")continue;!n&&typeof t.generator=="function"&&(t.value=t.generator());let i=Object.hasOwn(t,"dump")&&typeof t.dump=="function"?t.dump(t.value):typeof t.value=="string"?t.value:"";e+=`${t.name}: ${i}${this.envctx.eol}`;}return e.slice(0,-1*this.envctx.eol.length)}toObject(){return this.fields.reduce((e,t)=>(e[t.name]=t.value,e),{})}get(e){let t=i=>i.name.toLowerCase()===e.toLowerCase(),n=this.fields.findIndex(t);return n!==-1?this.fields[n].value:void 0}set(e,t){let n=r=>r.name.toLowerCase()===e.toLowerCase();if(!!this.fields.some(n)){let r=this.fields.findIndex(n),l=this.fields[r];if(l.validate&&!l.validate(t))throw new o("MIMETEXT_INVALID_HEADER_VALUE",`The value for the header "${e}" is invalid.`);return this.fields[r].value=t,this.fields[r]}return this.setCustom({name:e,value:t,custom:!0,dump:r=>typeof r=="string"?r:""})}setCustom(e){if(this.isHeaderField(e)){if(typeof e.value!="string")throw new o("MIMETEXT_INVALID_HEADER_FIELD","Custom header must have a value.");return this.fields.push(e),e}throw new o("MIMETEXT_INVALID_HEADER_FIELD","Invalid input for custom header. It must be in type of HeaderField.")}validateMailboxSingle(e){return e instanceof d}validateMailboxMulti(e){return e instanceof d||this.isArrayOfMailboxes(e)}dumpMailboxMulti(e){let t=n=>n.name.length===0?n.dump():`=?utf-8?B?${this.envctx.toBase64(n.name)}?= <${n.addr}>`;return this.isArrayOfMailboxes(e)?e.map(t).join(`,${this.envctx.eol} `):e instanceof d?t(e):""}dumpMailboxSingle(e){let t=n=>n.name.length===0?n.dump():`=?utf-8?B?${this.envctx.toBase64(n.name)}?= <${n.addr}>`;return e instanceof d?t(e):""}isHeaderField(e){let t=["name","value","dump","required","disabled","generator","custom"];if(this.isObject(e)){let n=e;if(Object.hasOwn(n,"name")&&typeof n.name=="string"&&n.name.length>0&&!Object.keys(n).some(i=>!t.includes(i)))return !0}return !1}isObject(e){return !!e&&e.constructor===Object}isArrayOfMailboxes(e){return this.isArray(e)&&e.every(t=>t instanceof d)}isArray(e){return !!e&&e.constructor===Array}},b=class extends c{constructor(t){super(t);s(this,"fields",[{name:"Content-ID"},{name:"Content-Type"},{name:"Content-Transfer-Encoding"},{name:"Content-Disposition"}]);}};var m=class{constructor(e,t,n={}){s(this,"envctx");s(this,"headers");s(this,"data");this.envctx=e,this.headers=new b(this.envctx),this.data=t,this.setHeaders(n);}dump(){let e=this.envctx.eol;return this.headers.dump()+e+e+this.data}isAttachment(){let e=this.headers.get("Content-Disposition");return typeof e=="string"&&e.includes("attachment")}isInlineAttachment(){let e=this.headers.get("Content-Disposition");return typeof e=="string"&&e.includes("inline")}setHeader(e,t){return this.headers.set(e,t),e}getHeader(e){return this.headers.get(e)}setHeaders(e){return Object.keys(e).map(t=>this.setHeader(t,e[t]))}getHeaders(){return this.headers.toObject()}};var g=class{constructor(e){s(this,"envctx");s(this,"headers");s(this,"boundaries",{mixed:"",alt:"",related:""});s(this,"validTypes",["text/html","text/plain"]);s(this,"validContentTransferEncodings",["7bit","8bit","binary","quoted-printable","base64"]);s(this,"messages",[]);this.envctx=e,this.headers=new c(this.envctx),this.messages=[],this.generateBoundaries();}asRaw(){let e=this.envctx.eol,t=this.headers.dump(),n=this.getMessageByType("text/plain"),i=this.getMessageByType("text/html"),r=i??n??void 0;if(r===void 0)throw new o("MIMETEXT_MISSING_BODY","No content added to the message.");let l=this.hasAttachments(),f=this.hasInlineAttachments(),M=f&&l?"mixed+related":l?"mixed":f?"related":n&&i?"alternative":"";if(M==="mixed+related"){let h=this.getAttachments().map(x=>"--"+this.boundaries.mixed+e+x.dump()+e+e).join("").slice(0,-1*e.length),u=this.getInlineAttachments().map(x=>"--"+this.boundaries.related+e+x.dump()+e+e).join("").slice(0,-1*e.length);return t+e+"Content-Type: multipart/mixed; boundary="+this.boundaries.mixed+e+e+"--"+this.boundaries.mixed+e+"Content-Type: multipart/related; boundary="+this.boundaries.related+e+e+this.dumpTextContent(n,i,this.boundaries.related)+e+e+u+"--"+this.boundaries.related+"--"+e+h+"--"+this.boundaries.mixed+"--"}else if(M==="mixed"){let h=this.getAttachments().map(u=>"--"+this.boundaries.mixed+e+u.dump()+e+e).join("").slice(0,-1*e.length);return t+e+"Content-Type: multipart/mixed; boundary="+this.boundaries.mixed+e+e+this.dumpTextContent(n,i,this.boundaries.mixed)+e+(n&&i?"":e)+h+"--"+this.boundaries.mixed+"--"}else if(M==="related"){let h=this.getInlineAttachments().map(u=>"--"+this.boundaries.related+e+u.dump()+e+e).join("").slice(0,-1*e.length);return t+e+"Content-Type: multipart/related; boundary="+this.boundaries.related+e+e+this.dumpTextContent(n,i,this.boundaries.related)+e+e+h+"--"+this.boundaries.related+"--"}else return M==="alternative"?t+e+"Content-Type: multipart/alternative; boundary="+this.boundaries.alt+e+e+this.dumpTextContent(n,i,this.boundaries.alt)+e+e+"--"+this.boundaries.alt+"--":t+e+r.dump()}asEncoded(){return this.envctx.toBase64WebSafe(this.asRaw())}dumpTextContent(e,t,n){let i=this.envctx.eol,r=t??e,l="";return e&&t&&!this.hasInlineAttachments()&&this.hasAttachments()?l="--"+n+i+"Content-Type: multipart/alternative; boundary="+this.boundaries.alt+i+i+"--"+this.boundaries.alt+i+e.dump()+i+i+"--"+this.boundaries.alt+i+t.dump()+i+i+"--"+this.boundaries.alt+"--":e&&t&&this.hasInlineAttachments()?l="--"+n+i+t.dump():e&&t?l="--"+n+i+e.dump()+i+i+"--"+n+i+t.dump():l="--"+n+i+r.dump(),l}hasInlineAttachments(){return this.messages.some(e=>e.isInlineAttachment())}hasAttachments(){return this.messages.some(e=>e.isAttachment())}getAttachments(){let e=t=>t.isAttachment();return this.messages.some(e)?this.messages.filter(e):[]}getInlineAttachments(){let e=t=>t.isInlineAttachment();return this.messages.some(e)?this.messages.filter(e):[]}getMessageByType(e){let t=n=>!n.isAttachment()&&!n.isInlineAttachment()&&(n.getHeader("Content-Type")||"").includes(e);return this.messages.some(t)?this.messages.filter(t)[0]:void 0}addAttachment(e){if(this.isObject(e.headers)||(e.headers={}),typeof e.filename!="string")throw new o("MIMETEXT_MISSING_FILENAME",'The property "filename" must exist while adding attachments.');let t=(e.headers["Content-Type"]??e.contentType)||"none";if(this.envctx.validateContentType(t)===!1)throw new o("MIMETEXT_INVALID_MESSAGE_TYPE",`You specified an invalid content type "${t}".`);let n=e.headers["Content-Transfer-Encoding"]??e.encoding??"base64";this.validContentTransferEncodings.includes(n)||(t="application/octet-stream");let i=e.headers["Content-ID"];typeof i=="string"&&i.length>2&&!i.startsWith("<")&&!i.endsWith(">")&&(e.headers["Content-ID"]="<"+e.headers["Content-ID"]+">");let r=e.inline?"inline":"attachment";return e.headers=Object.assign({},e.headers,{"Content-Type":`${t}; name="${e.filename}"`,"Content-Transfer-Encoding":n,"Content-Disposition":`${r}; filename="${e.filename}"`}),this._addMessage({data:e.data,headers:e.headers})}addMessage(e){this.isObject(e.headers)||(e.headers={});let t=(e.headers["Content-Type"]??e.contentType)||"none";if(!this.validTypes.includes(t))throw new o("MIMETEXT_INVALID_MESSAGE_TYPE",`Valid content types are ${this.validTypes.join(", ")} but you specified "${t}".`);let n=e.headers["Content-Transfer-Encoding"]??e.encoding??"7bit";this.validContentTransferEncodings.includes(n)||(t="application/octet-stream");let i=e.charset??"UTF-8";return e.headers=Object.assign({},e.headers,{"Content-Type":`${t}; charset=${i}`,"Content-Transfer-Encoding":n}),this._addMessage({data:e.data,headers:e.headers})}_addMessage(e){let t=new m(this.envctx,e.data,e.headers);return this.messages.push(t),t}setSender(e,t={type:"From"}){let n=new d(e,t);return this.setHeader("From",n),n}getSender(){return this.getHeader("From")}setRecipients(e,t={type:"To"}){let i=(this.isArray(e)?e:[e]).map(r=>new d(r,t));return this.setHeader(t.type,i),i}getRecipients(e={type:"To"}){return this.getHeader(e.type)}setRecipient(e,t={type:"To"}){return this.setRecipients(e,t)}setTo(e,t={type:"To"}){return this.setRecipients(e,t)}setCc(e,t={type:"Cc"}){return this.setRecipients(e,t)}setBcc(e,t={type:"Bcc"}){return this.setRecipients(e,t)}setSubject(e){return this.setHeader("subject",e),e}getSubject(){return this.getHeader("subject")}setHeader(e,t){return this.headers.set(e,t),e}getHeader(e){return this.headers.get(e)}setHeaders(e){return Object.keys(e).map(t=>this.setHeader(t,e[t]))}getHeaders(){return this.headers.toObject()}toBase64(e){return this.envctx.toBase64(e)}toBase64WebSafe(e){return this.envctx.toBase64WebSafe(e)}generateBoundaries(){this.boundaries={mixed:Math.random().toString(36).slice(2),alt:Math.random().toString(36).slice(2),related:Math.random().toString(36).slice(2)};}isArray(e){return !!e&&e.constructor===Array}isObject(e){return !!e&&e.constructor===Object}};var C={toBase64:function(e){return Utilities.base64Encode(e,Utilities.Charset.UTF_8)},toBase64WebSafe:function(e){return Utilities.base64EncodeWebSafe(e)},eol:`\r -`,validateContentType:a=>a.length>0?a:!1};function V(){return new g(C)}exports.MIMEMessage=g;exports.MIMEMessageContent=m;exports.MIMEMessageHeader=c;exports.MIMETextError=o;exports.Mailbox=d;exports.createMimeMessage=V;return exports;})({});//# sourceMappingURL=gas.global.js.map -//# sourceMappingURL=gas.global.js.map \ No newline at end of file diff --git a/dist/gas.global.js.map b/dist/gas.global.js.map deleted file mode 100644 index c3d136b..0000000 --- a/dist/gas.global.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../src/MIMETextError.ts","../src/Mailbox.ts","../src/MIMEMessageHeader.ts","../src/MIMEMessageContent.ts","../src/MIMEMessage.ts","../src/entrypoints/gas.ts"],"names":["MIMETextError","message","description","__publicField","Mailbox","input","config","arr","text","v","MIMEMessageHeader","envctx","randomstr","domain","obj","lines","field","isValueDefinedByUser","strval","memo","item","name","fieldMatcher","ind","value","dump","validProps","h","prop","MIMEMessageContentHeader","MIMEMessageContent","data","headers","eol","disposition","MIMEMessage","plaintext","html","primaryMessage","hasAttachments","hasInlineAttachments","structure","attachments","a","inlineAttachments","boundary","msg","matcher","type","opts","encoding","contentId","charset","mailbox","recs","_input","createMimeMessage"],"mappings":"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","file":"gas.global.js","sourcesContent":["export class MIMETextError extends Error {\n override name = ''\n description = ''\n\n constructor (message: string, description = '') {\n super(description)\n\n this.name = message\n this.description = description\n }\n}\n","import { MIMETextError } from './MIMETextError.js'\n\nexport class Mailbox {\n reSpecCompliantAddr = /(([^<>\\r\\n]+)\\s)?<[^\\r\\n]+>/\n name = ''\n addr = ''\n type: MailboxType = 'To'\n\n constructor (input: MailboxAddrObject | string, config: MailboxConfig = { type: 'To' }) {\n this.type = config.type\n\n this.parse(input)\n }\n\n getAddrDomain (): string {\n if (this.addr.includes('@')) {\n const arr = this.addr.split('@')\n if (arr.length > 1) return arr[1]!\n }\n return ''\n }\n\n dump (): string {\n return this.name.length > 0 ? `\"${this.name}\" <${this.addr}>` : `<${this.addr}>`\n }\n\n parse (input: MailboxAddrObject | string): this {\n if (this.isMailboxAddrObject(input)) {\n this.addr = input.addr\n if (typeof input.name === 'string') this.name = input.name\n if (typeof input.type === 'string') this.type = input.type\n return this\n }\n\n if (this.isMailboxAddrText(input)) {\n const text = input.trim()\n if (text.startsWith('<') && text.endsWith('>')) {\n this.addr = text.slice(1, -1)\n return this\n }\n const arr = text.split(' <') as [string, string]\n arr[0] = /^(\"|')/.test(arr[0]) ? arr[0].slice(1) : arr[0]\n arr[0] = /(\"|')$/.test(arr[0]) ? arr[0].slice(0, -1) : arr[0]\n arr[1] = arr[1].slice(0, -1)\n this.name = arr[0]\n this.addr = arr[1]\n return this\n }\n\n if (typeof input === 'string') {\n this.addr = input\n return this\n }\n\n throw new MIMETextError('MIMETEXT_INVALID_MAILBOX', 'Couldn\\'t recognize the input.')\n }\n\n isMailboxAddrText (v: unknown): boolean {\n return typeof v === 'string' && this.reSpecCompliantAddr.test(v)\n }\n\n isMailboxAddrObject (v: unknown): v is MailboxAddrObject {\n return this.isObject(v) && Object.hasOwn(v, 'addr')\n }\n\n isObject (v: unknown): v is object {\n return (!!v) && (v.constructor === Object)\n }\n}\n\nexport interface MailboxConfig {\n type: MailboxType\n}\nexport interface MailboxAddrObject {\n addr: string\n name?: string\n type?: MailboxType\n}\nexport type MailboxType = 'To' | 'From' | 'Cc' | 'Bcc'\n","import type { EnvironmentContext } from './MIMEMessage'\nimport { MIMETextError } from './MIMETextError.js'\nimport { Mailbox } from './Mailbox.js'\n\n/*\n Headers are based on: https://www.rfc-editor.org/rfc/rfc4021#section-2.1\n (Some are ignored as they can be added later or as a custom header.)\n*/\n\nexport class MIMEMessageHeader {\n envctx: EnvironmentContext\n fields: HeaderField[] = [\n {\n name: 'Date',\n generator: () => ((new Date()).toUTCString()).replace(/GMT|UTC/gi, '+0000')\n },\n {\n name: 'From',\n required: true,\n validate: (v: unknown) => this.validateMailboxSingle(v),\n dump: (v: unknown) => this.dumpMailboxSingle(v)\n },\n {\n name: 'Sender',\n validate: (v: unknown) => this.validateMailboxSingle(v),\n dump: (v: unknown) => this.dumpMailboxSingle(v)\n },\n {\n name: 'Reply-To',\n validate: (v: unknown) => this.validateMailboxSingle(v),\n dump: (v: unknown) => this.dumpMailboxSingle(v)\n },\n {\n name: 'To',\n validate: (v: unknown) => this.validateMailboxMulti(v),\n dump: (v: unknown) => this.dumpMailboxMulti(v)\n },\n {\n name: 'Cc',\n validate: (v: unknown) => this.validateMailboxMulti(v),\n dump: (v: unknown) => this.dumpMailboxMulti(v)\n },\n {\n name: 'Bcc',\n validate: (v: unknown) => this.validateMailboxMulti(v),\n dump: (v: unknown) => this.dumpMailboxMulti(v)\n },\n {\n name: 'Message-ID',\n generator: () => {\n const randomstr = Math.random().toString(36).slice(2)\n const from = (this.fields.filter((obj) => obj.name === 'From')[0]!).value as Mailbox\n const domain = from.getAddrDomain()\n return '<' + randomstr + '@' + domain + '>'\n }\n },\n {\n name: 'Subject',\n required: true,\n dump: (v: unknown) => {\n return typeof v === 'string' ? '=?utf-8?B?' + this.envctx.toBase64(v) + '?=' : ''\n }\n },\n {\n name: 'MIME-Version',\n generator: () => '1.0'\n }\n ]\n\n constructor (envctx: EnvironmentContext) {\n this.envctx = envctx\n }\n\n dump (): string {\n let lines = ''\n\n for (const field of this.fields) {\n if (field.disabled) continue\n const isValueDefinedByUser = field.value !== undefined && field.value !== null\n if (!isValueDefinedByUser && field.required) {\n throw new MIMETextError('MIMETEXT_MISSING_HEADER', `The \"${field.name}\" header is required.`)\n }\n if (!isValueDefinedByUser && typeof field.generator !== 'function') continue\n if (!isValueDefinedByUser && typeof field.generator === 'function') field.value = field.generator()\n const strval = Object.hasOwn(field, 'dump') && typeof field.dump === 'function'\n ? field.dump(field.value)\n : typeof field.value === 'string' ? field.value : ''\n lines += `${field.name}: ${strval}${this.envctx.eol}`\n }\n\n return lines.slice(0, -1 * this.envctx.eol.length)\n }\n\n toObject (): HeadersObject {\n return this.fields.reduce((memo: HeadersObject, item) => {\n memo[item.name] = item.value\n return memo\n }, {})\n }\n\n get (name: string): string | Mailbox | Mailbox[] | undefined {\n const fieldMatcher = (obj: HeaderField): boolean => obj.name.toLowerCase() === name.toLowerCase()\n const ind = this.fields.findIndex(fieldMatcher)\n\n return ind !== -1 ? (this.fields[ind]!).value : undefined\n }\n\n set (name: string, value: string | Mailbox | Mailbox[]): HeaderField {\n const fieldMatcher = (obj: HeaderField): boolean => obj.name.toLowerCase() === name.toLowerCase()\n const isCustomHeader = !this.fields.some(fieldMatcher)\n\n if (!isCustomHeader) {\n const ind = this.fields.findIndex(fieldMatcher)\n const field = this.fields[ind]!\n if (field.validate && !field.validate(value)) {\n throw new MIMETextError('MIMETEXT_INVALID_HEADER_VALUE', `The value for the header \"${name}\" is invalid.`)\n }\n (this.fields[ind]!).value = value\n return this.fields[ind]!\n }\n\n return this.setCustom({\n name: name,\n value: value,\n custom: true,\n dump: (v: unknown) => typeof v === 'string' ? v : ''\n })\n }\n\n setCustom (obj: HeaderField): HeaderField {\n if (this.isHeaderField(obj)) {\n if (typeof obj.value !== 'string') {\n throw new MIMETextError('MIMETEXT_INVALID_HEADER_FIELD', 'Custom header must have a value.')\n }\n this.fields.push(obj)\n return obj\n }\n\n throw new MIMETextError('MIMETEXT_INVALID_HEADER_FIELD', 'Invalid input for custom header. It must be in type of HeaderField.')\n }\n\n validateMailboxSingle (v: unknown): v is Mailbox {\n return v instanceof Mailbox\n }\n\n validateMailboxMulti (v: unknown): boolean {\n return v instanceof Mailbox || this.isArrayOfMailboxes(v)\n }\n\n dumpMailboxMulti (v: unknown): string {\n const dump = (item: Mailbox): string => item.name.length === 0\n ? item.dump()\n : `=?utf-8?B?${this.envctx.toBase64(item.name)}?= <${item.addr}>`\n return this.isArrayOfMailboxes(v) ? v.map(dump).join(`,${this.envctx.eol} `) : v instanceof Mailbox ? dump(v) : ''\n }\n\n dumpMailboxSingle (v: unknown): string {\n const dump = (item: Mailbox): string => item.name.length === 0\n ? item.dump()\n : `=?utf-8?B?${this.envctx.toBase64(item.name)}?= <${item.addr}>`\n return v instanceof Mailbox ? dump(v) : ''\n }\n\n isHeaderField (v: unknown): v is HeaderField {\n const validProps = ['name', 'value', 'dump', 'required', 'disabled', 'generator', 'custom']\n if (this.isObject(v)) {\n const h = v as HeaderField\n if (Object.hasOwn(h, 'name') && typeof h.name === 'string' && h.name.length > 0) {\n if (!Object.keys(h).some((prop) => !validProps.includes(prop))) {\n return true\n }\n }\n }\n return false\n }\n\n isObject (v: unknown): v is object {\n return (!!v) && (v.constructor === Object)\n }\n\n isArrayOfMailboxes (v: unknown): v is Mailbox[] {\n return this.isArray(v) && v.every((item: unknown) => item instanceof Mailbox)\n }\n\n isArray (v: unknown): v is never[] {\n return (!!v) && (v.constructor === Array)\n }\n}\n\nexport class MIMEMessageContentHeader extends MIMEMessageHeader {\n override fields = [\n {\n name: 'Content-ID'\n },\n {\n name: 'Content-Type'\n },\n {\n name: 'Content-Transfer-Encoding'\n },\n {\n name: 'Content-Disposition'\n }\n ]\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor (envctx: EnvironmentContext) {\n super(envctx)\n }\n}\n\nexport type HeadersObject = Record\nexport interface HeaderField {\n name: string\n dump?: (v: string | Mailbox | Mailbox[] | undefined) => string\n value?: string | Mailbox | Mailbox[] | undefined\n validate?: (v: unknown) => boolean\n required?: boolean\n disabled?: boolean\n generator?: () => string\n custom?: boolean\n}\n","import type { EnvironmentContext } from './MIMEMessage'\nimport type { Mailbox } from './Mailbox'\nimport { type HeadersObject, MIMEMessageContentHeader } from './MIMEMessageHeader.js'\n\nexport class MIMEMessageContent {\n envctx: EnvironmentContext\n headers\n data\n\n constructor (envctx: EnvironmentContext, data: string, headers = {}) {\n this.envctx = envctx\n this.headers = new MIMEMessageContentHeader(this.envctx)\n this.data = data\n this.setHeaders(headers)\n }\n\n dump (): string {\n const eol = this.envctx.eol\n return this.headers.dump() + eol + eol + this.data\n }\n\n isAttachment (): boolean {\n const disposition = this.headers.get('Content-Disposition')\n return typeof disposition === 'string' && disposition.includes('attachment')\n }\n\n isInlineAttachment (): boolean {\n const disposition = this.headers.get('Content-Disposition')\n return typeof disposition === 'string' && disposition.includes('inline')\n }\n\n setHeader (name: string, value: string | Mailbox | Mailbox[]): string {\n this.headers.set(name, value)\n return name\n }\n\n getHeader (name: string): string | Mailbox | Mailbox[] | undefined {\n return this.headers.get(name)\n }\n\n setHeaders (obj: Record): string[] {\n return Object.keys(obj).map((prop) => this.setHeader(prop, obj[prop]!))\n }\n\n getHeaders (): HeadersObject {\n return this.headers.toObject()\n }\n}\n","import type { MailboxAddrObject, MailboxConfig } from './Mailbox.js'\n\nimport { MIMETextError } from './MIMETextError.js'\nimport { type HeadersObject, MIMEMessageHeader } from './MIMEMessageHeader.js'\nimport { Mailbox } from './Mailbox.js'\nimport { MIMEMessageContent } from './MIMEMessageContent.js'\n\nexport class MIMEMessage {\n envctx: EnvironmentContext\n headers: MIMEMessageHeader\n boundaries: Boundaries = { mixed: '', alt: '', related: '' }\n validTypes = ['text/html', 'text/plain']\n validContentTransferEncodings = ['7bit', '8bit', 'binary', 'quoted-printable', 'base64']\n messages: MIMEMessageContent[] = []\n\n constructor (envctx: EnvironmentContext) {\n this.envctx = envctx\n this.headers = new MIMEMessageHeader(this.envctx)\n this.messages = []\n\n this.generateBoundaries()\n }\n\n asRaw (): string {\n const eol = this.envctx.eol\n const lines = this.headers.dump()\n\n const plaintext = this.getMessageByType('text/plain')\n const html = this.getMessageByType('text/html')\n const primaryMessage = html ?? (plaintext ?? undefined)\n\n if (primaryMessage === undefined) {\n throw new MIMETextError('MIMETEXT_MISSING_BODY', 'No content added to the message.')\n }\n\n const hasAttachments = this.hasAttachments()\n const hasInlineAttachments = this.hasInlineAttachments()\n\n const structure = hasInlineAttachments && hasAttachments\n ? 'mixed+related'\n : hasAttachments\n ? 'mixed'\n : hasInlineAttachments\n ? 'related'\n : plaintext && html\n ? 'alternative'\n : ''\n\n if (structure === 'mixed+related') {\n const attachments = this.getAttachments()\n .map((a) => '--' + this.boundaries.mixed + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n const inlineAttachments = this.getInlineAttachments()\n .map((a) => '--' + this.boundaries.related + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n return lines + eol +\n 'Content-Type: multipart/mixed; boundary=' + this.boundaries.mixed + eol +\n eol +\n '--' + this.boundaries.mixed + eol +\n 'Content-Type: multipart/related; boundary=' + this.boundaries.related + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.related) + eol +\n eol +\n inlineAttachments +\n '--' + this.boundaries.related + '--' + eol +\n attachments +\n '--' + this.boundaries.mixed + '--'\n } else if (structure === 'mixed') {\n const attachments = this.getAttachments()\n .map((a) => '--' + this.boundaries.mixed + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n return lines + eol +\n 'Content-Type: multipart/mixed; boundary=' + this.boundaries.mixed + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.mixed) + eol +\n (plaintext && html ? '' : eol) +\n attachments +\n '--' + this.boundaries.mixed + '--'\n } else if (structure === 'related') {\n const inlineAttachments = this.getInlineAttachments()\n .map((a) => '--' + this.boundaries.related + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n return lines + eol +\n 'Content-Type: multipart/related; boundary=' + this.boundaries.related + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.related) + eol +\n eol +\n inlineAttachments +\n '--' + this.boundaries.related + '--'\n } else if (structure === 'alternative') {\n return lines + eol +\n 'Content-Type: multipart/alternative; boundary=' + this.boundaries.alt + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.alt) + eol +\n eol +\n '--' + this.boundaries.alt + '--'\n } else {\n return lines + eol + primaryMessage.dump()\n }\n }\n\n asEncoded (): string {\n return this.envctx.toBase64WebSafe(this.asRaw())\n }\n\n dumpTextContent (plaintext: MIMEMessageContent | undefined, html: MIMEMessageContent | undefined, boundary: string): string {\n const eol = this.envctx.eol\n const primaryMessage = html ?? plaintext\n\n let data = ''\n\n if (plaintext && html && !this.hasInlineAttachments() && this.hasAttachments()) {\n data = '--' + boundary + eol +\n 'Content-Type: multipart/alternative; boundary=' + this.boundaries.alt + eol +\n eol +\n '--' + this.boundaries.alt + eol +\n plaintext.dump() + eol +\n eol +\n '--' + this.boundaries.alt + eol +\n html.dump() + eol +\n eol +\n '--' + this.boundaries.alt + '--'\n } else if (plaintext && html && this.hasInlineAttachments()) {\n data = '--' + boundary + eol +\n html.dump()\n } else if (plaintext && html) {\n data = '--' + boundary + eol +\n plaintext.dump() + eol +\n eol +\n '--' + boundary + eol +\n html.dump()\n } else {\n data = '--' + boundary + eol +\n (primaryMessage!).dump()\n }\n\n return data\n }\n\n hasInlineAttachments (): boolean {\n return this.messages.some((msg) => msg.isInlineAttachment())\n }\n\n hasAttachments (): boolean {\n return this.messages.some((msg) => msg.isAttachment())\n }\n\n getAttachments (): MIMEMessageContent[] | [] {\n const matcher = (msg: MIMEMessageContent): boolean => msg.isAttachment()\n return this.messages.some(matcher) ? this.messages.filter(matcher) : []\n }\n\n getInlineAttachments (): MIMEMessageContent[] | [] {\n const matcher = (msg: MIMEMessageContent): boolean => msg.isInlineAttachment()\n return this.messages.some(matcher) ? this.messages.filter(matcher) : []\n }\n\n getMessageByType (type: string): MIMEMessageContent | undefined {\n const matcher = (msg: MIMEMessageContent): boolean => !msg.isAttachment() && !msg.isInlineAttachment() && (msg.getHeader('Content-Type') as string || '').includes(type)\n return this.messages.some(matcher) ? this.messages.filter(matcher)[0] : undefined\n }\n\n addAttachment (opts: AttachmentOptions): MIMEMessageContent {\n if (!this.isObject(opts.headers)) opts.headers = {}\n\n if (typeof opts.filename !== 'string') {\n throw new MIMETextError('MIMETEXT_MISSING_FILENAME', 'The property \"filename\" must exist while adding attachments.')\n }\n\n let type = (opts.headers['Content-Type'] ?? opts.contentType) || 'none'\n if (this.envctx.validateContentType(type) === false) {\n throw new MIMETextError('MIMETEXT_INVALID_MESSAGE_TYPE', `You specified an invalid content type \"${type}\".`)\n }\n\n const encoding = (opts.headers['Content-Transfer-Encoding'] ?? opts.encoding) ?? 'base64'\n if (!this.validContentTransferEncodings.includes(encoding)) {\n type = 'application/octet-stream'\n }\n\n const contentId = opts.headers['Content-ID']\n if (typeof contentId === 'string' && contentId.length > 2 && !contentId.startsWith('<') && !contentId.endsWith('>')) {\n opts.headers['Content-ID'] = '<' + opts.headers['Content-ID'] + '>'\n }\n\n const disposition = opts.inline ? 'inline' : 'attachment'\n\n opts.headers = Object.assign({}, opts.headers, {\n 'Content-Type': `${type}; name=\"${opts.filename}\"`,\n 'Content-Transfer-Encoding': encoding,\n 'Content-Disposition': `${disposition}; filename=\"${opts.filename}\"`\n })\n\n return this._addMessage({ data: opts.data, headers: opts.headers })\n }\n\n addMessage (opts: ContentOptions): MIMEMessageContent {\n if (!this.isObject(opts.headers)) opts.headers = {}\n\n let type = (opts.headers['Content-Type'] ?? opts.contentType) || 'none'\n if (!this.validTypes.includes(type)) {\n throw new MIMETextError('MIMETEXT_INVALID_MESSAGE_TYPE', `Valid content types are ${this.validTypes.join(', ')} but you specified \"${type}\".`)\n }\n\n const encoding = (opts.headers['Content-Transfer-Encoding'] ?? opts.encoding) ?? '7bit'\n if (!this.validContentTransferEncodings.includes(encoding)) {\n type = 'application/octet-stream'\n }\n\n const charset = opts.charset ?? 'UTF-8'\n\n opts.headers = Object.assign({}, opts.headers, {\n 'Content-Type': `${type}; charset=${charset}`,\n 'Content-Transfer-Encoding': encoding\n })\n\n return this._addMessage({ data: opts.data, headers: opts.headers })\n }\n\n private _addMessage (opts: { data: string, headers: ContentHeaders }): MIMEMessageContent {\n const msg = new MIMEMessageContent(this.envctx, opts.data, opts.headers)\n\n this.messages.push(msg)\n\n return msg\n }\n\n setSender (input: MailboxAddrObject | string, config: MailboxConfig = { type: 'From' }): Mailbox {\n const mailbox = new Mailbox(input, config)\n this.setHeader('From', mailbox)\n return mailbox\n }\n\n getSender (): Mailbox | undefined {\n return this.getHeader('From') as Mailbox\n }\n\n setRecipients (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'To' }): Mailbox[] {\n const arr = !this.isArray(input) ? [input] : input\n const recs = arr.map((_input) => new Mailbox(_input, config))\n this.setHeader(config.type, recs)\n return recs\n }\n\n getRecipients (config: MailboxConfig = { type: 'To' }): Mailbox | Mailbox[] | undefined {\n return this.getHeader(config.type) as Mailbox | Mailbox[] | undefined\n }\n\n setRecipient (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'To' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setTo (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'To' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setCc (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'Cc' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setBcc (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'Bcc' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setSubject (value: string): string {\n this.setHeader('subject', value)\n return value\n }\n\n getSubject (): string | undefined {\n return this.getHeader('subject') as string\n }\n\n setHeader (name: string, value: string | Mailbox | Mailbox[]): string {\n this.headers.set(name, value)\n return name\n }\n\n getHeader (name: string): string | Mailbox | Mailbox[] | undefined {\n return this.headers.get(name)\n }\n\n setHeaders (obj: Record): string[] {\n return Object.keys(obj).map((prop) => this.setHeader(prop, obj[prop]!))\n }\n\n getHeaders (): HeadersObject {\n return this.headers.toObject()\n }\n\n toBase64 (v: string): string {\n return this.envctx.toBase64(v)\n }\n\n toBase64WebSafe (v: string): string {\n return this.envctx.toBase64WebSafe(v)\n }\n\n generateBoundaries (): void {\n this.boundaries = {\n mixed: Math.random().toString(36).slice(2),\n alt: Math.random().toString(36).slice(2),\n related: Math.random().toString(36).slice(2)\n }\n }\n\n isArray (v: unknown): v is unknown[] {\n return (!!v) && (v.constructor === Array)\n }\n\n isObject (v: unknown): v is object {\n return (!!v) && (v.constructor === Object)\n }\n}\n\nexport interface EnvironmentContext {\n toBase64: (v: string) => string\n toBase64WebSafe: (v: string) => string\n eol: string\n validateContentType: (v: string) => string | false\n}\n\nexport interface Boundaries {\n mixed: string\n alt: string\n related: string\n}\n\nexport type ContentTransferEncoding = '7bit' | '8bit' | 'binary' | 'quoted-printable' | 'base64'\n\nexport interface ContentHeaders {\n 'Content-Type'?: string\n 'Content-Transfer-Encoding'?: ContentTransferEncoding\n 'Content-Disposition'?: string\n 'Content-ID'?: string\n [index: string]: string | undefined\n}\n\nexport interface ContentOptions {\n data: string\n encoding?: ContentTransferEncoding\n contentType: string\n headers?: ContentHeaders\n charset?: string\n}\n\nexport interface AttachmentOptions extends ContentOptions {\n inline?: boolean\n filename: string\n}\n","import { MIMEMessage } from '../MIMEMessage.js'\n\nconst envctx = {\n toBase64: function toBase64 (data: string) {\n return Utilities.base64Encode(data, Utilities.Charset.UTF_8)\n },\n toBase64WebSafe: function toBase64WebSafe (data: string) {\n return Utilities.base64EncodeWebSafe(data)\n },\n eol: '\\r\\n',\n validateContentType: (v: string): string | false => {\n return v.length > 0 ? v : false\n }\n}\n\nexport function createMimeMessage (): MIMEMessage {\n return new MIMEMessage(envctx)\n}\n\nexport { MIMEMessage } from '../MIMEMessage.js'\nexport { Mailbox } from '../Mailbox.js'\nexport { MIMETextError } from '../MIMETextError.js'\nexport { MIMEMessageHeader } from '../MIMEMessageHeader.js'\nexport { MIMEMessageContent } from '../MIMEMessageContent.js'\n\nexport type * from '../MIMEMessage.js'\nexport type * from '../Mailbox.js'\nexport type * from '../MIMETextError.js'\nexport type * from '../MIMEMessageHeader.js'\nexport type * from '../MIMEMessageContent.js'\n"]} \ No newline at end of file diff --git a/dist/gas.js b/dist/gas.js deleted file mode 100644 index 249f9a9..0000000 --- a/dist/gas.js +++ /dev/null @@ -1,3 +0,0 @@ -import {e}from'./chunk-VH3IXZT5.js';export{e as MIMEMessage,d as MIMEMessageContent,c as MIMEMessageHeader,a as MIMETextError,b as Mailbox}from'./chunk-VH3IXZT5.js';var n={toBase64:function(t){return Utilities.base64Encode(t,Utilities.Charset.UTF_8)},toBase64WebSafe:function(t){return Utilities.base64EncodeWebSafe(t)},eol:`\r -`,validateContentType:e=>e.length>0?e:!1};function x(){return new e(n)}export{x as createMimeMessage};//# sourceMappingURL=gas.js.map -//# sourceMappingURL=gas.js.map \ No newline at end of file diff --git a/dist/gas.js.map b/dist/gas.js.map deleted file mode 100644 index 60531a3..0000000 --- a/dist/gas.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../src/entrypoints/gas.ts"],"names":["envctx","data","v","createMimeMessage","MIMEMessage"],"mappings":"qKAEA,IAAMA,CAAAA,CAAS,CACX,QAAA,CAAU,SAAmBC,CAAAA,CAAc,CACvC,OAAO,SAAA,CAAU,YAAaA,CAAAA,CAAAA,CAAM,SAAU,CAAA,OAAA,CAAQ,KAAK,CAC/D,CAAA,CACA,eAAiB,CAAA,SAA0BA,CAAc,CAAA,CACrD,OAAO,SAAA,CAAU,mBAAoBA,CAAAA,CAAI,CAC7C,CAAA,CACA,GAAK,CAAA,CAAA;AAAA,CAAA,CACL,mBAAsBC,CAAAA,CAAAA,EACXA,CAAE,CAAA,MAAA,CAAS,EAAIA,CAAI,CAAA,CAAA,CAElC,CAEO,CAAA,SAASC,GAAkC,CAC9C,OAAO,IAAIC,CAAAA,CAAYJ,CAAM,CACjC","file":"gas.js","sourcesContent":["import { MIMEMessage } from '../MIMEMessage.js'\n\nconst envctx = {\n toBase64: function toBase64 (data: string) {\n return Utilities.base64Encode(data, Utilities.Charset.UTF_8)\n },\n toBase64WebSafe: function toBase64WebSafe (data: string) {\n return Utilities.base64EncodeWebSafe(data)\n },\n eol: '\\r\\n',\n validateContentType: (v: string): string | false => {\n return v.length > 0 ? v : false\n }\n}\n\nexport function createMimeMessage (): MIMEMessage {\n return new MIMEMessage(envctx)\n}\n\nexport { MIMEMessage } from '../MIMEMessage.js'\nexport { Mailbox } from '../Mailbox.js'\nexport { MIMETextError } from '../MIMETextError.js'\nexport { MIMEMessageHeader } from '../MIMEMessageHeader.js'\nexport { MIMEMessageContent } from '../MIMEMessageContent.js'\n\nexport type * from '../MIMEMessage.js'\nexport type * from '../Mailbox.js'\nexport type * from '../MIMETextError.js'\nexport type * from '../MIMEMessageHeader.js'\nexport type * from '../MIMEMessageContent.js'\n"]} \ No newline at end of file diff --git a/dist/mimetext.browser.cjs.js b/dist/mimetext.browser.cjs.js new file mode 100644 index 0000000..0f474c3 --- /dev/null +++ b/dist/mimetext.browser.cjs.js @@ -0,0 +1,2 @@ +"use strict";var e=require("js-base64"),t=require("@babel/runtime-corejs3/helpers/esm/defineProperty"),s=require("@babel/runtime-corejs3/core-js/instance/trim");class n extends Error{constructor(e){let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";super(s),t(this,"name",""),t(this,"description",""),this.name=e,this.description=s}}class i{constructor(e){let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{type:"To"};t(this,"reSpecCompliantAddr",/(([^<>\r\n]+)\s)?<[^\r\n]+>/),t(this,"name",""),t(this,"addr",""),t(this,"type","To"),this.type=s.type,this.parse(e)}getAddrDomain(){if(this.addr.includes("@")){const e=this.addr.split("@");if(e.length>1)return e[1]}return""}dump(){return this.name.length>0?'"'.concat(this.name,'" <').concat(this.addr,">"):"<".concat(this.addr,">")}parse(e){if(this.isMailboxAddrObject(e))return this.addr=e.addr,"string"==typeof e.name&&(this.name=e.name),"string"==typeof e.type&&(this.type=e.type),this;if(this.isMailboxAddrText(e)){const t=s(e).call(e);if(t.startsWith("<")&&t.endsWith(">"))return this.addr=t.slice(1,-1),this;const n=t.split(" <");return n[0]=/^("|')/.test(n[0])?n[0].slice(1):n[0],n[0]=/("|')$/.test(n[0])?n[0].slice(0,-1):n[0],n[1]=n[1].slice(0,-1),this.name=n[0],this.addr=n[1],this}if("string"==typeof e)return this.addr=e,this;throw new n("MIMETEXT_INVALID_MAILBOX","Couldn't recognize the input.")}isMailboxAddrText(e){return"string"==typeof e&&this.reSpecCompliantAddr.test(e)}isMailboxAddrObject(e){return this.isObject(e)&&Object.hasOwn(e,"addr")}isObject(e){return!!e&&e.constructor===Object}}class a{constructor(e){t(this,"envctx",void 0),t(this,"fields",[{name:"Date",generator:()=>(new Date).toUTCString().replace(/GMT|UTC/gi,"+0000")},{name:"From",required:!0,validate:e=>this.validateMailboxSingle(e),dump:e=>this.dumpMailboxSingle(e)},{name:"Sender",validate:e=>this.validateMailboxSingle(e),dump:e=>this.dumpMailboxSingle(e)},{name:"Reply-To",validate:e=>this.validateMailboxSingle(e),dump:e=>this.dumpMailboxSingle(e)},{name:"To",validate:e=>this.validateMailboxMulti(e),dump:e=>this.dumpMailboxMulti(e)},{name:"Cc",validate:e=>this.validateMailboxMulti(e),dump:e=>this.dumpMailboxMulti(e)},{name:"Bcc",validate:e=>this.validateMailboxMulti(e),dump:e=>this.dumpMailboxMulti(e)},{name:"Message-ID",generator:()=>"<"+Math.random().toString(36).slice(2)+"@"+this.fields.filter((e=>"From"===e.name))[0].value.getAddrDomain()+">"},{name:"Subject",required:!0,dump:e=>"string"==typeof e?"=?utf-8?B?"+this.envctx.toBase64(e)+"?=":""},{name:"MIME-Version",generator:()=>"1.0"}]),this.envctx=e}dump(){let e="";for(const t of this.fields){if(t.disabled)continue;const s=void 0!==t.value&&null!==t.value;if(!s&&t.required)throw new n("MIMETEXT_MISSING_HEADER",'The "'.concat(t.name,'" header is required.'));if(!s&&"function"!=typeof t.generator)continue;s||"function"!=typeof t.generator||(t.value=t.generator());const i=Object.hasOwn(t,"dump")&&"function"==typeof t.dump?t.dump(t.value):"string"==typeof t.value?t.value:"";e+="".concat(t.name,": ").concat(i).concat(this.envctx.eol)}return e.slice(0,-1*this.envctx.eol.length)}toObject(){return this.fields.reduce(((e,t)=>(e[t.name]=t.value,e)),{})}get(e){const t=this.fields.findIndex((t=>t.name.toLowerCase()===e.toLowerCase()));return-1!==t?this.fields[t].value:void 0}set(e,t){const s=t=>t.name.toLowerCase()===e.toLowerCase();if(!!this.fields.some(s)){const i=this.fields.findIndex(s),a=this.fields[i];if(a.validate&&!a.validate(t))throw new n("MIMETEXT_INVALID_HEADER_VALUE",'The value for the header "'.concat(e,'" is invalid.'));return this.fields[i].value=t,this.fields[i]}return this.setCustom({name:e,value:t,custom:!0,dump:e=>"string"==typeof e?e:""})}setCustom(e){if(this.isHeaderField(e)){if("string"!=typeof e.value)throw new n("MIMETEXT_INVALID_HEADER_FIELD","Custom header must have a value.");return this.fields.push(e),e}throw new n("MIMETEXT_INVALID_HEADER_FIELD","Invalid input for custom header. It must be in type of HeaderField.")}validateMailboxSingle(e){return e instanceof i}validateMailboxMulti(e){return e instanceof i||this.isArrayOfMailboxes(e)}dumpMailboxMulti(e){const t=e=>0===e.name.length?e.dump():"=?utf-8?B?".concat(this.envctx.toBase64(e.name),"?= <").concat(e.addr,">");return this.isArrayOfMailboxes(e)?e.map(t).join(",".concat(this.envctx.eol," ")):e instanceof i?t(e):""}dumpMailboxSingle(e){return e instanceof i?(e=>0===e.name.length?e.dump():"=?utf-8?B?".concat(this.envctx.toBase64(e.name),"?= <").concat(e.addr,">"))(e):""}isHeaderField(e){const t=["name","value","dump","required","disabled","generator","custom"];if(this.isObject(e)){const s=e;if(Object.hasOwn(s,"name")&&"string"==typeof s.name&&s.name.length>0&&!Object.keys(s).some((e=>!t.includes(e))))return!0}return!1}isObject(e){return!!e&&e.constructor===Object}isArrayOfMailboxes(e){return this.isArray(e)&&e.every((e=>e instanceof i))}isArray(e){return!!e&&e.constructor===Array}}class r extends a{constructor(e){super(e),t(this,"fields",[{name:"Content-ID"},{name:"Content-Type"},{name:"Content-Transfer-Encoding"},{name:"Content-Disposition"}])}}class o{constructor(e,s){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};t(this,"envctx",void 0),t(this,"headers",void 0),t(this,"data",void 0),this.envctx=e,this.headers=new r(this.envctx),this.data=s,this.setHeaders(n)}dump(){const e=this.envctx.eol;return this.headers.dump()+e+e+this.data}isAttachment(){const e=this.headers.get("Content-Disposition");return"string"==typeof e&&e.includes("attachment")}isInlineAttachment(){const e=this.headers.get("Content-Disposition");return"string"==typeof e&&e.includes("inline")}setHeader(e,t){return this.headers.set(e,t),e}getHeader(e){return this.headers.get(e)}setHeaders(e){return Object.keys(e).map((t=>this.setHeader(t,e[t])))}getHeaders(){return this.headers.toObject()}}class d{constructor(e){t(this,"envctx",void 0),t(this,"headers",void 0),t(this,"boundaries",{mixed:"",alt:"",related:""}),t(this,"validTypes",["text/html","text/plain"]),t(this,"validContentTransferEncodings",["7bit","8bit","binary","quoted-printable","base64"]),t(this,"messages",[]),this.envctx=e,this.headers=new a(this.envctx),this.messages=[],this.generateBoundaries()}asRaw(){const e=this.envctx.eol,t=this.headers.dump(),s=this.getMessageByType("text/plain"),i=this.getMessageByType("text/html"),a=null!=i?i:null!=s?s:void 0;if(void 0===a)throw new n("MIMETEXT_MISSING_BODY","No content added to the message.");const r=this.hasAttachments(),o=this.hasInlineAttachments(),d=o&&r?"mixed+related":r?"mixed":o?"related":s&&i?"alternative":"";if("mixed+related"===d){const n=this.getAttachments().map((t=>"--"+this.boundaries.mixed+e+t.dump()+e+e)).join("").slice(0,-1*e.length),a=this.getInlineAttachments().map((t=>"--"+this.boundaries.related+e+t.dump()+e+e)).join("").slice(0,-1*e.length);return t+e+"Content-Type: multipart/mixed; boundary="+this.boundaries.mixed+e+e+"--"+this.boundaries.mixed+e+"Content-Type: multipart/related; boundary="+this.boundaries.related+e+e+this.dumpTextContent(s,i,this.boundaries.related)+e+e+a+"--"+this.boundaries.related+"--"+e+n+"--"+this.boundaries.mixed+"--"}if("mixed"===d){const n=this.getAttachments().map((t=>"--"+this.boundaries.mixed+e+t.dump()+e+e)).join("").slice(0,-1*e.length);return t+e+"Content-Type: multipart/mixed; boundary="+this.boundaries.mixed+e+e+this.dumpTextContent(s,i,this.boundaries.mixed)+e+(s&&i?"":e)+n+"--"+this.boundaries.mixed+"--"}if("related"===d){const n=this.getInlineAttachments().map((t=>"--"+this.boundaries.related+e+t.dump()+e+e)).join("").slice(0,-1*e.length);return t+e+"Content-Type: multipart/related; boundary="+this.boundaries.related+e+e+this.dumpTextContent(s,i,this.boundaries.related)+e+e+n+"--"+this.boundaries.related+"--"}return"alternative"===d?t+e+"Content-Type: multipart/alternative; boundary="+this.boundaries.alt+e+e+this.dumpTextContent(s,i,this.boundaries.alt)+e+e+"--"+this.boundaries.alt+"--":t+e+a.dump()}asEncoded(){return this.envctx.toBase64WebSafe(this.asRaw())}dumpTextContent(e,t,s){const n=this.envctx.eol,i=null!=t?t:e;let a="";return a=e&&t&&!this.hasInlineAttachments()&&this.hasAttachments()?"--"+s+n+"Content-Type: multipart/alternative; boundary="+this.boundaries.alt+n+n+"--"+this.boundaries.alt+n+e.dump()+n+n+"--"+this.boundaries.alt+n+t.dump()+n+n+"--"+this.boundaries.alt+"--":e&&t&&this.hasInlineAttachments()?"--"+s+n+t.dump():e&&t?"--"+s+n+e.dump()+n+n+"--"+s+n+t.dump():"--"+s+n+i.dump(),a}hasInlineAttachments(){return this.messages.some((e=>e.isInlineAttachment()))}hasAttachments(){return this.messages.some((e=>e.isAttachment()))}getAttachments(){const e=e=>e.isAttachment();return this.messages.some(e)?this.messages.filter(e):[]}getInlineAttachments(){const e=e=>e.isInlineAttachment();return this.messages.some(e)?this.messages.filter(e):[]}getMessageByType(e){const t=t=>!t.isAttachment()&&!t.isInlineAttachment()&&(t.getHeader("Content-Type")||"").includes(e);return this.messages.some(t)?this.messages.filter(t)[0]:void 0}addAttachment(e){var t,s,i;if(this.isObject(e.headers)||(e.headers={}),"string"!=typeof e.filename)throw new n("MIMETEXT_MISSING_FILENAME",'The property "filename" must exist while adding attachments.');let a=(null!==(t=e.headers["Content-Type"])&&void 0!==t?t:e.contentType)||"none";if(!1===this.envctx.validateContentType(a))throw new n("MIMETEXT_INVALID_MESSAGE_TYPE",'You specified an invalid content type "'.concat(a,'".'));const r=null!==(s=null!==(i=e.headers["Content-Transfer-Encoding"])&&void 0!==i?i:e.encoding)&&void 0!==s?s:"base64";this.validContentTransferEncodings.includes(r)||(a="application/octet-stream");const o=e.headers["Content-ID"];"string"==typeof o&&o.length>2&&!o.startsWith("<")&&!o.endsWith(">")&&(e.headers["Content-ID"]="<"+e.headers["Content-ID"]+">");const d=e.inline?"inline":"attachment";return e.headers=Object.assign({},e.headers,{"Content-Type":"".concat(a,'; name="').concat(e.filename,'"'),"Content-Transfer-Encoding":r,"Content-Disposition":"".concat(d,'; filename="').concat(e.filename,'"')}),this._addMessage({data:e.data,headers:e.headers})}addMessage(e){var t,s,i,a;this.isObject(e.headers)||(e.headers={});let r=(null!==(t=e.headers["Content-Type"])&&void 0!==t?t:e.contentType)||"none";if(!this.validTypes.includes(r))throw new n("MIMETEXT_INVALID_MESSAGE_TYPE","Valid content types are ".concat(this.validTypes.join(", "),' but you specified "').concat(r,'".'));const o=null!==(s=null!==(i=e.headers["Content-Transfer-Encoding"])&&void 0!==i?i:e.encoding)&&void 0!==s?s:"7bit";this.validContentTransferEncodings.includes(o)||(r="application/octet-stream");const d=null!==(a=e.charset)&&void 0!==a?a:"UTF-8";return e.headers=Object.assign({},e.headers,{"Content-Type":"".concat(r,"; charset=").concat(d),"Content-Transfer-Encoding":o}),this._addMessage({data:e.data,headers:e.headers})}_addMessage(e){const t=new o(this.envctx,e.data,e.headers);return this.messages.push(t),t}setSender(e){const t=new i(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{type:"From"});return this.setHeader("From",t),t}getSender(){return this.getHeader("From")}setRecipients(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{type:"To"};const s=(this.isArray(e)?e:[e]).map((e=>new i(e,t)));return this.setHeader(t.type,s),s}getRecipients(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{type:"To"};return this.getHeader(e.type)}setRecipient(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{type:"To"};return this.setRecipients(e,t)}setTo(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{type:"To"};return this.setRecipients(e,t)}setCc(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{type:"Cc"};return this.setRecipients(e,t)}setBcc(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{type:"Bcc"};return this.setRecipients(e,t)}setSubject(e){return this.setHeader("subject",e),e}getSubject(){return this.getHeader("subject")}setHeader(e,t){return this.headers.set(e,t),e}getHeader(e){return this.headers.get(e)}setHeaders(e){return Object.keys(e).map((t=>this.setHeader(t,e[t])))}getHeaders(){return this.headers.toObject()}toBase64(e){return this.envctx.toBase64(e)}toBase64WebSafe(e){return this.envctx.toBase64WebSafe(e)}generateBoundaries(){this.boundaries={mixed:Math.random().toString(36).slice(2),alt:Math.random().toString(36).slice(2),related:Math.random().toString(36).slice(2)}}isArray(e){return!!e&&e.constructor===Array}isObject(e){return!!e&&e.constructor===Object}}const h={toBase64:function(t){return e.Base64.encode(t)},toBase64WebSafe:function(t){return e.Base64.encodeURI(t)},eol:"\r\n",validateContentType:e=>e.length>0&&e};exports.MIMEMessage=d,exports.MIMEMessageContent=o,exports.MIMEMessageHeader=a,exports.MIMETextError=n,exports.Mailbox=i,exports.createMimeMessage=function(){return new d(h)}; +//# sourceMappingURL=mimetext.browser.cjs.js.map diff --git a/dist/mimetext.browser.cjs.js.map b/dist/mimetext.browser.cjs.js.map new file mode 100644 index 0000000..461f110 --- /dev/null +++ b/dist/mimetext.browser.cjs.js.map @@ -0,0 +1 @@ +{"version":3,"file":"mimetext.browser.cjs.js","sources":["../src/MIMETextError.ts","../src/Mailbox.ts","../src/MIMEMessageHeader.ts","../src/MIMEMessageContent.ts","../src/MIMEMessage.ts","../src/entrypoints/browser.ts"],"sourcesContent":["export class MIMETextError extends Error {\n override name = ''\n description = ''\n\n constructor (message: string, description = '') {\n super(description)\n\n this.name = message\n this.description = description\n }\n}\n","import { MIMETextError } from './MIMETextError.js'\n\nexport class Mailbox {\n reSpecCompliantAddr = /(([^<>\\r\\n]+)\\s)?<[^\\r\\n]+>/\n name = ''\n addr = ''\n type: MailboxType = 'To'\n\n constructor (input: MailboxAddrObject | string, config: MailboxConfig = { type: 'To' }) {\n this.type = config.type\n\n this.parse(input)\n }\n\n getAddrDomain (): string {\n if (this.addr.includes('@')) {\n const arr = this.addr.split('@')\n if (arr.length > 1) return arr[1]!\n }\n return ''\n }\n\n dump (): string {\n return this.name.length > 0 ? `\"${this.name}\" <${this.addr}>` : `<${this.addr}>`\n }\n\n parse (input: MailboxAddrObject | string): this {\n if (this.isMailboxAddrObject(input)) {\n this.addr = input.addr\n if (typeof input.name === 'string') this.name = input.name\n if (typeof input.type === 'string') this.type = input.type\n return this\n }\n\n if (this.isMailboxAddrText(input)) {\n const text = input.trim()\n if (text.startsWith('<') && text.endsWith('>')) {\n this.addr = text.slice(1, -1)\n return this\n }\n const arr = text.split(' <') as [string, string]\n arr[0] = /^(\"|')/.test(arr[0]) ? arr[0].slice(1) : arr[0]\n arr[0] = /(\"|')$/.test(arr[0]) ? arr[0].slice(0, -1) : arr[0]\n arr[1] = arr[1].slice(0, -1)\n this.name = arr[0]\n this.addr = arr[1]\n return this\n }\n\n if (typeof input === 'string') {\n this.addr = input\n return this\n }\n\n throw new MIMETextError('MIMETEXT_INVALID_MAILBOX', 'Couldn\\'t recognize the input.')\n }\n\n isMailboxAddrText (v: unknown): boolean {\n return typeof v === 'string' && this.reSpecCompliantAddr.test(v)\n }\n\n isMailboxAddrObject (v: unknown): v is MailboxAddrObject {\n return this.isObject(v) && Object.hasOwn(v, 'addr')\n }\n\n isObject (v: unknown): v is object {\n return (!!v) && (v.constructor === Object)\n }\n}\n\nexport interface MailboxConfig {\n type: MailboxType\n}\nexport interface MailboxAddrObject {\n addr: string\n name?: string\n type?: MailboxType\n}\nexport type MailboxType = 'To' | 'From' | 'Cc' | 'Bcc'\n","import type { EnvironmentContext } from \"./MIMEMessage\";\nimport { MIMETextError } from \"./MIMETextError.js\";\nimport { Mailbox } from \"./Mailbox.js\";\n\n/*\n Headers are based on: https://www.rfc-editor.org/rfc/rfc4021#section-2.1\n (Some are ignored as they can be added later or as a custom header.)\n*/\n\nexport class MIMEMessageHeader {\n envctx: EnvironmentContext;\n fields: HeaderField[] = [\n {\n name: \"Date\",\n generator: () =>\n new Date().toUTCString().replace(/GMT|UTC/gi, \"+0000\"),\n },\n {\n name: \"From\",\n required: true,\n validate: (v: unknown) => this.validateMailboxSingle(v),\n dump: (v: unknown) => this.dumpMailboxSingle(v),\n },\n {\n name: \"Sender\",\n validate: (v: unknown) => this.validateMailboxSingle(v),\n dump: (v: unknown) => this.dumpMailboxSingle(v),\n },\n {\n name: \"Reply-To\",\n validate: (v: unknown) => this.validateMailboxSingle(v),\n dump: (v: unknown) => this.dumpMailboxSingle(v),\n },\n {\n name: \"To\",\n validate: (v: unknown) => this.validateMailboxMulti(v),\n dump: (v: unknown) => this.dumpMailboxMulti(v),\n },\n {\n name: \"Cc\",\n validate: (v: unknown) => this.validateMailboxMulti(v),\n dump: (v: unknown) => this.dumpMailboxMulti(v),\n },\n {\n name: \"Bcc\",\n validate: (v: unknown) => this.validateMailboxMulti(v),\n dump: (v: unknown) => this.dumpMailboxMulti(v),\n },\n {\n name: \"Message-ID\",\n generator: () => {\n const randomstr = Math.random().toString(36).slice(2);\n const from = this.fields.filter(\n (obj) => obj.name === \"From\",\n )[0]!.value as Mailbox;\n const domain = from.getAddrDomain();\n return \"<\" + randomstr + \"@\" + domain + \">\";\n },\n },\n {\n name: \"Subject\",\n required: true,\n dump: (v: unknown) => {\n return typeof v === \"string\"\n ? \"=?utf-8?B?\" + this.envctx.toBase64(v) + \"?=\"\n : \"\";\n },\n },\n {\n name: \"MIME-Version\",\n generator: () => \"1.0\",\n },\n ];\n\n constructor(envctx: EnvironmentContext) {\n this.envctx = envctx;\n }\n\n dump(): string {\n let lines = \"\";\n\n for (const field of this.fields) {\n if (field.disabled) continue;\n const isValueDefinedByUser =\n field.value !== undefined && field.value !== null;\n if (!isValueDefinedByUser && field.required) {\n throw new MIMETextError(\n \"MIMETEXT_MISSING_HEADER\",\n `The \"${field.name}\" header is required.`,\n );\n }\n if (!isValueDefinedByUser && typeof field.generator !== \"function\")\n continue;\n if (!isValueDefinedByUser && typeof field.generator === \"function\")\n field.value = field.generator();\n const strval =\n Object.hasOwn(field, \"dump\") && typeof field.dump === \"function\"\n ? field.dump(field.value)\n : typeof field.value === \"string\"\n ? field.value\n : \"\";\n lines += `${field.name}: ${strval}${this.envctx.eol}`;\n }\n\n return lines.slice(0, -1 * this.envctx.eol.length);\n }\n\n toObject(): HeadersObject {\n return this.fields.reduce((memo: HeadersObject, item) => {\n memo[item.name] = item.value;\n return memo;\n }, {});\n }\n\n get(name: string): string | Mailbox | Mailbox[] | undefined {\n const fieldMatcher = (obj: HeaderField): boolean =>\n obj.name.toLowerCase() === name.toLowerCase();\n const ind = this.fields.findIndex(fieldMatcher);\n\n return ind !== -1 ? this.fields[ind]!.value : undefined;\n }\n\n set(name: string, value: string | Mailbox | Mailbox[]): HeaderField {\n const fieldMatcher = (obj: HeaderField): boolean =>\n obj.name.toLowerCase() === name.toLowerCase();\n const isCustomHeader = !this.fields.some(fieldMatcher);\n\n if (!isCustomHeader) {\n const ind = this.fields.findIndex(fieldMatcher);\n const field = this.fields[ind]!;\n if (field.validate && !field.validate(value)) {\n throw new MIMETextError(\n \"MIMETEXT_INVALID_HEADER_VALUE\",\n `The value for the header \"${name}\" is invalid.`,\n );\n }\n this.fields[ind]!.value = value;\n return this.fields[ind]!;\n }\n\n return this.setCustom({\n name: name,\n value: value,\n custom: true,\n dump: (v: unknown) => (typeof v === \"string\" ? v : \"\"),\n });\n }\n\n setCustom(obj: HeaderField): HeaderField {\n if (this.isHeaderField(obj)) {\n if (typeof obj.value !== \"string\") {\n throw new MIMETextError(\n \"MIMETEXT_INVALID_HEADER_FIELD\",\n \"Custom header must have a value.\",\n );\n }\n this.fields.push(obj);\n return obj;\n }\n\n throw new MIMETextError(\n \"MIMETEXT_INVALID_HEADER_FIELD\",\n \"Invalid input for custom header. It must be in type of HeaderField.\",\n );\n }\n\n validateMailboxSingle(v: unknown): v is Mailbox {\n return v instanceof Mailbox;\n }\n\n validateMailboxMulti(v: unknown): boolean {\n return v instanceof Mailbox || this.isArrayOfMailboxes(v);\n }\n\n dumpMailboxMulti(v: unknown): string {\n const dump = (item: Mailbox): string =>\n item.name.length === 0\n ? item.dump()\n : `=?utf-8?B?${this.envctx.toBase64(item.name)}?= <${item.addr}>`;\n return this.isArrayOfMailboxes(v)\n ? v.map(dump).join(`,${this.envctx.eol} `)\n : v instanceof Mailbox\n ? dump(v)\n : \"\";\n }\n\n dumpMailboxSingle(v: unknown): string {\n const dump = (item: Mailbox): string =>\n item.name.length === 0\n ? item.dump()\n : `=?utf-8?B?${this.envctx.toBase64(item.name)}?= <${item.addr}>`;\n return v instanceof Mailbox ? dump(v) : \"\";\n }\n\n isHeaderField(v: unknown): v is HeaderField {\n const validProps = [\n \"name\",\n \"value\",\n \"dump\",\n \"required\",\n \"disabled\",\n \"generator\",\n \"custom\",\n ];\n if (this.isObject(v)) {\n const h = v as HeaderField;\n if (\n Object.hasOwn(h, \"name\") &&\n typeof h.name === \"string\" &&\n h.name.length > 0\n ) {\n if (\n !Object.keys(h).some((prop) => !validProps.includes(prop))\n ) {\n return true;\n }\n }\n }\n return false;\n }\n\n isObject(v: unknown): v is object {\n return !!v && v.constructor === Object;\n }\n\n isArrayOfMailboxes(v: unknown): v is Mailbox[] {\n return (\n this.isArray(v) &&\n v.every((item: unknown) => item instanceof Mailbox)\n );\n }\n\n isArray(v: unknown): v is never[] {\n return !!v && v.constructor === Array;\n }\n}\n\nexport class MIMEMessageContentHeader extends MIMEMessageHeader {\n override fields = [\n {\n name: \"Content-ID\",\n },\n {\n name: \"Content-Type\",\n },\n {\n name: \"Content-Transfer-Encoding\",\n },\n {\n name: \"Content-Disposition\",\n },\n ];\n\n constructor(envctx: EnvironmentContext) {\n super(envctx);\n }\n}\n\nexport type HeadersObject = Record<\n string,\n string | Mailbox | Mailbox[] | undefined\n>;\nexport interface HeaderField {\n name: string;\n dump?: (v: string | Mailbox | Mailbox[] | undefined) => string;\n value?: string | Mailbox | Mailbox[] | undefined;\n validate?: (v: unknown) => boolean;\n required?: boolean;\n disabled?: boolean;\n generator?: () => string;\n custom?: boolean;\n}\n","import type { EnvironmentContext } from './MIMEMessage'\nimport type { Mailbox } from './Mailbox'\nimport { type HeadersObject, MIMEMessageContentHeader } from './MIMEMessageHeader.js'\n\nexport class MIMEMessageContent {\n envctx: EnvironmentContext\n headers\n data\n\n constructor (envctx: EnvironmentContext, data: string, headers = {}) {\n this.envctx = envctx\n this.headers = new MIMEMessageContentHeader(this.envctx)\n this.data = data\n this.setHeaders(headers)\n }\n\n dump (): string {\n const eol = this.envctx.eol\n return this.headers.dump() + eol + eol + this.data\n }\n\n isAttachment (): boolean {\n const disposition = this.headers.get('Content-Disposition')\n return typeof disposition === 'string' && disposition.includes('attachment')\n }\n\n isInlineAttachment (): boolean {\n const disposition = this.headers.get('Content-Disposition')\n return typeof disposition === 'string' && disposition.includes('inline')\n }\n\n setHeader (name: string, value: string | Mailbox | Mailbox[]): string {\n this.headers.set(name, value)\n return name\n }\n\n getHeader (name: string): string | Mailbox | Mailbox[] | undefined {\n return this.headers.get(name)\n }\n\n setHeaders (obj: Record): string[] {\n return Object.keys(obj).map((prop) => this.setHeader(prop, obj[prop]!))\n }\n\n getHeaders (): HeadersObject {\n return this.headers.toObject()\n }\n}\n","import type { MailboxAddrObject, MailboxConfig } from './Mailbox.js'\n\nimport { MIMETextError } from './MIMETextError.js'\nimport { type HeadersObject, MIMEMessageHeader } from './MIMEMessageHeader.js'\nimport { Mailbox } from './Mailbox.js'\nimport { MIMEMessageContent } from './MIMEMessageContent.js'\n\nexport class MIMEMessage {\n envctx: EnvironmentContext\n headers: MIMEMessageHeader\n boundaries: Boundaries = { mixed: '', alt: '', related: '' }\n validTypes = ['text/html', 'text/plain']\n validContentTransferEncodings = ['7bit', '8bit', 'binary', 'quoted-printable', 'base64']\n messages: MIMEMessageContent[] = []\n\n constructor (envctx: EnvironmentContext) {\n this.envctx = envctx\n this.headers = new MIMEMessageHeader(this.envctx)\n this.messages = []\n\n this.generateBoundaries()\n }\n\n asRaw (): string {\n const eol = this.envctx.eol\n const lines = this.headers.dump()\n\n const plaintext = this.getMessageByType('text/plain')\n const html = this.getMessageByType('text/html')\n const primaryMessage = html ?? (plaintext ?? undefined)\n\n if (primaryMessage === undefined) {\n throw new MIMETextError('MIMETEXT_MISSING_BODY', 'No content added to the message.')\n }\n\n const hasAttachments = this.hasAttachments()\n const hasInlineAttachments = this.hasInlineAttachments()\n\n const structure = hasInlineAttachments && hasAttachments\n ? 'mixed+related'\n : hasAttachments\n ? 'mixed'\n : hasInlineAttachments\n ? 'related'\n : plaintext && html\n ? 'alternative'\n : ''\n\n if (structure === 'mixed+related') {\n const attachments = this.getAttachments()\n .map((a) => '--' + this.boundaries.mixed + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n const inlineAttachments = this.getInlineAttachments()\n .map((a) => '--' + this.boundaries.related + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n return lines + eol +\n 'Content-Type: multipart/mixed; boundary=' + this.boundaries.mixed + eol +\n eol +\n '--' + this.boundaries.mixed + eol +\n 'Content-Type: multipart/related; boundary=' + this.boundaries.related + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.related) + eol +\n eol +\n inlineAttachments +\n '--' + this.boundaries.related + '--' + eol +\n attachments +\n '--' + this.boundaries.mixed + '--'\n } else if (structure === 'mixed') {\n const attachments = this.getAttachments()\n .map((a) => '--' + this.boundaries.mixed + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n return lines + eol +\n 'Content-Type: multipart/mixed; boundary=' + this.boundaries.mixed + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.mixed) + eol +\n (plaintext && html ? '' : eol) +\n attachments +\n '--' + this.boundaries.mixed + '--'\n } else if (structure === 'related') {\n const inlineAttachments = this.getInlineAttachments()\n .map((a) => '--' + this.boundaries.related + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n return lines + eol +\n 'Content-Type: multipart/related; boundary=' + this.boundaries.related + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.related) + eol +\n eol +\n inlineAttachments +\n '--' + this.boundaries.related + '--'\n } else if (structure === 'alternative') {\n return lines + eol +\n 'Content-Type: multipart/alternative; boundary=' + this.boundaries.alt + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.alt) + eol +\n eol +\n '--' + this.boundaries.alt + '--'\n } else {\n return lines + eol + primaryMessage.dump()\n }\n }\n\n asEncoded (): string {\n return this.envctx.toBase64WebSafe(this.asRaw())\n }\n\n dumpTextContent (plaintext: MIMEMessageContent | undefined, html: MIMEMessageContent | undefined, boundary: string): string {\n const eol = this.envctx.eol\n const primaryMessage = html ?? plaintext\n\n let data = ''\n\n if (plaintext && html && !this.hasInlineAttachments() && this.hasAttachments()) {\n data = '--' + boundary + eol +\n 'Content-Type: multipart/alternative; boundary=' + this.boundaries.alt + eol +\n eol +\n '--' + this.boundaries.alt + eol +\n plaintext.dump() + eol +\n eol +\n '--' + this.boundaries.alt + eol +\n html.dump() + eol +\n eol +\n '--' + this.boundaries.alt + '--'\n } else if (plaintext && html && this.hasInlineAttachments()) {\n data = '--' + boundary + eol +\n html.dump()\n } else if (plaintext && html) {\n data = '--' + boundary + eol +\n plaintext.dump() + eol +\n eol +\n '--' + boundary + eol +\n html.dump()\n } else {\n data = '--' + boundary + eol +\n (primaryMessage!).dump()\n }\n\n return data\n }\n\n hasInlineAttachments (): boolean {\n return this.messages.some((msg) => msg.isInlineAttachment())\n }\n\n hasAttachments (): boolean {\n return this.messages.some((msg) => msg.isAttachment())\n }\n\n getAttachments (): MIMEMessageContent[] | [] {\n const matcher = (msg: MIMEMessageContent): boolean => msg.isAttachment()\n return this.messages.some(matcher) ? this.messages.filter(matcher) : []\n }\n\n getInlineAttachments (): MIMEMessageContent[] | [] {\n const matcher = (msg: MIMEMessageContent): boolean => msg.isInlineAttachment()\n return this.messages.some(matcher) ? this.messages.filter(matcher) : []\n }\n\n getMessageByType (type: string): MIMEMessageContent | undefined {\n const matcher = (msg: MIMEMessageContent): boolean => !msg.isAttachment() && !msg.isInlineAttachment() && (msg.getHeader('Content-Type') as string || '').includes(type)\n return this.messages.some(matcher) ? this.messages.filter(matcher)[0] : undefined\n }\n\n addAttachment (opts: AttachmentOptions): MIMEMessageContent {\n if (!this.isObject(opts.headers)) opts.headers = {}\n\n if (typeof opts.filename !== 'string') {\n throw new MIMETextError('MIMETEXT_MISSING_FILENAME', 'The property \"filename\" must exist while adding attachments.')\n }\n\n let type = (opts.headers['Content-Type'] ?? opts.contentType) || 'none'\n if (this.envctx.validateContentType(type) === false) {\n throw new MIMETextError('MIMETEXT_INVALID_MESSAGE_TYPE', `You specified an invalid content type \"${type}\".`)\n }\n\n const encoding = (opts.headers['Content-Transfer-Encoding'] ?? opts.encoding) ?? 'base64'\n if (!this.validContentTransferEncodings.includes(encoding)) {\n type = 'application/octet-stream'\n }\n\n const contentId = opts.headers['Content-ID']\n if (typeof contentId === 'string' && contentId.length > 2 && !contentId.startsWith('<') && !contentId.endsWith('>')) {\n opts.headers['Content-ID'] = '<' + opts.headers['Content-ID'] + '>'\n }\n\n const disposition = opts.inline ? 'inline' : 'attachment'\n\n opts.headers = Object.assign({}, opts.headers, {\n 'Content-Type': `${type}; name=\"${opts.filename}\"`,\n 'Content-Transfer-Encoding': encoding,\n 'Content-Disposition': `${disposition}; filename=\"${opts.filename}\"`\n })\n\n return this._addMessage({ data: opts.data, headers: opts.headers })\n }\n\n addMessage (opts: ContentOptions): MIMEMessageContent {\n if (!this.isObject(opts.headers)) opts.headers = {}\n\n let type = (opts.headers['Content-Type'] ?? opts.contentType) || 'none'\n if (!this.validTypes.includes(type)) {\n throw new MIMETextError('MIMETEXT_INVALID_MESSAGE_TYPE', `Valid content types are ${this.validTypes.join(', ')} but you specified \"${type}\".`)\n }\n\n const encoding = (opts.headers['Content-Transfer-Encoding'] ?? opts.encoding) ?? '7bit'\n if (!this.validContentTransferEncodings.includes(encoding)) {\n type = 'application/octet-stream'\n }\n\n const charset = opts.charset ?? 'UTF-8'\n\n opts.headers = Object.assign({}, opts.headers, {\n 'Content-Type': `${type}; charset=${charset}`,\n 'Content-Transfer-Encoding': encoding\n })\n\n return this._addMessage({ data: opts.data, headers: opts.headers })\n }\n\n private _addMessage (opts: { data: string, headers: ContentHeaders }): MIMEMessageContent {\n const msg = new MIMEMessageContent(this.envctx, opts.data, opts.headers)\n\n this.messages.push(msg)\n\n return msg\n }\n\n setSender (input: MailboxAddrObject | string, config: MailboxConfig = { type: 'From' }): Mailbox {\n const mailbox = new Mailbox(input, config)\n this.setHeader('From', mailbox)\n return mailbox\n }\n\n getSender (): Mailbox | undefined {\n return this.getHeader('From') as Mailbox\n }\n\n setRecipients (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'To' }): Mailbox[] {\n const arr = !this.isArray(input) ? [input] : input\n const recs = arr.map((_input) => new Mailbox(_input, config))\n this.setHeader(config.type, recs)\n return recs\n }\n\n getRecipients (config: MailboxConfig = { type: 'To' }): Mailbox | Mailbox[] | undefined {\n return this.getHeader(config.type) as Mailbox | Mailbox[] | undefined\n }\n\n setRecipient (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'To' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setTo (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'To' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setCc (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'Cc' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setBcc (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'Bcc' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setSubject (value: string): string {\n this.setHeader('subject', value)\n return value\n }\n\n getSubject (): string | undefined {\n return this.getHeader('subject') as string\n }\n\n setHeader (name: string, value: string | Mailbox | Mailbox[]): string {\n this.headers.set(name, value)\n return name\n }\n\n getHeader (name: string): string | Mailbox | Mailbox[] | undefined {\n return this.headers.get(name)\n }\n\n setHeaders (obj: Record): string[] {\n return Object.keys(obj).map((prop) => this.setHeader(prop, obj[prop]!))\n }\n\n getHeaders (): HeadersObject {\n return this.headers.toObject()\n }\n\n toBase64 (v: string): string {\n return this.envctx.toBase64(v)\n }\n\n toBase64WebSafe (v: string): string {\n return this.envctx.toBase64WebSafe(v)\n }\n\n generateBoundaries (): void {\n this.boundaries = {\n mixed: Math.random().toString(36).slice(2),\n alt: Math.random().toString(36).slice(2),\n related: Math.random().toString(36).slice(2)\n }\n }\n\n isArray (v: unknown): v is unknown[] {\n return (!!v) && (v.constructor === Array)\n }\n\n isObject (v: unknown): v is object {\n return (!!v) && (v.constructor === Object)\n }\n}\n\nexport interface EnvironmentContext {\n toBase64: (v: string) => string\n toBase64WebSafe: (v: string) => string\n eol: string\n validateContentType: (v: string) => string | false\n}\n\nexport interface Boundaries {\n mixed: string\n alt: string\n related: string\n}\n\nexport type ContentTransferEncoding = '7bit' | '8bit' | 'binary' | 'quoted-printable' | 'base64'\n\nexport interface ContentHeaders {\n 'Content-Type'?: string\n 'Content-Transfer-Encoding'?: ContentTransferEncoding\n 'Content-Disposition'?: string\n 'Content-ID'?: string\n [index: string]: string | undefined\n}\n\nexport interface ContentOptions {\n data: string\n encoding?: ContentTransferEncoding\n contentType: string\n headers?: ContentHeaders\n charset?: string\n}\n\nexport interface AttachmentOptions extends ContentOptions {\n inline?: boolean\n filename: string\n}\n","import { Base64 } from 'js-base64'\nimport { MIMEMessage } from '../MIMEMessage.js'\n\nconst envctx = {\n toBase64: function toBase64 (data: string) {\n return Base64.encode(data)\n },\n toBase64WebSafe: function toBase64WebSafe (data: string) {\n return Base64.encodeURI(data)\n },\n eol: '\\r\\n',\n validateContentType: (v: string): string | false => {\n return v.length > 0 ? v : false\n }\n}\n\nexport function createMimeMessage (): MIMEMessage {\n return new MIMEMessage(envctx)\n}\n\nexport { MIMEMessage } from '../MIMEMessage.js'\nexport { Mailbox } from '../Mailbox.js'\nexport { MIMETextError } from '../MIMETextError.js'\nexport { MIMEMessageHeader } from '../MIMEMessageHeader.js'\nexport { MIMEMessageContent } from '../MIMEMessageContent.js'\n\nexport type * from '../MIMEMessage.js'\nexport type * from '../Mailbox.js'\nexport type * from '../MIMETextError.js'\nexport type * from '../MIMEMessageHeader.js'\nexport type * from '../MIMEMessageContent.js'\n"],"names":["MIMETextError","Error","constructor","message","description","arguments","length","undefined","super","_defineProperty","this","name","Mailbox","input","config","type","parse","getAddrDomain","addr","includes","arr","split","dump","concat","isMailboxAddrObject","isMailboxAddrText","text","_trimInstanceProperty","call","startsWith","endsWith","slice","test","v","reSpecCompliantAddr","isObject","Object","hasOwn","MIMEMessageHeader","envctx","generator","Date","toUTCString","replace","required","validate","validateMailboxSingle","dumpMailboxSingle","validateMailboxMulti","dumpMailboxMulti","Math","random","toString","fields","filter","obj","value","toBase64","lines","field","disabled","isValueDefinedByUser","strval","eol","toObject","reduce","memo","item","get","ind","findIndex","toLowerCase","set","fieldMatcher","some","setCustom","custom","isHeaderField","push","isArrayOfMailboxes","map","join","validProps","h","keys","prop","isArray","every","Array","MIMEMessageContentHeader","MIMEMessageContent","data","headers","setHeaders","isAttachment","disposition","isInlineAttachment","setHeader","getHeader","getHeaders","MIMEMessage","mixed","alt","related","messages","generateBoundaries","asRaw","plaintext","getMessageByType","html","primaryMessage","hasAttachments","hasInlineAttachments","structure","attachments","getAttachments","a","boundaries","inlineAttachments","getInlineAttachments","dumpTextContent","asEncoded","toBase64WebSafe","boundary","msg","matcher","addAttachment","opts","_opts$headers$Content","_ref","_opts$headers$Content2","filename","contentType","validateContentType","encoding","validContentTransferEncodings","contentId","inline","assign","_addMessage","addMessage","_opts$headers$Content3","_ref2","_opts$headers$Content4","_opts$charset","validTypes","charset","setSender","mailbox","getSender","setRecipients","recs","_input","getRecipients","setRecipient","setTo","setCc","setBcc","setSubject","getSubject","Base64","encode","encodeURI"],"mappings":"iKAAM,MAAOA,UAAsBC,MAI/BC,WAAAA,CAAaC,GAAiC,IAAhBC,EAAWC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GACxCG,MAAMJ,GAAYK,cAJN,IAAEA,qBACJ,IAKVC,KAAKC,KAAOR,EACZO,KAAKN,YAAcA,CACvB,QCPSQ,EAMTV,WAAAA,CAAaW,GAAyE,IAAtCC,EAAAT,UAAAC,OAAAD,QAAAE,IAAAF,UAAAE,GAAAF,UAAwB,GAAA,CAAEU,KAAM,MAAMN,6BALhE,+BAA6BA,cAC5C,IAAEA,cACF,IAAEA,cACW,MAGhBC,KAAKK,KAAOD,EAAOC,KAEnBL,KAAKM,MAAMH,EACf,CAEAI,aAAAA,GACI,GAAIP,KAAKQ,KAAKC,SAAS,KAAM,CACzB,MAAMC,EAAMV,KAAKQ,KAAKG,MAAM,KAC5B,GAAID,EAAId,OAAS,EAAG,OAAOc,EAAI,EACnC,CACA,MAAO,EACX,CAEAE,IAAAA,GACI,OAAOZ,KAAKC,KAAKL,OAAS,EAAC,IAAAiB,OAAOb,KAAKC,KAAIY,OAAAA,OAAMb,KAAKQ,KAAIK,KAAAA,IAAAA,OAAUb,KAAKQ,KAAO,IACpF,CAEAF,KAAAA,CAAOH,GACH,GAAIH,KAAKc,oBAAoBX,GAIzB,OAHAH,KAAKQ,KAAOL,EAAMK,KACQ,iBAAfL,EAAMF,OAAmBD,KAAKC,KAAOE,EAAMF,MAC5B,iBAAfE,EAAME,OAAmBL,KAAKK,KAAOF,EAAME,MAC/CL,KAGX,GAAIA,KAAKe,kBAAkBZ,GAAQ,CAC/B,MAAMa,EAAOC,EAAAd,GAAKe,KAALf,GACb,GAAIa,EAAKG,WAAW,MAAQH,EAAKI,SAAS,KAEtC,OADApB,KAAKQ,KAAOQ,EAAKK,MAAM,GAAI,GACpBrB,KAEX,MAAMU,EAAMM,EAAKL,MAAM,MAMvB,OALAD,EAAI,GAAK,SAASY,KAAKZ,EAAI,IAAMA,EAAI,GAAGW,MAAM,GAAKX,EAAI,GACvDA,EAAI,GAAK,SAASY,KAAKZ,EAAI,IAAMA,EAAI,GAAGW,MAAM,GAAI,GAAKX,EAAI,GAC3DA,EAAI,GAAKA,EAAI,GAAGW,MAAM,GAAI,GAC1BrB,KAAKC,KAAOS,EAAI,GAChBV,KAAKQ,KAAOE,EAAI,GACTV,IACX,CAEA,GAAqB,iBAAVG,EAEP,OADAH,KAAKQ,KAAOL,EACLH,KAGX,MAAM,IAAIV,EAAc,2BAA4B,gCACxD,CAEAyB,iBAAAA,CAAmBQ,GACf,MAAoB,iBAANA,GAAkBvB,KAAKwB,oBAAoBF,KAAKC,EAClE,CAEAT,mBAAAA,CAAqBS,GACjB,OAAOvB,KAAKyB,SAASF,IAAMG,OAAOC,OAAOJ,EAAG,OAChD,CAEAE,QAAAA,CAAUF,GACN,QAAUA,GAAOA,EAAE/B,cAAgBkC,MACvC,QC1DSE,EAiETpC,WAAAA,CAAYqC,GAA0B9B,EAAAC,KAAA,cAAA,GAAAD,gBA/Dd,CACpB,CACIE,KAAM,OACN6B,UAAWA,KACP,IAAIC,MAAOC,cAAcC,QAAQ,YAAa,UAEtD,CACIhC,KAAM,OACNiC,UAAU,EACVC,SAAWZ,GAAevB,KAAKoC,sBAAsBb,GACrDX,KAAOW,GAAevB,KAAKqC,kBAAkBd,IAEjD,CACItB,KAAM,SACNkC,SAAWZ,GAAevB,KAAKoC,sBAAsBb,GACrDX,KAAOW,GAAevB,KAAKqC,kBAAkBd,IAEjD,CACItB,KAAM,WACNkC,SAAWZ,GAAevB,KAAKoC,sBAAsBb,GACrDX,KAAOW,GAAevB,KAAKqC,kBAAkBd,IAEjD,CACItB,KAAM,KACNkC,SAAWZ,GAAevB,KAAKsC,qBAAqBf,GACpDX,KAAOW,GAAevB,KAAKuC,iBAAiBhB,IAEhD,CACItB,KAAM,KACNkC,SAAWZ,GAAevB,KAAKsC,qBAAqBf,GACpDX,KAAOW,GAAevB,KAAKuC,iBAAiBhB,IAEhD,CACItB,KAAM,MACNkC,SAAWZ,GAAevB,KAAKsC,qBAAqBf,GACpDX,KAAOW,GAAevB,KAAKuC,iBAAiBhB,IAEhD,CACItB,KAAM,aACN6B,UAAWA,IAMA,IALWU,KAAKC,SAASC,SAAS,IAAIrB,MAAM,GAK1B,IAJZrB,KAAK2C,OAAOC,QACpBC,GAAqB,SAAbA,EAAI5C,OACf,GAAI6C,MACcvC,gBACoB,KAGhD,CACIN,KAAM,UACNiC,UAAU,EACVtB,KAAOW,GACiB,iBAANA,EACR,aAAevB,KAAK6B,OAAOkB,SAASxB,GAAK,KACzC,IAGd,CACItB,KAAM,eACN6B,UAAWA,IAAM,SAKrB9B,KAAK6B,OAASA,CAClB,CAEAjB,IAAAA,GACI,IAAIoC,EAAQ,GAEZ,IAAK,MAAMC,KAASjD,KAAK2C,OAAQ,CAC7B,GAAIM,EAAMC,SAAU,SACpB,MAAMC,OACctD,IAAhBoD,EAAMH,OAAuC,OAAhBG,EAAMH,MACvC,IAAKK,GAAwBF,EAAMf,SAC/B,MAAM,IAAI5C,EACN,0BAAyB,QAAAuB,OACjBoC,EAAMhD,KAAI,0BAG1B,IAAKkD,GAAmD,mBAApBF,EAAMnB,UACtC,SACCqB,GAAmD,mBAApBF,EAAMnB,YACtCmB,EAAMH,MAAQG,EAAMnB,aACxB,MAAMsB,EACF1B,OAAOC,OAAOsB,EAAO,SAAiC,mBAAfA,EAAMrC,KACvCqC,EAAMrC,KAAKqC,EAAMH,OACM,iBAAhBG,EAAMH,MACXG,EAAMH,MACN,GACZE,MAAKnC,OAAOoC,EAAMhD,WAAIY,OAAKuC,GAAMvC,OAAGb,KAAK6B,OAAOwB,IACpD,CAEA,OAAOL,EAAM3B,MAAM,GAAI,EAAIrB,KAAK6B,OAAOwB,IAAIzD,OAC/C,CAEA0D,QAAAA,GACI,OAAOtD,KAAK2C,OAAOY,QAAO,CAACC,EAAqBC,KAC5CD,EAAKC,EAAKxD,MAAQwD,EAAKX,MAChBU,IACR,GACP,CAEAE,GAAAA,CAAIzD,GACA,MAEM0D,EAAM3D,KAAK2C,OAAOiB,WAFFf,GAClBA,EAAI5C,KAAK4D,gBAAkB5D,EAAK4D,gBAGpC,OAAgB,IAATF,EAAa3D,KAAK2C,OAAOgB,GAAMb,WAAQjD,CAClD,CAEAiE,GAAAA,CAAI7D,EAAc6C,GACd,MAAMiB,EAAgBlB,GAClBA,EAAI5C,KAAK4D,gBAAkB5D,EAAK4D,cAGpC,KAFwB7D,KAAK2C,OAAOqB,KAAKD,GAEpB,CACjB,MAAMJ,EAAM3D,KAAK2C,OAAOiB,UAAUG,GAC5Bd,EAAQjD,KAAK2C,OAAOgB,GAC1B,GAAIV,EAAMd,WAAac,EAAMd,SAASW,GAClC,MAAM,IAAIxD,EACN,6DAA+BuB,OACFZ,EAAI,kBAIzC,OADAD,KAAK2C,OAAOgB,GAAMb,MAAQA,EACnB9C,KAAK2C,OAAOgB,EACvB,CAEA,OAAO3D,KAAKiE,UAAU,CAClBhE,KAAMA,EACN6C,MAAOA,EACPoB,QAAQ,EACRtD,KAAOW,GAA6B,iBAANA,EAAiBA,EAAI,IAE3D,CAEA0C,SAAAA,CAAUpB,GACN,GAAI7C,KAAKmE,cAActB,GAAM,CACzB,GAAyB,iBAAdA,EAAIC,MACX,MAAM,IAAIxD,EACN,gCACA,oCAIR,OADAU,KAAK2C,OAAOyB,KAAKvB,GACVA,CACX,CAEA,MAAM,IAAIvD,EACN,gCACA,sEAER,CAEA8C,qBAAAA,CAAsBb,GAClB,OAAOA,aAAarB,CACxB,CAEAoC,oBAAAA,CAAqBf,GACjB,OAAOA,aAAarB,GAAWF,KAAKqE,mBAAmB9C,EAC3D,CAEAgB,gBAAAA,CAAiBhB,GACb,MAAMX,EAAQ6C,GACW,IAArBA,EAAKxD,KAAKL,OACJ6D,EAAK7C,OAAM,aAAAC,OACEb,KAAK6B,OAAOkB,SAASU,EAAKxD,cAAKY,OAAO4C,EAAKjD,KAAO,KACzE,OAAOR,KAAKqE,mBAAmB9C,GACzBA,EAAE+C,IAAI1D,GAAM2D,KAAI1D,IAAAA,OAAKb,KAAK6B,OAAOwB,IAAG,MACpC9B,aAAarB,EACXU,EAAKW,GACL,EACZ,CAEAc,iBAAAA,CAAkBd,GAKd,OAAOA,aAAarB,EAJNuD,IACW,IAArBA,EAAKxD,KAAKL,OACJ6D,EAAK7C,OAAM,aAAAC,OACEb,KAAK6B,OAAOkB,SAASU,EAAKxD,cAAKY,OAAO4C,EAAKjD,KAAO,KAC3CI,CAAKW,GAAK,EAC5C,CAEA4C,aAAAA,CAAc5C,GACV,MAAMiD,EAAa,CACf,OACA,QACA,OACA,WACA,WACA,YACA,UAEJ,GAAIxE,KAAKyB,SAASF,GAAI,CAClB,MAAMkD,EAAIlD,EACV,GACIG,OAAOC,OAAO8C,EAAG,SACC,iBAAXA,EAAExE,MACTwE,EAAExE,KAAKL,OAAS,IAGX8B,OAAOgD,KAAKD,GAAGT,MAAMW,IAAUH,EAAW/D,SAASkE,KAEpD,OAAO,CAGnB,CACA,OAAO,CACX,CAEAlD,QAAAA,CAASF,GACL,QAASA,GAAKA,EAAE/B,cAAgBkC,MACpC,CAEA2C,kBAAAA,CAAmB9C,GACf,OACIvB,KAAK4E,QAAQrD,IACbA,EAAEsD,OAAOpB,GAAkBA,aAAgBvD,GAEnD,CAEA0E,OAAAA,CAAQrD,GACJ,QAASA,GAAKA,EAAE/B,cAAgBsF,KACpC,EAGE,MAAOC,UAAiCnD,EAgB1CpC,WAAAA,CAAYqC,GACR/B,MAAM+B,GAAQ9B,gBAhBA,CACd,CACIE,KAAM,cAEV,CACIA,KAAM,gBAEV,CACIA,KAAM,6BAEV,CACIA,KAAM,wBAMd,QC3PS+E,EAKTxF,WAAAA,CAAaqC,EAA4BoD,GAA0B,IAAZC,EAAOvF,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAE,EAAAI,EAAAC,KAAA,cAAA,GAAAD,EAAAC,KAAA,eAAA,GAAAD,EAAAC,KAAA,YAAA,GAC/DA,KAAK6B,OAASA,EACd7B,KAAKkF,QAAU,IAAIH,EAAyB/E,KAAK6B,QACjD7B,KAAKiF,KAAOA,EACZjF,KAAKmF,WAAWD,EACpB,CAEAtE,IAAAA,GACI,MAAMyC,EAAMrD,KAAK6B,OAAOwB,IACxB,OAAOrD,KAAKkF,QAAQtE,OAASyC,EAAMA,EAAMrD,KAAKiF,IAClD,CAEAG,YAAAA,GACI,MAAMC,EAAcrF,KAAKkF,QAAQxB,IAAI,uBACrC,MAA8B,iBAAhB2B,GAA4BA,EAAY5E,SAAS,aACnE,CAEA6E,kBAAAA,GACI,MAAMD,EAAcrF,KAAKkF,QAAQxB,IAAI,uBACrC,MAA8B,iBAAhB2B,GAA4BA,EAAY5E,SAAS,SACnE,CAEA8E,SAAAA,CAAWtF,EAAc6C,GAErB,OADA9C,KAAKkF,QAAQpB,IAAI7D,EAAM6C,GAChB7C,CACX,CAEAuF,SAAAA,CAAWvF,GACP,OAAOD,KAAKkF,QAAQxB,IAAIzD,EAC5B,CAEAkF,UAAAA,CAAYtC,GACR,OAAOnB,OAAOgD,KAAK7B,GAAKyB,KAAKK,GAAS3E,KAAKuF,UAAUZ,EAAM9B,EAAI8B,KACnE,CAEAc,UAAAA,GACI,OAAOzF,KAAKkF,QAAQ5B,UACxB,QCvCSoC,EAQTlG,WAAAA,CAAaqC,GAA0B9B,EAAAC,KAAA,cAAA,GAAAD,EAAAC,KAAA,eAAA,GAAAD,EALdC,KAAA,aAAA,CAAE2F,MAAO,GAAIC,IAAK,GAAIC,QAAS,KAAI9F,EAC/CC,KAAA,aAAA,CAAC,YAAa,eAAaD,EAAAC,KAAA,gCACR,CAAC,OAAQ,OAAQ,SAAU,mBAAoB,WAASD,kBACvD,IAG7BC,KAAK6B,OAASA,EACd7B,KAAKkF,QAAU,IAAItD,EAAkB5B,KAAK6B,QAC1C7B,KAAK8F,SAAW,GAEhB9F,KAAK+F,oBACT,CAEAC,KAAAA,GACI,MAAM3C,EAAMrD,KAAK6B,OAAOwB,IAClBL,EAAQhD,KAAKkF,QAAQtE,OAErBqF,EAAYjG,KAAKkG,iBAAiB,cAClCC,EAAOnG,KAAKkG,iBAAiB,aAC7BE,EAAiBD,QAAAA,EAASF,QAAAA,OAAapG,EAE7C,QAAuBA,IAAnBuG,EACA,MAAM,IAAI9G,EAAc,wBAAyB,oCAGrD,MAAM+G,EAAiBrG,KAAKqG,iBACtBC,EAAuBtG,KAAKsG,uBAE5BC,EAAYD,GAAwBD,EACpC,gBACAA,EACI,QACAC,EACI,UACAL,GAAaE,EACT,cACA,GAElB,GAAkB,kBAAdI,EAA+B,CAC/B,MAAMC,EAAcxG,KAAKyG,iBACpBnC,KAAKoC,GAAM,KAAO1G,KAAK2G,WAAWhB,MAAQtC,EAAMqD,EAAE9F,OAASyC,EAAMA,IACjEkB,KAAK,IACLlD,MAAM,GAAI,EAAIgC,EAAIzD,QACjBgH,EAAoB5G,KAAK6G,uBAC1BvC,KAAKoC,GAAM,KAAO1G,KAAK2G,WAAWd,QAAUxC,EAAMqD,EAAE9F,OAASyC,EAAMA,IACnEkB,KAAK,IACLlD,MAAM,GAAI,EAAIgC,EAAIzD,QACvB,OAAOoD,EAAQK,EACX,2CAA6CrD,KAAK2G,WAAWhB,MAAQtC,EACrEA,EACA,KAAOrD,KAAK2G,WAAWhB,MAAQtC,EAC/B,6CAA+CrD,KAAK2G,WAAWd,QAAUxC,EACzEA,EACArD,KAAK8G,gBAAgBb,EAAWE,EAAMnG,KAAK2G,WAAWd,SAAWxC,EACjEA,EACAuD,EACA,KAAO5G,KAAK2G,WAAWd,QAAU,KAAOxC,EACxCmD,EACA,KAAOxG,KAAK2G,WAAWhB,MAAQ,IACvC,CAAO,GAAkB,UAAdY,EAAuB,CAC9B,MAAMC,EAAcxG,KAAKyG,iBACpBnC,KAAKoC,GAAM,KAAO1G,KAAK2G,WAAWhB,MAAQtC,EAAMqD,EAAE9F,OAASyC,EAAMA,IACjEkB,KAAK,IACLlD,MAAM,GAAI,EAAIgC,EAAIzD,QACvB,OAAOoD,EAAQK,EACX,2CAA6CrD,KAAK2G,WAAWhB,MAAQtC,EACrEA,EACArD,KAAK8G,gBAAgBb,EAAWE,EAAMnG,KAAK2G,WAAWhB,OAAStC,GAC9D4C,GAAaE,EAAO,GAAK9C,GAC1BmD,EACA,KAAOxG,KAAK2G,WAAWhB,MAAQ,IACvC,CAAO,GAAkB,YAAdY,EAAyB,CAChC,MAAMK,EAAoB5G,KAAK6G,uBAC1BvC,KAAKoC,GAAM,KAAO1G,KAAK2G,WAAWd,QAAUxC,EAAMqD,EAAE9F,OAASyC,EAAMA,IACnEkB,KAAK,IACLlD,MAAM,GAAI,EAAIgC,EAAIzD,QACvB,OAAOoD,EAAQK,EACX,6CAA+CrD,KAAK2G,WAAWd,QAAUxC,EACzEA,EACArD,KAAK8G,gBAAgBb,EAAWE,EAAMnG,KAAK2G,WAAWd,SAAWxC,EACjEA,EACAuD,EACA,KAAO5G,KAAK2G,WAAWd,QAAU,IACzC,CAAO,MAAkB,gBAAdU,EACAvD,EAAQK,EACX,iDAAmDrD,KAAK2G,WAAWf,IAAMvC,EACzEA,EACArD,KAAK8G,gBAAgBb,EAAWE,EAAMnG,KAAK2G,WAAWf,KAAOvC,EAC7DA,EACA,KAAOrD,KAAK2G,WAAWf,IAAM,KAE1B5C,EAAQK,EAAM+C,EAAexF,MAE5C,CAEAmG,SAAAA,GACI,OAAO/G,KAAK6B,OAAOmF,gBAAgBhH,KAAKgG,QAC5C,CAEAc,eAAAA,CAAiBb,EAA2CE,EAAsCc,GAC9F,MAAM5D,EAAMrD,KAAK6B,OAAOwB,IAClB+C,EAAiBD,QAAAA,EAAQF,EAE/B,IAAIhB,EAAO,GA2BX,OAxBIA,EADAgB,GAAaE,IAASnG,KAAKsG,wBAA0BtG,KAAKqG,iBACnD,KAAOY,EAAW5D,EACrB,iDAAmDrD,KAAK2G,WAAWf,IAAMvC,EACzEA,EACA,KAAOrD,KAAK2G,WAAWf,IAAMvC,EAC7B4C,EAAUrF,OAASyC,EACnBA,EACA,KAAOrD,KAAK2G,WAAWf,IAAMvC,EAC7B8C,EAAKvF,OAASyC,EACdA,EACA,KAAOrD,KAAK2G,WAAWf,IAAM,KAC1BK,GAAaE,GAAQnG,KAAKsG,uBAC1B,KAAOW,EAAW5D,EACrB8C,EAAKvF,OACFqF,GAAaE,EACb,KAAOc,EAAW5D,EACrB4C,EAAUrF,OAASyC,EACnBA,EACA,KAAO4D,EAAW5D,EAClB8C,EAAKvF,OAEF,KAAOqG,EAAW5D,EACpB+C,EAAiBxF,OAGnBqE,CACX,CAEAqB,oBAAAA,GACI,OAAOtG,KAAK8F,SAAS9B,MAAMkD,GAAQA,EAAI5B,sBAC3C,CAEAe,cAAAA,GACI,OAAOrG,KAAK8F,SAAS9B,MAAMkD,GAAQA,EAAI9B,gBAC3C,CAEAqB,cAAAA,GACI,MAAMU,EAAWD,GAAqCA,EAAI9B,eAC1D,OAAOpF,KAAK8F,SAAS9B,KAAKmD,GAAWnH,KAAK8F,SAASlD,OAAOuE,GAAW,EACzE,CAEAN,oBAAAA,GACI,MAAMM,EAAWD,GAAqCA,EAAI5B,qBAC1D,OAAOtF,KAAK8F,SAAS9B,KAAKmD,GAAWnH,KAAK8F,SAASlD,OAAOuE,GAAW,EACzE,CAEAjB,gBAAAA,CAAkB7F,GACd,MAAM8G,EAAWD,IAAsCA,EAAI9B,iBAAmB8B,EAAI5B,uBAAyB4B,EAAI1B,UAAU,iBAA6B,IAAI/E,SAASJ,GACnK,OAAOL,KAAK8F,SAAS9B,KAAKmD,GAAWnH,KAAK8F,SAASlD,OAAOuE,GAAS,QAAKtH,CAC5E,CAEAuH,aAAAA,CAAeC,GAAuB,IAAAC,EAAAC,EAAAC,EAGlC,GAFKxH,KAAKyB,SAAS4F,EAAKnC,WAAUmC,EAAKnC,QAAU,CAAE,GAEtB,iBAAlBmC,EAAKI,SACZ,MAAM,IAAInI,EAAc,4BAA6B,gEAGzD,IAAIe,GAAoCiH,QAA7BA,EAACD,EAAKnC,QAAQ,2BAAeoC,EAAAA,EAAID,EAAKK,cAAgB,OACjE,IAA8C,IAA1C1H,KAAK6B,OAAO8F,oBAAoBtH,GAChC,MAAM,IAAIf,EAAc,0EAA+BuB,OAA4CR,EAAI,OAG3G,MAAMuH,EAAsE,QAA9DL,UAAAC,EAAIH,EAAKnC,QAAQ,oCAA4B,IAAAsC,EAAAA,EAAIH,EAAKO,gBAAQ,IAAAL,EAAAA,EAAK,SAC5EvH,KAAK6H,8BAA8BpH,SAASmH,KAC7CvH,EAAO,4BAGX,MAAMyH,EAAYT,EAAKnC,QAAQ,cACN,iBAAd4C,GAA0BA,EAAUlI,OAAS,IAAMkI,EAAU3G,WAAW,OAAS2G,EAAU1G,SAAS,OAC3GiG,EAAKnC,QAAQ,cAAgB,IAAMmC,EAAKnC,QAAQ,cAAgB,KAGpE,MAAMG,EAAcgC,EAAKU,OAAS,SAAW,aAQ7C,OANAV,EAAKnC,QAAUxD,OAAOsG,OAAO,CAAE,EAAEX,EAAKnC,QAAS,CAC3C,eAAc,GAAArE,OAAKR,EAAI,YAAAQ,OAAWwG,EAAKI,SAAW,KAClD,4BAA6BG,EAC7B,sBAAqB,GAAA/G,OAAKwE,kBAAWxE,OAAewG,EAAKI,SAAQ,OAG9DzH,KAAKiI,YAAY,CAAEhD,KAAMoC,EAAKpC,KAAMC,QAASmC,EAAKnC,SAC7D,CAEAgD,UAAAA,CAAYb,GAAoB,IAAAc,EAAAC,EAAAC,EAAAC,EACvBtI,KAAKyB,SAAS4F,EAAKnC,WAAUmC,EAAKnC,QAAU,CAAE,GAEnD,IAAI7E,GAAoC8H,QAA7BA,EAACd,EAAKnC,QAAQ,2BAAeiD,EAAAA,EAAId,EAAKK,cAAgB,OACjE,IAAK1H,KAAKuI,WAAW9H,SAASJ,GAC1B,MAAM,IAAIf,EAAc,2DAA+BuB,OAA6Bb,KAAKuI,WAAWhE,KAAK,MAAK,wBAAA1D,OAAuBR,SAGzI,MAAMuH,EAAsE,QAA9DQ,UAAAC,EAAIhB,EAAKnC,QAAQ,oCAA4B,IAAAmD,EAAAA,EAAIhB,EAAKO,gBAAQ,IAAAQ,EAAAA,EAAK,OAC5EpI,KAAK6H,8BAA8BpH,SAASmH,KAC7CvH,EAAO,4BAGX,MAAMmI,EAAsB,QAAfF,EAAGjB,EAAKmB,eAAO,IAAAF,EAAAA,EAAI,QAOhC,OALAjB,EAAKnC,QAAUxD,OAAOsG,OAAO,CAAE,EAAEX,EAAKnC,QAAS,CAC3C,eAAc,GAAArE,OAAKR,gBAAIQ,OAAa2H,GACpC,4BAA6BZ,IAG1B5H,KAAKiI,YAAY,CAAEhD,KAAMoC,EAAKpC,KAAMC,QAASmC,EAAKnC,SAC7D,CAEQ+C,WAAAA,CAAaZ,GACjB,MAAMH,EAAM,IAAIlC,EAAmBhF,KAAK6B,OAAQwF,EAAKpC,KAAMoC,EAAKnC,SAIhE,OAFAlF,KAAK8F,SAAS1B,KAAK8C,GAEZA,CACX,CAEAuB,SAAAA,CAAWtI,GACP,MAAMuI,EAAU,IAAIxI,EAAQC,EADcR,UAAAC,OAAAD,QAAAE,IAAAF,UAAAE,GAAAF,UAAwB,GAAA,CAAEU,KAAM,SAG1E,OADAL,KAAKuF,UAAU,OAAQmD,GAChBA,CACX,CAEAC,SAAAA,GACI,OAAO3I,KAAKwF,UAAU,OAC1B,CAEAoD,aAAAA,CAAezI,GAA0G,IAAtCC,EAAAT,UAAAC,OAAAD,QAAAE,IAAAF,UAAAE,GAAAF,UAAwB,GAAA,CAAEU,KAAM,MAC/G,MACMwI,GADO7I,KAAK4E,QAAQzE,GAAmBA,EAAV,CAACA,IACnBmE,KAAKwE,GAAW,IAAI5I,EAAQ4I,EAAQ1I,KAErD,OADAJ,KAAKuF,UAAUnF,EAAOC,KAAMwI,GACrBA,CACX,CAEAE,aAAAA,GAAqD,IAAtC3I,EAAwBT,UAAAC,OAAAD,QAAAE,IAAAF,UAAAE,GAAAF,UAAA,GAAA,CAAEU,KAAM,MAC3C,OAAOL,KAAKwF,UAAUpF,EAAOC,KACjC,CAEA2I,YAAAA,CAAc7I,GAA0G,IAAtCC,EAAAT,UAAAC,OAAAD,QAAAE,IAAAF,UAAAE,GAAAF,UAAwB,GAAA,CAAEU,KAAM,MAC9G,OAAOL,KAAK4I,cAAczI,EAAOC,EACrC,CAEA6I,KAAAA,CAAO9I,GAA0G,IAAtCC,EAAAT,UAAAC,OAAAD,QAAAE,IAAAF,UAAAE,GAAAF,UAAwB,GAAA,CAAEU,KAAM,MACvG,OAAOL,KAAK4I,cAAczI,EAAOC,EACrC,CAEA8I,KAAAA,CAAO/I,GAA0G,IAAtCC,EAAAT,UAAAC,OAAAD,QAAAE,IAAAF,UAAAE,GAAAF,UAAwB,GAAA,CAAEU,KAAM,MACvG,OAAOL,KAAK4I,cAAczI,EAAOC,EACrC,CAEA+I,MAAAA,CAAQhJ,GAA2G,IAAvCC,EAAAT,UAAAC,OAAAD,QAAAE,IAAAF,UAAAE,GAAAF,UAAwB,GAAA,CAAEU,KAAM,OACxG,OAAOL,KAAK4I,cAAczI,EAAOC,EACrC,CAEAgJ,UAAAA,CAAYtG,GAER,OADA9C,KAAKuF,UAAU,UAAWzC,GACnBA,CACX,CAEAuG,UAAAA,GACI,OAAOrJ,KAAKwF,UAAU,UAC1B,CAEAD,SAAAA,CAAWtF,EAAc6C,GAErB,OADA9C,KAAKkF,QAAQpB,IAAI7D,EAAM6C,GAChB7C,CACX,CAEAuF,SAAAA,CAAWvF,GACP,OAAOD,KAAKkF,QAAQxB,IAAIzD,EAC5B,CAEAkF,UAAAA,CAAYtC,GACR,OAAOnB,OAAOgD,KAAK7B,GAAKyB,KAAKK,GAAS3E,KAAKuF,UAAUZ,EAAM9B,EAAI8B,KACnE,CAEAc,UAAAA,GACI,OAAOzF,KAAKkF,QAAQ5B,UACxB,CAEAP,QAAAA,CAAUxB,GACN,OAAOvB,KAAK6B,OAAOkB,SAASxB,EAChC,CAEAyF,eAAAA,CAAiBzF,GACb,OAAOvB,KAAK6B,OAAOmF,gBAAgBzF,EACvC,CAEAwE,kBAAAA,GACI/F,KAAK2G,WAAa,CACdhB,MAAOnD,KAAKC,SAASC,SAAS,IAAIrB,MAAM,GACxCuE,IAAKpD,KAAKC,SAASC,SAAS,IAAIrB,MAAM,GACtCwE,QAASrD,KAAKC,SAASC,SAAS,IAAIrB,MAAM,GAElD,CAEAuD,OAAAA,CAASrD,GACL,QAAUA,GAAOA,EAAE/B,cAAgBsF,KACvC,CAEArD,QAAAA,CAAUF,GACN,QAAUA,GAAOA,EAAE/B,cAAgBkC,MACvC,ECxTJ,MAAMG,EAAS,CACXkB,SAAU,SAAmBkC,GACzB,OAAOqE,EAAMA,OAACC,OAAOtE,EACxB,EACD+B,gBAAiB,SAA0B/B,GACvC,OAAOqE,EAAMA,OAACE,UAAUvE,EAC3B,EACD5B,IAAK,OACLsE,oBAAsBpG,GACXA,EAAE3B,OAAS,GAAI2B,iKAK1B,OAAO,IAAImE,EAAY7D,EAC3B"} \ No newline at end of file diff --git a/dist/mimetext.browser.es.js b/dist/mimetext.browser.es.js new file mode 100644 index 0000000..b0bc7ad --- /dev/null +++ b/dist/mimetext.browser.es.js @@ -0,0 +1,2 @@ +import{Base64 as e}from"js-base64";import t from"@babel/runtime-corejs3/helpers/esm/defineProperty";import s from"@babel/runtime-corejs3/core-js/instance/trim";class n extends Error{constructor(e){let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";super(s),t(this,"name",""),t(this,"description",""),this.name=e,this.description=s}}class i{constructor(e){let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{type:"To"};t(this,"reSpecCompliantAddr",/(([^<>\r\n]+)\s)?<[^\r\n]+>/),t(this,"name",""),t(this,"addr",""),t(this,"type","To"),this.type=s.type,this.parse(e)}getAddrDomain(){if(this.addr.includes("@")){const e=this.addr.split("@");if(e.length>1)return e[1]}return""}dump(){return this.name.length>0?'"'.concat(this.name,'" <').concat(this.addr,">"):"<".concat(this.addr,">")}parse(e){if(this.isMailboxAddrObject(e))return this.addr=e.addr,"string"==typeof e.name&&(this.name=e.name),"string"==typeof e.type&&(this.type=e.type),this;if(this.isMailboxAddrText(e)){const t=s(e).call(e);if(t.startsWith("<")&&t.endsWith(">"))return this.addr=t.slice(1,-1),this;const n=t.split(" <");return n[0]=/^("|')/.test(n[0])?n[0].slice(1):n[0],n[0]=/("|')$/.test(n[0])?n[0].slice(0,-1):n[0],n[1]=n[1].slice(0,-1),this.name=n[0],this.addr=n[1],this}if("string"==typeof e)return this.addr=e,this;throw new n("MIMETEXT_INVALID_MAILBOX","Couldn't recognize the input.")}isMailboxAddrText(e){return"string"==typeof e&&this.reSpecCompliantAddr.test(e)}isMailboxAddrObject(e){return this.isObject(e)&&Object.hasOwn(e,"addr")}isObject(e){return!!e&&e.constructor===Object}}class a{constructor(e){t(this,"envctx",void 0),t(this,"fields",[{name:"Date",generator:()=>(new Date).toUTCString().replace(/GMT|UTC/gi,"+0000")},{name:"From",required:!0,validate:e=>this.validateMailboxSingle(e),dump:e=>this.dumpMailboxSingle(e)},{name:"Sender",validate:e=>this.validateMailboxSingle(e),dump:e=>this.dumpMailboxSingle(e)},{name:"Reply-To",validate:e=>this.validateMailboxSingle(e),dump:e=>this.dumpMailboxSingle(e)},{name:"To",validate:e=>this.validateMailboxMulti(e),dump:e=>this.dumpMailboxMulti(e)},{name:"Cc",validate:e=>this.validateMailboxMulti(e),dump:e=>this.dumpMailboxMulti(e)},{name:"Bcc",validate:e=>this.validateMailboxMulti(e),dump:e=>this.dumpMailboxMulti(e)},{name:"Message-ID",generator:()=>"<"+Math.random().toString(36).slice(2)+"@"+this.fields.filter((e=>"From"===e.name))[0].value.getAddrDomain()+">"},{name:"Subject",required:!0,dump:e=>"string"==typeof e?"=?utf-8?B?"+this.envctx.toBase64(e)+"?=":""},{name:"MIME-Version",generator:()=>"1.0"}]),this.envctx=e}dump(){let e="";for(const t of this.fields){if(t.disabled)continue;const s=void 0!==t.value&&null!==t.value;if(!s&&t.required)throw new n("MIMETEXT_MISSING_HEADER",'The "'.concat(t.name,'" header is required.'));if(!s&&"function"!=typeof t.generator)continue;s||"function"!=typeof t.generator||(t.value=t.generator());const i=Object.hasOwn(t,"dump")&&"function"==typeof t.dump?t.dump(t.value):"string"==typeof t.value?t.value:"";e+="".concat(t.name,": ").concat(i).concat(this.envctx.eol)}return e.slice(0,-1*this.envctx.eol.length)}toObject(){return this.fields.reduce(((e,t)=>(e[t.name]=t.value,e)),{})}get(e){const t=this.fields.findIndex((t=>t.name.toLowerCase()===e.toLowerCase()));return-1!==t?this.fields[t].value:void 0}set(e,t){const s=t=>t.name.toLowerCase()===e.toLowerCase();if(!!this.fields.some(s)){const i=this.fields.findIndex(s),a=this.fields[i];if(a.validate&&!a.validate(t))throw new n("MIMETEXT_INVALID_HEADER_VALUE",'The value for the header "'.concat(e,'" is invalid.'));return this.fields[i].value=t,this.fields[i]}return this.setCustom({name:e,value:t,custom:!0,dump:e=>"string"==typeof e?e:""})}setCustom(e){if(this.isHeaderField(e)){if("string"!=typeof e.value)throw new n("MIMETEXT_INVALID_HEADER_FIELD","Custom header must have a value.");return this.fields.push(e),e}throw new n("MIMETEXT_INVALID_HEADER_FIELD","Invalid input for custom header. It must be in type of HeaderField.")}validateMailboxSingle(e){return e instanceof i}validateMailboxMulti(e){return e instanceof i||this.isArrayOfMailboxes(e)}dumpMailboxMulti(e){const t=e=>0===e.name.length?e.dump():"=?utf-8?B?".concat(this.envctx.toBase64(e.name),"?= <").concat(e.addr,">");return this.isArrayOfMailboxes(e)?e.map(t).join(",".concat(this.envctx.eol," ")):e instanceof i?t(e):""}dumpMailboxSingle(e){return e instanceof i?(e=>0===e.name.length?e.dump():"=?utf-8?B?".concat(this.envctx.toBase64(e.name),"?= <").concat(e.addr,">"))(e):""}isHeaderField(e){const t=["name","value","dump","required","disabled","generator","custom"];if(this.isObject(e)){const s=e;if(Object.hasOwn(s,"name")&&"string"==typeof s.name&&s.name.length>0&&!Object.keys(s).some((e=>!t.includes(e))))return!0}return!1}isObject(e){return!!e&&e.constructor===Object}isArrayOfMailboxes(e){return this.isArray(e)&&e.every((e=>e instanceof i))}isArray(e){return!!e&&e.constructor===Array}}class r extends a{constructor(e){super(e),t(this,"fields",[{name:"Content-ID"},{name:"Content-Type"},{name:"Content-Transfer-Encoding"},{name:"Content-Disposition"}])}}class o{constructor(e,s){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};t(this,"envctx",void 0),t(this,"headers",void 0),t(this,"data",void 0),this.envctx=e,this.headers=new r(this.envctx),this.data=s,this.setHeaders(n)}dump(){const e=this.envctx.eol;return this.headers.dump()+e+e+this.data}isAttachment(){const e=this.headers.get("Content-Disposition");return"string"==typeof e&&e.includes("attachment")}isInlineAttachment(){const e=this.headers.get("Content-Disposition");return"string"==typeof e&&e.includes("inline")}setHeader(e,t){return this.headers.set(e,t),e}getHeader(e){return this.headers.get(e)}setHeaders(e){return Object.keys(e).map((t=>this.setHeader(t,e[t])))}getHeaders(){return this.headers.toObject()}}class d{constructor(e){t(this,"envctx",void 0),t(this,"headers",void 0),t(this,"boundaries",{mixed:"",alt:"",related:""}),t(this,"validTypes",["text/html","text/plain"]),t(this,"validContentTransferEncodings",["7bit","8bit","binary","quoted-printable","base64"]),t(this,"messages",[]),this.envctx=e,this.headers=new a(this.envctx),this.messages=[],this.generateBoundaries()}asRaw(){const e=this.envctx.eol,t=this.headers.dump(),s=this.getMessageByType("text/plain"),i=this.getMessageByType("text/html"),a=null!=i?i:null!=s?s:void 0;if(void 0===a)throw new n("MIMETEXT_MISSING_BODY","No content added to the message.");const r=this.hasAttachments(),o=this.hasInlineAttachments(),d=o&&r?"mixed+related":r?"mixed":o?"related":s&&i?"alternative":"";if("mixed+related"===d){const n=this.getAttachments().map((t=>"--"+this.boundaries.mixed+e+t.dump()+e+e)).join("").slice(0,-1*e.length),a=this.getInlineAttachments().map((t=>"--"+this.boundaries.related+e+t.dump()+e+e)).join("").slice(0,-1*e.length);return t+e+"Content-Type: multipart/mixed; boundary="+this.boundaries.mixed+e+e+"--"+this.boundaries.mixed+e+"Content-Type: multipart/related; boundary="+this.boundaries.related+e+e+this.dumpTextContent(s,i,this.boundaries.related)+e+e+a+"--"+this.boundaries.related+"--"+e+n+"--"+this.boundaries.mixed+"--"}if("mixed"===d){const n=this.getAttachments().map((t=>"--"+this.boundaries.mixed+e+t.dump()+e+e)).join("").slice(0,-1*e.length);return t+e+"Content-Type: multipart/mixed; boundary="+this.boundaries.mixed+e+e+this.dumpTextContent(s,i,this.boundaries.mixed)+e+(s&&i?"":e)+n+"--"+this.boundaries.mixed+"--"}if("related"===d){const n=this.getInlineAttachments().map((t=>"--"+this.boundaries.related+e+t.dump()+e+e)).join("").slice(0,-1*e.length);return t+e+"Content-Type: multipart/related; boundary="+this.boundaries.related+e+e+this.dumpTextContent(s,i,this.boundaries.related)+e+e+n+"--"+this.boundaries.related+"--"}return"alternative"===d?t+e+"Content-Type: multipart/alternative; boundary="+this.boundaries.alt+e+e+this.dumpTextContent(s,i,this.boundaries.alt)+e+e+"--"+this.boundaries.alt+"--":t+e+a.dump()}asEncoded(){return this.envctx.toBase64WebSafe(this.asRaw())}dumpTextContent(e,t,s){const n=this.envctx.eol,i=null!=t?t:e;let a="";return a=e&&t&&!this.hasInlineAttachments()&&this.hasAttachments()?"--"+s+n+"Content-Type: multipart/alternative; boundary="+this.boundaries.alt+n+n+"--"+this.boundaries.alt+n+e.dump()+n+n+"--"+this.boundaries.alt+n+t.dump()+n+n+"--"+this.boundaries.alt+"--":e&&t&&this.hasInlineAttachments()?"--"+s+n+t.dump():e&&t?"--"+s+n+e.dump()+n+n+"--"+s+n+t.dump():"--"+s+n+i.dump(),a}hasInlineAttachments(){return this.messages.some((e=>e.isInlineAttachment()))}hasAttachments(){return this.messages.some((e=>e.isAttachment()))}getAttachments(){const e=e=>e.isAttachment();return this.messages.some(e)?this.messages.filter(e):[]}getInlineAttachments(){const e=e=>e.isInlineAttachment();return this.messages.some(e)?this.messages.filter(e):[]}getMessageByType(e){const t=t=>!t.isAttachment()&&!t.isInlineAttachment()&&(t.getHeader("Content-Type")||"").includes(e);return this.messages.some(t)?this.messages.filter(t)[0]:void 0}addAttachment(e){var t,s,i;if(this.isObject(e.headers)||(e.headers={}),"string"!=typeof e.filename)throw new n("MIMETEXT_MISSING_FILENAME",'The property "filename" must exist while adding attachments.');let a=(null!==(t=e.headers["Content-Type"])&&void 0!==t?t:e.contentType)||"none";if(!1===this.envctx.validateContentType(a))throw new n("MIMETEXT_INVALID_MESSAGE_TYPE",'You specified an invalid content type "'.concat(a,'".'));const r=null!==(s=null!==(i=e.headers["Content-Transfer-Encoding"])&&void 0!==i?i:e.encoding)&&void 0!==s?s:"base64";this.validContentTransferEncodings.includes(r)||(a="application/octet-stream");const o=e.headers["Content-ID"];"string"==typeof o&&o.length>2&&!o.startsWith("<")&&!o.endsWith(">")&&(e.headers["Content-ID"]="<"+e.headers["Content-ID"]+">");const d=e.inline?"inline":"attachment";return e.headers=Object.assign({},e.headers,{"Content-Type":"".concat(a,'; name="').concat(e.filename,'"'),"Content-Transfer-Encoding":r,"Content-Disposition":"".concat(d,'; filename="').concat(e.filename,'"')}),this._addMessage({data:e.data,headers:e.headers})}addMessage(e){var t,s,i,a;this.isObject(e.headers)||(e.headers={});let r=(null!==(t=e.headers["Content-Type"])&&void 0!==t?t:e.contentType)||"none";if(!this.validTypes.includes(r))throw new n("MIMETEXT_INVALID_MESSAGE_TYPE","Valid content types are ".concat(this.validTypes.join(", "),' but you specified "').concat(r,'".'));const o=null!==(s=null!==(i=e.headers["Content-Transfer-Encoding"])&&void 0!==i?i:e.encoding)&&void 0!==s?s:"7bit";this.validContentTransferEncodings.includes(o)||(r="application/octet-stream");const d=null!==(a=e.charset)&&void 0!==a?a:"UTF-8";return e.headers=Object.assign({},e.headers,{"Content-Type":"".concat(r,"; charset=").concat(d),"Content-Transfer-Encoding":o}),this._addMessage({data:e.data,headers:e.headers})}_addMessage(e){const t=new o(this.envctx,e.data,e.headers);return this.messages.push(t),t}setSender(e){const t=new i(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{type:"From"});return this.setHeader("From",t),t}getSender(){return this.getHeader("From")}setRecipients(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{type:"To"};const s=(this.isArray(e)?e:[e]).map((e=>new i(e,t)));return this.setHeader(t.type,s),s}getRecipients(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{type:"To"};return this.getHeader(e.type)}setRecipient(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{type:"To"};return this.setRecipients(e,t)}setTo(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{type:"To"};return this.setRecipients(e,t)}setCc(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{type:"Cc"};return this.setRecipients(e,t)}setBcc(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{type:"Bcc"};return this.setRecipients(e,t)}setSubject(e){return this.setHeader("subject",e),e}getSubject(){return this.getHeader("subject")}setHeader(e,t){return this.headers.set(e,t),e}getHeader(e){return this.headers.get(e)}setHeaders(e){return Object.keys(e).map((t=>this.setHeader(t,e[t])))}getHeaders(){return this.headers.toObject()}toBase64(e){return this.envctx.toBase64(e)}toBase64WebSafe(e){return this.envctx.toBase64WebSafe(e)}generateBoundaries(){this.boundaries={mixed:Math.random().toString(36).slice(2),alt:Math.random().toString(36).slice(2),related:Math.random().toString(36).slice(2)}}isArray(e){return!!e&&e.constructor===Array}isObject(e){return!!e&&e.constructor===Object}}const h={toBase64:function(t){return e.encode(t)},toBase64WebSafe:function(t){return e.encodeURI(t)},eol:"\r\n",validateContentType:e=>e.length>0&&e};function c(){return new d(h)}export{d as MIMEMessage,o as MIMEMessageContent,a as MIMEMessageHeader,n as MIMETextError,i as Mailbox,c as createMimeMessage}; +//# sourceMappingURL=mimetext.browser.es.js.map diff --git a/dist/mimetext.browser.es.js.map b/dist/mimetext.browser.es.js.map new file mode 100644 index 0000000..6fc38db --- /dev/null +++ b/dist/mimetext.browser.es.js.map @@ -0,0 +1 @@ +{"version":3,"file":"mimetext.browser.es.js","sources":["../src/MIMETextError.ts","../src/Mailbox.ts","../src/MIMEMessageHeader.ts","../src/MIMEMessageContent.ts","../src/MIMEMessage.ts","../src/entrypoints/browser.ts"],"sourcesContent":["export class MIMETextError extends Error {\n override name = ''\n description = ''\n\n constructor (message: string, description = '') {\n super(description)\n\n this.name = message\n this.description = description\n }\n}\n","import { MIMETextError } from './MIMETextError.js'\n\nexport class Mailbox {\n reSpecCompliantAddr = /(([^<>\\r\\n]+)\\s)?<[^\\r\\n]+>/\n name = ''\n addr = ''\n type: MailboxType = 'To'\n\n constructor (input: MailboxAddrObject | string, config: MailboxConfig = { type: 'To' }) {\n this.type = config.type\n\n this.parse(input)\n }\n\n getAddrDomain (): string {\n if (this.addr.includes('@')) {\n const arr = this.addr.split('@')\n if (arr.length > 1) return arr[1]!\n }\n return ''\n }\n\n dump (): string {\n return this.name.length > 0 ? `\"${this.name}\" <${this.addr}>` : `<${this.addr}>`\n }\n\n parse (input: MailboxAddrObject | string): this {\n if (this.isMailboxAddrObject(input)) {\n this.addr = input.addr\n if (typeof input.name === 'string') this.name = input.name\n if (typeof input.type === 'string') this.type = input.type\n return this\n }\n\n if (this.isMailboxAddrText(input)) {\n const text = input.trim()\n if (text.startsWith('<') && text.endsWith('>')) {\n this.addr = text.slice(1, -1)\n return this\n }\n const arr = text.split(' <') as [string, string]\n arr[0] = /^(\"|')/.test(arr[0]) ? arr[0].slice(1) : arr[0]\n arr[0] = /(\"|')$/.test(arr[0]) ? arr[0].slice(0, -1) : arr[0]\n arr[1] = arr[1].slice(0, -1)\n this.name = arr[0]\n this.addr = arr[1]\n return this\n }\n\n if (typeof input === 'string') {\n this.addr = input\n return this\n }\n\n throw new MIMETextError('MIMETEXT_INVALID_MAILBOX', 'Couldn\\'t recognize the input.')\n }\n\n isMailboxAddrText (v: unknown): boolean {\n return typeof v === 'string' && this.reSpecCompliantAddr.test(v)\n }\n\n isMailboxAddrObject (v: unknown): v is MailboxAddrObject {\n return this.isObject(v) && Object.hasOwn(v, 'addr')\n }\n\n isObject (v: unknown): v is object {\n return (!!v) && (v.constructor === Object)\n }\n}\n\nexport interface MailboxConfig {\n type: MailboxType\n}\nexport interface MailboxAddrObject {\n addr: string\n name?: string\n type?: MailboxType\n}\nexport type MailboxType = 'To' | 'From' | 'Cc' | 'Bcc'\n","import type { EnvironmentContext } from \"./MIMEMessage\";\nimport { MIMETextError } from \"./MIMETextError.js\";\nimport { Mailbox } from \"./Mailbox.js\";\n\n/*\n Headers are based on: https://www.rfc-editor.org/rfc/rfc4021#section-2.1\n (Some are ignored as they can be added later or as a custom header.)\n*/\n\nexport class MIMEMessageHeader {\n envctx: EnvironmentContext;\n fields: HeaderField[] = [\n {\n name: \"Date\",\n generator: () =>\n new Date().toUTCString().replace(/GMT|UTC/gi, \"+0000\"),\n },\n {\n name: \"From\",\n required: true,\n validate: (v: unknown) => this.validateMailboxSingle(v),\n dump: (v: unknown) => this.dumpMailboxSingle(v),\n },\n {\n name: \"Sender\",\n validate: (v: unknown) => this.validateMailboxSingle(v),\n dump: (v: unknown) => this.dumpMailboxSingle(v),\n },\n {\n name: \"Reply-To\",\n validate: (v: unknown) => this.validateMailboxSingle(v),\n dump: (v: unknown) => this.dumpMailboxSingle(v),\n },\n {\n name: \"To\",\n validate: (v: unknown) => this.validateMailboxMulti(v),\n dump: (v: unknown) => this.dumpMailboxMulti(v),\n },\n {\n name: \"Cc\",\n validate: (v: unknown) => this.validateMailboxMulti(v),\n dump: (v: unknown) => this.dumpMailboxMulti(v),\n },\n {\n name: \"Bcc\",\n validate: (v: unknown) => this.validateMailboxMulti(v),\n dump: (v: unknown) => this.dumpMailboxMulti(v),\n },\n {\n name: \"Message-ID\",\n generator: () => {\n const randomstr = Math.random().toString(36).slice(2);\n const from = this.fields.filter(\n (obj) => obj.name === \"From\",\n )[0]!.value as Mailbox;\n const domain = from.getAddrDomain();\n return \"<\" + randomstr + \"@\" + domain + \">\";\n },\n },\n {\n name: \"Subject\",\n required: true,\n dump: (v: unknown) => {\n return typeof v === \"string\"\n ? \"=?utf-8?B?\" + this.envctx.toBase64(v) + \"?=\"\n : \"\";\n },\n },\n {\n name: \"MIME-Version\",\n generator: () => \"1.0\",\n },\n ];\n\n constructor(envctx: EnvironmentContext) {\n this.envctx = envctx;\n }\n\n dump(): string {\n let lines = \"\";\n\n for (const field of this.fields) {\n if (field.disabled) continue;\n const isValueDefinedByUser =\n field.value !== undefined && field.value !== null;\n if (!isValueDefinedByUser && field.required) {\n throw new MIMETextError(\n \"MIMETEXT_MISSING_HEADER\",\n `The \"${field.name}\" header is required.`,\n );\n }\n if (!isValueDefinedByUser && typeof field.generator !== \"function\")\n continue;\n if (!isValueDefinedByUser && typeof field.generator === \"function\")\n field.value = field.generator();\n const strval =\n Object.hasOwn(field, \"dump\") && typeof field.dump === \"function\"\n ? field.dump(field.value)\n : typeof field.value === \"string\"\n ? field.value\n : \"\";\n lines += `${field.name}: ${strval}${this.envctx.eol}`;\n }\n\n return lines.slice(0, -1 * this.envctx.eol.length);\n }\n\n toObject(): HeadersObject {\n return this.fields.reduce((memo: HeadersObject, item) => {\n memo[item.name] = item.value;\n return memo;\n }, {});\n }\n\n get(name: string): string | Mailbox | Mailbox[] | undefined {\n const fieldMatcher = (obj: HeaderField): boolean =>\n obj.name.toLowerCase() === name.toLowerCase();\n const ind = this.fields.findIndex(fieldMatcher);\n\n return ind !== -1 ? this.fields[ind]!.value : undefined;\n }\n\n set(name: string, value: string | Mailbox | Mailbox[]): HeaderField {\n const fieldMatcher = (obj: HeaderField): boolean =>\n obj.name.toLowerCase() === name.toLowerCase();\n const isCustomHeader = !this.fields.some(fieldMatcher);\n\n if (!isCustomHeader) {\n const ind = this.fields.findIndex(fieldMatcher);\n const field = this.fields[ind]!;\n if (field.validate && !field.validate(value)) {\n throw new MIMETextError(\n \"MIMETEXT_INVALID_HEADER_VALUE\",\n `The value for the header \"${name}\" is invalid.`,\n );\n }\n this.fields[ind]!.value = value;\n return this.fields[ind]!;\n }\n\n return this.setCustom({\n name: name,\n value: value,\n custom: true,\n dump: (v: unknown) => (typeof v === \"string\" ? v : \"\"),\n });\n }\n\n setCustom(obj: HeaderField): HeaderField {\n if (this.isHeaderField(obj)) {\n if (typeof obj.value !== \"string\") {\n throw new MIMETextError(\n \"MIMETEXT_INVALID_HEADER_FIELD\",\n \"Custom header must have a value.\",\n );\n }\n this.fields.push(obj);\n return obj;\n }\n\n throw new MIMETextError(\n \"MIMETEXT_INVALID_HEADER_FIELD\",\n \"Invalid input for custom header. It must be in type of HeaderField.\",\n );\n }\n\n validateMailboxSingle(v: unknown): v is Mailbox {\n return v instanceof Mailbox;\n }\n\n validateMailboxMulti(v: unknown): boolean {\n return v instanceof Mailbox || this.isArrayOfMailboxes(v);\n }\n\n dumpMailboxMulti(v: unknown): string {\n const dump = (item: Mailbox): string =>\n item.name.length === 0\n ? item.dump()\n : `=?utf-8?B?${this.envctx.toBase64(item.name)}?= <${item.addr}>`;\n return this.isArrayOfMailboxes(v)\n ? v.map(dump).join(`,${this.envctx.eol} `)\n : v instanceof Mailbox\n ? dump(v)\n : \"\";\n }\n\n dumpMailboxSingle(v: unknown): string {\n const dump = (item: Mailbox): string =>\n item.name.length === 0\n ? item.dump()\n : `=?utf-8?B?${this.envctx.toBase64(item.name)}?= <${item.addr}>`;\n return v instanceof Mailbox ? dump(v) : \"\";\n }\n\n isHeaderField(v: unknown): v is HeaderField {\n const validProps = [\n \"name\",\n \"value\",\n \"dump\",\n \"required\",\n \"disabled\",\n \"generator\",\n \"custom\",\n ];\n if (this.isObject(v)) {\n const h = v as HeaderField;\n if (\n Object.hasOwn(h, \"name\") &&\n typeof h.name === \"string\" &&\n h.name.length > 0\n ) {\n if (\n !Object.keys(h).some((prop) => !validProps.includes(prop))\n ) {\n return true;\n }\n }\n }\n return false;\n }\n\n isObject(v: unknown): v is object {\n return !!v && v.constructor === Object;\n }\n\n isArrayOfMailboxes(v: unknown): v is Mailbox[] {\n return (\n this.isArray(v) &&\n v.every((item: unknown) => item instanceof Mailbox)\n );\n }\n\n isArray(v: unknown): v is never[] {\n return !!v && v.constructor === Array;\n }\n}\n\nexport class MIMEMessageContentHeader extends MIMEMessageHeader {\n override fields = [\n {\n name: \"Content-ID\",\n },\n {\n name: \"Content-Type\",\n },\n {\n name: \"Content-Transfer-Encoding\",\n },\n {\n name: \"Content-Disposition\",\n },\n ];\n\n constructor(envctx: EnvironmentContext) {\n super(envctx);\n }\n}\n\nexport type HeadersObject = Record<\n string,\n string | Mailbox | Mailbox[] | undefined\n>;\nexport interface HeaderField {\n name: string;\n dump?: (v: string | Mailbox | Mailbox[] | undefined) => string;\n value?: string | Mailbox | Mailbox[] | undefined;\n validate?: (v: unknown) => boolean;\n required?: boolean;\n disabled?: boolean;\n generator?: () => string;\n custom?: boolean;\n}\n","import type { EnvironmentContext } from './MIMEMessage'\nimport type { Mailbox } from './Mailbox'\nimport { type HeadersObject, MIMEMessageContentHeader } from './MIMEMessageHeader.js'\n\nexport class MIMEMessageContent {\n envctx: EnvironmentContext\n headers\n data\n\n constructor (envctx: EnvironmentContext, data: string, headers = {}) {\n this.envctx = envctx\n this.headers = new MIMEMessageContentHeader(this.envctx)\n this.data = data\n this.setHeaders(headers)\n }\n\n dump (): string {\n const eol = this.envctx.eol\n return this.headers.dump() + eol + eol + this.data\n }\n\n isAttachment (): boolean {\n const disposition = this.headers.get('Content-Disposition')\n return typeof disposition === 'string' && disposition.includes('attachment')\n }\n\n isInlineAttachment (): boolean {\n const disposition = this.headers.get('Content-Disposition')\n return typeof disposition === 'string' && disposition.includes('inline')\n }\n\n setHeader (name: string, value: string | Mailbox | Mailbox[]): string {\n this.headers.set(name, value)\n return name\n }\n\n getHeader (name: string): string | Mailbox | Mailbox[] | undefined {\n return this.headers.get(name)\n }\n\n setHeaders (obj: Record): string[] {\n return Object.keys(obj).map((prop) => this.setHeader(prop, obj[prop]!))\n }\n\n getHeaders (): HeadersObject {\n return this.headers.toObject()\n }\n}\n","import type { MailboxAddrObject, MailboxConfig } from './Mailbox.js'\n\nimport { MIMETextError } from './MIMETextError.js'\nimport { type HeadersObject, MIMEMessageHeader } from './MIMEMessageHeader.js'\nimport { Mailbox } from './Mailbox.js'\nimport { MIMEMessageContent } from './MIMEMessageContent.js'\n\nexport class MIMEMessage {\n envctx: EnvironmentContext\n headers: MIMEMessageHeader\n boundaries: Boundaries = { mixed: '', alt: '', related: '' }\n validTypes = ['text/html', 'text/plain']\n validContentTransferEncodings = ['7bit', '8bit', 'binary', 'quoted-printable', 'base64']\n messages: MIMEMessageContent[] = []\n\n constructor (envctx: EnvironmentContext) {\n this.envctx = envctx\n this.headers = new MIMEMessageHeader(this.envctx)\n this.messages = []\n\n this.generateBoundaries()\n }\n\n asRaw (): string {\n const eol = this.envctx.eol\n const lines = this.headers.dump()\n\n const plaintext = this.getMessageByType('text/plain')\n const html = this.getMessageByType('text/html')\n const primaryMessage = html ?? (plaintext ?? undefined)\n\n if (primaryMessage === undefined) {\n throw new MIMETextError('MIMETEXT_MISSING_BODY', 'No content added to the message.')\n }\n\n const hasAttachments = this.hasAttachments()\n const hasInlineAttachments = this.hasInlineAttachments()\n\n const structure = hasInlineAttachments && hasAttachments\n ? 'mixed+related'\n : hasAttachments\n ? 'mixed'\n : hasInlineAttachments\n ? 'related'\n : plaintext && html\n ? 'alternative'\n : ''\n\n if (structure === 'mixed+related') {\n const attachments = this.getAttachments()\n .map((a) => '--' + this.boundaries.mixed + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n const inlineAttachments = this.getInlineAttachments()\n .map((a) => '--' + this.boundaries.related + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n return lines + eol +\n 'Content-Type: multipart/mixed; boundary=' + this.boundaries.mixed + eol +\n eol +\n '--' + this.boundaries.mixed + eol +\n 'Content-Type: multipart/related; boundary=' + this.boundaries.related + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.related) + eol +\n eol +\n inlineAttachments +\n '--' + this.boundaries.related + '--' + eol +\n attachments +\n '--' + this.boundaries.mixed + '--'\n } else if (structure === 'mixed') {\n const attachments = this.getAttachments()\n .map((a) => '--' + this.boundaries.mixed + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n return lines + eol +\n 'Content-Type: multipart/mixed; boundary=' + this.boundaries.mixed + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.mixed) + eol +\n (plaintext && html ? '' : eol) +\n attachments +\n '--' + this.boundaries.mixed + '--'\n } else if (structure === 'related') {\n const inlineAttachments = this.getInlineAttachments()\n .map((a) => '--' + this.boundaries.related + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n return lines + eol +\n 'Content-Type: multipart/related; boundary=' + this.boundaries.related + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.related) + eol +\n eol +\n inlineAttachments +\n '--' + this.boundaries.related + '--'\n } else if (structure === 'alternative') {\n return lines + eol +\n 'Content-Type: multipart/alternative; boundary=' + this.boundaries.alt + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.alt) + eol +\n eol +\n '--' + this.boundaries.alt + '--'\n } else {\n return lines + eol + primaryMessage.dump()\n }\n }\n\n asEncoded (): string {\n return this.envctx.toBase64WebSafe(this.asRaw())\n }\n\n dumpTextContent (plaintext: MIMEMessageContent | undefined, html: MIMEMessageContent | undefined, boundary: string): string {\n const eol = this.envctx.eol\n const primaryMessage = html ?? plaintext\n\n let data = ''\n\n if (plaintext && html && !this.hasInlineAttachments() && this.hasAttachments()) {\n data = '--' + boundary + eol +\n 'Content-Type: multipart/alternative; boundary=' + this.boundaries.alt + eol +\n eol +\n '--' + this.boundaries.alt + eol +\n plaintext.dump() + eol +\n eol +\n '--' + this.boundaries.alt + eol +\n html.dump() + eol +\n eol +\n '--' + this.boundaries.alt + '--'\n } else if (plaintext && html && this.hasInlineAttachments()) {\n data = '--' + boundary + eol +\n html.dump()\n } else if (plaintext && html) {\n data = '--' + boundary + eol +\n plaintext.dump() + eol +\n eol +\n '--' + boundary + eol +\n html.dump()\n } else {\n data = '--' + boundary + eol +\n (primaryMessage!).dump()\n }\n\n return data\n }\n\n hasInlineAttachments (): boolean {\n return this.messages.some((msg) => msg.isInlineAttachment())\n }\n\n hasAttachments (): boolean {\n return this.messages.some((msg) => msg.isAttachment())\n }\n\n getAttachments (): MIMEMessageContent[] | [] {\n const matcher = (msg: MIMEMessageContent): boolean => msg.isAttachment()\n return this.messages.some(matcher) ? this.messages.filter(matcher) : []\n }\n\n getInlineAttachments (): MIMEMessageContent[] | [] {\n const matcher = (msg: MIMEMessageContent): boolean => msg.isInlineAttachment()\n return this.messages.some(matcher) ? this.messages.filter(matcher) : []\n }\n\n getMessageByType (type: string): MIMEMessageContent | undefined {\n const matcher = (msg: MIMEMessageContent): boolean => !msg.isAttachment() && !msg.isInlineAttachment() && (msg.getHeader('Content-Type') as string || '').includes(type)\n return this.messages.some(matcher) ? this.messages.filter(matcher)[0] : undefined\n }\n\n addAttachment (opts: AttachmentOptions): MIMEMessageContent {\n if (!this.isObject(opts.headers)) opts.headers = {}\n\n if (typeof opts.filename !== 'string') {\n throw new MIMETextError('MIMETEXT_MISSING_FILENAME', 'The property \"filename\" must exist while adding attachments.')\n }\n\n let type = (opts.headers['Content-Type'] ?? opts.contentType) || 'none'\n if (this.envctx.validateContentType(type) === false) {\n throw new MIMETextError('MIMETEXT_INVALID_MESSAGE_TYPE', `You specified an invalid content type \"${type}\".`)\n }\n\n const encoding = (opts.headers['Content-Transfer-Encoding'] ?? opts.encoding) ?? 'base64'\n if (!this.validContentTransferEncodings.includes(encoding)) {\n type = 'application/octet-stream'\n }\n\n const contentId = opts.headers['Content-ID']\n if (typeof contentId === 'string' && contentId.length > 2 && !contentId.startsWith('<') && !contentId.endsWith('>')) {\n opts.headers['Content-ID'] = '<' + opts.headers['Content-ID'] + '>'\n }\n\n const disposition = opts.inline ? 'inline' : 'attachment'\n\n opts.headers = Object.assign({}, opts.headers, {\n 'Content-Type': `${type}; name=\"${opts.filename}\"`,\n 'Content-Transfer-Encoding': encoding,\n 'Content-Disposition': `${disposition}; filename=\"${opts.filename}\"`\n })\n\n return this._addMessage({ data: opts.data, headers: opts.headers })\n }\n\n addMessage (opts: ContentOptions): MIMEMessageContent {\n if (!this.isObject(opts.headers)) opts.headers = {}\n\n let type = (opts.headers['Content-Type'] ?? opts.contentType) || 'none'\n if (!this.validTypes.includes(type)) {\n throw new MIMETextError('MIMETEXT_INVALID_MESSAGE_TYPE', `Valid content types are ${this.validTypes.join(', ')} but you specified \"${type}\".`)\n }\n\n const encoding = (opts.headers['Content-Transfer-Encoding'] ?? opts.encoding) ?? '7bit'\n if (!this.validContentTransferEncodings.includes(encoding)) {\n type = 'application/octet-stream'\n }\n\n const charset = opts.charset ?? 'UTF-8'\n\n opts.headers = Object.assign({}, opts.headers, {\n 'Content-Type': `${type}; charset=${charset}`,\n 'Content-Transfer-Encoding': encoding\n })\n\n return this._addMessage({ data: opts.data, headers: opts.headers })\n }\n\n private _addMessage (opts: { data: string, headers: ContentHeaders }): MIMEMessageContent {\n const msg = new MIMEMessageContent(this.envctx, opts.data, opts.headers)\n\n this.messages.push(msg)\n\n return msg\n }\n\n setSender (input: MailboxAddrObject | string, config: MailboxConfig = { type: 'From' }): Mailbox {\n const mailbox = new Mailbox(input, config)\n this.setHeader('From', mailbox)\n return mailbox\n }\n\n getSender (): Mailbox | undefined {\n return this.getHeader('From') as Mailbox\n }\n\n setRecipients (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'To' }): Mailbox[] {\n const arr = !this.isArray(input) ? [input] : input\n const recs = arr.map((_input) => new Mailbox(_input, config))\n this.setHeader(config.type, recs)\n return recs\n }\n\n getRecipients (config: MailboxConfig = { type: 'To' }): Mailbox | Mailbox[] | undefined {\n return this.getHeader(config.type) as Mailbox | Mailbox[] | undefined\n }\n\n setRecipient (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'To' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setTo (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'To' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setCc (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'Cc' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setBcc (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'Bcc' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setSubject (value: string): string {\n this.setHeader('subject', value)\n return value\n }\n\n getSubject (): string | undefined {\n return this.getHeader('subject') as string\n }\n\n setHeader (name: string, value: string | Mailbox | Mailbox[]): string {\n this.headers.set(name, value)\n return name\n }\n\n getHeader (name: string): string | Mailbox | Mailbox[] | undefined {\n return this.headers.get(name)\n }\n\n setHeaders (obj: Record): string[] {\n return Object.keys(obj).map((prop) => this.setHeader(prop, obj[prop]!))\n }\n\n getHeaders (): HeadersObject {\n return this.headers.toObject()\n }\n\n toBase64 (v: string): string {\n return this.envctx.toBase64(v)\n }\n\n toBase64WebSafe (v: string): string {\n return this.envctx.toBase64WebSafe(v)\n }\n\n generateBoundaries (): void {\n this.boundaries = {\n mixed: Math.random().toString(36).slice(2),\n alt: Math.random().toString(36).slice(2),\n related: Math.random().toString(36).slice(2)\n }\n }\n\n isArray (v: unknown): v is unknown[] {\n return (!!v) && (v.constructor === Array)\n }\n\n isObject (v: unknown): v is object {\n return (!!v) && (v.constructor === Object)\n }\n}\n\nexport interface EnvironmentContext {\n toBase64: (v: string) => string\n toBase64WebSafe: (v: string) => string\n eol: string\n validateContentType: (v: string) => string | false\n}\n\nexport interface Boundaries {\n mixed: string\n alt: string\n related: string\n}\n\nexport type ContentTransferEncoding = '7bit' | '8bit' | 'binary' | 'quoted-printable' | 'base64'\n\nexport interface ContentHeaders {\n 'Content-Type'?: string\n 'Content-Transfer-Encoding'?: ContentTransferEncoding\n 'Content-Disposition'?: string\n 'Content-ID'?: string\n [index: string]: string | undefined\n}\n\nexport interface ContentOptions {\n data: string\n encoding?: ContentTransferEncoding\n contentType: string\n headers?: ContentHeaders\n charset?: string\n}\n\nexport interface AttachmentOptions extends ContentOptions {\n inline?: boolean\n filename: string\n}\n","import { Base64 } from 'js-base64'\nimport { MIMEMessage } from '../MIMEMessage.js'\n\nconst envctx = {\n toBase64: function toBase64 (data: string) {\n return Base64.encode(data)\n },\n toBase64WebSafe: function toBase64WebSafe (data: string) {\n return Base64.encodeURI(data)\n },\n eol: '\\r\\n',\n validateContentType: (v: string): string | false => {\n return v.length > 0 ? v : false\n }\n}\n\nexport function createMimeMessage (): MIMEMessage {\n return new MIMEMessage(envctx)\n}\n\nexport { MIMEMessage } from '../MIMEMessage.js'\nexport { Mailbox } from '../Mailbox.js'\nexport { MIMETextError } from '../MIMETextError.js'\nexport { MIMEMessageHeader } from '../MIMEMessageHeader.js'\nexport { MIMEMessageContent } from '../MIMEMessageContent.js'\n\nexport type * from '../MIMEMessage.js'\nexport type * from '../Mailbox.js'\nexport type * from '../MIMETextError.js'\nexport type * from '../MIMEMessageHeader.js'\nexport type * from '../MIMEMessageContent.js'\n"],"names":["MIMETextError","Error","constructor","message","description","arguments","length","undefined","super","_defineProperty","this","name","Mailbox","input","config","type","parse","getAddrDomain","addr","includes","arr","split","dump","concat","isMailboxAddrObject","isMailboxAddrText","text","_trimInstanceProperty","call","startsWith","endsWith","slice","test","v","reSpecCompliantAddr","isObject","Object","hasOwn","MIMEMessageHeader","envctx","generator","Date","toUTCString","replace","required","validate","validateMailboxSingle","dumpMailboxSingle","validateMailboxMulti","dumpMailboxMulti","Math","random","toString","fields","filter","obj","value","toBase64","lines","field","disabled","isValueDefinedByUser","strval","eol","toObject","reduce","memo","item","get","ind","findIndex","toLowerCase","set","fieldMatcher","some","setCustom","custom","isHeaderField","push","isArrayOfMailboxes","map","join","validProps","h","keys","prop","isArray","every","Array","MIMEMessageContentHeader","MIMEMessageContent","data","headers","setHeaders","isAttachment","disposition","isInlineAttachment","setHeader","getHeader","getHeaders","MIMEMessage","mixed","alt","related","messages","generateBoundaries","asRaw","plaintext","getMessageByType","html","primaryMessage","hasAttachments","hasInlineAttachments","structure","attachments","getAttachments","a","boundaries","inlineAttachments","getInlineAttachments","dumpTextContent","asEncoded","toBase64WebSafe","boundary","msg","matcher","addAttachment","opts","_opts$headers$Content","_ref","_opts$headers$Content2","filename","contentType","validateContentType","encoding","validContentTransferEncodings","contentId","inline","assign","_addMessage","addMessage","_opts$headers$Content3","_ref2","_opts$headers$Content4","_opts$charset","validTypes","charset","setSender","mailbox","getSender","setRecipients","recs","_input","getRecipients","setRecipient","setTo","setCc","setBcc","setSubject","getSubject","Base64","encode","encodeURI","createMimeMessage"],"mappings":"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"} \ No newline at end of file diff --git a/dist/mimetext.gas.iife.js b/dist/mimetext.gas.iife.js new file mode 100644 index 0000000..e0a7dd0 --- /dev/null +++ b/dist/mimetext.gas.iife.js @@ -0,0 +1,2 @@ +var MimeText=function(t){"use strict";class e extends Error{name="";description="";constructor(t,e=""){super(e),this.name=t,this.description=e}}var n,r,i,o,s,a,u,c,d="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function f(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function l(){return r?n:(r=1,n=function(t){try{return!!t()}catch(t){return!0}})}function h(){return o?i:(o=1,i=!l()((function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")})))}function p(){if(a)return s;a=1;var t=h(),e=Function.prototype,n=e.call,r=t&&e.bind.bind(n,n);return s=t?r:function(t){return function(){return n.apply(t,arguments)}},s}function m(){return c?u:(c=1,u=p()({}.isPrototypeOf))}var b,v,y,g,T,M,x,w,E,S,j={};function O(){if(v)return b;v=1;var t=function(t){return t&&t.Math===Math&&t};return b=t("object"==typeof globalThis&&globalThis)||t("object"==typeof window&&window)||t("object"==typeof self&&self)||t("object"==typeof d&&d)||t("object"==typeof b&&b)||function(){return this}()||Function("return this")()}function I(){if(g)return y;g=1;var t=h(),e=Function.prototype,n=e.apply,r=e.call;return y="object"==typeof Reflect&&Reflect.apply||(t?r.bind(n):function(){return r.apply(n,arguments)}),y}function C(){if(M)return T;M=1;var t=p(),e=t({}.toString),n=t("".slice);return T=function(t){return n(e(t),8,-1)}}function A(){if(w)return x;w=1;var t=C(),e=p();return x=function(n){if("Function"===t(n))return e(n)}}function _(){if(S)return E;S=1;var t="object"==typeof document&&document.all;return E=void 0===t&&void 0!==t?function(e){return"function"==typeof e||e===t}:function(t){return"function"==typeof t}}var D,H,P,$,B={};function R(){return H?D:(H=1,D=!l()((function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]})))}function F(){if($)return P;$=1;var t=h(),e=Function.prototype.call;return P=t?e.bind(e):function(){return e.apply(e,arguments)},P}var L,N,X,U,V,W,k,z,G,q,Y,J,K,Q,Z,tt,et,nt,rt,it,ot,st,at,ut,ct,dt,ft,lt,ht,pt,mt,bt,vt,yt,gt,Tt={};function Mt(){if(L)return Tt;L=1;var t={}.propertyIsEnumerable,e=Object.getOwnPropertyDescriptor,n=e&&!t.call({1:2},1);return Tt.f=n?function(t){var n=e(this,t);return!!n&&n.enumerable}:t,Tt}function xt(){return X?N:(X=1,N=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}})}function wt(){if(V)return U;V=1;var t=p(),e=l(),n=C(),r=Object,i=t("".split);return U=e((function(){return!r("z").propertyIsEnumerable(0)}))?function(t){return"String"===n(t)?i(t,""):r(t)}:r}function Et(){return k?W:(k=1,W=function(t){return null==t})}function St(){if(G)return z;G=1;var t=Et(),e=TypeError;return z=function(n){if(t(n))throw new e("Can't call method on "+n);return n}}function jt(){if(Y)return q;Y=1;var t=wt(),e=St();return q=function(n){return t(e(n))}}function Ot(){if(K)return J;K=1;var t=_();return J=function(e){return"object"==typeof e?null!==e:t(e)}}function It(){return Z?Q:(Z=1,Q={})}function Ct(){if(et)return tt;et=1;var t=It(),e=O(),n=_(),r=function(t){return n(t)?t:void 0};return tt=function(n,i){return arguments.length<2?r(t[n])||r(e[n]):t[n]&&t[n][i]||e[n]&&e[n][i]},tt}function At(){if(rt)return nt;rt=1;var t=O().navigator,e=t&&t.userAgent;return nt=e?String(e):""}function _t(){if(ot)return it;ot=1;var t,e,n=O(),r=At(),i=n.process,o=n.Deno,s=i&&i.versions||o&&o.version,a=s&&s.v8;return a&&(e=(t=a.split("."))[0]>0&&t[0]<4?1:+(t[0]+t[1])),!e&&r&&(!(t=r.match(/Edge\/(\d+)/))||t[1]>=74)&&(t=r.match(/Chrome\/(\d+)/))&&(e=+t[1]),it=e}function Dt(){if(at)return st;at=1;var t=_t(),e=l(),n=O().String;return st=!!Object.getOwnPropertySymbols&&!e((function(){var e=Symbol("symbol detection");return!n(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&t&&t<41}))}function Ht(){return ct?ut:(ct=1,ut=Dt()&&!Symbol.sham&&"symbol"==typeof Symbol.iterator)}function Pt(){if(ft)return dt;ft=1;var t=Ct(),e=_(),n=m(),r=Object;return dt=Ht()?function(t){return"symbol"==typeof t}:function(i){var o=t("Symbol");return e(o)&&n(o.prototype,r(i))}}function $t(){if(ht)return lt;ht=1;var t=String;return lt=function(e){try{return t(e)}catch(t){return"Object"}}}function Bt(){if(mt)return pt;mt=1;var t=_(),e=$t(),n=TypeError;return pt=function(r){if(t(r))return r;throw new n(e(r)+" is not a function")}}function Rt(){if(vt)return bt;vt=1;var t=Bt(),e=Et();return bt=function(n,r){var i=n[r];return e(i)?void 0:t(i)}}function Ft(){if(gt)return yt;gt=1;var t=F(),e=_(),n=Ot(),r=TypeError;return yt=function(i,o){var s,a;if("string"===o&&e(s=i.toString)&&!n(a=t(s,i)))return a;if(e(s=i.valueOf)&&!n(a=t(s,i)))return a;if("string"!==o&&e(s=i.toString)&&!n(a=t(s,i)))return a;throw new r("Can't convert object to primitive value")}}var Lt,Nt,Xt,Ut,Vt,Wt,kt,zt,Gt,qt,Yt,Jt,Kt,Qt,Zt,te,ee,ne,re,ie,oe,se,ae,ue,ce,de,fe,le,he={exports:{}};function pe(){return Nt?Lt:(Nt=1,Lt=!0)}function me(){if(Ut)return Xt;Ut=1;var t=O(),e=Object.defineProperty;return Xt=function(n,r){try{e(t,n,{value:r,configurable:!0,writable:!0})}catch(e){t[n]=r}return r}}function be(){if(Vt)return he.exports;Vt=1;var t=pe(),e=O(),n=me(),r="__core-js_shared__",i=he.exports=e[r]||n(r,{});return(i.versions||(i.versions=[])).push({version:"3.39.0",mode:t?"pure":"global",copyright:"© 2014-2024 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.39.0/LICENSE",source:"https://github.com/zloirock/core-js"}),he.exports}function ve(){if(kt)return Wt;kt=1;var t=be();return Wt=function(e,n){return t[e]||(t[e]=n||{})}}function ye(){if(Gt)return zt;Gt=1;var t=St(),e=Object;return zt=function(n){return e(t(n))}}function ge(){if(Yt)return qt;Yt=1;var t=p(),e=ye(),n=t({}.hasOwnProperty);return qt=Object.hasOwn||function(t,r){return n(e(t),r)}}function Te(){if(Kt)return Jt;Kt=1;var t=p(),e=0,n=Math.random(),r=t(1..toString);return Jt=function(t){return"Symbol("+(void 0===t?"":t)+")_"+r(++e+n,36)}}function Me(){if(Zt)return Qt;Zt=1;var t=O(),e=ve(),n=ge(),r=Te(),i=Dt(),o=Ht(),s=t.Symbol,a=e("wks"),u=o?s.for||s:s&&s.withoutSetter||r;return Qt=function(t){return n(a,t)||(a[t]=i&&n(s,t)?s[t]:u("Symbol."+t)),a[t]}}function xe(){if(ee)return te;ee=1;var t=F(),e=Ot(),n=Pt(),r=Rt(),i=Ft(),o=TypeError,s=Me()("toPrimitive");return te=function(a,u){if(!e(a)||n(a))return a;var c,d=r(a,s);if(d){if(void 0===u&&(u="default"),c=t(d,a,u),!e(c)||n(c))return c;throw new o("Can't convert object to primitive value")}return void 0===u&&(u="number"),i(a,u)}}function we(){if(re)return ne;re=1;var t=xe(),e=Pt();return ne=function(n){var r=t(n,"string");return e(r)?r:r+""}}function Ee(){if(oe)return ie;oe=1;var t=O(),e=Ot(),n=t.document,r=e(n)&&e(n.createElement);return ie=function(t){return r?n.createElement(t):{}}}function Se(){if(ae)return se;ae=1;var t=R(),e=l(),n=Ee();return se=!t&&!e((function(){return 7!==Object.defineProperty(n("div"),"a",{get:function(){return 7}}).a}))}function je(){if(ue)return B;ue=1;var t=R(),e=F(),n=Mt(),r=xt(),i=jt(),o=we(),s=ge(),a=Se(),u=Object.getOwnPropertyDescriptor;return B.f=t?u:function(t,c){if(t=i(t),c=o(c),a)try{return u(t,c)}catch(t){}if(s(t,c))return r(!e(n.f,t,c),t[c])},B}function Oe(){if(de)return ce;de=1;var t=l(),e=_(),n=/#|\.prototype\./,r=function(n,r){var u=o[i(n)];return u===a||u!==s&&(e(r)?t(r):!!r)},i=r.normalize=function(t){return String(t).replace(n,".").toLowerCase()},o=r.data={},s=r.NATIVE="N",a=r.POLYFILL="P";return ce=r}function Ie(){if(le)return fe;le=1;var t=A(),e=Bt(),n=h(),r=t(t.bind);return fe=function(t,i){return e(t),void 0===i?t:n?r(t,i):function(){return t.apply(i,arguments)}},fe}var Ce,Ae,_e,De,He,Pe,$e,Be,Re,Fe,Le,Ne,Xe,Ue,Ve,We,ke,ze,Ge,qe,Ye,Je,Ke,Qe,Ze,tn,en,nn,rn,on,sn,an,un,cn,dn,fn,ln,hn,pn,mn,bn={};function vn(){return Ae?Ce:(Ae=1,Ce=R()&&l()((function(){return 42!==Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype})))}function yn(){if(De)return _e;De=1;var t=Ot(),e=String,n=TypeError;return _e=function(r){if(t(r))return r;throw new n(e(r)+" is not an object")}}function gn(){if(He)return bn;He=1;var t=R(),e=Se(),n=vn(),r=yn(),i=we(),o=TypeError,s=Object.defineProperty,a=Object.getOwnPropertyDescriptor,u="enumerable",c="configurable",d="writable";return bn.f=t?n?function(t,e,n){if(r(t),e=i(e),r(n),"function"==typeof t&&"prototype"===e&&"value"in n&&d in n&&!n[d]){var o=a(t,e);o&&o[d]&&(t[e]=n.value,n={configurable:c in n?n[c]:o[c],enumerable:u in n?n[u]:o[u],writable:!1})}return s(t,e,n)}:s:function(t,n,a){if(r(t),n=i(n),r(a),e)try{return s(t,n,a)}catch(t){}if("get"in a||"set"in a)throw new o("Accessors not supported");return"value"in a&&(t[n]=a.value),t},bn}function Tn(){if($e)return Pe;$e=1;var t=R(),e=gn(),n=xt();return Pe=t?function(t,r,i){return e.f(t,r,n(1,i))}:function(t,e,n){return t[e]=n,t}}function Mn(){if(Re)return Be;Re=1;var t=O(),e=I(),n=A(),r=_(),i=je().f,o=Oe(),s=It(),a=Ie(),u=Tn(),c=ge(),d=function(t){var n=function(r,i,o){if(this instanceof n){switch(arguments.length){case 0:return new t;case 1:return new t(r);case 2:return new t(r,i)}return new t(r,i,o)}return e(t,this,arguments)};return n.prototype=t.prototype,n};return Be=function(e,f){var l,h,p,m,b,v,y,g,T,M=e.target,x=e.global,w=e.stat,E=e.proto,S=x?t:w?t[M]:t[M]&&t[M].prototype,j=x?s:s[M]||u(s,M,{})[M],O=j.prototype;for(m in f)h=!(l=o(x?m:M+(w?".":"#")+m,e.forced))&&S&&c(S,m),v=j[m],h&&(y=e.dontCallGetSet?(T=i(S,m))&&T.value:S[m]),b=h&&y?y:f[m],(l||E||typeof v!=typeof b)&&(g=e.bind&&h?a(b,t):e.wrap&&h?d(b):E&&r(b)?n(b):b,(e.sham||b&&b.sham||v&&v.sham)&&u(g,"sham",!0),u(j,m,g),E&&(c(s,p=M+"Prototype")||u(s,p,{}),u(s[p],m,b),e.real&&O&&(l||!O[m])&&u(O,m,b)))}}function xn(){if(Le)return Fe;Le=1;var t={};return t[Me()("toStringTag")]="z",Fe="[object z]"===String(t)}function wn(){if(Xe)return Ne;Xe=1;var t=xn(),e=_(),n=C(),r=Me()("toStringTag"),i=Object,o="Arguments"===n(function(){return arguments}());return Ne=t?n:function(t){var s,a,u;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(a=function(t,e){try{return t[e]}catch(t){}}(s=i(t),r))?a:o?n(s):"Object"===(u=n(s))&&e(s.callee)?"Arguments":u}}function En(){if(Ve)return Ue;Ve=1;var t=wn(),e=String;return Ue=function(n){if("Symbol"===t(n))throw new TypeError("Cannot convert a Symbol value to a string");return e(n)}}function Sn(){return ke?We:(ke=1,We="\t\n\v\f\r                 \u2028\u2029\ufeff")}function jn(){if(Ge)return ze;Ge=1;var t=p(),e=St(),n=En(),r=Sn(),i=t("".replace),o=RegExp("^["+r+"]+"),s=RegExp("(^|[^"+r+"])["+r+"]+$"),a=function(t){return function(r){var a=n(e(r));return 1&t&&(a=i(a,o,"")),2&t&&(a=i(a,s,"$1")),a}};return ze={start:a(1),end:a(2),trim:a(3)}}function On(){if(Ye)return qe;Ye=1;var t=R(),e=ge(),n=Function.prototype,r=t&&Object.getOwnPropertyDescriptor,i=e(n,"name"),o=i&&"something"===function(){}.name,s=i&&(!t||t&&r(n,"name").configurable);return qe={EXISTS:i,PROPER:o,CONFIGURABLE:s}}function In(){if(Ke)return Je;Ke=1;var t=On().PROPER,e=l(),n=Sn();return Je=function(r){return e((function(){return!!n[r]()||"​…᠎"!=="​…᠎"[r]()||t&&n[r].name!==r}))}}function Cn(){if(tn)return Ze;tn=1;var t=O(),e=It();return Ze=function(n,r){var i=e[n+"Prototype"],o=i&&i[r];if(o)return o;var s=t[n],a=s&&s.prototype;return a&&a[r]}}function An(){return nn?en:(nn=1,function(){if(Qe)return j;Qe=1;var t=Mn(),e=jn().trim;t({target:"String",proto:!0,forced:In()("trim")},{trim:function(){return e(this)}})}(),en=Cn()("String","trim"))}function _n(){if(on)return rn;on=1;var t=m(),e=An(),n=String.prototype;return rn=function(r){var i=r.trim;return"string"==typeof r||r===n||t(n,r)&&i===n.trim?e:i}}function Dn(){return an?sn:(an=1,sn=_n())}function Hn(){return cn?un:(cn=1,un=Dn())}function Pn(){return fn?dn:(fn=1,dn=Hn())}function $n(){return hn?ln:(hn=1,ln=Pn())}var Bn=f(mn?pn:(mn=1,pn=$n()));class Rn{reSpecCompliantAddr=/(([^<>\r\n]+)\s)?<[^\r\n]+>/;name="";addr="";type="To";constructor(t,e={type:"To"}){this.type=e.type,this.parse(t)}getAddrDomain(){if(this.addr.includes("@")){const t=this.addr.split("@");if(t.length>1)return t[1]}return""}dump(){return this.name.length>0?`"${this.name}" <${this.addr}>`:`<${this.addr}>`}parse(t){if(this.isMailboxAddrObject(t))return this.addr=t.addr,"string"==typeof t.name&&(this.name=t.name),"string"==typeof t.type&&(this.type=t.type),this;if(this.isMailboxAddrText(t)){const e=Bn(t).call(t);if(e.startsWith("<")&&e.endsWith(">"))return this.addr=e.slice(1,-1),this;const n=e.split(" <");return n[0]=/^("|')/.test(n[0])?n[0].slice(1):n[0],n[0]=/("|')$/.test(n[0])?n[0].slice(0,-1):n[0],n[1]=n[1].slice(0,-1),this.name=n[0],this.addr=n[1],this}if("string"==typeof t)return this.addr=t,this;throw new e("MIMETEXT_INVALID_MAILBOX","Couldn't recognize the input.")}isMailboxAddrText(t){return"string"==typeof t&&this.reSpecCompliantAddr.test(t)}isMailboxAddrObject(t){return this.isObject(t)&&Object.hasOwn(t,"addr")}isObject(t){return!!t&&t.constructor===Object}}class Fn{fields=[{name:"Date",generator:()=>(new Date).toUTCString().replace(/GMT|UTC/gi,"+0000")},{name:"From",required:!0,validate:t=>this.validateMailboxSingle(t),dump:t=>this.dumpMailboxSingle(t)},{name:"Sender",validate:t=>this.validateMailboxSingle(t),dump:t=>this.dumpMailboxSingle(t)},{name:"Reply-To",validate:t=>this.validateMailboxSingle(t),dump:t=>this.dumpMailboxSingle(t)},{name:"To",validate:t=>this.validateMailboxMulti(t),dump:t=>this.dumpMailboxMulti(t)},{name:"Cc",validate:t=>this.validateMailboxMulti(t),dump:t=>this.dumpMailboxMulti(t)},{name:"Bcc",validate:t=>this.validateMailboxMulti(t),dump:t=>this.dumpMailboxMulti(t)},{name:"Message-ID",generator:()=>"<"+Math.random().toString(36).slice(2)+"@"+this.fields.filter((t=>"From"===t.name))[0].value.getAddrDomain()+">"},{name:"Subject",required:!0,dump:t=>"string"==typeof t?"=?utf-8?B?"+this.envctx.toBase64(t)+"?=":""},{name:"MIME-Version",generator:()=>"1.0"}];constructor(t){this.envctx=t}dump(){let t="";for(const n of this.fields){if(n.disabled)continue;const r=void 0!==n.value&&null!==n.value;if(!r&&n.required)throw new e("MIMETEXT_MISSING_HEADER",`The "${n.name}" header is required.`);if(!r&&"function"!=typeof n.generator)continue;r||"function"!=typeof n.generator||(n.value=n.generator());const i=Object.hasOwn(n,"dump")&&"function"==typeof n.dump?n.dump(n.value):"string"==typeof n.value?n.value:"";t+=`${n.name}: ${i}${this.envctx.eol}`}return t.slice(0,-1*this.envctx.eol.length)}toObject(){return this.fields.reduce(((t,e)=>(t[e.name]=e.value,t)),{})}get(t){const e=this.fields.findIndex((e=>e.name.toLowerCase()===t.toLowerCase()));return-1!==e?this.fields[e].value:void 0}set(t,n){const r=e=>e.name.toLowerCase()===t.toLowerCase();if(!!this.fields.some(r)){const i=this.fields.findIndex(r),o=this.fields[i];if(o.validate&&!o.validate(n))throw new e("MIMETEXT_INVALID_HEADER_VALUE",`The value for the header "${t}" is invalid.`);return this.fields[i].value=n,this.fields[i]}return this.setCustom({name:t,value:n,custom:!0,dump:t=>"string"==typeof t?t:""})}setCustom(t){if(this.isHeaderField(t)){if("string"!=typeof t.value)throw new e("MIMETEXT_INVALID_HEADER_FIELD","Custom header must have a value.");return this.fields.push(t),t}throw new e("MIMETEXT_INVALID_HEADER_FIELD","Invalid input for custom header. It must be in type of HeaderField.")}validateMailboxSingle(t){return t instanceof Rn}validateMailboxMulti(t){return t instanceof Rn||this.isArrayOfMailboxes(t)}dumpMailboxMulti(t){const e=t=>0===t.name.length?t.dump():`=?utf-8?B?${this.envctx.toBase64(t.name)}?= <${t.addr}>`;return this.isArrayOfMailboxes(t)?t.map(e).join(`,${this.envctx.eol} `):t instanceof Rn?e(t):""}dumpMailboxSingle(t){return t instanceof Rn?(t=>0===t.name.length?t.dump():`=?utf-8?B?${this.envctx.toBase64(t.name)}?= <${t.addr}>`)(t):""}isHeaderField(t){const e=["name","value","dump","required","disabled","generator","custom"];if(this.isObject(t)){const n=t;if(Object.hasOwn(n,"name")&&"string"==typeof n.name&&n.name.length>0&&!Object.keys(n).some((t=>!e.includes(t))))return!0}return!1}isObject(t){return!!t&&t.constructor===Object}isArrayOfMailboxes(t){return this.isArray(t)&&t.every((t=>t instanceof Rn))}isArray(t){return!!t&&t.constructor===Array}}class Ln extends Fn{fields=[{name:"Content-ID"},{name:"Content-Type"},{name:"Content-Transfer-Encoding"},{name:"Content-Disposition"}];constructor(t){super(t)}}class Nn{constructor(t,e,n={}){this.envctx=t,this.headers=new Ln(this.envctx),this.data=e,this.setHeaders(n)}dump(){const t=this.envctx.eol;return this.headers.dump()+t+t+this.data}isAttachment(){const t=this.headers.get("Content-Disposition");return"string"==typeof t&&t.includes("attachment")}isInlineAttachment(){const t=this.headers.get("Content-Disposition");return"string"==typeof t&&t.includes("inline")}setHeader(t,e){return this.headers.set(t,e),t}getHeader(t){return this.headers.get(t)}setHeaders(t){return Object.keys(t).map((e=>this.setHeader(e,t[e])))}getHeaders(){return this.headers.toObject()}}class Xn{boundaries={mixed:"",alt:"",related:""};validTypes=["text/html","text/plain"];validContentTransferEncodings=["7bit","8bit","binary","quoted-printable","base64"];messages=[];constructor(t){this.envctx=t,this.headers=new Fn(this.envctx),this.messages=[],this.generateBoundaries()}asRaw(){const t=this.envctx.eol,n=this.headers.dump(),r=this.getMessageByType("text/plain"),i=this.getMessageByType("text/html"),o=i??r??void 0;if(void 0===o)throw new e("MIMETEXT_MISSING_BODY","No content added to the message.");const s=this.hasAttachments(),a=this.hasInlineAttachments(),u=a&&s?"mixed+related":s?"mixed":a?"related":r&&i?"alternative":"";if("mixed+related"===u){const e=this.getAttachments().map((e=>"--"+this.boundaries.mixed+t+e.dump()+t+t)).join("").slice(0,-1*t.length),o=this.getInlineAttachments().map((e=>"--"+this.boundaries.related+t+e.dump()+t+t)).join("").slice(0,-1*t.length);return n+t+"Content-Type: multipart/mixed; boundary="+this.boundaries.mixed+t+t+"--"+this.boundaries.mixed+t+"Content-Type: multipart/related; boundary="+this.boundaries.related+t+t+this.dumpTextContent(r,i,this.boundaries.related)+t+t+o+"--"+this.boundaries.related+"--"+t+e+"--"+this.boundaries.mixed+"--"}if("mixed"===u){const e=this.getAttachments().map((e=>"--"+this.boundaries.mixed+t+e.dump()+t+t)).join("").slice(0,-1*t.length);return n+t+"Content-Type: multipart/mixed; boundary="+this.boundaries.mixed+t+t+this.dumpTextContent(r,i,this.boundaries.mixed)+t+(r&&i?"":t)+e+"--"+this.boundaries.mixed+"--"}if("related"===u){const e=this.getInlineAttachments().map((e=>"--"+this.boundaries.related+t+e.dump()+t+t)).join("").slice(0,-1*t.length);return n+t+"Content-Type: multipart/related; boundary="+this.boundaries.related+t+t+this.dumpTextContent(r,i,this.boundaries.related)+t+t+e+"--"+this.boundaries.related+"--"}return"alternative"===u?n+t+"Content-Type: multipart/alternative; boundary="+this.boundaries.alt+t+t+this.dumpTextContent(r,i,this.boundaries.alt)+t+t+"--"+this.boundaries.alt+"--":n+t+o.dump()}asEncoded(){return this.envctx.toBase64WebSafe(this.asRaw())}dumpTextContent(t,e,n){const r=this.envctx.eol,i=e??t;let o="";return o=t&&e&&!this.hasInlineAttachments()&&this.hasAttachments()?"--"+n+r+"Content-Type: multipart/alternative; boundary="+this.boundaries.alt+r+r+"--"+this.boundaries.alt+r+t.dump()+r+r+"--"+this.boundaries.alt+r+e.dump()+r+r+"--"+this.boundaries.alt+"--":t&&e&&this.hasInlineAttachments()?"--"+n+r+e.dump():t&&e?"--"+n+r+t.dump()+r+r+"--"+n+r+e.dump():"--"+n+r+i.dump(),o}hasInlineAttachments(){return this.messages.some((t=>t.isInlineAttachment()))}hasAttachments(){return this.messages.some((t=>t.isAttachment()))}getAttachments(){const t=t=>t.isAttachment();return this.messages.some(t)?this.messages.filter(t):[]}getInlineAttachments(){const t=t=>t.isInlineAttachment();return this.messages.some(t)?this.messages.filter(t):[]}getMessageByType(t){const e=e=>!e.isAttachment()&&!e.isInlineAttachment()&&(e.getHeader("Content-Type")||"").includes(t);return this.messages.some(e)?this.messages.filter(e)[0]:void 0}addAttachment(t){if(this.isObject(t.headers)||(t.headers={}),"string"!=typeof t.filename)throw new e("MIMETEXT_MISSING_FILENAME",'The property "filename" must exist while adding attachments.');let n=(t.headers["Content-Type"]??t.contentType)||"none";if(!1===this.envctx.validateContentType(n))throw new e("MIMETEXT_INVALID_MESSAGE_TYPE",`You specified an invalid content type "${n}".`);const r=t.headers["Content-Transfer-Encoding"]??t.encoding??"base64";this.validContentTransferEncodings.includes(r)||(n="application/octet-stream");const i=t.headers["Content-ID"];"string"==typeof i&&i.length>2&&!i.startsWith("<")&&!i.endsWith(">")&&(t.headers["Content-ID"]="<"+t.headers["Content-ID"]+">");const o=t.inline?"inline":"attachment";return t.headers=Object.assign({},t.headers,{"Content-Type":`${n}; name="${t.filename}"`,"Content-Transfer-Encoding":r,"Content-Disposition":`${o}; filename="${t.filename}"`}),this._addMessage({data:t.data,headers:t.headers})}addMessage(t){this.isObject(t.headers)||(t.headers={});let n=(t.headers["Content-Type"]??t.contentType)||"none";if(!this.validTypes.includes(n))throw new e("MIMETEXT_INVALID_MESSAGE_TYPE",`Valid content types are ${this.validTypes.join(", ")} but you specified "${n}".`);const r=t.headers["Content-Transfer-Encoding"]??t.encoding??"7bit";this.validContentTransferEncodings.includes(r)||(n="application/octet-stream");const i=t.charset??"UTF-8";return t.headers=Object.assign({},t.headers,{"Content-Type":`${n}; charset=${i}`,"Content-Transfer-Encoding":r}),this._addMessage({data:t.data,headers:t.headers})}_addMessage(t){const e=new Nn(this.envctx,t.data,t.headers);return this.messages.push(e),e}setSender(t,e={type:"From"}){const n=new Rn(t,e);return this.setHeader("From",n),n}getSender(){return this.getHeader("From")}setRecipients(t,e={type:"To"}){const n=(this.isArray(t)?t:[t]).map((t=>new Rn(t,e)));return this.setHeader(e.type,n),n}getRecipients(t={type:"To"}){return this.getHeader(t.type)}setRecipient(t,e={type:"To"}){return this.setRecipients(t,e)}setTo(t,e={type:"To"}){return this.setRecipients(t,e)}setCc(t,e={type:"Cc"}){return this.setRecipients(t,e)}setBcc(t,e={type:"Bcc"}){return this.setRecipients(t,e)}setSubject(t){return this.setHeader("subject",t),t}getSubject(){return this.getHeader("subject")}setHeader(t,e){return this.headers.set(t,e),t}getHeader(t){return this.headers.get(t)}setHeaders(t){return Object.keys(t).map((e=>this.setHeader(e,t[e])))}getHeaders(){return this.headers.toObject()}toBase64(t){return this.envctx.toBase64(t)}toBase64WebSafe(t){return this.envctx.toBase64WebSafe(t)}generateBoundaries(){this.boundaries={mixed:Math.random().toString(36).slice(2),alt:Math.random().toString(36).slice(2),related:Math.random().toString(36).slice(2)}}isArray(t){return!!t&&t.constructor===Array}isObject(t){return!!t&&t.constructor===Object}}const Un={toBase64:function(t){return Utilities.base64Encode(t,Utilities.Charset.UTF_8)},toBase64WebSafe:function(t){return Utilities.base64EncodeWebSafe(t)},eol:"\r\n",validateContentType:t=>t.length>0&&t};return t.MIMEMessage=Xn,t.MIMEMessageContent=Nn,t.MIMEMessageHeader=Fn,t.MIMETextError=e,t.Mailbox=Rn,t.createMimeMessage=function(){return new Xn(Un)},t}({}); +//# sourceMappingURL=mimetext.gas.iife.js.map diff --git a/dist/mimetext.gas.iife.js.map b/dist/mimetext.gas.iife.js.map new file mode 100644 index 0000000..8fc0749 --- /dev/null +++ b/dist/mimetext.gas.iife.js.map @@ -0,0 +1 @@ +{"version":3,"file":"mimetext.gas.iife.js","sources":["../src/MIMETextError.ts","../node_modules/core-js-pure/internals/fails.js","../node_modules/core-js-pure/internals/function-bind-native.js","../node_modules/core-js-pure/internals/function-uncurry-this.js","../node_modules/core-js-pure/internals/object-is-prototype-of.js","../node_modules/core-js-pure/internals/global-this.js","../node_modules/core-js-pure/internals/function-apply.js","../node_modules/core-js-pure/internals/classof-raw.js","../node_modules/core-js-pure/internals/function-uncurry-this-clause.js","../node_modules/core-js-pure/internals/is-callable.js","../node_modules/core-js-pure/internals/descriptors.js","../node_modules/core-js-pure/internals/function-call.js","../node_modules/core-js-pure/internals/object-property-is-enumerable.js","../node_modules/core-js-pure/internals/create-property-descriptor.js","../node_modules/core-js-pure/internals/indexed-object.js","../node_modules/core-js-pure/internals/is-null-or-undefined.js","../node_modules/core-js-pure/internals/require-object-coercible.js","../node_modules/core-js-pure/internals/to-indexed-object.js","../node_modules/core-js-pure/internals/is-object.js","../node_modules/core-js-pure/internals/path.js","../node_modules/core-js-pure/internals/get-built-in.js","../node_modules/core-js-pure/internals/environment-user-agent.js","../node_modules/core-js-pure/internals/environment-v8-version.js","../node_modules/core-js-pure/internals/symbol-constructor-detection.js","../node_modules/core-js-pure/internals/use-symbol-as-uid.js","../node_modules/core-js-pure/internals/is-symbol.js","../node_modules/core-js-pure/internals/try-to-string.js","../node_modules/core-js-pure/internals/a-callable.js","../node_modules/core-js-pure/internals/get-method.js","../node_modules/core-js-pure/internals/ordinary-to-primitive.js","../node_modules/core-js-pure/internals/is-pure.js","../node_modules/core-js-pure/internals/define-global-property.js","../node_modules/core-js-pure/internals/shared-store.js","../node_modules/core-js-pure/internals/shared.js","../node_modules/core-js-pure/internals/to-object.js","../node_modules/core-js-pure/internals/has-own-property.js","../node_modules/core-js-pure/internals/uid.js","../node_modules/core-js-pure/internals/well-known-symbol.js","../node_modules/core-js-pure/internals/to-primitive.js","../node_modules/core-js-pure/internals/to-property-key.js","../node_modules/core-js-pure/internals/document-create-element.js","../node_modules/core-js-pure/internals/ie8-dom-define.js","../node_modules/core-js-pure/internals/object-get-own-property-descriptor.js","../node_modules/core-js-pure/internals/is-forced.js","../node_modules/core-js-pure/internals/function-bind-context.js","../node_modules/core-js-pure/internals/v8-prototype-define-bug.js","../node_modules/core-js-pure/internals/an-object.js","../node_modules/core-js-pure/internals/object-define-property.js","../node_modules/core-js-pure/internals/create-non-enumerable-property.js","../node_modules/core-js-pure/internals/export.js","../node_modules/core-js-pure/internals/to-string-tag-support.js","../node_modules/core-js-pure/internals/classof.js","../node_modules/core-js-pure/internals/to-string.js","../node_modules/core-js-pure/internals/whitespaces.js","../node_modules/core-js-pure/internals/string-trim.js","../node_modules/core-js-pure/internals/function-name.js","../node_modules/core-js-pure/internals/string-trim-forced.js","../node_modules/core-js-pure/internals/get-built-in-prototype-method.js","../node_modules/core-js-pure/modules/es.string.trim.js","../node_modules/core-js-pure/es/string/virtual/trim.js","../node_modules/core-js-pure/es/instance/trim.js","../node_modules/core-js-pure/stable/instance/trim.js","../node_modules/core-js-pure/actual/instance/trim.js","../node_modules/core-js-pure/full/instance/trim.js","../node_modules/core-js-pure/features/instance/trim.js","../node_modules/@babel/runtime-corejs3/core-js/instance/trim.js","../src/Mailbox.ts","../src/MIMEMessageHeader.ts","../src/MIMEMessageContent.ts","../src/MIMEMessage.ts","../src/entrypoints/gas.ts"],"sourcesContent":["export class MIMETextError extends Error {\n override name = ''\n description = ''\n\n constructor (message: string, description = '') {\n super(description)\n\n this.name = message\n this.description = description\n }\n}\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n check(typeof this == 'object' && this) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar documentAll = typeof document == 'object' && document.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nmodule.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar path = require('../internals/path');\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (variable) {\n return isCallable(variable) ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(globalThis[namespace])\n : path[namespace] && path[namespace][method] || globalThis[namespace] && globalThis[namespace][method];\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nvar navigator = globalThis.navigator;\nvar userAgent = navigator && navigator.userAgent;\n\nmodule.exports = userAgent ? String(userAgent) : '';\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar userAgent = require('../internals/environment-user-agent');\n\nvar process = globalThis.process;\nvar Deno = globalThis.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/environment-v8-version');\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\nvar $String = globalThis.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL &&\n !Symbol.sham &&\n typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nmodule.exports = true;\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(globalThis, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n globalThis[key] = value;\n } return value;\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar globalThis = require('../internals/global-this');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});\n\n(store.versions || (store.versions = [])).push({\n version: '3.39.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2024 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.39.0/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar store = require('../internals/shared-store');\n\nmodule.exports = function (key, value) {\n return store[key] || (store[key] = value || {});\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = globalThis.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\n\nvar document = globalThis.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar apply = require('../internals/function-apply');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar isCallable = require('../internals/is-callable');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar isForced = require('../internals/is-forced');\nvar path = require('../internals/path');\nvar bind = require('../internals/function-bind-context');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\n// add debugging info\nrequire('../internals/shared-store');\n\nvar wrapConstructor = function (NativeConstructor) {\n var Wrapper = function (a, b, c) {\n if (this instanceof Wrapper) {\n switch (arguments.length) {\n case 0: return new NativeConstructor();\n case 1: return new NativeConstructor(a);\n case 2: return new NativeConstructor(a, b);\n } return new NativeConstructor(a, b, c);\n } return apply(NativeConstructor, this, arguments);\n };\n Wrapper.prototype = NativeConstructor.prototype;\n return Wrapper;\n};\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var PROTO = options.proto;\n\n var nativeSource = GLOBAL ? globalThis : STATIC ? globalThis[TARGET] : globalThis[TARGET] && globalThis[TARGET].prototype;\n\n var target = GLOBAL ? path : path[TARGET] || createNonEnumerableProperty(path, TARGET, {})[TARGET];\n var targetPrototype = target.prototype;\n\n var FORCED, USE_NATIVE, VIRTUAL_PROTOTYPE;\n var key, sourceProperty, targetProperty, nativeProperty, resultProperty, descriptor;\n\n for (key in source) {\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contains in native\n USE_NATIVE = !FORCED && nativeSource && hasOwn(nativeSource, key);\n\n targetProperty = target[key];\n\n if (USE_NATIVE) if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(nativeSource, key);\n nativeProperty = descriptor && descriptor.value;\n } else nativeProperty = nativeSource[key];\n\n // export native or implementation\n sourceProperty = (USE_NATIVE && nativeProperty) ? nativeProperty : source[key];\n\n if (!FORCED && !PROTO && typeof targetProperty == typeof sourceProperty) continue;\n\n // bind methods to global for calling from export context\n if (options.bind && USE_NATIVE) resultProperty = bind(sourceProperty, globalThis);\n // wrap global constructors for prevent changes in this version\n else if (options.wrap && USE_NATIVE) resultProperty = wrapConstructor(sourceProperty);\n // make static versions for prototype methods\n else if (PROTO && isCallable(sourceProperty)) resultProperty = uncurryThis(sourceProperty);\n // default case\n else resultProperty = sourceProperty;\n\n // add a flag to not completely full polyfills\n if (options.sham || (sourceProperty && sourceProperty.sham) || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(resultProperty, 'sham', true);\n }\n\n createNonEnumerableProperty(target, key, resultProperty);\n\n if (PROTO) {\n VIRTUAL_PROTOTYPE = TARGET + 'Prototype';\n if (!hasOwn(path, VIRTUAL_PROTOTYPE)) {\n createNonEnumerableProperty(path, VIRTUAL_PROTOTYPE, {});\n }\n // export virtual prototype methods\n createNonEnumerableProperty(path[VIRTUAL_PROTOTYPE], key, sourceProperty);\n // export real prototype methods\n if (options.real && targetPrototype && (FORCED || !targetPrototype[key])) {\n createNonEnumerableProperty(targetPrototype, key, sourceProperty);\n }\n }\n }\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","'use strict';\n// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar whitespaces = require('../internals/whitespaces');\n\nvar replace = uncurryThis(''.replace);\nvar ltrim = RegExp('^[' + whitespaces + ']+');\nvar rtrim = RegExp('(^|[^' + whitespaces + '])[' + whitespaces + ']+$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = toString(requireObjectCoercible($this));\n if (TYPE & 1) string = replace(string, ltrim, '');\n if (TYPE & 2) string = replace(string, rtrim, '$1');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]()\n || non[METHOD_NAME]() !== non\n || (PROPER_FUNCTION_NAME && whitespaces[METHOD_NAME].name !== METHOD_NAME);\n });\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar path = require('../internals/path');\n\nmodule.exports = function (CONSTRUCTOR, METHOD) {\n var Namespace = path[CONSTRUCTOR + 'Prototype'];\n var pureMethod = Namespace && Namespace[METHOD];\n if (pureMethod) return pureMethod;\n var NativeConstructor = globalThis[CONSTRUCTOR];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n return NativePrototype && NativePrototype[METHOD];\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.es/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","'use strict';\nrequire('../../../modules/es.string.trim');\nvar getBuiltInPrototypeMethod = require('../../../internals/get-built-in-prototype-method');\n\nmodule.exports = getBuiltInPrototypeMethod('String', 'trim');\n","'use strict';\nvar isPrototypeOf = require('../../internals/object-is-prototype-of');\nvar method = require('../string/virtual/trim');\n\nvar StringPrototype = String.prototype;\n\nmodule.exports = function (it) {\n var own = it.trim;\n return typeof it == 'string' || it === StringPrototype\n || (isPrototypeOf(StringPrototype, it) && own === StringPrototype.trim) ? method : own;\n};\n","'use strict';\nvar parent = require('../../es/instance/trim');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../stable/instance/trim');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../actual/instance/trim');\n\nmodule.exports = parent;\n","'use strict';\nmodule.exports = require('../../full/instance/trim');\n","module.exports = require(\"core-js-pure/features/instance/trim\");","import { MIMETextError } from './MIMETextError.js'\n\nexport class Mailbox {\n reSpecCompliantAddr = /(([^<>\\r\\n]+)\\s)?<[^\\r\\n]+>/\n name = ''\n addr = ''\n type: MailboxType = 'To'\n\n constructor (input: MailboxAddrObject | string, config: MailboxConfig = { type: 'To' }) {\n this.type = config.type\n\n this.parse(input)\n }\n\n getAddrDomain (): string {\n if (this.addr.includes('@')) {\n const arr = this.addr.split('@')\n if (arr.length > 1) return arr[1]!\n }\n return ''\n }\n\n dump (): string {\n return this.name.length > 0 ? `\"${this.name}\" <${this.addr}>` : `<${this.addr}>`\n }\n\n parse (input: MailboxAddrObject | string): this {\n if (this.isMailboxAddrObject(input)) {\n this.addr = input.addr\n if (typeof input.name === 'string') this.name = input.name\n if (typeof input.type === 'string') this.type = input.type\n return this\n }\n\n if (this.isMailboxAddrText(input)) {\n const text = input.trim()\n if (text.startsWith('<') && text.endsWith('>')) {\n this.addr = text.slice(1, -1)\n return this\n }\n const arr = text.split(' <') as [string, string]\n arr[0] = /^(\"|')/.test(arr[0]) ? arr[0].slice(1) : arr[0]\n arr[0] = /(\"|')$/.test(arr[0]) ? arr[0].slice(0, -1) : arr[0]\n arr[1] = arr[1].slice(0, -1)\n this.name = arr[0]\n this.addr = arr[1]\n return this\n }\n\n if (typeof input === 'string') {\n this.addr = input\n return this\n }\n\n throw new MIMETextError('MIMETEXT_INVALID_MAILBOX', 'Couldn\\'t recognize the input.')\n }\n\n isMailboxAddrText (v: unknown): boolean {\n return typeof v === 'string' && this.reSpecCompliantAddr.test(v)\n }\n\n isMailboxAddrObject (v: unknown): v is MailboxAddrObject {\n return this.isObject(v) && Object.hasOwn(v, 'addr')\n }\n\n isObject (v: unknown): v is object {\n return (!!v) && (v.constructor === Object)\n }\n}\n\nexport interface MailboxConfig {\n type: MailboxType\n}\nexport interface MailboxAddrObject {\n addr: string\n name?: string\n type?: MailboxType\n}\nexport type MailboxType = 'To' | 'From' | 'Cc' | 'Bcc'\n","import type { EnvironmentContext } from \"./MIMEMessage\";\nimport { MIMETextError } from \"./MIMETextError.js\";\nimport { Mailbox } from \"./Mailbox.js\";\n\n/*\n Headers are based on: https://www.rfc-editor.org/rfc/rfc4021#section-2.1\n (Some are ignored as they can be added later or as a custom header.)\n*/\n\nexport class MIMEMessageHeader {\n envctx: EnvironmentContext;\n fields: HeaderField[] = [\n {\n name: \"Date\",\n generator: () =>\n new Date().toUTCString().replace(/GMT|UTC/gi, \"+0000\"),\n },\n {\n name: \"From\",\n required: true,\n validate: (v: unknown) => this.validateMailboxSingle(v),\n dump: (v: unknown) => this.dumpMailboxSingle(v),\n },\n {\n name: \"Sender\",\n validate: (v: unknown) => this.validateMailboxSingle(v),\n dump: (v: unknown) => this.dumpMailboxSingle(v),\n },\n {\n name: \"Reply-To\",\n validate: (v: unknown) => this.validateMailboxSingle(v),\n dump: (v: unknown) => this.dumpMailboxSingle(v),\n },\n {\n name: \"To\",\n validate: (v: unknown) => this.validateMailboxMulti(v),\n dump: (v: unknown) => this.dumpMailboxMulti(v),\n },\n {\n name: \"Cc\",\n validate: (v: unknown) => this.validateMailboxMulti(v),\n dump: (v: unknown) => this.dumpMailboxMulti(v),\n },\n {\n name: \"Bcc\",\n validate: (v: unknown) => this.validateMailboxMulti(v),\n dump: (v: unknown) => this.dumpMailboxMulti(v),\n },\n {\n name: \"Message-ID\",\n generator: () => {\n const randomstr = Math.random().toString(36).slice(2);\n const from = this.fields.filter(\n (obj) => obj.name === \"From\",\n )[0]!.value as Mailbox;\n const domain = from.getAddrDomain();\n return \"<\" + randomstr + \"@\" + domain + \">\";\n },\n },\n {\n name: \"Subject\",\n required: true,\n dump: (v: unknown) => {\n return typeof v === \"string\"\n ? \"=?utf-8?B?\" + this.envctx.toBase64(v) + \"?=\"\n : \"\";\n },\n },\n {\n name: \"MIME-Version\",\n generator: () => \"1.0\",\n },\n ];\n\n constructor(envctx: EnvironmentContext) {\n this.envctx = envctx;\n }\n\n dump(): string {\n let lines = \"\";\n\n for (const field of this.fields) {\n if (field.disabled) continue;\n const isValueDefinedByUser =\n field.value !== undefined && field.value !== null;\n if (!isValueDefinedByUser && field.required) {\n throw new MIMETextError(\n \"MIMETEXT_MISSING_HEADER\",\n `The \"${field.name}\" header is required.`,\n );\n }\n if (!isValueDefinedByUser && typeof field.generator !== \"function\")\n continue;\n if (!isValueDefinedByUser && typeof field.generator === \"function\")\n field.value = field.generator();\n const strval =\n Object.hasOwn(field, \"dump\") && typeof field.dump === \"function\"\n ? field.dump(field.value)\n : typeof field.value === \"string\"\n ? field.value\n : \"\";\n lines += `${field.name}: ${strval}${this.envctx.eol}`;\n }\n\n return lines.slice(0, -1 * this.envctx.eol.length);\n }\n\n toObject(): HeadersObject {\n return this.fields.reduce((memo: HeadersObject, item) => {\n memo[item.name] = item.value;\n return memo;\n }, {});\n }\n\n get(name: string): string | Mailbox | Mailbox[] | undefined {\n const fieldMatcher = (obj: HeaderField): boolean =>\n obj.name.toLowerCase() === name.toLowerCase();\n const ind = this.fields.findIndex(fieldMatcher);\n\n return ind !== -1 ? this.fields[ind]!.value : undefined;\n }\n\n set(name: string, value: string | Mailbox | Mailbox[]): HeaderField {\n const fieldMatcher = (obj: HeaderField): boolean =>\n obj.name.toLowerCase() === name.toLowerCase();\n const isCustomHeader = !this.fields.some(fieldMatcher);\n\n if (!isCustomHeader) {\n const ind = this.fields.findIndex(fieldMatcher);\n const field = this.fields[ind]!;\n if (field.validate && !field.validate(value)) {\n throw new MIMETextError(\n \"MIMETEXT_INVALID_HEADER_VALUE\",\n `The value for the header \"${name}\" is invalid.`,\n );\n }\n this.fields[ind]!.value = value;\n return this.fields[ind]!;\n }\n\n return this.setCustom({\n name: name,\n value: value,\n custom: true,\n dump: (v: unknown) => (typeof v === \"string\" ? v : \"\"),\n });\n }\n\n setCustom(obj: HeaderField): HeaderField {\n if (this.isHeaderField(obj)) {\n if (typeof obj.value !== \"string\") {\n throw new MIMETextError(\n \"MIMETEXT_INVALID_HEADER_FIELD\",\n \"Custom header must have a value.\",\n );\n }\n this.fields.push(obj);\n return obj;\n }\n\n throw new MIMETextError(\n \"MIMETEXT_INVALID_HEADER_FIELD\",\n \"Invalid input for custom header. It must be in type of HeaderField.\",\n );\n }\n\n validateMailboxSingle(v: unknown): v is Mailbox {\n return v instanceof Mailbox;\n }\n\n validateMailboxMulti(v: unknown): boolean {\n return v instanceof Mailbox || this.isArrayOfMailboxes(v);\n }\n\n dumpMailboxMulti(v: unknown): string {\n const dump = (item: Mailbox): string =>\n item.name.length === 0\n ? item.dump()\n : `=?utf-8?B?${this.envctx.toBase64(item.name)}?= <${item.addr}>`;\n return this.isArrayOfMailboxes(v)\n ? v.map(dump).join(`,${this.envctx.eol} `)\n : v instanceof Mailbox\n ? dump(v)\n : \"\";\n }\n\n dumpMailboxSingle(v: unknown): string {\n const dump = (item: Mailbox): string =>\n item.name.length === 0\n ? item.dump()\n : `=?utf-8?B?${this.envctx.toBase64(item.name)}?= <${item.addr}>`;\n return v instanceof Mailbox ? dump(v) : \"\";\n }\n\n isHeaderField(v: unknown): v is HeaderField {\n const validProps = [\n \"name\",\n \"value\",\n \"dump\",\n \"required\",\n \"disabled\",\n \"generator\",\n \"custom\",\n ];\n if (this.isObject(v)) {\n const h = v as HeaderField;\n if (\n Object.hasOwn(h, \"name\") &&\n typeof h.name === \"string\" &&\n h.name.length > 0\n ) {\n if (\n !Object.keys(h).some((prop) => !validProps.includes(prop))\n ) {\n return true;\n }\n }\n }\n return false;\n }\n\n isObject(v: unknown): v is object {\n return !!v && v.constructor === Object;\n }\n\n isArrayOfMailboxes(v: unknown): v is Mailbox[] {\n return (\n this.isArray(v) &&\n v.every((item: unknown) => item instanceof Mailbox)\n );\n }\n\n isArray(v: unknown): v is never[] {\n return !!v && v.constructor === Array;\n }\n}\n\nexport class MIMEMessageContentHeader extends MIMEMessageHeader {\n override fields = [\n {\n name: \"Content-ID\",\n },\n {\n name: \"Content-Type\",\n },\n {\n name: \"Content-Transfer-Encoding\",\n },\n {\n name: \"Content-Disposition\",\n },\n ];\n\n constructor(envctx: EnvironmentContext) {\n super(envctx);\n }\n}\n\nexport type HeadersObject = Record<\n string,\n string | Mailbox | Mailbox[] | undefined\n>;\nexport interface HeaderField {\n name: string;\n dump?: (v: string | Mailbox | Mailbox[] | undefined) => string;\n value?: string | Mailbox | Mailbox[] | undefined;\n validate?: (v: unknown) => boolean;\n required?: boolean;\n disabled?: boolean;\n generator?: () => string;\n custom?: boolean;\n}\n","import type { EnvironmentContext } from './MIMEMessage'\nimport type { Mailbox } from './Mailbox'\nimport { type HeadersObject, MIMEMessageContentHeader } from './MIMEMessageHeader.js'\n\nexport class MIMEMessageContent {\n envctx: EnvironmentContext\n headers\n data\n\n constructor (envctx: EnvironmentContext, data: string, headers = {}) {\n this.envctx = envctx\n this.headers = new MIMEMessageContentHeader(this.envctx)\n this.data = data\n this.setHeaders(headers)\n }\n\n dump (): string {\n const eol = this.envctx.eol\n return this.headers.dump() + eol + eol + this.data\n }\n\n isAttachment (): boolean {\n const disposition = this.headers.get('Content-Disposition')\n return typeof disposition === 'string' && disposition.includes('attachment')\n }\n\n isInlineAttachment (): boolean {\n const disposition = this.headers.get('Content-Disposition')\n return typeof disposition === 'string' && disposition.includes('inline')\n }\n\n setHeader (name: string, value: string | Mailbox | Mailbox[]): string {\n this.headers.set(name, value)\n return name\n }\n\n getHeader (name: string): string | Mailbox | Mailbox[] | undefined {\n return this.headers.get(name)\n }\n\n setHeaders (obj: Record): string[] {\n return Object.keys(obj).map((prop) => this.setHeader(prop, obj[prop]!))\n }\n\n getHeaders (): HeadersObject {\n return this.headers.toObject()\n }\n}\n","import type { MailboxAddrObject, MailboxConfig } from './Mailbox.js'\n\nimport { MIMETextError } from './MIMETextError.js'\nimport { type HeadersObject, MIMEMessageHeader } from './MIMEMessageHeader.js'\nimport { Mailbox } from './Mailbox.js'\nimport { MIMEMessageContent } from './MIMEMessageContent.js'\n\nexport class MIMEMessage {\n envctx: EnvironmentContext\n headers: MIMEMessageHeader\n boundaries: Boundaries = { mixed: '', alt: '', related: '' }\n validTypes = ['text/html', 'text/plain']\n validContentTransferEncodings = ['7bit', '8bit', 'binary', 'quoted-printable', 'base64']\n messages: MIMEMessageContent[] = []\n\n constructor (envctx: EnvironmentContext) {\n this.envctx = envctx\n this.headers = new MIMEMessageHeader(this.envctx)\n this.messages = []\n\n this.generateBoundaries()\n }\n\n asRaw (): string {\n const eol = this.envctx.eol\n const lines = this.headers.dump()\n\n const plaintext = this.getMessageByType('text/plain')\n const html = this.getMessageByType('text/html')\n const primaryMessage = html ?? (plaintext ?? undefined)\n\n if (primaryMessage === undefined) {\n throw new MIMETextError('MIMETEXT_MISSING_BODY', 'No content added to the message.')\n }\n\n const hasAttachments = this.hasAttachments()\n const hasInlineAttachments = this.hasInlineAttachments()\n\n const structure = hasInlineAttachments && hasAttachments\n ? 'mixed+related'\n : hasAttachments\n ? 'mixed'\n : hasInlineAttachments\n ? 'related'\n : plaintext && html\n ? 'alternative'\n : ''\n\n if (structure === 'mixed+related') {\n const attachments = this.getAttachments()\n .map((a) => '--' + this.boundaries.mixed + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n const inlineAttachments = this.getInlineAttachments()\n .map((a) => '--' + this.boundaries.related + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n return lines + eol +\n 'Content-Type: multipart/mixed; boundary=' + this.boundaries.mixed + eol +\n eol +\n '--' + this.boundaries.mixed + eol +\n 'Content-Type: multipart/related; boundary=' + this.boundaries.related + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.related) + eol +\n eol +\n inlineAttachments +\n '--' + this.boundaries.related + '--' + eol +\n attachments +\n '--' + this.boundaries.mixed + '--'\n } else if (structure === 'mixed') {\n const attachments = this.getAttachments()\n .map((a) => '--' + this.boundaries.mixed + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n return lines + eol +\n 'Content-Type: multipart/mixed; boundary=' + this.boundaries.mixed + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.mixed) + eol +\n (plaintext && html ? '' : eol) +\n attachments +\n '--' + this.boundaries.mixed + '--'\n } else if (structure === 'related') {\n const inlineAttachments = this.getInlineAttachments()\n .map((a) => '--' + this.boundaries.related + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n return lines + eol +\n 'Content-Type: multipart/related; boundary=' + this.boundaries.related + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.related) + eol +\n eol +\n inlineAttachments +\n '--' + this.boundaries.related + '--'\n } else if (structure === 'alternative') {\n return lines + eol +\n 'Content-Type: multipart/alternative; boundary=' + this.boundaries.alt + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.alt) + eol +\n eol +\n '--' + this.boundaries.alt + '--'\n } else {\n return lines + eol + primaryMessage.dump()\n }\n }\n\n asEncoded (): string {\n return this.envctx.toBase64WebSafe(this.asRaw())\n }\n\n dumpTextContent (plaintext: MIMEMessageContent | undefined, html: MIMEMessageContent | undefined, boundary: string): string {\n const eol = this.envctx.eol\n const primaryMessage = html ?? plaintext\n\n let data = ''\n\n if (plaintext && html && !this.hasInlineAttachments() && this.hasAttachments()) {\n data = '--' + boundary + eol +\n 'Content-Type: multipart/alternative; boundary=' + this.boundaries.alt + eol +\n eol +\n '--' + this.boundaries.alt + eol +\n plaintext.dump() + eol +\n eol +\n '--' + this.boundaries.alt + eol +\n html.dump() + eol +\n eol +\n '--' + this.boundaries.alt + '--'\n } else if (plaintext && html && this.hasInlineAttachments()) {\n data = '--' + boundary + eol +\n html.dump()\n } else if (plaintext && html) {\n data = '--' + boundary + eol +\n plaintext.dump() + eol +\n eol +\n '--' + boundary + eol +\n html.dump()\n } else {\n data = '--' + boundary + eol +\n (primaryMessage!).dump()\n }\n\n return data\n }\n\n hasInlineAttachments (): boolean {\n return this.messages.some((msg) => msg.isInlineAttachment())\n }\n\n hasAttachments (): boolean {\n return this.messages.some((msg) => msg.isAttachment())\n }\n\n getAttachments (): MIMEMessageContent[] | [] {\n const matcher = (msg: MIMEMessageContent): boolean => msg.isAttachment()\n return this.messages.some(matcher) ? this.messages.filter(matcher) : []\n }\n\n getInlineAttachments (): MIMEMessageContent[] | [] {\n const matcher = (msg: MIMEMessageContent): boolean => msg.isInlineAttachment()\n return this.messages.some(matcher) ? this.messages.filter(matcher) : []\n }\n\n getMessageByType (type: string): MIMEMessageContent | undefined {\n const matcher = (msg: MIMEMessageContent): boolean => !msg.isAttachment() && !msg.isInlineAttachment() && (msg.getHeader('Content-Type') as string || '').includes(type)\n return this.messages.some(matcher) ? this.messages.filter(matcher)[0] : undefined\n }\n\n addAttachment (opts: AttachmentOptions): MIMEMessageContent {\n if (!this.isObject(opts.headers)) opts.headers = {}\n\n if (typeof opts.filename !== 'string') {\n throw new MIMETextError('MIMETEXT_MISSING_FILENAME', 'The property \"filename\" must exist while adding attachments.')\n }\n\n let type = (opts.headers['Content-Type'] ?? opts.contentType) || 'none'\n if (this.envctx.validateContentType(type) === false) {\n throw new MIMETextError('MIMETEXT_INVALID_MESSAGE_TYPE', `You specified an invalid content type \"${type}\".`)\n }\n\n const encoding = (opts.headers['Content-Transfer-Encoding'] ?? opts.encoding) ?? 'base64'\n if (!this.validContentTransferEncodings.includes(encoding)) {\n type = 'application/octet-stream'\n }\n\n const contentId = opts.headers['Content-ID']\n if (typeof contentId === 'string' && contentId.length > 2 && !contentId.startsWith('<') && !contentId.endsWith('>')) {\n opts.headers['Content-ID'] = '<' + opts.headers['Content-ID'] + '>'\n }\n\n const disposition = opts.inline ? 'inline' : 'attachment'\n\n opts.headers = Object.assign({}, opts.headers, {\n 'Content-Type': `${type}; name=\"${opts.filename}\"`,\n 'Content-Transfer-Encoding': encoding,\n 'Content-Disposition': `${disposition}; filename=\"${opts.filename}\"`\n })\n\n return this._addMessage({ data: opts.data, headers: opts.headers })\n }\n\n addMessage (opts: ContentOptions): MIMEMessageContent {\n if (!this.isObject(opts.headers)) opts.headers = {}\n\n let type = (opts.headers['Content-Type'] ?? opts.contentType) || 'none'\n if (!this.validTypes.includes(type)) {\n throw new MIMETextError('MIMETEXT_INVALID_MESSAGE_TYPE', `Valid content types are ${this.validTypes.join(', ')} but you specified \"${type}\".`)\n }\n\n const encoding = (opts.headers['Content-Transfer-Encoding'] ?? opts.encoding) ?? '7bit'\n if (!this.validContentTransferEncodings.includes(encoding)) {\n type = 'application/octet-stream'\n }\n\n const charset = opts.charset ?? 'UTF-8'\n\n opts.headers = Object.assign({}, opts.headers, {\n 'Content-Type': `${type}; charset=${charset}`,\n 'Content-Transfer-Encoding': encoding\n })\n\n return this._addMessage({ data: opts.data, headers: opts.headers })\n }\n\n private _addMessage (opts: { data: string, headers: ContentHeaders }): MIMEMessageContent {\n const msg = new MIMEMessageContent(this.envctx, opts.data, opts.headers)\n\n this.messages.push(msg)\n\n return msg\n }\n\n setSender (input: MailboxAddrObject | string, config: MailboxConfig = { type: 'From' }): Mailbox {\n const mailbox = new Mailbox(input, config)\n this.setHeader('From', mailbox)\n return mailbox\n }\n\n getSender (): Mailbox | undefined {\n return this.getHeader('From') as Mailbox\n }\n\n setRecipients (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'To' }): Mailbox[] {\n const arr = !this.isArray(input) ? [input] : input\n const recs = arr.map((_input) => new Mailbox(_input, config))\n this.setHeader(config.type, recs)\n return recs\n }\n\n getRecipients (config: MailboxConfig = { type: 'To' }): Mailbox | Mailbox[] | undefined {\n return this.getHeader(config.type) as Mailbox | Mailbox[] | undefined\n }\n\n setRecipient (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'To' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setTo (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'To' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setCc (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'Cc' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setBcc (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'Bcc' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setSubject (value: string): string {\n this.setHeader('subject', value)\n return value\n }\n\n getSubject (): string | undefined {\n return this.getHeader('subject') as string\n }\n\n setHeader (name: string, value: string | Mailbox | Mailbox[]): string {\n this.headers.set(name, value)\n return name\n }\n\n getHeader (name: string): string | Mailbox | Mailbox[] | undefined {\n return this.headers.get(name)\n }\n\n setHeaders (obj: Record): string[] {\n return Object.keys(obj).map((prop) => this.setHeader(prop, obj[prop]!))\n }\n\n getHeaders (): HeadersObject {\n return this.headers.toObject()\n }\n\n toBase64 (v: string): string {\n return this.envctx.toBase64(v)\n }\n\n toBase64WebSafe (v: string): string {\n return this.envctx.toBase64WebSafe(v)\n }\n\n generateBoundaries (): void {\n this.boundaries = {\n mixed: Math.random().toString(36).slice(2),\n alt: Math.random().toString(36).slice(2),\n related: Math.random().toString(36).slice(2)\n }\n }\n\n isArray (v: unknown): v is unknown[] {\n return (!!v) && (v.constructor === Array)\n }\n\n isObject (v: unknown): v is object {\n return (!!v) && (v.constructor === Object)\n }\n}\n\nexport interface EnvironmentContext {\n toBase64: (v: string) => string\n toBase64WebSafe: (v: string) => string\n eol: string\n validateContentType: (v: string) => string | false\n}\n\nexport interface Boundaries {\n mixed: string\n alt: string\n related: string\n}\n\nexport type ContentTransferEncoding = '7bit' | '8bit' | 'binary' | 'quoted-printable' | 'base64'\n\nexport interface ContentHeaders {\n 'Content-Type'?: string\n 'Content-Transfer-Encoding'?: ContentTransferEncoding\n 'Content-Disposition'?: string\n 'Content-ID'?: string\n [index: string]: string | undefined\n}\n\nexport interface ContentOptions {\n data: string\n encoding?: ContentTransferEncoding\n contentType: string\n headers?: ContentHeaders\n charset?: string\n}\n\nexport interface AttachmentOptions extends ContentOptions {\n inline?: boolean\n filename: string\n}\n","import { MIMEMessage } from '../MIMEMessage.js'\n\nconst envctx = {\n toBase64: function toBase64 (data: string) {\n return Utilities.base64Encode(data, Utilities.Charset.UTF_8)\n },\n toBase64WebSafe: function toBase64WebSafe (data: string) {\n return Utilities.base64EncodeWebSafe(data)\n },\n eol: '\\r\\n',\n validateContentType: (v: string): string | false => {\n return v.length > 0 ? v : false\n }\n}\n\nexport function createMimeMessage (): MIMEMessage {\n return new MIMEMessage(envctx)\n}\n\nexport { MIMEMessage } from '../MIMEMessage.js'\nexport { Mailbox } from '../Mailbox.js'\nexport { MIMETextError } from '../MIMETextError.js'\nexport { MIMEMessageHeader } from '../MIMEMessageHeader.js'\nexport { MIMEMessageContent } from '../MIMEMessageContent.js'\n\nexport type * from '../MIMEMessage.js'\nexport type * from '../Mailbox.js'\nexport type * from '../MIMETextError.js'\nexport type * from '../MIMEMessageHeader.js'\nexport type * from '../MIMEMessageContent.js'\n"],"names":["MIMETextError","Error","name","description","constructor","message","super","this","fails","exec","error","functionBindNative","require$$0","test","bind","hasOwnProperty","NATIVE_BIND","FunctionPrototype","Function","prototype","call","uncurryThisWithBind","functionUncurryThis","fn","apply","arguments","objectIsPrototypeOf","uncurryThis","isPrototypeOf","check","it","Math","globalThis_1","globalThis","window","self","global","functionApply","Reflect","toString","stringSlice","slice","classofRaw","require$$1","functionUncurryThisClause","documentAll","document","all","isCallable","undefined","argument","descriptors","Object","defineProperty","get","functionCall","$propertyIsEnumerable","propertyIsEnumerable","getOwnPropertyDescriptor","NASHORN_BUG","objectPropertyIsEnumerable","f","V","descriptor","enumerable","createPropertyDescriptor","bitmap","value","configurable","writable","classof","require$$2","$Object","split","indexedObject","isNullOrUndefined","$TypeError","TypeError","requireObjectCoercible","IndexedObject","toIndexedObject","isObject","path","aFunction","variable","getBuiltIn","namespace","method","length","navigator","userAgent","environmentUserAgent","String","match","version","process","Deno","versions","v8","environmentV8Version","V8_VERSION","$String","symbolConstructorDetection","getOwnPropertySymbols","symbol","Symbol","sham","useSymbolAsUid","iterator","isSymbol","require$$3","$Symbol","tryToString","aCallable","getMethod","P","func","ordinaryToPrimitive","input","pref","val","valueOf","isPure","defineGlobalProperty","key","IS_PURE","SHARED","store","sharedStoreModule","exports","push","mode","copyright","license","source","shared","toObject","hasOwnProperty_1","hasOwn","id","postfix","random","uid","NATIVE_SYMBOL","require$$4","USE_SYMBOL_AS_UID","require$$5","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","wellKnownSymbol","TO_PRIMITIVE","toPrimitive","result","exoticToPrim","toPropertyKey","EXISTS","createElement","documentCreateElement","DESCRIPTORS","ie8DomDefine","a","propertyIsEnumerableModule","require$$6","IE8_DOM_DEFINE","require$$7","$getOwnPropertyDescriptor","objectGetOwnPropertyDescriptor","O","replacement","isForced","feature","detection","data","normalize","POLYFILL","NATIVE","string","replace","toLowerCase","isForced_1","functionBindContext","that","v8PrototypeDefineBug","anObject","V8_PROTOTYPE_DEFINE_BUG","$defineProperty","ENUMERABLE","CONFIGURABLE","WRITABLE","objectDefineProperty","Attributes","current","definePropertyModule","createNonEnumerableProperty","object","require$$8","require$$9","wrapConstructor","NativeConstructor","Wrapper","b","c","_export","options","FORCED","USE_NATIVE","VIRTUAL_PROTOTYPE","sourceProperty","targetProperty","nativeProperty","resultProperty","TARGET","target","GLOBAL","STATIC","stat","PROTO","proto","nativeSource","targetPrototype","forced","dontCallGetSet","wrap","real","toStringTagSupport","TO_STRING_TAG_SUPPORT","TO_STRING_TAG","CORRECT_ARGUMENTS","tag","tryGet","callee","whitespaces","ltrim","RegExp","rtrim","createMethod","TYPE","$this","stringTrim","start","end","trim","getDescriptor","PROPER","functionName","PROPER_FUNCTION_NAME","stringTrimForced","METHOD_NAME","getBuiltInPrototypeMethod","CONSTRUCTOR","METHOD","Namespace","pureMethod","NativePrototype","$","$trim","forcedStringTrimMethod","StringPrototype","own","Mailbox","reSpecCompliantAddr","addr","type","config","parse","getAddrDomain","includes","arr","dump","isMailboxAddrObject","isMailboxAddrText","text","_trimInstanceProperty","startsWith","endsWith","v","MIMEMessageHeader","fields","generator","Date","toUTCString","required","validate","validateMailboxSingle","dumpMailboxSingle","validateMailboxMulti","dumpMailboxMulti","filter","obj","envctx","toBase64","lines","field","disabled","isValueDefinedByUser","strval","eol","reduce","memo","item","ind","findIndex","set","fieldMatcher","some","setCustom","custom","isHeaderField","isArrayOfMailboxes","map","join","validProps","h","keys","prop","isArray","every","Array","MIMEMessageContentHeader","MIMEMessageContent","headers","setHeaders","isAttachment","disposition","isInlineAttachment","setHeader","getHeader","getHeaders","MIMEMessage","boundaries","mixed","alt","related","validTypes","validContentTransferEncodings","messages","generateBoundaries","asRaw","plaintext","getMessageByType","html","primaryMessage","hasAttachments","hasInlineAttachments","structure","attachments","getAttachments","inlineAttachments","getInlineAttachments","dumpTextContent","asEncoded","toBase64WebSafe","boundary","msg","matcher","addAttachment","opts","filename","contentType","validateContentType","encoding","contentId","inline","assign","_addMessage","addMessage","charset","setSender","mailbox","getSender","setRecipients","recs","_input","getRecipients","setRecipient","setTo","setCc","setBcc","setSubject","getSubject","Utilities","base64Encode","Charset","UTF_8","base64EncodeWebSafe"],"mappings":"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","x_google_ignoreList":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65]} \ No newline at end of file diff --git a/dist/mimetext.iife.js b/dist/mimetext.iife.js new file mode 100644 index 0000000..c5635f7 --- /dev/null +++ b/dist/mimetext.iife.js @@ -0,0 +1,2 @@ +var MimeText=function(t){"use strict";const e="function"==typeof Buffer,r=("function"==typeof TextDecoder&&new TextDecoder,"function"==typeof TextEncoder?new TextEncoder:void 0),n=Array.prototype.slice.call("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="),i=(t=>{let e={};return t.forEach(((t,r)=>e[t]=r)),e})(n),o=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,u=String.fromCharCode.bind(String),a=("function"==typeof Uint8Array.from&&Uint8Array.from.bind(Uint8Array),t=>t.replace(/=/g,"").replace(/[+\/]/g,(t=>"+"==t?"-":"_"))),c=t=>t.replace(/[^A-Za-z0-9\+\/]/g,""),s=t=>{let e,r,i,o,u="";const a=t.length%3;for(let a=0;a255||(i=t.charCodeAt(a++))>255||(o=t.charCodeAt(a++))>255)throw new TypeError("invalid character found");e=r<<16|i<<8|o,u+=n[e>>18&63]+n[e>>12&63]+n[e>>6&63]+n[63&e]}return a?u.slice(0,a-3)+"===".substring(a):u},f="function"==typeof btoa?t=>btoa(t):e?t=>Buffer.from(t,"binary").toString("base64"):s,l=e?t=>Buffer.from(t).toString("base64"):t=>{let e=[];for(let r=0,n=t.length;r{if(t.length<2)return(e=t.charCodeAt(0))<128?t:e<2048?u(192|e>>>6)+u(128|63&e):u(224|e>>>12&15)+u(128|e>>>6&63)+u(128|63&e);var e=65536+1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320);return u(240|e>>>18&7)+u(128|e>>>12&63)+u(128|e>>>6&63)+u(128|63&e)},h=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,p=t=>t.replace(h,d),v=e?t=>Buffer.from(t,"utf8").toString("base64"):r?t=>l(r.encode(t)):t=>f(p(t)),m=(t,e=!1)=>e?a(v(t)):v(t),y=t=>m(t,!0),g=t=>{if(t=t.replace(/\s+/g,""),!o.test(t))throw new TypeError("malformed base64.");t+="==".slice(2-(3&t.length));let e,r,n,a="";for(let o=0;o>16&255):64===n?u(e>>16&255,e>>8&255):u(e>>16&255,e>>8&255,255&e);return a},b=m,S=y;var w="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function O(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var T,x,A,M,j,E,C,I,P,F,D,_,L,R,B,N,H={exports:{}},k={};function G(){if(x)return T;x=1;var t=function(t){return t&&t.Math===Math&&t};return T=t("object"==typeof globalThis&&globalThis)||t("object"==typeof window&&window)||t("object"==typeof self&&self)||t("object"==typeof w&&w)||t("object"==typeof T&&T)||function(){return this}()||Function("return this")()}function V(){return M?A:(M=1,A=function(t){try{return!!t()}catch(t){return!0}})}function W(){return E?j:(E=1,j=!V()((function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")})))}function z(){if(I)return C;I=1;var t=W(),e=Function.prototype,r=e.apply,n=e.call;return C="object"==typeof Reflect&&Reflect.apply||(t?n.bind(r):function(){return n.apply(r,arguments)}),C}function U(){if(F)return P;F=1;var t=W(),e=Function.prototype,r=e.call,n=t&&e.bind.bind(r,r);return P=t?n:function(t){return function(){return r.apply(t,arguments)}},P}function X(){if(_)return D;_=1;var t=U(),e=t({}.toString),r=t("".slice);return D=function(t){return r(e(t),8,-1)}}function q(){if(R)return L;R=1;var t=X(),e=U();return L=function(r){if("Function"===t(r))return e(r)}}function Y(){if(N)return B;N=1;var t="object"==typeof document&&document.all;return B=void 0===t&&void 0!==t?function(e){return"function"==typeof e||e===t}:function(t){return"function"==typeof t}}var K,$,J,Z,Q={};function tt(){return $?K:($=1,K=!V()((function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]})))}function et(){if(Z)return J;Z=1;var t=W(),e=Function.prototype.call;return J=t?e.bind(e):function(){return e.apply(e,arguments)},J}var rt,nt,it,ot,ut,at,ct,st,ft,lt,dt,ht,pt,vt,mt,yt,gt,bt,St,wt,Ot,Tt,xt,At,Mt,jt,Et,Ct,It,Pt,Ft,Dt,_t,Lt,Rt,Bt,Nt,Ht={};function kt(){if(rt)return Ht;rt=1;var t={}.propertyIsEnumerable,e=Object.getOwnPropertyDescriptor,r=e&&!t.call({1:2},1);return Ht.f=r?function(t){var r=e(this,t);return!!r&&r.enumerable}:t,Ht}function Gt(){return it?nt:(it=1,nt=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}})}function Vt(){if(ut)return ot;ut=1;var t=U(),e=V(),r=X(),n=Object,i=t("".split);return ot=e((function(){return!n("z").propertyIsEnumerable(0)}))?function(t){return"String"===r(t)?i(t,""):n(t)}:n}function Wt(){return ct?at:(ct=1,at=function(t){return null==t})}function zt(){if(ft)return st;ft=1;var t=Wt(),e=TypeError;return st=function(r){if(t(r))throw new e("Can't call method on "+r);return r}}function Ut(){if(dt)return lt;dt=1;var t=Vt(),e=zt();return lt=function(r){return t(e(r))}}function Xt(){if(pt)return ht;pt=1;var t=Y();return ht=function(e){return"object"==typeof e?null!==e:t(e)}}function qt(){return mt?vt:(mt=1,vt={})}function Yt(){if(gt)return yt;gt=1;var t=qt(),e=G(),r=Y(),n=function(t){return r(t)?t:void 0};return yt=function(r,i){return arguments.length<2?n(t[r])||n(e[r]):t[r]&&t[r][i]||e[r]&&e[r][i]},yt}function Kt(){return St?bt:(St=1,bt=U()({}.isPrototypeOf))}function $t(){if(Ot)return wt;Ot=1;var t=G().navigator,e=t&&t.userAgent;return wt=e?String(e):""}function Jt(){if(xt)return Tt;xt=1;var t,e,r=G(),n=$t(),i=r.process,o=r.Deno,u=i&&i.versions||o&&o.version,a=u&&u.v8;return a&&(e=(t=a.split("."))[0]>0&&t[0]<4?1:+(t[0]+t[1])),!e&&n&&(!(t=n.match(/Edge\/(\d+)/))||t[1]>=74)&&(t=n.match(/Chrome\/(\d+)/))&&(e=+t[1]),Tt=e}function Zt(){if(Mt)return At;Mt=1;var t=Jt(),e=V(),r=G().String;return At=!!Object.getOwnPropertySymbols&&!e((function(){var e=Symbol("symbol detection");return!r(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&t&&t<41})),At}function Qt(){return Et?jt:(Et=1,jt=Zt()&&!Symbol.sham&&"symbol"==typeof Symbol.iterator)}function te(){if(It)return Ct;It=1;var t=Yt(),e=Y(),r=Kt(),n=Object;return Ct=Qt()?function(t){return"symbol"==typeof t}:function(i){var o=t("Symbol");return e(o)&&r(o.prototype,n(i))}}function ee(){if(Ft)return Pt;Ft=1;var t=String;return Pt=function(e){try{return t(e)}catch(t){return"Object"}}}function re(){if(_t)return Dt;_t=1;var t=Y(),e=ee(),r=TypeError;return Dt=function(n){if(t(n))return n;throw new r(e(n)+" is not a function")}}function ne(){if(Rt)return Lt;Rt=1;var t=re(),e=Wt();return Lt=function(r,n){var i=r[n];return e(i)?void 0:t(i)}}function ie(){if(Nt)return Bt;Nt=1;var t=et(),e=Y(),r=Xt(),n=TypeError;return Bt=function(i,o){var u,a;if("string"===o&&e(u=i.toString)&&!r(a=t(u,i)))return a;if(e(u=i.valueOf)&&!r(a=t(u,i)))return a;if("string"!==o&&e(u=i.toString)&&!r(a=t(u,i)))return a;throw new n("Can't convert object to primitive value")}}var oe,ue,ae,ce,se,fe,le,de,he,pe,ve,me,ye,ge,be,Se,we,Oe,Te,xe,Ae,Me,je,Ee,Ce,Ie,Pe,Fe,De={exports:{}};function _e(){return ue?oe:(ue=1,oe=!0)}function Le(){if(ce)return ae;ce=1;var t=G(),e=Object.defineProperty;return ae=function(r,n){try{e(t,r,{value:n,configurable:!0,writable:!0})}catch(e){t[r]=n}return n}}function Re(){if(se)return De.exports;se=1;var t=_e(),e=G(),r=Le(),n="__core-js_shared__",i=De.exports=e[n]||r(n,{});return(i.versions||(i.versions=[])).push({version:"3.39.0",mode:t?"pure":"global",copyright:"© 2014-2024 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.39.0/LICENSE",source:"https://github.com/zloirock/core-js"}),De.exports}function Be(){if(le)return fe;le=1;var t=Re();return fe=function(e,r){return t[e]||(t[e]=r||{})}}function Ne(){if(he)return de;he=1;var t=zt(),e=Object;return de=function(r){return e(t(r))}}function He(){if(ve)return pe;ve=1;var t=U(),e=Ne(),r=t({}.hasOwnProperty);return pe=Object.hasOwn||function(t,n){return r(e(t),n)}}function ke(){if(ye)return me;ye=1;var t=U(),e=0,r=Math.random(),n=t(1..toString);return me=function(t){return"Symbol("+(void 0===t?"":t)+")_"+n(++e+r,36)}}function Ge(){if(be)return ge;be=1;var t=G(),e=Be(),r=He(),n=ke(),i=Zt(),o=Qt(),u=t.Symbol,a=e("wks"),c=o?u.for||u:u&&u.withoutSetter||n;return ge=function(t){return r(a,t)||(a[t]=i&&r(u,t)?u[t]:c("Symbol."+t)),a[t]}}function Ve(){if(we)return Se;we=1;var t=et(),e=Xt(),r=te(),n=ne(),i=ie(),o=TypeError,u=Ge()("toPrimitive");return Se=function(a,c){if(!e(a)||r(a))return a;var s,f=n(a,u);if(f){if(void 0===c&&(c="default"),s=t(f,a,c),!e(s)||r(s))return s;throw new o("Can't convert object to primitive value")}return void 0===c&&(c="number"),i(a,c)}}function We(){if(Te)return Oe;Te=1;var t=Ve(),e=te();return Oe=function(r){var n=t(r,"string");return e(n)?n:n+""}}function ze(){if(Ae)return xe;Ae=1;var t=G(),e=Xt(),r=t.document,n=e(r)&&e(r.createElement);return xe=function(t){return n?r.createElement(t):{}}}function Ue(){if(je)return Me;je=1;var t=tt(),e=V(),r=ze();return Me=!t&&!e((function(){return 7!==Object.defineProperty(r("div"),"a",{get:function(){return 7}}).a}))}function Xe(){if(Ee)return Q;Ee=1;var t=tt(),e=et(),r=kt(),n=Gt(),i=Ut(),o=We(),u=He(),a=Ue(),c=Object.getOwnPropertyDescriptor;return Q.f=t?c:function(t,s){if(t=i(t),s=o(s),a)try{return c(t,s)}catch(t){}if(u(t,s))return n(!e(r.f,t,s),t[s])},Q}function qe(){if(Ie)return Ce;Ie=1;var t=V(),e=Y(),r=/#|\.prototype\./,n=function(r,n){var c=o[i(r)];return c===a||c!==u&&(e(n)?t(n):!!n)},i=n.normalize=function(t){return String(t).replace(r,".").toLowerCase()},o=n.data={},u=n.NATIVE="N",a=n.POLYFILL="P";return Ce=n}function Ye(){if(Fe)return Pe;Fe=1;var t=q(),e=re(),r=W(),n=t(t.bind);return Pe=function(t,i){return e(t),void 0===i?t:r?n(t,i):function(){return t.apply(i,arguments)}},Pe}var Ke,$e,Je,Ze,Qe,tr,er,rr,nr,ir,or,ur,ar,cr,sr,fr,lr,dr,hr,pr={};function vr(){return $e?Ke:($e=1,Ke=tt()&&V()((function(){return 42!==Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype})))}function mr(){if(Ze)return Je;Ze=1;var t=Xt(),e=String,r=TypeError;return Je=function(n){if(t(n))return n;throw new r(e(n)+" is not an object")}}function yr(){if(Qe)return pr;Qe=1;var t=tt(),e=Ue(),r=vr(),n=mr(),i=We(),o=TypeError,u=Object.defineProperty,a=Object.getOwnPropertyDescriptor,c="enumerable",s="configurable",f="writable";return pr.f=t?r?function(t,e,r){if(n(t),e=i(e),n(r),"function"==typeof t&&"prototype"===e&&"value"in r&&f in r&&!r[f]){var o=a(t,e);o&&o[f]&&(t[e]=r.value,r={configurable:s in r?r[s]:o[s],enumerable:c in r?r[c]:o[c],writable:!1})}return u(t,e,r)}:u:function(t,r,a){if(n(t),r=i(r),n(a),e)try{return u(t,r,a)}catch(t){}if("get"in a||"set"in a)throw new o("Accessors not supported");return"value"in a&&(t[r]=a.value),t},pr}function gr(){if(er)return tr;er=1;var t=tt(),e=yr(),r=Gt();return tr=t?function(t,n,i){return e.f(t,n,r(1,i))}:function(t,e,r){return t[e]=r,t}}function br(){if(nr)return rr;nr=1;var t=G(),e=z(),r=q(),n=Y(),i=Xe().f,o=qe(),u=qt(),a=Ye(),c=gr(),s=He(),f=function(t){var r=function(n,i,o){if(this instanceof r){switch(arguments.length){case 0:return new t;case 1:return new t(n);case 2:return new t(n,i)}return new t(n,i,o)}return e(t,this,arguments)};return r.prototype=t.prototype,r};return rr=function(e,l){var d,h,p,v,m,y,g,b,S,w=e.target,O=e.global,T=e.stat,x=e.proto,A=O?t:T?t[w]:t[w]&&t[w].prototype,M=O?u:u[w]||c(u,w,{})[w],j=M.prototype;for(v in l)h=!(d=o(O?v:w+(T?".":"#")+v,e.forced))&&A&&s(A,v),y=M[v],h&&(g=e.dontCallGetSet?(S=i(A,v))&&S.value:A[v]),m=h&&g?g:l[v],(d||x||typeof y!=typeof m)&&(b=e.bind&&h?a(m,t):e.wrap&&h?f(m):x&&n(m)?r(m):m,(e.sham||m&&m.sham||y&&y.sham)&&c(b,"sham",!0),c(M,v,b),x&&(s(u,p=w+"Prototype")||c(u,p,{}),c(u[p],v,m),e.real&&j&&(d||!j[v])&&c(j,v,m)))}}function Sr(){if(ir)return k;ir=1;var t=br(),e=tt(),r=yr().f;return t({target:"Object",stat:!0,forced:Object.defineProperty!==r,sham:!e},{defineProperty:r}),k}function wr(){if(or)return H.exports;or=1,Sr();var t=qt().Object,e=H.exports=function(e,r,n){return t.defineProperty(e,r,n)};return t.defineProperty.sham&&(e.sham=!0),H.exports}function Or(){return ar?ur:(ar=1,ur=wr())}function Tr(){return sr?cr:(sr=1,cr=Or())}function xr(){return lr?fr:(lr=1,fr=Tr())}function Ar(){return hr?dr:(hr=1,dr=xr())}var Mr,jr,Er,Cr,Ir,Pr,Fr,Dr,_r,Lr,Rr,Br,Nr,Hr,kr,Gr,Vr,Wr,zr,Ur,Xr,qr,Yr,Kr,$r,Jr,Zr,Qr,tn,en=O(Ar()),rn={};function nn(){if(jr)return Mr;jr=1;var t=X();return Mr=Array.isArray||function(e){return"Array"===t(e)}}function on(){if(Cr)return Er;Cr=1;var t=Math.ceil,e=Math.floor;return Er=Math.trunc||function(r){var n=+r;return(n>0?e:t)(n)}}function un(){if(Pr)return Ir;Pr=1;var t=on();return Ir=function(e){var r=+e;return r!=r||0===r?0:t(r)}}function an(){if(Dr)return Fr;Dr=1;var t=un(),e=Math.min;return Fr=function(r){var n=t(r);return n>0?e(n,9007199254740991):0}}function cn(){if(Lr)return _r;Lr=1;var t=an();return _r=function(e){return t(e.length)}}function sn(){if(Br)return Rr;Br=1;var t=TypeError;return Rr=function(e){if(e>9007199254740991)throw t("Maximum allowed index exceeded");return e}}function fn(){if(Hr)return Nr;Hr=1;var t=tt(),e=yr(),r=Gt();return Nr=function(n,i,o){t?e.f(n,i,r(0,o)):n[i]=o}}function ln(){if(Gr)return kr;Gr=1;var t={};return t[Ge()("toStringTag")]="z",kr="[object z]"===String(t)}function dn(){if(Wr)return Vr;Wr=1;var t=ln(),e=Y(),r=X(),n=Ge()("toStringTag"),i=Object,o="Arguments"===r(function(){return arguments}());return Vr=t?r:function(t){var u,a,c;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(a=function(t,e){try{return t[e]}catch(t){}}(u=i(t),n))?a:o?r(u):"Object"===(c=r(u))&&e(u.callee)?"Arguments":c}}function hn(){if(Ur)return zr;Ur=1;var t=U(),e=Y(),r=Re(),n=t(Function.toString);return e(r.inspectSource)||(r.inspectSource=function(t){return n(t)}),zr=r.inspectSource}function pn(){if(qr)return Xr;qr=1;var t=U(),e=V(),r=Y(),n=dn(),i=Yt(),o=hn(),u=function(){},a=i("Reflect","construct"),c=/^\s*(?:class|function)\b/,s=t(c.exec),f=!c.test(u),l=function(t){if(!r(t))return!1;try{return a(u,[],t),!0}catch(t){return!1}},d=function(t){if(!r(t))return!1;switch(n(t)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return f||!!s(c,o(t))}catch(t){return!0}};return d.sham=!0,Xr=!a||e((function(){var t;return l(l.call)||!l(Object)||!l((function(){t=!0}))||t}))?d:l}function vn(){if(Kr)return Yr;Kr=1;var t=nn(),e=pn(),r=Xt(),n=Ge()("species"),i=Array;return Yr=function(o){var u;return t(o)&&(u=o.constructor,(e(u)&&(u===i||t(u.prototype))||r(u)&&null===(u=u[n]))&&(u=void 0)),void 0===u?i:u}}function mn(){if(Jr)return $r;Jr=1;var t=vn();return $r=function(e,r){return new(t(e))(0===r?0:r)}}function yn(){if(Qr)return Zr;Qr=1;var t=V(),e=Ge(),r=Jt(),n=e("species");return Zr=function(e){return r>=51||!t((function(){var t=[];return(t.constructor={})[n]=function(){return{foo:1}},1!==t[e](Boolean).foo}))}}var gn,bn,Sn={},wn={};function On(){if(bn)return gn;bn=1;var t=dn(),e=String;return gn=function(r){if("Symbol"===t(r))throw new TypeError("Cannot convert a Symbol value to a string");return e(r)}}var Tn,xn,An,Mn,jn,En,Cn,In,Pn,Fn,Dn,_n,Ln,Rn,Bn,Nn,Hn,kn,Gn,Vn={};function Wn(){if(xn)return Tn;xn=1;var t=un(),e=Math.max,r=Math.min;return Tn=function(n,i){var o=t(n);return o<0?e(o+i,0):r(o,i)}}function zn(){if(Mn)return An;Mn=1;var t=Ut(),e=Wn(),r=cn(),n=function(n){return function(i,o,u){var a=t(i),c=r(a);if(0===c)return!n&&-1;var s,f=e(u,c);if(n&&o!=o){for(;c>f;)if((s=a[f++])!=s)return!0}else for(;c>f;f++)if((n||f in a)&&a[f]===o)return n||f||0;return!n&&-1}};return An={includes:n(!0),indexOf:n(!1)}}function Un(){return En?jn:(En=1,jn={})}function Xn(){if(In)return Cn;In=1;var t=U(),e=He(),r=Ut(),n=zn().indexOf,i=Un(),o=t([].push);return Cn=function(t,u){var a,c=r(t),s=0,f=[];for(a in c)!e(i,a)&&e(c,a)&&o(f,a);for(;u.length>s;)e(c,a=u[s++])&&(~n(f,a)||o(f,a));return f}}function qn(){return Fn?Pn:(Fn=1,Pn=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"])}function Yn(){if(_n)return Dn;_n=1;var t=Xn(),e=qn();return Dn=Object.keys||function(r){return t(r,e)}}function Kn(){if(Ln)return Vn;Ln=1;var t=tt(),e=vr(),r=yr(),n=mr(),i=Ut(),o=Yn();return Vn.f=t&&!e?Object.defineProperties:function(t,e){n(t);for(var u,a=i(e),c=o(e),s=c.length,f=0;s>f;)r.f(t,u=c[f++],a[u]);return t},Vn}function $n(){return Bn?Rn:(Bn=1,Rn=Yt()("document","documentElement"))}function Jn(){if(Hn)return Nn;Hn=1;var t=Be(),e=ke(),r=t("keys");return Nn=function(t){return r[t]||(r[t]=e(t))}}function Zn(){if(Gn)return kn;Gn=1;var t,e=mr(),r=Kn(),n=qn(),i=Un(),o=$n(),u=ze(),a="prototype",c="script",s=Jn()("IE_PROTO"),f=function(){},l=function(t){return"<"+c+">"+t+""},d=function(t){t.write(l("")),t.close();var e=t.parentWindow.Object;return t=null,e},h=function(){try{t=new ActiveXObject("htmlfile")}catch(t){}var e,r,i;h="undefined"!=typeof document?document.domain&&t?d(t):(r=u("iframe"),i="java"+c+":",r.style.display="none",o.appendChild(r),r.src=String(i),(e=r.contentWindow.document).open(),e.write(l("document.F=Object")),e.close(),e.F):d(t);for(var s=n.length;s--;)delete h[a][n[s]];return h()};return i[s]=!0,kn=Object.create||function(t,n){var i;return null!==t?(f[a]=e(t),i=new f,f[a]=null,i[s]=t):i=h(),void 0===n?i:r.f(i,n)}}var Qn,ti={};function ei(){if(Qn)return ti;Qn=1;var t=Xn(),e=qn().concat("length","prototype");return ti.f=Object.getOwnPropertyNames||function(r){return t(r,e)},ti}var ri,ni,ii,oi={};function ui(){return ni?ri:(ni=1,ri=U()([].slice))}function ai(){if(ii)return oi;ii=1;var t=X(),e=Ut(),r=ei().f,n=ui(),i="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];return oi.f=function(o){return i&&"Window"===t(o)?function(t){try{return r(t)}catch(t){return n(i)}}(o):r(e(o))},oi}var ci,si,fi,li,di,hi={};function pi(){return ci||(ci=1,hi.f=Object.getOwnPropertySymbols),hi}function vi(){if(fi)return si;fi=1;var t=gr();return si=function(e,r,n,i){return i&&i.enumerable?e[r]=n:t(e,r,n),e}}function mi(){if(di)return li;di=1;var t=yr();return li=function(e,r,n){return t.f(e,r,n)}}var yi,gi,bi,Si,wi,Oi,Ti,xi,Ai,Mi,ji,Ei,Ci,Ii,Pi,Fi,Di={};function _i(){if(yi)return Di;yi=1;var t=Ge();return Di.f=t,Di}function Li(){if(bi)return gi;bi=1;var t=qt(),e=He(),r=_i(),n=yr().f;return gi=function(i){var o=t.Symbol||(t.Symbol={});e(o,i)||n(o,i,{value:r.f(i)})}}function Ri(){if(wi)return Si;wi=1;var t=et(),e=Yt(),r=Ge(),n=vi();return Si=function(){var i=e("Symbol"),o=i&&i.prototype,u=o&&o.valueOf,a=r("toPrimitive");o&&!o[a]&&n(o,a,(function(e){return t(u,this)}),{arity:1})}}function Bi(){if(Ti)return Oi;Ti=1;var t=ln(),e=dn();return Oi=t?{}.toString:function(){return"[object "+e(this)+"]"}}function Ni(){if(Ai)return xi;Ai=1;var t=ln(),e=yr().f,r=gr(),n=He(),i=Bi(),o=Ge()("toStringTag");return xi=function(u,a,c,s){var f=c?u:u&&u.prototype;f&&(n(f,o)||e(f,o,{configurable:!0,value:a}),s&&!t&&r(f,"toString",i))}}function Hi(){if(ji)return Mi;ji=1;var t=G(),e=Y(),r=t.WeakMap;return Mi=e(r)&&/native code/.test(String(r))}function ki(){if(Ci)return Ei;Ci=1;var t,e,r,n=Hi(),i=G(),o=Xt(),u=gr(),a=He(),c=Re(),s=Jn(),f=Un(),l="Object already initialized",d=i.TypeError,h=i.WeakMap;if(n||c.state){var p=c.state||(c.state=new h);p.get=p.get,p.has=p.has,p.set=p.set,t=function(t,e){if(p.has(t))throw new d(l);return e.facade=t,p.set(t,e),e},e=function(t){return p.get(t)||{}},r=function(t){return p.has(t)}}else{var v=s("state");f[v]=!0,t=function(t,e){if(a(t,v))throw new d(l);return e.facade=t,u(t,v,e),e},e=function(t){return a(t,v)?t[v]:{}},r=function(t){return a(t,v)}}return Ei={set:t,get:e,has:r,enforce:function(n){return r(n)?e(n):t(n,{})},getterFor:function(t){return function(r){var n;if(!o(r)||(n=e(r)).type!==t)throw new d("Incompatible receiver, "+t+" required");return n}}}}function Gi(){if(Pi)return Ii;Pi=1;var t=Ye(),e=U(),r=Vt(),n=Ne(),i=cn(),o=mn(),u=e([].push),a=function(e){var a=1===e,c=2===e,s=3===e,f=4===e,l=6===e,d=7===e,h=5===e||l;return function(p,v,m,y){for(var g,b,S=n(p),w=r(S),O=i(w),T=t(v,m),x=0,A=y||o,M=a?A(p,O):c||d?A(p,0):void 0;O>x;x++)if((h||x in w)&&(b=T(g=w[x],x,S),e))if(a)M[x]=b;else if(b)switch(e){case 3:return!0;case 5:return g;case 6:return x;case 2:u(M,g)}else switch(e){case 4:return!1;case 7:u(M,g)}return l?-1:s||f?f:M}};return Ii={forEach:a(0),map:a(1),filter:a(2),some:a(3),every:a(4),find:a(5),findIndex:a(6),filterReject:a(7)}}var Vi,Wi,zi,Ui={};function Xi(){return Wi?Vi:(Wi=1,Vi=Zt()&&!!Symbol.for&&!!Symbol.keyFor)}var qi,Yi={};var Ki,$i,Ji,Zi={};function Qi(){if($i)return Ki;$i=1;var t=U(),e=nn(),r=Y(),n=X(),i=On(),o=t([].push);return Ki=function(t){if(r(t))return t;if(e(t)){for(var u=t.length,a=[],c=0;c=51||!e((function(){var t=[];return t[d]=!1,t.concat()[0]!==t})),p=function(t){if(!n(t))return!1;var e=t[d];return void 0!==e?!!e:r(t)};t({target:"Array",proto:!0,arity:1,forced:!h||!s("concat")},{concat:function(t){var e,r,n,s,f,l=i(this),d=c(l,0),h=0;for(e=-1,n=arguments.length;e=e.length)return t.target=null,u(void 0,!0);switch(t.kind){case"keys":return u(r,!1);case"values":return u(e[r],!1)}return u([r,e[r]],!1)}),"values");var d=r.Arguments=r.Array;if(e("keys"),e("values"),e("entries"),!a&&c&&"values"!==d.name)try{i(d,"name",{value:"values"})}catch(t){}return tu}function Ou(){return nu?ru:(nu=1,ru={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0})}function Tu(){if(iu)return au;iu=1,wu();var t=Ou(),e=G(),r=Ni(),n=su();for(var i in t)r(e[i],i),n[i]=n.Array;return au}function xu(){if(uu)return ou;uu=1;var t=jo();return Tu(),ou=t}var Au,Mu={};var ju;var Eu;var Cu,Iu,Pu;function Fu(){if(Pu)return Iu;Pu=1;var t=xu();return function(){if(Au)return Mu;Au=1;var t=Ge(),e=yr().f,r=t("metadata"),n=Function.prototype;void 0===n[r]&&e(n,r,{value:null})}(),ju||(ju=1,Li()("asyncDispose")),Eu||(Eu=1,Li()("dispose")),Cu||(Cu=1,Li()("metadata")),Iu=t}var Du,_u,Lu;function Ru(){if(_u)return Du;_u=1;var t=Yt(),e=U(),r=t("Symbol"),n=r.keyFor,i=e(r.prototype.valueOf);return Du=r.isRegisteredSymbol||function(t){try{return void 0!==n(i(t))}catch(t){return!1}}}var Bu,Nu,Hu;function ku(){if(Nu)return Bu;Nu=1;for(var t=Be(),e=Yt(),r=U(),n=te(),i=Ge(),o=e("Symbol"),u=o.isWellKnownSymbol,a=e("Object","getOwnPropertyNames"),c=r(o.prototype.valueOf),s=t("wks"),f=0,l=a(o),d=l.length;f=h?t?"":void 0:(s=o(l,d))<55296||s>56319||d+1===h||(f=o(l,d+1))<56320||f>57343?t?i(l,d):s:t?u(l,d,d+2):f-56320+(s-55296<<10)+65536}};return ea={codeAt:a(!1),charAt:a(!0)}}function ya(){return oa?ia:(oa=1,wu(),function(){if(na)return va;na=1;var t=ma().charAt,e=On(),r=ki(),n=bu(),i=Su(),o="String Iterator",u=r.set,a=r.getterFor(o);n(String,"String",(function(t){u(this,{type:o,string:e(t),index:0})}),(function(){var e,r=a(this),n=r.string,o=r.index;return o>=n.length?i(void 0,!0):(e=t(n,o),r.index+=e.length,i(e,!1))}))}(),so(),ia=_i().f("iterator"))}function ga(){if(aa)return ua;aa=1;var t=ya();return Tu(),ua=t}function ba(){return sa?ca:(sa=1,ca=ga())}function Sa(){return la?fa:(la=1,fa=ba())}function wa(){return ha?da:(ha=1,da=Sa())}var Oa,Ta,xa,Aa,Ma,ja,Ea,Ca,Ia,Pa,Fa=O(wa());function Da(t){return Da="function"==typeof pa&&"symbol"==typeof Fa?function(t){return typeof t}:function(t){return t&&"function"==typeof pa&&t.constructor===pa&&t!==pa.prototype?"symbol":typeof t},Da(t)}function _a(){return Ta?Oa:(Ta=1,bo(),Oa=_i().f("toPrimitive"))}function La(){return Aa?xa:(Aa=1,xa=_a())}function Ra(){return ja?Ma:(ja=1,Ma=La())}function Ba(){return Ca?Ea:(Ca=1,Ea=Ra())}function Na(){return Pa?Ia:(Pa=1,Ia=Ba())}var Ha=O(Na());function ka(t){var e=function(t,e){if("object"!=Da(t)||!t)return t;var r=t[Ha];if(void 0!==r){var n=r.call(t,e||"default");if("object"!=Da(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==Da(e)?e:e+""}function Ga(t,e,r){return(e=ka(e))in t?en(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}class Va extends Error{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";super(e),Ga(this,"name",""),Ga(this,"description",""),this.name=t,this.description=e}}var Wa,za,Ua,Xa,qa,Ya,Ka,$a,Ja,Za,Qa,tc,ec,rc,nc,ic,oc,uc,ac,cc,sc,fc,lc,dc={};function hc(){return za?Wa:(za=1,Wa="\t\n\v\f\r                 \u2028\u2029\ufeff")}function pc(){if(Xa)return Ua;Xa=1;var t=U(),e=zt(),r=On(),n=hc(),i=t("".replace),o=RegExp("^["+n+"]+"),u=RegExp("(^|[^"+n+"])["+n+"]+$"),a=function(t){return function(n){var a=r(e(n));return 1&t&&(a=i(a,o,"")),2&t&&(a=i(a,u,"$1")),a}};return Ua={start:a(1),end:a(2),trim:a(3)}}function vc(){if(Ya)return qa;Ya=1;var t=fu().PROPER,e=V(),r=hc();return qa=function(n){return e((function(){return!!r[n]()||"​…᠎"!=="​…᠎"[n]()||t&&r[n].name!==n}))}}function mc(){if(Ja)return $a;Ja=1;var t=G(),e=qt();return $a=function(r,n){var i=e[r+"Prototype"],o=i&&i[n];if(o)return o;var u=t[r],a=u&&u.prototype;return a&&a[n]}}function yc(){return Qa?Za:(Qa=1,function(){if(Ka)return dc;Ka=1;var t=br(),e=pc().trim;t({target:"String",proto:!0,forced:vc()("trim")},{trim:function(){return e(this)}})}(),Za=mc()("String","trim"))}function gc(){if(ec)return tc;ec=1;var t=Kt(),e=yc(),r=String.prototype;return tc=function(n){var i=n.trim;return"string"==typeof n||n===r||t(r,n)&&i===r.trim?e:i}}function bc(){return nc?rc:(nc=1,rc=gc())}function Sc(){return oc?ic:(oc=1,ic=bc())}function wc(){return ac?uc:(ac=1,uc=Sc())}function Oc(){return sc?cc:(sc=1,cc=wc())}var Tc=O(lc?fc:(lc=1,fc=Oc()));class xc{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{type:"To"};Ga(this,"reSpecCompliantAddr",/(([^<>\r\n]+)\s)?<[^\r\n]+>/),Ga(this,"name",""),Ga(this,"addr",""),Ga(this,"type","To"),this.type=e.type,this.parse(t)}getAddrDomain(){if(this.addr.includes("@")){const t=this.addr.split("@");if(t.length>1)return t[1]}return""}dump(){return this.name.length>0?'"'.concat(this.name,'" <').concat(this.addr,">"):"<".concat(this.addr,">")}parse(t){if(this.isMailboxAddrObject(t))return this.addr=t.addr,"string"==typeof t.name&&(this.name=t.name),"string"==typeof t.type&&(this.type=t.type),this;if(this.isMailboxAddrText(t)){const e=Tc(t).call(t);if(e.startsWith("<")&&e.endsWith(">"))return this.addr=e.slice(1,-1),this;const r=e.split(" <");return r[0]=/^("|')/.test(r[0])?r[0].slice(1):r[0],r[0]=/("|')$/.test(r[0])?r[0].slice(0,-1):r[0],r[1]=r[1].slice(0,-1),this.name=r[0],this.addr=r[1],this}if("string"==typeof t)return this.addr=t,this;throw new Va("MIMETEXT_INVALID_MAILBOX","Couldn't recognize the input.")}isMailboxAddrText(t){return"string"==typeof t&&this.reSpecCompliantAddr.test(t)}isMailboxAddrObject(t){return this.isObject(t)&&Object.hasOwn(t,"addr")}isObject(t){return!!t&&t.constructor===Object}}class Ac{constructor(t){Ga(this,"envctx",void 0),Ga(this,"fields",[{name:"Date",generator:()=>(new Date).toUTCString().replace(/GMT|UTC/gi,"+0000")},{name:"From",required:!0,validate:t=>this.validateMailboxSingle(t),dump:t=>this.dumpMailboxSingle(t)},{name:"Sender",validate:t=>this.validateMailboxSingle(t),dump:t=>this.dumpMailboxSingle(t)},{name:"Reply-To",validate:t=>this.validateMailboxSingle(t),dump:t=>this.dumpMailboxSingle(t)},{name:"To",validate:t=>this.validateMailboxMulti(t),dump:t=>this.dumpMailboxMulti(t)},{name:"Cc",validate:t=>this.validateMailboxMulti(t),dump:t=>this.dumpMailboxMulti(t)},{name:"Bcc",validate:t=>this.validateMailboxMulti(t),dump:t=>this.dumpMailboxMulti(t)},{name:"Message-ID",generator:()=>"<"+Math.random().toString(36).slice(2)+"@"+this.fields.filter((t=>"From"===t.name))[0].value.getAddrDomain()+">"},{name:"Subject",required:!0,dump:t=>"string"==typeof t?"=?utf-8?B?"+this.envctx.toBase64(t)+"?=":""},{name:"MIME-Version",generator:()=>"1.0"}]),this.envctx=t}dump(){let t="";for(const e of this.fields){if(e.disabled)continue;const r=void 0!==e.value&&null!==e.value;if(!r&&e.required)throw new Va("MIMETEXT_MISSING_HEADER",'The "'.concat(e.name,'" header is required.'));if(!r&&"function"!=typeof e.generator)continue;r||"function"!=typeof e.generator||(e.value=e.generator());const n=Object.hasOwn(e,"dump")&&"function"==typeof e.dump?e.dump(e.value):"string"==typeof e.value?e.value:"";t+="".concat(e.name,": ").concat(n).concat(this.envctx.eol)}return t.slice(0,-1*this.envctx.eol.length)}toObject(){return this.fields.reduce(((t,e)=>(t[e.name]=e.value,t)),{})}get(t){const e=this.fields.findIndex((e=>e.name.toLowerCase()===t.toLowerCase()));return-1!==e?this.fields[e].value:void 0}set(t,e){const r=e=>e.name.toLowerCase()===t.toLowerCase();if(!!this.fields.some(r)){const n=this.fields.findIndex(r),i=this.fields[n];if(i.validate&&!i.validate(e))throw new Va("MIMETEXT_INVALID_HEADER_VALUE",'The value for the header "'.concat(t,'" is invalid.'));return this.fields[n].value=e,this.fields[n]}return this.setCustom({name:t,value:e,custom:!0,dump:t=>"string"==typeof t?t:""})}setCustom(t){if(this.isHeaderField(t)){if("string"!=typeof t.value)throw new Va("MIMETEXT_INVALID_HEADER_FIELD","Custom header must have a value.");return this.fields.push(t),t}throw new Va("MIMETEXT_INVALID_HEADER_FIELD","Invalid input for custom header. It must be in type of HeaderField.")}validateMailboxSingle(t){return t instanceof xc}validateMailboxMulti(t){return t instanceof xc||this.isArrayOfMailboxes(t)}dumpMailboxMulti(t){const e=t=>0===t.name.length?t.dump():"=?utf-8?B?".concat(this.envctx.toBase64(t.name),"?= <").concat(t.addr,">");return this.isArrayOfMailboxes(t)?t.map(e).join(",".concat(this.envctx.eol," ")):t instanceof xc?e(t):""}dumpMailboxSingle(t){return t instanceof xc?(t=>0===t.name.length?t.dump():"=?utf-8?B?".concat(this.envctx.toBase64(t.name),"?= <").concat(t.addr,">"))(t):""}isHeaderField(t){const e=["name","value","dump","required","disabled","generator","custom"];if(this.isObject(t)){const r=t;if(Object.hasOwn(r,"name")&&"string"==typeof r.name&&r.name.length>0&&!Object.keys(r).some((t=>!e.includes(t))))return!0}return!1}isObject(t){return!!t&&t.constructor===Object}isArrayOfMailboxes(t){return this.isArray(t)&&t.every((t=>t instanceof xc))}isArray(t){return!!t&&t.constructor===Array}}class Mc extends Ac{constructor(t){super(t),Ga(this,"fields",[{name:"Content-ID"},{name:"Content-Type"},{name:"Content-Transfer-Encoding"},{name:"Content-Disposition"}])}}class jc{constructor(t,e){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Ga(this,"envctx",void 0),Ga(this,"headers",void 0),Ga(this,"data",void 0),this.envctx=t,this.headers=new Mc(this.envctx),this.data=e,this.setHeaders(r)}dump(){const t=this.envctx.eol;return this.headers.dump()+t+t+this.data}isAttachment(){const t=this.headers.get("Content-Disposition");return"string"==typeof t&&t.includes("attachment")}isInlineAttachment(){const t=this.headers.get("Content-Disposition");return"string"==typeof t&&t.includes("inline")}setHeader(t,e){return this.headers.set(t,e),t}getHeader(t){return this.headers.get(t)}setHeaders(t){return Object.keys(t).map((e=>this.setHeader(e,t[e])))}getHeaders(){return this.headers.toObject()}}class Ec{constructor(t){Ga(this,"envctx",void 0),Ga(this,"headers",void 0),Ga(this,"boundaries",{mixed:"",alt:"",related:""}),Ga(this,"validTypes",["text/html","text/plain"]),Ga(this,"validContentTransferEncodings",["7bit","8bit","binary","quoted-printable","base64"]),Ga(this,"messages",[]),this.envctx=t,this.headers=new Ac(this.envctx),this.messages=[],this.generateBoundaries()}asRaw(){const t=this.envctx.eol,e=this.headers.dump(),r=this.getMessageByType("text/plain"),n=this.getMessageByType("text/html"),i=null!=n?n:null!=r?r:void 0;if(void 0===i)throw new Va("MIMETEXT_MISSING_BODY","No content added to the message.");const o=this.hasAttachments(),u=this.hasInlineAttachments(),a=u&&o?"mixed+related":o?"mixed":u?"related":r&&n?"alternative":"";if("mixed+related"===a){const i=this.getAttachments().map((e=>"--"+this.boundaries.mixed+t+e.dump()+t+t)).join("").slice(0,-1*t.length),o=this.getInlineAttachments().map((e=>"--"+this.boundaries.related+t+e.dump()+t+t)).join("").slice(0,-1*t.length);return e+t+"Content-Type: multipart/mixed; boundary="+this.boundaries.mixed+t+t+"--"+this.boundaries.mixed+t+"Content-Type: multipart/related; boundary="+this.boundaries.related+t+t+this.dumpTextContent(r,n,this.boundaries.related)+t+t+o+"--"+this.boundaries.related+"--"+t+i+"--"+this.boundaries.mixed+"--"}if("mixed"===a){const i=this.getAttachments().map((e=>"--"+this.boundaries.mixed+t+e.dump()+t+t)).join("").slice(0,-1*t.length);return e+t+"Content-Type: multipart/mixed; boundary="+this.boundaries.mixed+t+t+this.dumpTextContent(r,n,this.boundaries.mixed)+t+(r&&n?"":t)+i+"--"+this.boundaries.mixed+"--"}if("related"===a){const i=this.getInlineAttachments().map((e=>"--"+this.boundaries.related+t+e.dump()+t+t)).join("").slice(0,-1*t.length);return e+t+"Content-Type: multipart/related; boundary="+this.boundaries.related+t+t+this.dumpTextContent(r,n,this.boundaries.related)+t+t+i+"--"+this.boundaries.related+"--"}return"alternative"===a?e+t+"Content-Type: multipart/alternative; boundary="+this.boundaries.alt+t+t+this.dumpTextContent(r,n,this.boundaries.alt)+t+t+"--"+this.boundaries.alt+"--":e+t+i.dump()}asEncoded(){return this.envctx.toBase64WebSafe(this.asRaw())}dumpTextContent(t,e,r){const n=this.envctx.eol,i=null!=e?e:t;let o="";return o=t&&e&&!this.hasInlineAttachments()&&this.hasAttachments()?"--"+r+n+"Content-Type: multipart/alternative; boundary="+this.boundaries.alt+n+n+"--"+this.boundaries.alt+n+t.dump()+n+n+"--"+this.boundaries.alt+n+e.dump()+n+n+"--"+this.boundaries.alt+"--":t&&e&&this.hasInlineAttachments()?"--"+r+n+e.dump():t&&e?"--"+r+n+t.dump()+n+n+"--"+r+n+e.dump():"--"+r+n+i.dump(),o}hasInlineAttachments(){return this.messages.some((t=>t.isInlineAttachment()))}hasAttachments(){return this.messages.some((t=>t.isAttachment()))}getAttachments(){const t=t=>t.isAttachment();return this.messages.some(t)?this.messages.filter(t):[]}getInlineAttachments(){const t=t=>t.isInlineAttachment();return this.messages.some(t)?this.messages.filter(t):[]}getMessageByType(t){const e=e=>!e.isAttachment()&&!e.isInlineAttachment()&&(e.getHeader("Content-Type")||"").includes(t);return this.messages.some(e)?this.messages.filter(e)[0]:void 0}addAttachment(t){var e,r,n;if(this.isObject(t.headers)||(t.headers={}),"string"!=typeof t.filename)throw new Va("MIMETEXT_MISSING_FILENAME",'The property "filename" must exist while adding attachments.');let i=(null!==(e=t.headers["Content-Type"])&&void 0!==e?e:t.contentType)||"none";if(!1===this.envctx.validateContentType(i))throw new Va("MIMETEXT_INVALID_MESSAGE_TYPE",'You specified an invalid content type "'.concat(i,'".'));const o=null!==(r=null!==(n=t.headers["Content-Transfer-Encoding"])&&void 0!==n?n:t.encoding)&&void 0!==r?r:"base64";this.validContentTransferEncodings.includes(o)||(i="application/octet-stream");const u=t.headers["Content-ID"];"string"==typeof u&&u.length>2&&!u.startsWith("<")&&!u.endsWith(">")&&(t.headers["Content-ID"]="<"+t.headers["Content-ID"]+">");const a=t.inline?"inline":"attachment";return t.headers=Object.assign({},t.headers,{"Content-Type":"".concat(i,'; name="').concat(t.filename,'"'),"Content-Transfer-Encoding":o,"Content-Disposition":"".concat(a,'; filename="').concat(t.filename,'"')}),this._addMessage({data:t.data,headers:t.headers})}addMessage(t){var e,r,n,i;this.isObject(t.headers)||(t.headers={});let o=(null!==(e=t.headers["Content-Type"])&&void 0!==e?e:t.contentType)||"none";if(!this.validTypes.includes(o))throw new Va("MIMETEXT_INVALID_MESSAGE_TYPE","Valid content types are ".concat(this.validTypes.join(", "),' but you specified "').concat(o,'".'));const u=null!==(r=null!==(n=t.headers["Content-Transfer-Encoding"])&&void 0!==n?n:t.encoding)&&void 0!==r?r:"7bit";this.validContentTransferEncodings.includes(u)||(o="application/octet-stream");const a=null!==(i=t.charset)&&void 0!==i?i:"UTF-8";return t.headers=Object.assign({},t.headers,{"Content-Type":"".concat(o,"; charset=").concat(a),"Content-Transfer-Encoding":u}),this._addMessage({data:t.data,headers:t.headers})}_addMessage(t){const e=new jc(this.envctx,t.data,t.headers);return this.messages.push(e),e}setSender(t){const e=new xc(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{type:"From"});return this.setHeader("From",e),e}getSender(){return this.getHeader("From")}setRecipients(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{type:"To"};const r=(this.isArray(t)?t:[t]).map((t=>new xc(t,e)));return this.setHeader(e.type,r),r}getRecipients(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{type:"To"};return this.getHeader(t.type)}setRecipient(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{type:"To"};return this.setRecipients(t,e)}setTo(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{type:"To"};return this.setRecipients(t,e)}setCc(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{type:"Cc"};return this.setRecipients(t,e)}setBcc(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{type:"Bcc"};return this.setRecipients(t,e)}setSubject(t){return this.setHeader("subject",t),t}getSubject(){return this.getHeader("subject")}setHeader(t,e){return this.headers.set(t,e),t}getHeader(t){return this.headers.get(t)}setHeaders(t){return Object.keys(t).map((e=>this.setHeader(e,t[e])))}getHeaders(){return this.headers.toObject()}toBase64(t){return this.envctx.toBase64(t)}toBase64WebSafe(t){return this.envctx.toBase64WebSafe(t)}generateBoundaries(){this.boundaries={mixed:Math.random().toString(36).slice(2),alt:Math.random().toString(36).slice(2),related:Math.random().toString(36).slice(2)}}isArray(t){return!!t&&t.constructor===Array}isObject(t){return!!t&&t.constructor===Object}}const Cc={toBase64:function(t){return b(t)},toBase64WebSafe:function(t){return S(t)},eol:"\r\n",validateContentType:t=>t.length>0&&t};return t.MIMEMessage=Ec,t.MIMEMessageContent=jc,t.MIMEMessageHeader=Ac,t.MIMETextError=Va,t.Mailbox=xc,t.createMimeMessage=function(){return new Ec(Cc)},t}({}); +//# sourceMappingURL=mimetext.iife.js.map diff --git a/dist/mimetext.iife.js.map b/dist/mimetext.iife.js.map new file mode 100644 index 0000000..1855318 --- /dev/null +++ b/dist/mimetext.iife.js.map @@ -0,0 +1 @@ +{"version":3,"file":"mimetext.iife.js","sources":["../node_modules/js-base64/base64.mjs","../node_modules/core-js-pure/internals/global-this.js","../node_modules/core-js-pure/internals/fails.js","../node_modules/core-js-pure/internals/function-bind-native.js","../node_modules/core-js-pure/internals/function-apply.js","../node_modules/core-js-pure/internals/function-uncurry-this.js","../node_modules/core-js-pure/internals/classof-raw.js","../node_modules/core-js-pure/internals/function-uncurry-this-clause.js","../node_modules/core-js-pure/internals/is-callable.js","../node_modules/core-js-pure/internals/descriptors.js","../node_modules/core-js-pure/internals/function-call.js","../node_modules/core-js-pure/internals/object-property-is-enumerable.js","../node_modules/core-js-pure/internals/create-property-descriptor.js","../node_modules/core-js-pure/internals/indexed-object.js","../node_modules/core-js-pure/internals/is-null-or-undefined.js","../node_modules/core-js-pure/internals/require-object-coercible.js","../node_modules/core-js-pure/internals/to-indexed-object.js","../node_modules/core-js-pure/internals/is-object.js","../node_modules/core-js-pure/internals/path.js","../node_modules/core-js-pure/internals/get-built-in.js","../node_modules/core-js-pure/internals/object-is-prototype-of.js","../node_modules/core-js-pure/internals/environment-user-agent.js","../node_modules/core-js-pure/internals/environment-v8-version.js","../node_modules/core-js-pure/internals/symbol-constructor-detection.js","../node_modules/core-js-pure/internals/use-symbol-as-uid.js","../node_modules/core-js-pure/internals/is-symbol.js","../node_modules/core-js-pure/internals/try-to-string.js","../node_modules/core-js-pure/internals/a-callable.js","../node_modules/core-js-pure/internals/get-method.js","../node_modules/core-js-pure/internals/ordinary-to-primitive.js","../node_modules/core-js-pure/internals/is-pure.js","../node_modules/core-js-pure/internals/define-global-property.js","../node_modules/core-js-pure/internals/shared-store.js","../node_modules/core-js-pure/internals/shared.js","../node_modules/core-js-pure/internals/to-object.js","../node_modules/core-js-pure/internals/has-own-property.js","../node_modules/core-js-pure/internals/uid.js","../node_modules/core-js-pure/internals/well-known-symbol.js","../node_modules/core-js-pure/internals/to-primitive.js","../node_modules/core-js-pure/internals/to-property-key.js","../node_modules/core-js-pure/internals/document-create-element.js","../node_modules/core-js-pure/internals/ie8-dom-define.js","../node_modules/core-js-pure/internals/object-get-own-property-descriptor.js","../node_modules/core-js-pure/internals/is-forced.js","../node_modules/core-js-pure/internals/function-bind-context.js","../node_modules/core-js-pure/internals/v8-prototype-define-bug.js","../node_modules/core-js-pure/internals/an-object.js","../node_modules/core-js-pure/internals/object-define-property.js","../node_modules/core-js-pure/internals/create-non-enumerable-property.js","../node_modules/core-js-pure/internals/export.js","../node_modules/core-js-pure/modules/es.object.define-property.js","../node_modules/core-js-pure/es/object/define-property.js","../node_modules/core-js-pure/stable/object/define-property.js","../node_modules/core-js-pure/actual/object/define-property.js","../node_modules/core-js-pure/full/object/define-property.js","../node_modules/core-js-pure/features/object/define-property.js","../node_modules/core-js-pure/internals/is-array.js","../node_modules/core-js-pure/internals/math-trunc.js","../node_modules/core-js-pure/internals/to-integer-or-infinity.js","../node_modules/core-js-pure/internals/to-length.js","../node_modules/core-js-pure/internals/length-of-array-like.js","../node_modules/core-js-pure/internals/does-not-exceed-safe-integer.js","../node_modules/core-js-pure/internals/create-property.js","../node_modules/core-js-pure/internals/to-string-tag-support.js","../node_modules/core-js-pure/internals/classof.js","../node_modules/core-js-pure/internals/inspect-source.js","../node_modules/core-js-pure/internals/is-constructor.js","../node_modules/core-js-pure/internals/array-species-constructor.js","../node_modules/core-js-pure/internals/array-species-create.js","../node_modules/core-js-pure/internals/array-method-has-species-support.js","../node_modules/core-js-pure/internals/to-string.js","../node_modules/core-js-pure/internals/to-absolute-index.js","../node_modules/core-js-pure/internals/array-includes.js","../node_modules/core-js-pure/internals/hidden-keys.js","../node_modules/core-js-pure/internals/object-keys-internal.js","../node_modules/core-js-pure/internals/enum-bug-keys.js","../node_modules/core-js-pure/internals/object-keys.js","../node_modules/core-js-pure/internals/object-define-properties.js","../node_modules/core-js-pure/internals/html.js","../node_modules/core-js-pure/internals/shared-key.js","../node_modules/core-js-pure/internals/object-create.js","../node_modules/core-js-pure/internals/object-get-own-property-names.js","../node_modules/core-js-pure/internals/array-slice.js","../node_modules/core-js-pure/internals/object-get-own-property-names-external.js","../node_modules/core-js-pure/internals/object-get-own-property-symbols.js","../node_modules/core-js-pure/internals/define-built-in.js","../node_modules/core-js-pure/internals/define-built-in-accessor.js","../node_modules/core-js-pure/internals/well-known-symbol-wrapped.js","../node_modules/core-js-pure/internals/well-known-symbol-define.js","../node_modules/core-js-pure/internals/symbol-define-to-primitive.js","../node_modules/core-js-pure/internals/object-to-string.js","../node_modules/core-js-pure/internals/set-to-string-tag.js","../node_modules/core-js-pure/internals/weak-map-basic-detection.js","../node_modules/core-js-pure/internals/internal-state.js","../node_modules/core-js-pure/internals/array-iteration.js","../node_modules/core-js-pure/internals/symbol-registry-detection.js","../node_modules/core-js-pure/internals/get-json-replacer-function.js","../node_modules/core-js-pure/modules/es.symbol.constructor.js","../node_modules/core-js-pure/modules/es.symbol.js","../node_modules/core-js-pure/modules/es.symbol.for.js","../node_modules/core-js-pure/modules/es.symbol.key-for.js","../node_modules/core-js-pure/modules/es.json.stringify.js","../node_modules/core-js-pure/modules/es.object.get-own-property-symbols.js","../node_modules/core-js-pure/modules/es.symbol.iterator.js","../node_modules/core-js-pure/modules/es.symbol.to-primitive.js","../node_modules/core-js-pure/modules/es.array.concat.js","../node_modules/core-js-pure/es/symbol/index.js","../node_modules/core-js-pure/modules/es.symbol.async-iterator.js","../node_modules/core-js-pure/modules/es.symbol.has-instance.js","../node_modules/core-js-pure/modules/es.symbol.is-concat-spreadable.js","../node_modules/core-js-pure/modules/es.symbol.match.js","../node_modules/core-js-pure/modules/es.symbol.match-all.js","../node_modules/core-js-pure/modules/es.symbol.replace.js","../node_modules/core-js-pure/modules/es.symbol.search.js","../node_modules/core-js-pure/modules/es.symbol.species.js","../node_modules/core-js-pure/modules/es.symbol.split.js","../node_modules/core-js-pure/modules/es.symbol.to-string-tag.js","../node_modules/core-js-pure/modules/es.symbol.unscopables.js","../node_modules/core-js-pure/modules/es.json.to-string-tag.js","../node_modules/core-js-pure/internals/add-to-unscopables.js","../node_modules/core-js-pure/internals/iterators.js","../node_modules/core-js-pure/internals/function-name.js","../node_modules/core-js-pure/internals/correct-prototype-getter.js","../node_modules/core-js-pure/internals/object-get-prototype-of.js","../node_modules/core-js-pure/internals/iterators-core.js","../node_modules/core-js-pure/internals/iterator-create-constructor.js","../node_modules/core-js-pure/internals/function-uncurry-this-accessor.js","../node_modules/core-js-pure/internals/is-possible-prototype.js","../node_modules/core-js-pure/internals/a-possible-prototype.js","../node_modules/core-js-pure/internals/object-set-prototype-of.js","../node_modules/core-js-pure/internals/iterator-define.js","../node_modules/core-js-pure/internals/create-iter-result-object.js","../node_modules/core-js-pure/modules/es.array.iterator.js","../node_modules/core-js-pure/internals/dom-iterables.js","../node_modules/core-js-pure/modules/web.dom-collections.iterator.js","../node_modules/core-js-pure/stable/symbol/index.js","../node_modules/core-js-pure/actual/symbol/index.js","../node_modules/core-js-pure/modules/esnext.function.metadata.js","../node_modules/core-js-pure/modules/esnext.symbol.async-dispose.js","../node_modules/core-js-pure/modules/esnext.symbol.dispose.js","../node_modules/core-js-pure/modules/esnext.symbol.metadata.js","../node_modules/core-js-pure/internals/symbol-is-registered.js","../node_modules/core-js-pure/internals/symbol-is-well-known.js","../node_modules/core-js-pure/full/symbol/index.js","../node_modules/core-js-pure/modules/esnext.symbol.is-registered-symbol.js","../node_modules/core-js-pure/modules/esnext.symbol.is-well-known-symbol.js","../node_modules/core-js-pure/modules/esnext.symbol.custom-matcher.js","../node_modules/core-js-pure/modules/esnext.symbol.observable.js","../node_modules/core-js-pure/modules/esnext.symbol.is-registered.js","../node_modules/core-js-pure/modules/esnext.symbol.is-well-known.js","../node_modules/core-js-pure/modules/esnext.symbol.matcher.js","../node_modules/core-js-pure/modules/esnext.symbol.metadata-key.js","../node_modules/core-js-pure/modules/esnext.symbol.pattern-match.js","../node_modules/core-js-pure/modules/esnext.symbol.replace-all.js","../node_modules/core-js-pure/features/symbol/index.js","../node_modules/core-js-pure/internals/string-multibyte.js","../node_modules/core-js-pure/es/symbol/iterator.js","../node_modules/core-js-pure/modules/es.string.iterator.js","../node_modules/core-js-pure/stable/symbol/iterator.js","../node_modules/core-js-pure/actual/symbol/iterator.js","../node_modules/core-js-pure/full/symbol/iterator.js","../node_modules/core-js-pure/features/symbol/iterator.js","../node_modules/@babel/runtime-corejs3/helpers/esm/typeof.js","../node_modules/core-js-pure/es/symbol/to-primitive.js","../node_modules/core-js-pure/stable/symbol/to-primitive.js","../node_modules/core-js-pure/actual/symbol/to-primitive.js","../node_modules/core-js-pure/full/symbol/to-primitive.js","../node_modules/core-js-pure/features/symbol/to-primitive.js","../node_modules/@babel/runtime-corejs3/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime-corejs3/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime-corejs3/helpers/esm/defineProperty.js","../src/MIMETextError.ts","../node_modules/core-js-pure/internals/whitespaces.js","../node_modules/core-js-pure/internals/string-trim.js","../node_modules/core-js-pure/internals/string-trim-forced.js","../node_modules/core-js-pure/internals/get-built-in-prototype-method.js","../node_modules/core-js-pure/modules/es.string.trim.js","../node_modules/core-js-pure/es/string/virtual/trim.js","../node_modules/core-js-pure/es/instance/trim.js","../node_modules/core-js-pure/stable/instance/trim.js","../node_modules/core-js-pure/actual/instance/trim.js","../node_modules/core-js-pure/full/instance/trim.js","../node_modules/core-js-pure/features/instance/trim.js","../node_modules/@babel/runtime-corejs3/core-js/instance/trim.js","../src/Mailbox.ts","../src/MIMEMessageHeader.ts","../src/MIMEMessageContent.ts","../src/MIMEMessage.ts","../src/entrypoints/browser.ts"],"sourcesContent":["/**\n * base64.ts\n *\n * Licensed under the BSD 3-Clause License.\n * http://opensource.org/licenses/BSD-3-Clause\n *\n * References:\n * http://en.wikipedia.org/wiki/Base64\n *\n * @author Dan Kogai (https://github.com/dankogai)\n */\nconst version = '3.7.7';\n/**\n * @deprecated use lowercase `version`.\n */\nconst VERSION = version;\nconst _hasBuffer = typeof Buffer === 'function';\nconst _TD = typeof TextDecoder === 'function' ? new TextDecoder() : undefined;\nconst _TE = typeof TextEncoder === 'function' ? new TextEncoder() : undefined;\nconst b64ch = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\nconst b64chs = Array.prototype.slice.call(b64ch);\nconst b64tab = ((a) => {\n let tab = {};\n a.forEach((c, i) => tab[c] = i);\n return tab;\n})(b64chs);\nconst b64re = /^(?:[A-Za-z\\d+\\/]{4})*?(?:[A-Za-z\\d+\\/]{2}(?:==)?|[A-Za-z\\d+\\/]{3}=?)?$/;\nconst _fromCC = String.fromCharCode.bind(String);\nconst _U8Afrom = typeof Uint8Array.from === 'function'\n ? Uint8Array.from.bind(Uint8Array)\n : (it) => new Uint8Array(Array.prototype.slice.call(it, 0));\nconst _mkUriSafe = (src) => src\n .replace(/=/g, '').replace(/[+\\/]/g, (m0) => m0 == '+' ? '-' : '_');\nconst _tidyB64 = (s) => s.replace(/[^A-Za-z0-9\\+\\/]/g, '');\n/**\n * polyfill version of `btoa`\n */\nconst btoaPolyfill = (bin) => {\n // console.log('polyfilled');\n let u32, c0, c1, c2, asc = '';\n const pad = bin.length % 3;\n for (let i = 0; i < bin.length;) {\n if ((c0 = bin.charCodeAt(i++)) > 255 ||\n (c1 = bin.charCodeAt(i++)) > 255 ||\n (c2 = bin.charCodeAt(i++)) > 255)\n throw new TypeError('invalid character found');\n u32 = (c0 << 16) | (c1 << 8) | c2;\n asc += b64chs[u32 >> 18 & 63]\n + b64chs[u32 >> 12 & 63]\n + b64chs[u32 >> 6 & 63]\n + b64chs[u32 & 63];\n }\n return pad ? asc.slice(0, pad - 3) + \"===\".substring(pad) : asc;\n};\n/**\n * does what `window.btoa` of web browsers do.\n * @param {String} bin binary string\n * @returns {string} Base64-encoded string\n */\nconst _btoa = typeof btoa === 'function' ? (bin) => btoa(bin)\n : _hasBuffer ? (bin) => Buffer.from(bin, 'binary').toString('base64')\n : btoaPolyfill;\nconst _fromUint8Array = _hasBuffer\n ? (u8a) => Buffer.from(u8a).toString('base64')\n : (u8a) => {\n // cf. https://stackoverflow.com/questions/12710001/how-to-convert-uint8-array-to-base64-encoded-string/12713326#12713326\n const maxargs = 0x1000;\n let strs = [];\n for (let i = 0, l = u8a.length; i < l; i += maxargs) {\n strs.push(_fromCC.apply(null, u8a.subarray(i, i + maxargs)));\n }\n return _btoa(strs.join(''));\n };\n/**\n * converts a Uint8Array to a Base64 string.\n * @param {boolean} [urlsafe] URL-and-filename-safe a la RFC4648 §5\n * @returns {string} Base64 string\n */\nconst fromUint8Array = (u8a, urlsafe = false) => urlsafe ? _mkUriSafe(_fromUint8Array(u8a)) : _fromUint8Array(u8a);\n// This trick is found broken https://github.com/dankogai/js-base64/issues/130\n// const utob = (src: string) => unescape(encodeURIComponent(src));\n// reverting good old fationed regexp\nconst cb_utob = (c) => {\n if (c.length < 2) {\n var cc = c.charCodeAt(0);\n return cc < 0x80 ? c\n : cc < 0x800 ? (_fromCC(0xc0 | (cc >>> 6))\n + _fromCC(0x80 | (cc & 0x3f)))\n : (_fromCC(0xe0 | ((cc >>> 12) & 0x0f))\n + _fromCC(0x80 | ((cc >>> 6) & 0x3f))\n + _fromCC(0x80 | (cc & 0x3f)));\n }\n else {\n var cc = 0x10000\n + (c.charCodeAt(0) - 0xD800) * 0x400\n + (c.charCodeAt(1) - 0xDC00);\n return (_fromCC(0xf0 | ((cc >>> 18) & 0x07))\n + _fromCC(0x80 | ((cc >>> 12) & 0x3f))\n + _fromCC(0x80 | ((cc >>> 6) & 0x3f))\n + _fromCC(0x80 | (cc & 0x3f)));\n }\n};\nconst re_utob = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFFF]|[^\\x00-\\x7F]/g;\n/**\n * @deprecated should have been internal use only.\n * @param {string} src UTF-8 string\n * @returns {string} UTF-16 string\n */\nconst utob = (u) => u.replace(re_utob, cb_utob);\n//\nconst _encode = _hasBuffer\n ? (s) => Buffer.from(s, 'utf8').toString('base64')\n : _TE\n ? (s) => _fromUint8Array(_TE.encode(s))\n : (s) => _btoa(utob(s));\n/**\n * converts a UTF-8-encoded string to a Base64 string.\n * @param {boolean} [urlsafe] if `true` make the result URL-safe\n * @returns {string} Base64 string\n */\nconst encode = (src, urlsafe = false) => urlsafe\n ? _mkUriSafe(_encode(src))\n : _encode(src);\n/**\n * converts a UTF-8-encoded string to URL-safe Base64 RFC4648 §5.\n * @returns {string} Base64 string\n */\nconst encodeURI = (src) => encode(src, true);\n// This trick is found broken https://github.com/dankogai/js-base64/issues/130\n// const btou = (src: string) => decodeURIComponent(escape(src));\n// reverting good old fationed regexp\nconst re_btou = /[\\xC0-\\xDF][\\x80-\\xBF]|[\\xE0-\\xEF][\\x80-\\xBF]{2}|[\\xF0-\\xF7][\\x80-\\xBF]{3}/g;\nconst cb_btou = (cccc) => {\n switch (cccc.length) {\n case 4:\n var cp = ((0x07 & cccc.charCodeAt(0)) << 18)\n | ((0x3f & cccc.charCodeAt(1)) << 12)\n | ((0x3f & cccc.charCodeAt(2)) << 6)\n | (0x3f & cccc.charCodeAt(3)), offset = cp - 0x10000;\n return (_fromCC((offset >>> 10) + 0xD800)\n + _fromCC((offset & 0x3FF) + 0xDC00));\n case 3:\n return _fromCC(((0x0f & cccc.charCodeAt(0)) << 12)\n | ((0x3f & cccc.charCodeAt(1)) << 6)\n | (0x3f & cccc.charCodeAt(2)));\n default:\n return _fromCC(((0x1f & cccc.charCodeAt(0)) << 6)\n | (0x3f & cccc.charCodeAt(1)));\n }\n};\n/**\n * @deprecated should have been internal use only.\n * @param {string} src UTF-16 string\n * @returns {string} UTF-8 string\n */\nconst btou = (b) => b.replace(re_btou, cb_btou);\n/**\n * polyfill version of `atob`\n */\nconst atobPolyfill = (asc) => {\n // console.log('polyfilled');\n asc = asc.replace(/\\s+/g, '');\n if (!b64re.test(asc))\n throw new TypeError('malformed base64.');\n asc += '=='.slice(2 - (asc.length & 3));\n let u24, bin = '', r1, r2;\n for (let i = 0; i < asc.length;) {\n u24 = b64tab[asc.charAt(i++)] << 18\n | b64tab[asc.charAt(i++)] << 12\n | (r1 = b64tab[asc.charAt(i++)]) << 6\n | (r2 = b64tab[asc.charAt(i++)]);\n bin += r1 === 64 ? _fromCC(u24 >> 16 & 255)\n : r2 === 64 ? _fromCC(u24 >> 16 & 255, u24 >> 8 & 255)\n : _fromCC(u24 >> 16 & 255, u24 >> 8 & 255, u24 & 255);\n }\n return bin;\n};\n/**\n * does what `window.atob` of web browsers do.\n * @param {String} asc Base64-encoded string\n * @returns {string} binary string\n */\nconst _atob = typeof atob === 'function' ? (asc) => atob(_tidyB64(asc))\n : _hasBuffer ? (asc) => Buffer.from(asc, 'base64').toString('binary')\n : atobPolyfill;\n//\nconst _toUint8Array = _hasBuffer\n ? (a) => _U8Afrom(Buffer.from(a, 'base64'))\n : (a) => _U8Afrom(_atob(a).split('').map(c => c.charCodeAt(0)));\n/**\n * converts a Base64 string to a Uint8Array.\n */\nconst toUint8Array = (a) => _toUint8Array(_unURI(a));\n//\nconst _decode = _hasBuffer\n ? (a) => Buffer.from(a, 'base64').toString('utf8')\n : _TD\n ? (a) => _TD.decode(_toUint8Array(a))\n : (a) => btou(_atob(a));\nconst _unURI = (a) => _tidyB64(a.replace(/[-_]/g, (m0) => m0 == '-' ? '+' : '/'));\n/**\n * converts a Base64 string to a UTF-8 string.\n * @param {String} src Base64 string. Both normal and URL-safe are supported\n * @returns {string} UTF-8 string\n */\nconst decode = (src) => _decode(_unURI(src));\n/**\n * check if a value is a valid Base64 string\n * @param {String} src a value to check\n */\nconst isValid = (src) => {\n if (typeof src !== 'string')\n return false;\n const s = src.replace(/\\s+/g, '').replace(/={0,2}$/, '');\n return !/[^\\s0-9a-zA-Z\\+/]/.test(s) || !/[^\\s0-9a-zA-Z\\-_]/.test(s);\n};\n//\nconst _noEnum = (v) => {\n return {\n value: v, enumerable: false, writable: true, configurable: true\n };\n};\n/**\n * extend String.prototype with relevant methods\n */\nconst extendString = function () {\n const _add = (name, body) => Object.defineProperty(String.prototype, name, _noEnum(body));\n _add('fromBase64', function () { return decode(this); });\n _add('toBase64', function (urlsafe) { return encode(this, urlsafe); });\n _add('toBase64URI', function () { return encode(this, true); });\n _add('toBase64URL', function () { return encode(this, true); });\n _add('toUint8Array', function () { return toUint8Array(this); });\n};\n/**\n * extend Uint8Array.prototype with relevant methods\n */\nconst extendUint8Array = function () {\n const _add = (name, body) => Object.defineProperty(Uint8Array.prototype, name, _noEnum(body));\n _add('toBase64', function (urlsafe) { return fromUint8Array(this, urlsafe); });\n _add('toBase64URI', function () { return fromUint8Array(this, true); });\n _add('toBase64URL', function () { return fromUint8Array(this, true); });\n};\n/**\n * extend Builtin prototypes with relevant methods\n */\nconst extendBuiltins = () => {\n extendString();\n extendUint8Array();\n};\nconst gBase64 = {\n version: version,\n VERSION: VERSION,\n atob: _atob,\n atobPolyfill: atobPolyfill,\n btoa: _btoa,\n btoaPolyfill: btoaPolyfill,\n fromBase64: decode,\n toBase64: encode,\n encode: encode,\n encodeURI: encodeURI,\n encodeURL: encodeURI,\n utob: utob,\n btou: btou,\n decode: decode,\n isValid: isValid,\n fromUint8Array: fromUint8Array,\n toUint8Array: toUint8Array,\n extendString: extendString,\n extendUint8Array: extendUint8Array,\n extendBuiltins: extendBuiltins\n};\n// makecjs:CUT //\nexport { version };\nexport { VERSION };\nexport { _atob as atob };\nexport { atobPolyfill };\nexport { _btoa as btoa };\nexport { btoaPolyfill };\nexport { decode as fromBase64 };\nexport { encode as toBase64 };\nexport { utob };\nexport { encode };\nexport { encodeURI };\nexport { encodeURI as encodeURL };\nexport { btou };\nexport { decode };\nexport { isValid };\nexport { fromUint8Array };\nexport { toUint8Array };\nexport { extendString };\nexport { extendUint8Array };\nexport { extendBuiltins };\n// and finally,\nexport { gBase64 as Base64 };\n","'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n check(typeof this == 'object' && this) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar documentAll = typeof document == 'object' && document.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nmodule.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar path = require('../internals/path');\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (variable) {\n return isCallable(variable) ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(globalThis[namespace])\n : path[namespace] && path[namespace][method] || globalThis[namespace] && globalThis[namespace][method];\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nvar navigator = globalThis.navigator;\nvar userAgent = navigator && navigator.userAgent;\n\nmodule.exports = userAgent ? String(userAgent) : '';\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar userAgent = require('../internals/environment-user-agent');\n\nvar process = globalThis.process;\nvar Deno = globalThis.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/environment-v8-version');\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\nvar $String = globalThis.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL &&\n !Symbol.sham &&\n typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nmodule.exports = true;\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(globalThis, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n globalThis[key] = value;\n } return value;\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar globalThis = require('../internals/global-this');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});\n\n(store.versions || (store.versions = [])).push({\n version: '3.39.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2024 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.39.0/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar store = require('../internals/shared-store');\n\nmodule.exports = function (key, value) {\n return store[key] || (store[key] = value || {});\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = globalThis.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\n\nvar document = globalThis.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar apply = require('../internals/function-apply');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar isCallable = require('../internals/is-callable');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar isForced = require('../internals/is-forced');\nvar path = require('../internals/path');\nvar bind = require('../internals/function-bind-context');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\n// add debugging info\nrequire('../internals/shared-store');\n\nvar wrapConstructor = function (NativeConstructor) {\n var Wrapper = function (a, b, c) {\n if (this instanceof Wrapper) {\n switch (arguments.length) {\n case 0: return new NativeConstructor();\n case 1: return new NativeConstructor(a);\n case 2: return new NativeConstructor(a, b);\n } return new NativeConstructor(a, b, c);\n } return apply(NativeConstructor, this, arguments);\n };\n Wrapper.prototype = NativeConstructor.prototype;\n return Wrapper;\n};\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var PROTO = options.proto;\n\n var nativeSource = GLOBAL ? globalThis : STATIC ? globalThis[TARGET] : globalThis[TARGET] && globalThis[TARGET].prototype;\n\n var target = GLOBAL ? path : path[TARGET] || createNonEnumerableProperty(path, TARGET, {})[TARGET];\n var targetPrototype = target.prototype;\n\n var FORCED, USE_NATIVE, VIRTUAL_PROTOTYPE;\n var key, sourceProperty, targetProperty, nativeProperty, resultProperty, descriptor;\n\n for (key in source) {\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contains in native\n USE_NATIVE = !FORCED && nativeSource && hasOwn(nativeSource, key);\n\n targetProperty = target[key];\n\n if (USE_NATIVE) if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(nativeSource, key);\n nativeProperty = descriptor && descriptor.value;\n } else nativeProperty = nativeSource[key];\n\n // export native or implementation\n sourceProperty = (USE_NATIVE && nativeProperty) ? nativeProperty : source[key];\n\n if (!FORCED && !PROTO && typeof targetProperty == typeof sourceProperty) continue;\n\n // bind methods to global for calling from export context\n if (options.bind && USE_NATIVE) resultProperty = bind(sourceProperty, globalThis);\n // wrap global constructors for prevent changes in this version\n else if (options.wrap && USE_NATIVE) resultProperty = wrapConstructor(sourceProperty);\n // make static versions for prototype methods\n else if (PROTO && isCallable(sourceProperty)) resultProperty = uncurryThis(sourceProperty);\n // default case\n else resultProperty = sourceProperty;\n\n // add a flag to not completely full polyfills\n if (options.sham || (sourceProperty && sourceProperty.sham) || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(resultProperty, 'sham', true);\n }\n\n createNonEnumerableProperty(target, key, resultProperty);\n\n if (PROTO) {\n VIRTUAL_PROTOTYPE = TARGET + 'Prototype';\n if (!hasOwn(path, VIRTUAL_PROTOTYPE)) {\n createNonEnumerableProperty(path, VIRTUAL_PROTOTYPE, {});\n }\n // export virtual prototype methods\n createNonEnumerableProperty(path[VIRTUAL_PROTOTYPE], key, sourceProperty);\n // export real prototype methods\n if (options.real && targetPrototype && (FORCED || !targetPrototype[key])) {\n createNonEnumerableProperty(targetPrototype, key, sourceProperty);\n }\n }\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\n// eslint-disable-next-line es/no-object-defineproperty -- safe\n$({ target: 'Object', stat: true, forced: Object.defineProperty !== defineProperty, sham: !DESCRIPTORS }, {\n defineProperty: defineProperty\n});\n","'use strict';\nrequire('../../modules/es.object.define-property');\nvar path = require('../../internals/path');\n\nvar Object = path.Object;\n\nvar defineProperty = module.exports = function defineProperty(it, key, desc) {\n return Object.defineProperty(it, key, desc);\n};\n\nif (Object.defineProperty.sham) defineProperty.sham = true;\n","'use strict';\nvar parent = require('../../es/object/define-property');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../stable/object/define-property');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../actual/object/define-property');\n\nmodule.exports = parent;\n","'use strict';\nmodule.exports = require('../../full/object/define-property');\n","'use strict';\nvar classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) === 'Array';\n};\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n var len = toIntegerOrInfinity(argument);\n return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');\n return it;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n if (DESCRIPTORS) definePropertyModule.f(object, key, createPropertyDescriptor(0, value));\n else object[key] = value;\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.test(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, [], argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? $Array : C;\n};\n","'use strict';\nvar arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/environment-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","'use strict';\nvar classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n if (length === 0) return !IS_INCLUDES && -1;\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\n/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n // eslint-disable-next-line no-useless-assignment -- avoid memory leak\n activeXDocument = null;\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","'use strict';\n/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice');\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return arraySlice(windowNames);\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && classof(it) === 'Window'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (target, key, value, options) {\n if (options && options.enumerable) target[key] = value;\n else createNonEnumerableProperty(target, key, value);\n return target;\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","'use strict';\nvar path = require('../internals/path');\nvar hasOwn = require('../internals/has-own-property');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar getBuiltIn = require('../internals/get-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function () {\n var Symbol = getBuiltIn('Symbol');\n var SymbolPrototype = Symbol && Symbol.prototype;\n var valueOf = SymbolPrototype && SymbolPrototype.valueOf;\n var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n if (SymbolPrototype && !SymbolPrototype[TO_PRIMITIVE]) {\n // `Symbol.prototype[@@toPrimitive]` method\n // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\n // eslint-disable-next-line no-unused-vars -- required for .length\n defineBuiltIn(SymbolPrototype, TO_PRIMITIVE, function (hint) {\n return call(valueOf, this);\n }, { arity: 1 });\n }\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar defineProperty = require('../internals/object-define-property').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar toString = require('../internals/object-to-string');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC, SET_METHOD) {\n var target = STATIC ? it : it && it.prototype;\n if (target) {\n if (!hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n if (SET_METHOD && !TO_STRING_TAG_SUPPORT) {\n createNonEnumerableProperty(target, 'toString', toString);\n }\n }\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = globalThis.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = globalThis.TypeError;\nvar WeakMap = globalThis.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = uncurryThis([].push);\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE === 1;\n var IS_FILTER = TYPE === 2;\n var IS_SOME = TYPE === 3;\n var IS_EVERY = TYPE === 4;\n var IS_FIND_INDEX = TYPE === 6;\n var IS_FILTER_REJECT = TYPE === 7;\n var NO_HOLES = TYPE === 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var length = lengthOfArrayLike(self);\n var boundFunction = bind(callbackfn, that);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push(target, value); // filterReject\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterReject` method\n // https://github.com/tc39/proposal-array-filtering\n filterReject: createMethod(7)\n};\n","'use strict';\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\n/* eslint-disable es/no-symbol -- safe */\nmodule.exports = NATIVE_SYMBOL && !!Symbol['for'] && !!Symbol.keyFor;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isArray = require('../internals/is-array');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof-raw');\nvar toString = require('../internals/to-string');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (replacer) {\n if (isCallable(replacer)) return replacer;\n if (!isArray(replacer)) return;\n var rawLength = replacer.length;\n var keys = [];\n for (var i = 0; i < rawLength; i++) {\n var element = replacer[i];\n if (typeof element == 'string') push(keys, element);\n else if (typeof element == 'number' || classof(element) === 'Number' || classof(element) === 'String') push(keys, toString(element));\n }\n var keysLength = keys.length;\n var root = true;\n return function (key, value) {\n if (root) {\n root = false;\n return value;\n }\n if (isArray(this)) return value;\n for (var j = 0; j < keysLength; j++) if (keys[j] === key) return value;\n };\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar $toString = require('../internals/to-string');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\nvar defineSymbolToPrimitive = require('../internals/symbol-define-to-primitive');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\n\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = globalThis.Symbol;\nvar SymbolPrototype = $Symbol && $Symbol[PROTOTYPE];\nvar RangeError = globalThis.RangeError;\nvar TypeError = globalThis.TypeError;\nvar QObject = globalThis.QObject;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar push = uncurryThis([].push);\n\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar WellKnownSymbolsStore = shared('wks');\n\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar fallbackDefineProperty = function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n};\n\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a !== 7;\n}) ? fallbackDefineProperty : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPropertyKey(P);\n anObject(Attributes);\n if (hasOwn(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, nativeObjectCreate(null)));\n O[HIDDEN][key] = true;\n } else {\n if (hasOwn(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || call($propertyIsEnumerable, properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPropertyKey(V);\n var enumerable = call(nativePropertyIsEnumerable, this, P);\n if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P]\n ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPropertyKey(P);\n if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) push(result, key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function (O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) {\n push(result, AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.es/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (isPrototypeOf(SymbolPrototype, this)) throw new TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n var $this = this === undefined ? globalThis : this;\n if ($this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value);\n if (hasOwn($this, HIDDEN) && hasOwn($this[HIDDEN], tag)) $this[HIDDEN][tag] = false;\n var descriptor = createPropertyDescriptor(1, value);\n try {\n setSymbolDescriptor($this, tag, descriptor);\n } catch (error) {\n if (!(error instanceof RangeError)) throw error;\n fallbackDefineProperty($this, tag, descriptor);\n }\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n SymbolPrototype = $Symbol[PROTOTYPE];\n\n defineBuiltIn(SymbolPrototype, 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n defineBuiltIn($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n definePropertiesModule.f = $defineProperties;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n defineBuiltInAccessor(SymbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n defineBuiltIn(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, constructor: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.es/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.es/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.es/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.es/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames\n});\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\ndefineSymbolToPrimitive();\n\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","'use strict';\n// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/es.symbol.constructor');\nrequire('../modules/es.symbol.for');\nrequire('../modules/es.symbol.key-for');\nrequire('../modules/es.json.stringify');\nrequire('../modules/es.object.get-own-property-symbols');\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar hasOwn = require('../internals/has-own-property');\nvar toString = require('../internals/to-string');\nvar shared = require('../internals/shared');\nvar NATIVE_SYMBOL_REGISTRY = require('../internals/symbol-registry-detection');\n\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\n\n// `Symbol.for` method\n// https://tc39.es/ecma262/#sec-symbol.for\n$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {\n 'for': function (key) {\n var string = toString(key);\n if (hasOwn(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = getBuiltIn('Symbol')(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar hasOwn = require('../internals/has-own-property');\nvar isSymbol = require('../internals/is-symbol');\nvar tryToString = require('../internals/try-to-string');\nvar shared = require('../internals/shared');\nvar NATIVE_SYMBOL_REGISTRY = require('../internals/symbol-registry-detection');\n\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\n\n// `Symbol.keyFor` method\n// https://tc39.es/ecma262/#sec-symbol.keyfor\n$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw new TypeError(tryToString(sym) + ' is not a symbol');\n if (hasOwn(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isSymbol = require('../internals/is-symbol');\nvar arraySlice = require('../internals/array-slice');\nvar getReplacerFunction = require('../internals/get-json-replacer-function');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nvar $String = String;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar exec = uncurryThis(/./.exec);\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar replace = uncurryThis(''.replace);\nvar numberToString = uncurryThis(1.0.toString);\n\nvar tester = /[\\uD800-\\uDFFF]/g;\nvar low = /^[\\uD800-\\uDBFF]$/;\nvar hi = /^[\\uDC00-\\uDFFF]$/;\n\nvar WRONG_SYMBOLS_CONVERSION = !NATIVE_SYMBOL || fails(function () {\n var symbol = getBuiltIn('Symbol')('stringify detection');\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) !== '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) !== '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) !== '{}';\n});\n\n// https://github.com/tc39/proposal-well-formed-stringify\nvar ILL_FORMED_UNICODE = fails(function () {\n return $stringify('\\uDF06\\uD834') !== '\"\\\\udf06\\\\ud834\"'\n || $stringify('\\uDEAD') !== '\"\\\\udead\"';\n});\n\nvar stringifyWithSymbolsFix = function (it, replacer) {\n var args = arraySlice(arguments);\n var $replacer = getReplacerFunction(replacer);\n if (!isCallable($replacer) && (it === undefined || isSymbol(it))) return; // IE8 returns string on undefined\n args[1] = function (key, value) {\n // some old implementations (like WebKit) could pass numbers as keys\n if (isCallable($replacer)) value = call($replacer, this, $String(key), value);\n if (!isSymbol(value)) return value;\n };\n return apply($stringify, null, args);\n};\n\nvar fixIllFormed = function (match, offset, string) {\n var prev = charAt(string, offset - 1);\n var next = charAt(string, offset + 1);\n if ((exec(low, match) && !exec(hi, next)) || (exec(hi, match) && !exec(low, prev))) {\n return '\\\\u' + numberToString(charCodeAt(match, 0), 16);\n } return match;\n};\n\nif ($stringify) {\n // `JSON.stringify` method\n // https://tc39.es/ecma262/#sec-json.stringify\n $({ target: 'JSON', stat: true, arity: 3, forced: WRONG_SYMBOLS_CONVERSION || ILL_FORMED_UNICODE }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n stringify: function stringify(it, replacer, space) {\n var args = arraySlice(arguments);\n var result = apply(WRONG_SYMBOLS_CONVERSION ? stringifyWithSymbolsFix : $stringify, null, args);\n return ILL_FORMED_UNICODE && typeof result == 'string' ? replace(result, tester, fixIllFormed) : result;\n }\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar fails = require('../internals/fails');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar toObject = require('../internals/to-object');\n\n// V8 ~ Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FORCED = !NATIVE_SYMBOL || fails(function () { getOwnPropertySymbolsModule.f(1); });\n\n// `Object.getOwnPropertySymbols` method\n// https://tc39.es/ecma262/#sec-object.getownpropertysymbols\n$({ target: 'Object', stat: true, forced: FORCED }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n var $getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return $getOwnPropertySymbols ? $getOwnPropertySymbols(toObject(it)) : [];\n }\n});\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\nvar defineSymbolToPrimitive = require('../internals/symbol-define-to-primitive');\n\n// `Symbol.toPrimitive` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.toprimitive\ndefineWellKnownSymbol('toPrimitive');\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\ndefineSymbolToPrimitive();\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/environment-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !arrayMethodHasSpeciesSupport('concat');\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = lengthOfArrayLike(E);\n doesNotExceedSafeInteger(n + len);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n doesNotExceedSafeInteger(n + 1);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","'use strict';\nrequire('../../modules/es.array.concat');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.symbol');\nrequire('../../modules/es.symbol.async-iterator');\nrequire('../../modules/es.symbol.description');\nrequire('../../modules/es.symbol.has-instance');\nrequire('../../modules/es.symbol.is-concat-spreadable');\nrequire('../../modules/es.symbol.iterator');\nrequire('../../modules/es.symbol.match');\nrequire('../../modules/es.symbol.match-all');\nrequire('../../modules/es.symbol.replace');\nrequire('../../modules/es.symbol.search');\nrequire('../../modules/es.symbol.species');\nrequire('../../modules/es.symbol.split');\nrequire('../../modules/es.symbol.to-primitive');\nrequire('../../modules/es.symbol.to-string-tag');\nrequire('../../modules/es.symbol.unscopables');\nrequire('../../modules/es.json.to-string-tag');\nrequire('../../modules/es.math.to-string-tag');\nrequire('../../modules/es.reflect.to-string-tag');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Symbol;\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.asyncIterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.asynciterator\ndefineWellKnownSymbol('asyncIterator');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.hasInstance` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.hasinstance\ndefineWellKnownSymbol('hasInstance');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.isConcatSpreadable` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.isconcatspreadable\ndefineWellKnownSymbol('isConcatSpreadable');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.match` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.match\ndefineWellKnownSymbol('match');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.matchAll` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.matchall\ndefineWellKnownSymbol('matchAll');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.replace` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.replace\ndefineWellKnownSymbol('replace');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.search` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.search\ndefineWellKnownSymbol('search');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.species` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.species\ndefineWellKnownSymbol('species');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.split` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.split\ndefineWellKnownSymbol('split');\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// `Symbol.toStringTag` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.tostringtag\ndefineWellKnownSymbol('toStringTag');\n\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag(getBuiltIn('Symbol'), 'Symbol');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.unscopables` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.unscopables\ndefineWellKnownSymbol('unscopables');\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// JSON[@@toStringTag] property\n// https://tc39.es/ecma262/#sec-json-@@tostringtag\nsetToStringTag(globalThis.JSON, 'JSON', true);\n","'use strict';\nmodule.exports = function () { /* empty */ };\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n defineBuiltIn(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nmodule.exports = function (argument) {\n return isObject(argument) || argument === null;\n};\n","'use strict';\nvar isPossiblePrototype = require('../internals/is-possible-prototype');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (isPossiblePrototype(argument)) return argument;\n throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar isObject = require('../internals/is-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n requireObjectCoercible(O);\n aPossiblePrototype(proto);\n if (!isObject(O)) return O;\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\nvar createIteratorConstructor = require('../internals/iterator-create-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND && KIND in IterablePrototype) return IterablePrototype[KIND];\n\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n }\n\n return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME === 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n if (PROPER_FUNCTION_NAME && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return call(nativeIterator, this); };\n }\n }\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n defineBuiltIn(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n","'use strict';\n// `CreateIterResultObject` abstract operation\n// https://tc39.es/ecma262/#sec-createiterresultobject\nmodule.exports = function (value, done) {\n return { value: value, done: done };\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineProperty = require('../internals/object-define-property').f;\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = null;\n return createIterResultObject(undefined, true);\n }\n switch (state.kind) {\n case 'keys': return createIterResultObject(index, false);\n case 'values': return createIterResultObject(target[index], false);\n } return createIterResultObject([index, target[index]], false);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nvar values = Iterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n// V8 ~ Chrome 45- bug\nif (!IS_PURE && DESCRIPTORS && values.name !== 'values') try {\n defineProperty(values, 'name', { value: 'values' });\n} catch (error) { /* empty */ }\n","'use strict';\n// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","'use strict';\nrequire('../modules/es.array.iterator');\nvar DOMIterables = require('../internals/dom-iterables');\nvar globalThis = require('../internals/global-this');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nfor (var COLLECTION_NAME in DOMIterables) {\n setToStringTag(globalThis[COLLECTION_NAME], COLLECTION_NAME);\n Iterators[COLLECTION_NAME] = Iterators.Array;\n}\n","'use strict';\nvar parent = require('../../es/symbol');\nrequire('../../modules/web.dom-collections.iterator');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../stable/symbol');\n\nrequire('../../modules/esnext.function.metadata');\nrequire('../../modules/esnext.symbol.async-dispose');\nrequire('../../modules/esnext.symbol.dispose');\nrequire('../../modules/esnext.symbol.metadata');\n\nmodule.exports = parent;\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar METADATA = wellKnownSymbol('metadata');\nvar FunctionPrototype = Function.prototype;\n\n// Function.prototype[@@metadata]\n// https://github.com/tc39/proposal-decorator-metadata\nif (FunctionPrototype[METADATA] === undefined) {\n defineProperty(FunctionPrototype, METADATA, {\n value: null\n });\n}\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.asyncDispose` well-known symbol\n// https://github.com/tc39/proposal-async-explicit-resource-management\ndefineWellKnownSymbol('asyncDispose');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.dispose` well-known symbol\n// https://github.com/tc39/proposal-explicit-resource-management\ndefineWellKnownSymbol('dispose');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.metadata` well-known symbol\n// https://github.com/tc39/proposal-decorators\ndefineWellKnownSymbol('metadata');\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar Symbol = getBuiltIn('Symbol');\nvar keyFor = Symbol.keyFor;\nvar thisSymbolValue = uncurryThis(Symbol.prototype.valueOf);\n\n// `Symbol.isRegisteredSymbol` method\n// https://tc39.es/proposal-symbol-predicates/#sec-symbol-isregisteredsymbol\nmodule.exports = Symbol.isRegisteredSymbol || function isRegisteredSymbol(value) {\n try {\n return keyFor(thisSymbolValue(value)) !== undefined;\n } catch (error) {\n return false;\n }\n};\n","'use strict';\nvar shared = require('../internals/shared');\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isSymbol = require('../internals/is-symbol');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar Symbol = getBuiltIn('Symbol');\nvar $isWellKnownSymbol = Symbol.isWellKnownSymbol;\nvar getOwnPropertyNames = getBuiltIn('Object', 'getOwnPropertyNames');\nvar thisSymbolValue = uncurryThis(Symbol.prototype.valueOf);\nvar WellKnownSymbolsStore = shared('wks');\n\nfor (var i = 0, symbolKeys = getOwnPropertyNames(Symbol), symbolKeysLength = symbolKeys.length; i < symbolKeysLength; i++) {\n // some old engines throws on access to some keys like `arguments` or `caller`\n try {\n var symbolKey = symbolKeys[i];\n if (isSymbol(Symbol[symbolKey])) wellKnownSymbol(symbolKey);\n } catch (error) { /* empty */ }\n}\n\n// `Symbol.isWellKnownSymbol` method\n// https://tc39.es/proposal-symbol-predicates/#sec-symbol-iswellknownsymbol\n// We should patch it for newly added well-known symbols. If it's not required, this module just will not be injected\nmodule.exports = function isWellKnownSymbol(value) {\n if ($isWellKnownSymbol && $isWellKnownSymbol(value)) return true;\n try {\n var symbol = thisSymbolValue(value);\n for (var j = 0, keys = getOwnPropertyNames(WellKnownSymbolsStore), keysLength = keys.length; j < keysLength; j++) {\n // eslint-disable-next-line eqeqeq -- polyfilled symbols case\n if (WellKnownSymbolsStore[keys[j]] == symbol) return true;\n }\n } catch (error) { /* empty */ }\n return false;\n};\n","'use strict';\nvar parent = require('../../actual/symbol');\nrequire('../../modules/esnext.symbol.is-registered-symbol');\nrequire('../../modules/esnext.symbol.is-well-known-symbol');\nrequire('../../modules/esnext.symbol.custom-matcher');\nrequire('../../modules/esnext.symbol.observable');\n// TODO: Remove from `core-js@4`\nrequire('../../modules/esnext.symbol.is-registered');\nrequire('../../modules/esnext.symbol.is-well-known');\nrequire('../../modules/esnext.symbol.matcher');\nrequire('../../modules/esnext.symbol.metadata-key');\nrequire('../../modules/esnext.symbol.pattern-match');\nrequire('../../modules/esnext.symbol.replace-all');\n\nmodule.exports = parent;\n","'use strict';\nvar $ = require('../internals/export');\nvar isRegisteredSymbol = require('../internals/symbol-is-registered');\n\n// `Symbol.isRegisteredSymbol` method\n// https://tc39.es/proposal-symbol-predicates/#sec-symbol-isregisteredsymbol\n$({ target: 'Symbol', stat: true }, {\n isRegisteredSymbol: isRegisteredSymbol\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar isWellKnownSymbol = require('../internals/symbol-is-well-known');\n\n// `Symbol.isWellKnownSymbol` method\n// https://tc39.es/proposal-symbol-predicates/#sec-symbol-iswellknownsymbol\n// We should patch it for newly added well-known symbols. If it's not required, this module just will not be injected\n$({ target: 'Symbol', stat: true, forced: true }, {\n isWellKnownSymbol: isWellKnownSymbol\n});\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.customMatcher` well-known symbol\n// https://github.com/tc39/proposal-pattern-matching\ndefineWellKnownSymbol('customMatcher');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.observable` well-known symbol\n// https://github.com/tc39/proposal-observable\ndefineWellKnownSymbol('observable');\n","'use strict';\nvar $ = require('../internals/export');\nvar isRegisteredSymbol = require('../internals/symbol-is-registered');\n\n// `Symbol.isRegistered` method\n// obsolete version of https://tc39.es/proposal-symbol-predicates/#sec-symbol-isregisteredsymbol\n$({ target: 'Symbol', stat: true, name: 'isRegisteredSymbol' }, {\n isRegistered: isRegisteredSymbol\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar isWellKnownSymbol = require('../internals/symbol-is-well-known');\n\n// `Symbol.isWellKnown` method\n// obsolete version of https://tc39.es/proposal-symbol-predicates/#sec-symbol-iswellknownsymbol\n// We should patch it for newly added well-known symbols. If it's not required, this module just will not be injected\n$({ target: 'Symbol', stat: true, name: 'isWellKnownSymbol', forced: true }, {\n isWellKnown: isWellKnownSymbol\n});\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.matcher` well-known symbol\n// https://github.com/tc39/proposal-pattern-matching\ndefineWellKnownSymbol('matcher');\n","'use strict';\n// TODO: Remove from `core-js@4`\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.metadataKey` well-known symbol\n// https://github.com/tc39/proposal-decorator-metadata\ndefineWellKnownSymbol('metadataKey');\n","'use strict';\n// TODO: remove from `core-js@4`\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.patternMatch` well-known symbol\n// https://github.com/tc39/proposal-pattern-matching\ndefineWellKnownSymbol('patternMatch');\n","'use strict';\n// TODO: remove from `core-js@4`\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\ndefineWellKnownSymbol('replaceAll');\n","'use strict';\nmodule.exports = require('../../full/symbol');\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toIntegerOrInfinity(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = charCodeAt(S, position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING\n ? charAt(S, position)\n : first\n : CONVERT_TO_STRING\n ? stringSlice(S, position, position + 2)\n : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","'use strict';\nrequire('../../modules/es.array.iterator');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.string.iterator');\nrequire('../../modules/es.symbol.iterator');\nvar WrappedWellKnownSymbolModule = require('../../internals/well-known-symbol-wrapped');\n\nmodule.exports = WrappedWellKnownSymbolModule.f('iterator');\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar toString = require('../internals/to-string');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: toString(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return createIterResultObject(undefined, true);\n point = charAt(string, index);\n state.index += point.length;\n return createIterResultObject(point, false);\n});\n","'use strict';\nvar parent = require('../../es/symbol/iterator');\nrequire('../../modules/web.dom-collections.iterator');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../stable/symbol/iterator');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../actual/symbol/iterator');\n\nmodule.exports = parent;\n","'use strict';\nmodule.exports = require('../../full/symbol/iterator');\n","import _Symbol from \"core-js-pure/features/symbol/index.js\";\nimport _Symbol$iterator from \"core-js-pure/features/symbol/iterator.js\";\nfunction _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof _Symbol && \"symbol\" == typeof _Symbol$iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof _Symbol && o.constructor === _Symbol && o !== _Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","'use strict';\nrequire('../../modules/es.date.to-primitive');\nrequire('../../modules/es.symbol.to-primitive');\nvar WrappedWellKnownSymbolModule = require('../../internals/well-known-symbol-wrapped');\n\nmodule.exports = WrappedWellKnownSymbolModule.f('toPrimitive');\n","'use strict';\nvar parent = require('../../es/symbol/to-primitive');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../stable/symbol/to-primitive');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../actual/symbol/to-primitive');\n\nmodule.exports = parent;\n","'use strict';\nmodule.exports = require('../../full/symbol/to-primitive');\n","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import _typeof from \"./typeof.js\";\nimport _Symbol$toPrimitive from \"core-js-pure/features/symbol/to-primitive.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[_Symbol$toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _Object$defineProperty from \"core-js-pure/features/object/define-property.js\";\nimport toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? _Object$defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","export class MIMETextError extends Error {\n override name = ''\n description = ''\n\n constructor (message: string, description = '') {\n super(description)\n\n this.name = message\n this.description = description\n }\n}\n","'use strict';\n// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar whitespaces = require('../internals/whitespaces');\n\nvar replace = uncurryThis(''.replace);\nvar ltrim = RegExp('^[' + whitespaces + ']+');\nvar rtrim = RegExp('(^|[^' + whitespaces + '])[' + whitespaces + ']+$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = toString(requireObjectCoercible($this));\n if (TYPE & 1) string = replace(string, ltrim, '');\n if (TYPE & 2) string = replace(string, rtrim, '$1');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","'use strict';\nvar PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]()\n || non[METHOD_NAME]() !== non\n || (PROPER_FUNCTION_NAME && whitespaces[METHOD_NAME].name !== METHOD_NAME);\n });\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar path = require('../internals/path');\n\nmodule.exports = function (CONSTRUCTOR, METHOD) {\n var Namespace = path[CONSTRUCTOR + 'Prototype'];\n var pureMethod = Namespace && Namespace[METHOD];\n if (pureMethod) return pureMethod;\n var NativeConstructor = globalThis[CONSTRUCTOR];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n return NativePrototype && NativePrototype[METHOD];\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.es/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","'use strict';\nrequire('../../../modules/es.string.trim');\nvar getBuiltInPrototypeMethod = require('../../../internals/get-built-in-prototype-method');\n\nmodule.exports = getBuiltInPrototypeMethod('String', 'trim');\n","'use strict';\nvar isPrototypeOf = require('../../internals/object-is-prototype-of');\nvar method = require('../string/virtual/trim');\n\nvar StringPrototype = String.prototype;\n\nmodule.exports = function (it) {\n var own = it.trim;\n return typeof it == 'string' || it === StringPrototype\n || (isPrototypeOf(StringPrototype, it) && own === StringPrototype.trim) ? method : own;\n};\n","'use strict';\nvar parent = require('../../es/instance/trim');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../stable/instance/trim');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../actual/instance/trim');\n\nmodule.exports = parent;\n","'use strict';\nmodule.exports = require('../../full/instance/trim');\n","module.exports = require(\"core-js-pure/features/instance/trim\");","import { MIMETextError } from './MIMETextError.js'\n\nexport class Mailbox {\n reSpecCompliantAddr = /(([^<>\\r\\n]+)\\s)?<[^\\r\\n]+>/\n name = ''\n addr = ''\n type: MailboxType = 'To'\n\n constructor (input: MailboxAddrObject | string, config: MailboxConfig = { type: 'To' }) {\n this.type = config.type\n\n this.parse(input)\n }\n\n getAddrDomain (): string {\n if (this.addr.includes('@')) {\n const arr = this.addr.split('@')\n if (arr.length > 1) return arr[1]!\n }\n return ''\n }\n\n dump (): string {\n return this.name.length > 0 ? `\"${this.name}\" <${this.addr}>` : `<${this.addr}>`\n }\n\n parse (input: MailboxAddrObject | string): this {\n if (this.isMailboxAddrObject(input)) {\n this.addr = input.addr\n if (typeof input.name === 'string') this.name = input.name\n if (typeof input.type === 'string') this.type = input.type\n return this\n }\n\n if (this.isMailboxAddrText(input)) {\n const text = input.trim()\n if (text.startsWith('<') && text.endsWith('>')) {\n this.addr = text.slice(1, -1)\n return this\n }\n const arr = text.split(' <') as [string, string]\n arr[0] = /^(\"|')/.test(arr[0]) ? arr[0].slice(1) : arr[0]\n arr[0] = /(\"|')$/.test(arr[0]) ? arr[0].slice(0, -1) : arr[0]\n arr[1] = arr[1].slice(0, -1)\n this.name = arr[0]\n this.addr = arr[1]\n return this\n }\n\n if (typeof input === 'string') {\n this.addr = input\n return this\n }\n\n throw new MIMETextError('MIMETEXT_INVALID_MAILBOX', 'Couldn\\'t recognize the input.')\n }\n\n isMailboxAddrText (v: unknown): boolean {\n return typeof v === 'string' && this.reSpecCompliantAddr.test(v)\n }\n\n isMailboxAddrObject (v: unknown): v is MailboxAddrObject {\n return this.isObject(v) && Object.hasOwn(v, 'addr')\n }\n\n isObject (v: unknown): v is object {\n return (!!v) && (v.constructor === Object)\n }\n}\n\nexport interface MailboxConfig {\n type: MailboxType\n}\nexport interface MailboxAddrObject {\n addr: string\n name?: string\n type?: MailboxType\n}\nexport type MailboxType = 'To' | 'From' | 'Cc' | 'Bcc'\n","import type { EnvironmentContext } from \"./MIMEMessage\";\nimport { MIMETextError } from \"./MIMETextError.js\";\nimport { Mailbox } from \"./Mailbox.js\";\n\n/*\n Headers are based on: https://www.rfc-editor.org/rfc/rfc4021#section-2.1\n (Some are ignored as they can be added later or as a custom header.)\n*/\n\nexport class MIMEMessageHeader {\n envctx: EnvironmentContext;\n fields: HeaderField[] = [\n {\n name: \"Date\",\n generator: () =>\n new Date().toUTCString().replace(/GMT|UTC/gi, \"+0000\"),\n },\n {\n name: \"From\",\n required: true,\n validate: (v: unknown) => this.validateMailboxSingle(v),\n dump: (v: unknown) => this.dumpMailboxSingle(v),\n },\n {\n name: \"Sender\",\n validate: (v: unknown) => this.validateMailboxSingle(v),\n dump: (v: unknown) => this.dumpMailboxSingle(v),\n },\n {\n name: \"Reply-To\",\n validate: (v: unknown) => this.validateMailboxSingle(v),\n dump: (v: unknown) => this.dumpMailboxSingle(v),\n },\n {\n name: \"To\",\n validate: (v: unknown) => this.validateMailboxMulti(v),\n dump: (v: unknown) => this.dumpMailboxMulti(v),\n },\n {\n name: \"Cc\",\n validate: (v: unknown) => this.validateMailboxMulti(v),\n dump: (v: unknown) => this.dumpMailboxMulti(v),\n },\n {\n name: \"Bcc\",\n validate: (v: unknown) => this.validateMailboxMulti(v),\n dump: (v: unknown) => this.dumpMailboxMulti(v),\n },\n {\n name: \"Message-ID\",\n generator: () => {\n const randomstr = Math.random().toString(36).slice(2);\n const from = this.fields.filter(\n (obj) => obj.name === \"From\",\n )[0]!.value as Mailbox;\n const domain = from.getAddrDomain();\n return \"<\" + randomstr + \"@\" + domain + \">\";\n },\n },\n {\n name: \"Subject\",\n required: true,\n dump: (v: unknown) => {\n return typeof v === \"string\"\n ? \"=?utf-8?B?\" + this.envctx.toBase64(v) + \"?=\"\n : \"\";\n },\n },\n {\n name: \"MIME-Version\",\n generator: () => \"1.0\",\n },\n ];\n\n constructor(envctx: EnvironmentContext) {\n this.envctx = envctx;\n }\n\n dump(): string {\n let lines = \"\";\n\n for (const field of this.fields) {\n if (field.disabled) continue;\n const isValueDefinedByUser =\n field.value !== undefined && field.value !== null;\n if (!isValueDefinedByUser && field.required) {\n throw new MIMETextError(\n \"MIMETEXT_MISSING_HEADER\",\n `The \"${field.name}\" header is required.`,\n );\n }\n if (!isValueDefinedByUser && typeof field.generator !== \"function\")\n continue;\n if (!isValueDefinedByUser && typeof field.generator === \"function\")\n field.value = field.generator();\n const strval =\n Object.hasOwn(field, \"dump\") && typeof field.dump === \"function\"\n ? field.dump(field.value)\n : typeof field.value === \"string\"\n ? field.value\n : \"\";\n lines += `${field.name}: ${strval}${this.envctx.eol}`;\n }\n\n return lines.slice(0, -1 * this.envctx.eol.length);\n }\n\n toObject(): HeadersObject {\n return this.fields.reduce((memo: HeadersObject, item) => {\n memo[item.name] = item.value;\n return memo;\n }, {});\n }\n\n get(name: string): string | Mailbox | Mailbox[] | undefined {\n const fieldMatcher = (obj: HeaderField): boolean =>\n obj.name.toLowerCase() === name.toLowerCase();\n const ind = this.fields.findIndex(fieldMatcher);\n\n return ind !== -1 ? this.fields[ind]!.value : undefined;\n }\n\n set(name: string, value: string | Mailbox | Mailbox[]): HeaderField {\n const fieldMatcher = (obj: HeaderField): boolean =>\n obj.name.toLowerCase() === name.toLowerCase();\n const isCustomHeader = !this.fields.some(fieldMatcher);\n\n if (!isCustomHeader) {\n const ind = this.fields.findIndex(fieldMatcher);\n const field = this.fields[ind]!;\n if (field.validate && !field.validate(value)) {\n throw new MIMETextError(\n \"MIMETEXT_INVALID_HEADER_VALUE\",\n `The value for the header \"${name}\" is invalid.`,\n );\n }\n this.fields[ind]!.value = value;\n return this.fields[ind]!;\n }\n\n return this.setCustom({\n name: name,\n value: value,\n custom: true,\n dump: (v: unknown) => (typeof v === \"string\" ? v : \"\"),\n });\n }\n\n setCustom(obj: HeaderField): HeaderField {\n if (this.isHeaderField(obj)) {\n if (typeof obj.value !== \"string\") {\n throw new MIMETextError(\n \"MIMETEXT_INVALID_HEADER_FIELD\",\n \"Custom header must have a value.\",\n );\n }\n this.fields.push(obj);\n return obj;\n }\n\n throw new MIMETextError(\n \"MIMETEXT_INVALID_HEADER_FIELD\",\n \"Invalid input for custom header. It must be in type of HeaderField.\",\n );\n }\n\n validateMailboxSingle(v: unknown): v is Mailbox {\n return v instanceof Mailbox;\n }\n\n validateMailboxMulti(v: unknown): boolean {\n return v instanceof Mailbox || this.isArrayOfMailboxes(v);\n }\n\n dumpMailboxMulti(v: unknown): string {\n const dump = (item: Mailbox): string =>\n item.name.length === 0\n ? item.dump()\n : `=?utf-8?B?${this.envctx.toBase64(item.name)}?= <${item.addr}>`;\n return this.isArrayOfMailboxes(v)\n ? v.map(dump).join(`,${this.envctx.eol} `)\n : v instanceof Mailbox\n ? dump(v)\n : \"\";\n }\n\n dumpMailboxSingle(v: unknown): string {\n const dump = (item: Mailbox): string =>\n item.name.length === 0\n ? item.dump()\n : `=?utf-8?B?${this.envctx.toBase64(item.name)}?= <${item.addr}>`;\n return v instanceof Mailbox ? dump(v) : \"\";\n }\n\n isHeaderField(v: unknown): v is HeaderField {\n const validProps = [\n \"name\",\n \"value\",\n \"dump\",\n \"required\",\n \"disabled\",\n \"generator\",\n \"custom\",\n ];\n if (this.isObject(v)) {\n const h = v as HeaderField;\n if (\n Object.hasOwn(h, \"name\") &&\n typeof h.name === \"string\" &&\n h.name.length > 0\n ) {\n if (\n !Object.keys(h).some((prop) => !validProps.includes(prop))\n ) {\n return true;\n }\n }\n }\n return false;\n }\n\n isObject(v: unknown): v is object {\n return !!v && v.constructor === Object;\n }\n\n isArrayOfMailboxes(v: unknown): v is Mailbox[] {\n return (\n this.isArray(v) &&\n v.every((item: unknown) => item instanceof Mailbox)\n );\n }\n\n isArray(v: unknown): v is never[] {\n return !!v && v.constructor === Array;\n }\n}\n\nexport class MIMEMessageContentHeader extends MIMEMessageHeader {\n override fields = [\n {\n name: \"Content-ID\",\n },\n {\n name: \"Content-Type\",\n },\n {\n name: \"Content-Transfer-Encoding\",\n },\n {\n name: \"Content-Disposition\",\n },\n ];\n\n constructor(envctx: EnvironmentContext) {\n super(envctx);\n }\n}\n\nexport type HeadersObject = Record<\n string,\n string | Mailbox | Mailbox[] | undefined\n>;\nexport interface HeaderField {\n name: string;\n dump?: (v: string | Mailbox | Mailbox[] | undefined) => string;\n value?: string | Mailbox | Mailbox[] | undefined;\n validate?: (v: unknown) => boolean;\n required?: boolean;\n disabled?: boolean;\n generator?: () => string;\n custom?: boolean;\n}\n","import type { EnvironmentContext } from './MIMEMessage'\nimport type { Mailbox } from './Mailbox'\nimport { type HeadersObject, MIMEMessageContentHeader } from './MIMEMessageHeader.js'\n\nexport class MIMEMessageContent {\n envctx: EnvironmentContext\n headers\n data\n\n constructor (envctx: EnvironmentContext, data: string, headers = {}) {\n this.envctx = envctx\n this.headers = new MIMEMessageContentHeader(this.envctx)\n this.data = data\n this.setHeaders(headers)\n }\n\n dump (): string {\n const eol = this.envctx.eol\n return this.headers.dump() + eol + eol + this.data\n }\n\n isAttachment (): boolean {\n const disposition = this.headers.get('Content-Disposition')\n return typeof disposition === 'string' && disposition.includes('attachment')\n }\n\n isInlineAttachment (): boolean {\n const disposition = this.headers.get('Content-Disposition')\n return typeof disposition === 'string' && disposition.includes('inline')\n }\n\n setHeader (name: string, value: string | Mailbox | Mailbox[]): string {\n this.headers.set(name, value)\n return name\n }\n\n getHeader (name: string): string | Mailbox | Mailbox[] | undefined {\n return this.headers.get(name)\n }\n\n setHeaders (obj: Record): string[] {\n return Object.keys(obj).map((prop) => this.setHeader(prop, obj[prop]!))\n }\n\n getHeaders (): HeadersObject {\n return this.headers.toObject()\n }\n}\n","import type { MailboxAddrObject, MailboxConfig } from './Mailbox.js'\n\nimport { MIMETextError } from './MIMETextError.js'\nimport { type HeadersObject, MIMEMessageHeader } from './MIMEMessageHeader.js'\nimport { Mailbox } from './Mailbox.js'\nimport { MIMEMessageContent } from './MIMEMessageContent.js'\n\nexport class MIMEMessage {\n envctx: EnvironmentContext\n headers: MIMEMessageHeader\n boundaries: Boundaries = { mixed: '', alt: '', related: '' }\n validTypes = ['text/html', 'text/plain']\n validContentTransferEncodings = ['7bit', '8bit', 'binary', 'quoted-printable', 'base64']\n messages: MIMEMessageContent[] = []\n\n constructor (envctx: EnvironmentContext) {\n this.envctx = envctx\n this.headers = new MIMEMessageHeader(this.envctx)\n this.messages = []\n\n this.generateBoundaries()\n }\n\n asRaw (): string {\n const eol = this.envctx.eol\n const lines = this.headers.dump()\n\n const plaintext = this.getMessageByType('text/plain')\n const html = this.getMessageByType('text/html')\n const primaryMessage = html ?? (plaintext ?? undefined)\n\n if (primaryMessage === undefined) {\n throw new MIMETextError('MIMETEXT_MISSING_BODY', 'No content added to the message.')\n }\n\n const hasAttachments = this.hasAttachments()\n const hasInlineAttachments = this.hasInlineAttachments()\n\n const structure = hasInlineAttachments && hasAttachments\n ? 'mixed+related'\n : hasAttachments\n ? 'mixed'\n : hasInlineAttachments\n ? 'related'\n : plaintext && html\n ? 'alternative'\n : ''\n\n if (structure === 'mixed+related') {\n const attachments = this.getAttachments()\n .map((a) => '--' + this.boundaries.mixed + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n const inlineAttachments = this.getInlineAttachments()\n .map((a) => '--' + this.boundaries.related + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n return lines + eol +\n 'Content-Type: multipart/mixed; boundary=' + this.boundaries.mixed + eol +\n eol +\n '--' + this.boundaries.mixed + eol +\n 'Content-Type: multipart/related; boundary=' + this.boundaries.related + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.related) + eol +\n eol +\n inlineAttachments +\n '--' + this.boundaries.related + '--' + eol +\n attachments +\n '--' + this.boundaries.mixed + '--'\n } else if (structure === 'mixed') {\n const attachments = this.getAttachments()\n .map((a) => '--' + this.boundaries.mixed + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n return lines + eol +\n 'Content-Type: multipart/mixed; boundary=' + this.boundaries.mixed + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.mixed) + eol +\n (plaintext && html ? '' : eol) +\n attachments +\n '--' + this.boundaries.mixed + '--'\n } else if (structure === 'related') {\n const inlineAttachments = this.getInlineAttachments()\n .map((a) => '--' + this.boundaries.related + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n return lines + eol +\n 'Content-Type: multipart/related; boundary=' + this.boundaries.related + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.related) + eol +\n eol +\n inlineAttachments +\n '--' + this.boundaries.related + '--'\n } else if (structure === 'alternative') {\n return lines + eol +\n 'Content-Type: multipart/alternative; boundary=' + this.boundaries.alt + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.alt) + eol +\n eol +\n '--' + this.boundaries.alt + '--'\n } else {\n return lines + eol + primaryMessage.dump()\n }\n }\n\n asEncoded (): string {\n return this.envctx.toBase64WebSafe(this.asRaw())\n }\n\n dumpTextContent (plaintext: MIMEMessageContent | undefined, html: MIMEMessageContent | undefined, boundary: string): string {\n const eol = this.envctx.eol\n const primaryMessage = html ?? plaintext\n\n let data = ''\n\n if (plaintext && html && !this.hasInlineAttachments() && this.hasAttachments()) {\n data = '--' + boundary + eol +\n 'Content-Type: multipart/alternative; boundary=' + this.boundaries.alt + eol +\n eol +\n '--' + this.boundaries.alt + eol +\n plaintext.dump() + eol +\n eol +\n '--' + this.boundaries.alt + eol +\n html.dump() + eol +\n eol +\n '--' + this.boundaries.alt + '--'\n } else if (plaintext && html && this.hasInlineAttachments()) {\n data = '--' + boundary + eol +\n html.dump()\n } else if (plaintext && html) {\n data = '--' + boundary + eol +\n plaintext.dump() + eol +\n eol +\n '--' + boundary + eol +\n html.dump()\n } else {\n data = '--' + boundary + eol +\n (primaryMessage!).dump()\n }\n\n return data\n }\n\n hasInlineAttachments (): boolean {\n return this.messages.some((msg) => msg.isInlineAttachment())\n }\n\n hasAttachments (): boolean {\n return this.messages.some((msg) => msg.isAttachment())\n }\n\n getAttachments (): MIMEMessageContent[] | [] {\n const matcher = (msg: MIMEMessageContent): boolean => msg.isAttachment()\n return this.messages.some(matcher) ? this.messages.filter(matcher) : []\n }\n\n getInlineAttachments (): MIMEMessageContent[] | [] {\n const matcher = (msg: MIMEMessageContent): boolean => msg.isInlineAttachment()\n return this.messages.some(matcher) ? this.messages.filter(matcher) : []\n }\n\n getMessageByType (type: string): MIMEMessageContent | undefined {\n const matcher = (msg: MIMEMessageContent): boolean => !msg.isAttachment() && !msg.isInlineAttachment() && (msg.getHeader('Content-Type') as string || '').includes(type)\n return this.messages.some(matcher) ? this.messages.filter(matcher)[0] : undefined\n }\n\n addAttachment (opts: AttachmentOptions): MIMEMessageContent {\n if (!this.isObject(opts.headers)) opts.headers = {}\n\n if (typeof opts.filename !== 'string') {\n throw new MIMETextError('MIMETEXT_MISSING_FILENAME', 'The property \"filename\" must exist while adding attachments.')\n }\n\n let type = (opts.headers['Content-Type'] ?? opts.contentType) || 'none'\n if (this.envctx.validateContentType(type) === false) {\n throw new MIMETextError('MIMETEXT_INVALID_MESSAGE_TYPE', `You specified an invalid content type \"${type}\".`)\n }\n\n const encoding = (opts.headers['Content-Transfer-Encoding'] ?? opts.encoding) ?? 'base64'\n if (!this.validContentTransferEncodings.includes(encoding)) {\n type = 'application/octet-stream'\n }\n\n const contentId = opts.headers['Content-ID']\n if (typeof contentId === 'string' && contentId.length > 2 && !contentId.startsWith('<') && !contentId.endsWith('>')) {\n opts.headers['Content-ID'] = '<' + opts.headers['Content-ID'] + '>'\n }\n\n const disposition = opts.inline ? 'inline' : 'attachment'\n\n opts.headers = Object.assign({}, opts.headers, {\n 'Content-Type': `${type}; name=\"${opts.filename}\"`,\n 'Content-Transfer-Encoding': encoding,\n 'Content-Disposition': `${disposition}; filename=\"${opts.filename}\"`\n })\n\n return this._addMessage({ data: opts.data, headers: opts.headers })\n }\n\n addMessage (opts: ContentOptions): MIMEMessageContent {\n if (!this.isObject(opts.headers)) opts.headers = {}\n\n let type = (opts.headers['Content-Type'] ?? opts.contentType) || 'none'\n if (!this.validTypes.includes(type)) {\n throw new MIMETextError('MIMETEXT_INVALID_MESSAGE_TYPE', `Valid content types are ${this.validTypes.join(', ')} but you specified \"${type}\".`)\n }\n\n const encoding = (opts.headers['Content-Transfer-Encoding'] ?? opts.encoding) ?? '7bit'\n if (!this.validContentTransferEncodings.includes(encoding)) {\n type = 'application/octet-stream'\n }\n\n const charset = opts.charset ?? 'UTF-8'\n\n opts.headers = Object.assign({}, opts.headers, {\n 'Content-Type': `${type}; charset=${charset}`,\n 'Content-Transfer-Encoding': encoding\n })\n\n return this._addMessage({ data: opts.data, headers: opts.headers })\n }\n\n private _addMessage (opts: { data: string, headers: ContentHeaders }): MIMEMessageContent {\n const msg = new MIMEMessageContent(this.envctx, opts.data, opts.headers)\n\n this.messages.push(msg)\n\n return msg\n }\n\n setSender (input: MailboxAddrObject | string, config: MailboxConfig = { type: 'From' }): Mailbox {\n const mailbox = new Mailbox(input, config)\n this.setHeader('From', mailbox)\n return mailbox\n }\n\n getSender (): Mailbox | undefined {\n return this.getHeader('From') as Mailbox\n }\n\n setRecipients (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'To' }): Mailbox[] {\n const arr = !this.isArray(input) ? [input] : input\n const recs = arr.map((_input) => new Mailbox(_input, config))\n this.setHeader(config.type, recs)\n return recs\n }\n\n getRecipients (config: MailboxConfig = { type: 'To' }): Mailbox | Mailbox[] | undefined {\n return this.getHeader(config.type) as Mailbox | Mailbox[] | undefined\n }\n\n setRecipient (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'To' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setTo (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'To' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setCc (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'Cc' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setBcc (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'Bcc' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setSubject (value: string): string {\n this.setHeader('subject', value)\n return value\n }\n\n getSubject (): string | undefined {\n return this.getHeader('subject') as string\n }\n\n setHeader (name: string, value: string | Mailbox | Mailbox[]): string {\n this.headers.set(name, value)\n return name\n }\n\n getHeader (name: string): string | Mailbox | Mailbox[] | undefined {\n return this.headers.get(name)\n }\n\n setHeaders (obj: Record): string[] {\n return Object.keys(obj).map((prop) => this.setHeader(prop, obj[prop]!))\n }\n\n getHeaders (): HeadersObject {\n return this.headers.toObject()\n }\n\n toBase64 (v: string): string {\n return this.envctx.toBase64(v)\n }\n\n toBase64WebSafe (v: string): string {\n return this.envctx.toBase64WebSafe(v)\n }\n\n generateBoundaries (): void {\n this.boundaries = {\n mixed: Math.random().toString(36).slice(2),\n alt: Math.random().toString(36).slice(2),\n related: Math.random().toString(36).slice(2)\n }\n }\n\n isArray (v: unknown): v is unknown[] {\n return (!!v) && (v.constructor === Array)\n }\n\n isObject (v: unknown): v is object {\n return (!!v) && (v.constructor === Object)\n }\n}\n\nexport interface EnvironmentContext {\n toBase64: (v: string) => string\n toBase64WebSafe: (v: string) => string\n eol: string\n validateContentType: (v: string) => string | false\n}\n\nexport interface Boundaries {\n mixed: string\n alt: string\n related: string\n}\n\nexport type ContentTransferEncoding = '7bit' | '8bit' | 'binary' | 'quoted-printable' | 'base64'\n\nexport interface ContentHeaders {\n 'Content-Type'?: string\n 'Content-Transfer-Encoding'?: ContentTransferEncoding\n 'Content-Disposition'?: string\n 'Content-ID'?: string\n [index: string]: string | undefined\n}\n\nexport interface ContentOptions {\n data: string\n encoding?: ContentTransferEncoding\n contentType: string\n headers?: ContentHeaders\n charset?: string\n}\n\nexport interface AttachmentOptions extends ContentOptions {\n inline?: boolean\n filename: string\n}\n","import { Base64 } from 'js-base64'\nimport { MIMEMessage } from '../MIMEMessage.js'\n\nconst envctx = {\n toBase64: function toBase64 (data: string) {\n return Base64.encode(data)\n },\n toBase64WebSafe: function toBase64WebSafe (data: string) {\n return Base64.encodeURI(data)\n },\n eol: '\\r\\n',\n validateContentType: (v: string): string | false => {\n return v.length > 0 ? v : false\n }\n}\n\nexport function createMimeMessage (): MIMEMessage {\n return new MIMEMessage(envctx)\n}\n\nexport { MIMEMessage } from '../MIMEMessage.js'\nexport { Mailbox } from '../Mailbox.js'\nexport { MIMETextError } from '../MIMETextError.js'\nexport { MIMEMessageHeader } from '../MIMEMessageHeader.js'\nexport { MIMEMessageContent } from '../MIMEMessageContent.js'\n\nexport type * from '../MIMEMessage.js'\nexport type * from '../Mailbox.js'\nexport type * from '../MIMETextError.js'\nexport type * from '../MIMEMessageHeader.js'\nexport type * from '../MIMEMessageContent.js'\n"],"names":["_hasBuffer","Buffer","_TE","TextDecoder","TextEncoder","undefined","b64chs","Array","prototype","slice","call","b64tab","a","tab","forEach","c","i","b64re","_fromCC","String","fromCharCode","bind","_mkUriSafe","Uint8Array","from","src","replace","m0","_tidyB64","s","btoaPolyfill","bin","u32","c0","c1","c2","asc","pad","length","charCodeAt","TypeError","substring","_btoa","btoa","toString","_fromUint8Array","u8a","strs","l","push","apply","subarray","join","cb_utob","cc","re_utob","utob","u","_encode","encode","urlsafe","encodeURI","atobPolyfill","test","u24","r1","r2","charAt","gBase64","check","it","Math","globalThis_1","globalThis","window","self","global","this","Function","fails","exec","error","functionBindNative","require$$0","hasOwnProperty","NATIVE_BIND","FunctionPrototype","functionApply","Reflect","arguments","uncurryThisWithBind","functionUncurryThis","fn","uncurryThis","stringSlice","classofRaw","require$$1","functionUncurryThisClause","documentAll","document","all","isCallable","argument","descriptors","Object","defineProperty","get","functionCall","$propertyIsEnumerable","propertyIsEnumerable","getOwnPropertyDescriptor","NASHORN_BUG","objectPropertyIsEnumerable","f","V","descriptor","enumerable","createPropertyDescriptor","bitmap","value","configurable","writable","classof","require$$2","$Object","split","indexedObject","isNullOrUndefined","$TypeError","requireObjectCoercible","IndexedObject","toIndexedObject","isObject","path","aFunction","variable","getBuiltIn","namespace","method","objectIsPrototypeOf","isPrototypeOf","navigator","userAgent","environmentUserAgent","match","version","process","Deno","versions","v8","environmentV8Version","V8_VERSION","$String","symbolConstructorDetection","getOwnPropertySymbols","symbol","Symbol","sham","useSymbolAsUid","iterator","isSymbol","require$$3","$Symbol","tryToString","aCallable","getMethod","P","func","ordinaryToPrimitive","input","pref","val","valueOf","isPure","defineGlobalProperty","key","IS_PURE","SHARED","store","sharedStoreModule","exports","mode","copyright","license","source","shared","toObject","hasOwnProperty_1","hasOwn","id","postfix","random","uid","NATIVE_SYMBOL","require$$4","USE_SYMBOL_AS_UID","require$$5","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","wellKnownSymbol","name","TO_PRIMITIVE","toPrimitive","result","exoticToPrim","toPropertyKey","EXISTS","createElement","documentCreateElement","DESCRIPTORS","ie8DomDefine","propertyIsEnumerableModule","require$$6","IE8_DOM_DEFINE","require$$7","$getOwnPropertyDescriptor","objectGetOwnPropertyDescriptor","O","replacement","isForced","feature","detection","data","normalize","POLYFILL","NATIVE","string","toLowerCase","isForced_1","functionBindContext","that","v8PrototypeDefineBug","anObject","V8_PROTOTYPE_DEFINE_BUG","$defineProperty","ENUMERABLE","CONFIGURABLE","WRITABLE","objectDefineProperty","Attributes","current","definePropertyModule","createNonEnumerableProperty","object","require$$8","require$$9","wrapConstructor","NativeConstructor","Wrapper","b","_export","options","FORCED","USE_NATIVE","VIRTUAL_PROTOTYPE","sourceProperty","targetProperty","nativeProperty","resultProperty","TARGET","target","GLOBAL","STATIC","stat","PROTO","proto","nativeSource","targetPrototype","forced","dontCallGetSet","wrap","real","$","desc","isArray","ceil","floor","mathTrunc","trunc","x","n","toIntegerOrInfinity","number","min","toLength","len","lengthOfArrayLike","obj","doesNotExceedSafeInteger","createProperty","toStringTagSupport","TO_STRING_TAG_SUPPORT","TO_STRING_TAG","CORRECT_ARGUMENTS","tag","tryGet","callee","functionToString","inspectSource","noop","construct","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","isConstructorLegacy","isConstructor","called","SPECIES","$Array","arraySpeciesConstructor","originalArray","C","constructor","arraySpeciesCreate","arrayMethodHasSpeciesSupport","METHOD_NAME","array","foo","Boolean","max","toAbsoluteIndex","index","integer","createMethod","IS_INCLUDES","$this","el","fromIndex","arrayIncludes","includes","indexOf","hiddenKeys","objectKeysInternal","names","enumBugKeys","internalObjectKeys","objectKeys","keys","objectDefineProperties","defineProperties","Properties","props","html","sharedKey","activeXDocument","definePropertiesModule","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","content","LT","NullProtoObjectViaActiveX","write","close","temp","parentWindow","NullProtoObject","ActiveXObject","iframeDocument","iframe","JS","domain","style","display","appendChild","contentWindow","open","F","objectCreate","create","concat","objectGetOwnPropertyNames","getOwnPropertyNames","arraySlice","$getOwnPropertyNames","windowNames","objectGetOwnPropertyNamesExternal","getWindowNames","objectGetOwnPropertySymbols","defineBuiltIn","defineBuiltInAccessor","wellKnownSymbolWrapped","wrappedWellKnownSymbolModule","wellKnownSymbolDefine","NAME","symbolDefineToPrimitive","SymbolPrototype","hint","arity","objectToString","setToStringTag","TAG","SET_METHOD","WeakMap","weakMapBasicDetection","set","has","NATIVE_WEAK_MAP","OBJECT_ALREADY_INITIALIZED","state","metadata","facade","STATE","internalState","enforce","getterFor","TYPE","type","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_REJECT","NO_HOLES","callbackfn","specificCreate","boundFunction","arrayIteration","map","filter","some","every","find","findIndex","filterReject","symbolRegistryDetection","keyFor","getJsonReplacerFunction","replacer","rawLength","element","keysLength","root","j","require$$10","require$$11","require$$12","$toString","require$$13","require$$14","nativeObjectCreate","require$$15","require$$16","getOwnPropertyNamesModule","require$$17","getOwnPropertyNamesExternal","require$$18","getOwnPropertySymbolsModule","require$$19","getOwnPropertyDescriptorModule","require$$20","require$$21","require$$22","require$$23","require$$24","require$$25","require$$26","require$$27","require$$28","require$$29","require$$30","require$$31","defineWellKnownSymbol","require$$32","defineSymbolToPrimitive","require$$33","require$$34","InternalStateModule","require$$35","$forEach","require$$36","HIDDEN","SYMBOL","setInternalState","getInternalState","ObjectPrototype","RangeError","QObject","nativeGetOwnPropertyDescriptor","nativeDefineProperty","nativeGetOwnPropertyNames","nativePropertyIsEnumerable","AllSymbols","ObjectPrototypeSymbols","USE_SETTER","findChild","fallbackDefineProperty","ObjectPrototypeDescriptor","setSymbolDescriptor","description","$defineProperties","properties","$getOwnPropertySymbols","IS_OBJECT_PROTOTYPE","setter","unsafe","useSetter","useSimple","NATIVE_SYMBOL_REGISTRY","StringToSymbolRegistry","SymbolToStringRegistry","for","sym","getReplacerFunction","$stringify","numberToString","tester","low","hi","WRONG_SYMBOLS_CONVERSION","ILL_FORMED_UNICODE","stringifyWithSymbolsFix","args","$replacer","fixIllFormed","offset","prev","next","stringify","space","IS_CONCAT_SPREADABLE","IS_CONCAT_SPREADABLE_SUPPORT","isConcatSpreadable","spreadable","arg","k","E","A","JSON","addToUnscopables","iterators","getDescriptor","PROPER","functionName","correctPrototypeGetter","getPrototypeOf","CORRECT_PROTOTYPE_GETTER","objectGetPrototypeOf","IteratorPrototype","PrototypeOfArrayIteratorPrototype","arrayIterator","ITERATOR","BUGGY_SAFARI_ITERATORS","iteratorsCore","Iterators","returnThis","iteratorCreateConstructor","IteratorConstructor","ENUMERABLE_NEXT","functionUncurryThisAccessor","isPossiblePrototype","aPossiblePrototype","uncurryThisAccessor","objectSetPrototypeOf","setPrototypeOf","CORRECT_SETTER","__proto__","FunctionName","createIteratorConstructor","IteratorsCore","PROPER_FUNCTION_NAME","CONFIGURABLE_FUNCTION_NAME","KEYS","VALUES","ENTRIES","iteratorDefine","Iterable","DEFAULT","IS_SET","CurrentIteratorPrototype","methods","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","entries","values","createIterResultObject","done","defineIterator","ARRAY_ITERATOR","es_array_iterator","iterated","kind","Arguments","domIterables","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","DOMIterables","COLLECTION_NAME","parent","METADATA","thisSymbolValue","symbolIsRegistered","isRegisteredSymbol","$isWellKnownSymbol","isWellKnownSymbol","symbolKeys","symbolKeysLength","symbolKey","symbolIsWellKnown","isRegistered","isWellKnown","CONVERT_TO_STRING","pos","first","second","S","position","size","stringMultibyte","codeAt","STRING_ITERATOR","point","_typeof","o","_Symbol","_Symbol$iterator","t","r","e","_Symbol$toPrimitive","Number","_defineProperty","_Object$defineProperty","MIMETextError","Error","message","super","whitespaces","ltrim","RegExp","rtrim","stringTrim","start","end","trim","stringTrimForced","getBuiltInPrototypeMethod","CONSTRUCTOR","METHOD","Namespace","pureMethod","NativePrototype","$trim","forcedStringTrimMethod","StringPrototype","own","Mailbox","config","parse","getAddrDomain","addr","arr","dump","isMailboxAddrObject","isMailboxAddrText","text","_trimInstanceProperty","startsWith","endsWith","v","reSpecCompliantAddr","MIMEMessageHeader","envctx","generator","Date","toUTCString","required","validate","validateMailboxSingle","dumpMailboxSingle","validateMailboxMulti","dumpMailboxMulti","fields","toBase64","lines","field","disabled","isValueDefinedByUser","strval","eol","reduce","memo","item","ind","fieldMatcher","setCustom","custom","isHeaderField","isArrayOfMailboxes","validProps","h","prop","MIMEMessageContentHeader","MIMEMessageContent","headers","setHeaders","isAttachment","disposition","isInlineAttachment","setHeader","getHeader","getHeaders","MIMEMessage","mixed","alt","related","messages","generateBoundaries","asRaw","plaintext","getMessageByType","primaryMessage","hasAttachments","hasInlineAttachments","structure","attachments","getAttachments","boundaries","inlineAttachments","getInlineAttachments","dumpTextContent","asEncoded","toBase64WebSafe","boundary","msg","matcher","addAttachment","opts","_opts$headers$Content","_ref","_opts$headers$Content2","filename","contentType","validateContentType","encoding","validContentTransferEncodings","contentId","inline","assign","_addMessage","addMessage","_opts$headers$Content3","_ref2","_opts$headers$Content4","_opts$charset","validTypes","charset","setSender","mailbox","getSender","setRecipients","recs","_input","getRecipients","setRecipient","setTo","setCc","setBcc","setSubject","getSubject","Base64"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,172,173,174,175,176,177,178,179,180,181,182,183]} \ No newline at end of file diff --git a/dist/mimetext.node.cjs.js b/dist/mimetext.node.cjs.js new file mode 100644 index 0000000..021ea09 --- /dev/null +++ b/dist/mimetext.node.cjs.js @@ -0,0 +1,2 @@ +"use strict";var e=require("node:os"),t=require("mime-types"),s=require("@babel/runtime-corejs3/core-js/instance/trim");function n(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(s){if("default"!==s){var n=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(t,s,n.get?n:{enumerable:!0,get:function(){return e[s]}})}})),t.default=e,Object.freeze(t)}var i=n(t);class a extends Error{name="";description="";constructor(e,t=""){super(t),this.name=e,this.description=t}}class r{reSpecCompliantAddr=/(([^<>\r\n]+)\s)?<[^\r\n]+>/;name="";addr="";type="To";constructor(e,t={type:"To"}){this.type=t.type,this.parse(e)}getAddrDomain(){if(this.addr.includes("@")){const e=this.addr.split("@");if(e.length>1)return e[1]}return""}dump(){return this.name.length>0?`"${this.name}" <${this.addr}>`:`<${this.addr}>`}parse(e){if(this.isMailboxAddrObject(e))return this.addr=e.addr,"string"==typeof e.name&&(this.name=e.name),"string"==typeof e.type&&(this.type=e.type),this;if(this.isMailboxAddrText(e)){const t=s(e).call(e);if(t.startsWith("<")&&t.endsWith(">"))return this.addr=t.slice(1,-1),this;const n=t.split(" <");return n[0]=/^("|')/.test(n[0])?n[0].slice(1):n[0],n[0]=/("|')$/.test(n[0])?n[0].slice(0,-1):n[0],n[1]=n[1].slice(0,-1),this.name=n[0],this.addr=n[1],this}if("string"==typeof e)return this.addr=e,this;throw new a("MIMETEXT_INVALID_MAILBOX","Couldn't recognize the input.")}isMailboxAddrText(e){return"string"==typeof e&&this.reSpecCompliantAddr.test(e)}isMailboxAddrObject(e){return this.isObject(e)&&Object.hasOwn(e,"addr")}isObject(e){return!!e&&e.constructor===Object}}class o{fields=[{name:"Date",generator:()=>(new Date).toUTCString().replace(/GMT|UTC/gi,"+0000")},{name:"From",required:!0,validate:e=>this.validateMailboxSingle(e),dump:e=>this.dumpMailboxSingle(e)},{name:"Sender",validate:e=>this.validateMailboxSingle(e),dump:e=>this.dumpMailboxSingle(e)},{name:"Reply-To",validate:e=>this.validateMailboxSingle(e),dump:e=>this.dumpMailboxSingle(e)},{name:"To",validate:e=>this.validateMailboxMulti(e),dump:e=>this.dumpMailboxMulti(e)},{name:"Cc",validate:e=>this.validateMailboxMulti(e),dump:e=>this.dumpMailboxMulti(e)},{name:"Bcc",validate:e=>this.validateMailboxMulti(e),dump:e=>this.dumpMailboxMulti(e)},{name:"Message-ID",generator:()=>"<"+Math.random().toString(36).slice(2)+"@"+this.fields.filter((e=>"From"===e.name))[0].value.getAddrDomain()+">"},{name:"Subject",required:!0,dump:e=>"string"==typeof e?"=?utf-8?B?"+this.envctx.toBase64(e)+"?=":""},{name:"MIME-Version",generator:()=>"1.0"}];constructor(e){this.envctx=e}dump(){let e="";for(const t of this.fields){if(t.disabled)continue;const s=void 0!==t.value&&null!==t.value;if(!s&&t.required)throw new a("MIMETEXT_MISSING_HEADER",`The "${t.name}" header is required.`);if(!s&&"function"!=typeof t.generator)continue;s||"function"!=typeof t.generator||(t.value=t.generator());const n=Object.hasOwn(t,"dump")&&"function"==typeof t.dump?t.dump(t.value):"string"==typeof t.value?t.value:"";e+=`${t.name}: ${n}${this.envctx.eol}`}return e.slice(0,-1*this.envctx.eol.length)}toObject(){return this.fields.reduce(((e,t)=>(e[t.name]=t.value,e)),{})}get(e){const t=this.fields.findIndex((t=>t.name.toLowerCase()===e.toLowerCase()));return-1!==t?this.fields[t].value:void 0}set(e,t){const s=t=>t.name.toLowerCase()===e.toLowerCase();if(!!this.fields.some(s)){const n=this.fields.findIndex(s),i=this.fields[n];if(i.validate&&!i.validate(t))throw new a("MIMETEXT_INVALID_HEADER_VALUE",`The value for the header "${e}" is invalid.`);return this.fields[n].value=t,this.fields[n]}return this.setCustom({name:e,value:t,custom:!0,dump:e=>"string"==typeof e?e:""})}setCustom(e){if(this.isHeaderField(e)){if("string"!=typeof e.value)throw new a("MIMETEXT_INVALID_HEADER_FIELD","Custom header must have a value.");return this.fields.push(e),e}throw new a("MIMETEXT_INVALID_HEADER_FIELD","Invalid input for custom header. It must be in type of HeaderField.")}validateMailboxSingle(e){return e instanceof r}validateMailboxMulti(e){return e instanceof r||this.isArrayOfMailboxes(e)}dumpMailboxMulti(e){const t=e=>0===e.name.length?e.dump():`=?utf-8?B?${this.envctx.toBase64(e.name)}?= <${e.addr}>`;return this.isArrayOfMailboxes(e)?e.map(t).join(`,${this.envctx.eol} `):e instanceof r?t(e):""}dumpMailboxSingle(e){return e instanceof r?(e=>0===e.name.length?e.dump():`=?utf-8?B?${this.envctx.toBase64(e.name)}?= <${e.addr}>`)(e):""}isHeaderField(e){const t=["name","value","dump","required","disabled","generator","custom"];if(this.isObject(e)){const s=e;if(Object.hasOwn(s,"name")&&"string"==typeof s.name&&s.name.length>0&&!Object.keys(s).some((e=>!t.includes(e))))return!0}return!1}isObject(e){return!!e&&e.constructor===Object}isArrayOfMailboxes(e){return this.isArray(e)&&e.every((e=>e instanceof r))}isArray(e){return!!e&&e.constructor===Array}}class d extends o{fields=[{name:"Content-ID"},{name:"Content-Type"},{name:"Content-Transfer-Encoding"},{name:"Content-Disposition"}];constructor(e){super(e)}}class h{constructor(e,t,s={}){this.envctx=e,this.headers=new d(this.envctx),this.data=t,this.setHeaders(s)}dump(){const e=this.envctx.eol;return this.headers.dump()+e+e+this.data}isAttachment(){const e=this.headers.get("Content-Disposition");return"string"==typeof e&&e.includes("attachment")}isInlineAttachment(){const e=this.headers.get("Content-Disposition");return"string"==typeof e&&e.includes("inline")}setHeader(e,t){return this.headers.set(e,t),e}getHeader(e){return this.headers.get(e)}setHeaders(e){return Object.keys(e).map((t=>this.setHeader(t,e[t])))}getHeaders(){return this.headers.toObject()}}class u{boundaries={mixed:"",alt:"",related:""};validTypes=["text/html","text/plain"];validContentTransferEncodings=["7bit","8bit","binary","quoted-printable","base64"];messages=[];constructor(e){this.envctx=e,this.headers=new o(this.envctx),this.messages=[],this.generateBoundaries()}asRaw(){const e=this.envctx.eol,t=this.headers.dump(),s=this.getMessageByType("text/plain"),n=this.getMessageByType("text/html"),i=n??s??void 0;if(void 0===i)throw new a("MIMETEXT_MISSING_BODY","No content added to the message.");const r=this.hasAttachments(),o=this.hasInlineAttachments(),d=o&&r?"mixed+related":r?"mixed":o?"related":s&&n?"alternative":"";if("mixed+related"===d){const i=this.getAttachments().map((t=>"--"+this.boundaries.mixed+e+t.dump()+e+e)).join("").slice(0,-1*e.length),a=this.getInlineAttachments().map((t=>"--"+this.boundaries.related+e+t.dump()+e+e)).join("").slice(0,-1*e.length);return t+e+"Content-Type: multipart/mixed; boundary="+this.boundaries.mixed+e+e+"--"+this.boundaries.mixed+e+"Content-Type: multipart/related; boundary="+this.boundaries.related+e+e+this.dumpTextContent(s,n,this.boundaries.related)+e+e+a+"--"+this.boundaries.related+"--"+e+i+"--"+this.boundaries.mixed+"--"}if("mixed"===d){const i=this.getAttachments().map((t=>"--"+this.boundaries.mixed+e+t.dump()+e+e)).join("").slice(0,-1*e.length);return t+e+"Content-Type: multipart/mixed; boundary="+this.boundaries.mixed+e+e+this.dumpTextContent(s,n,this.boundaries.mixed)+e+(s&&n?"":e)+i+"--"+this.boundaries.mixed+"--"}if("related"===d){const i=this.getInlineAttachments().map((t=>"--"+this.boundaries.related+e+t.dump()+e+e)).join("").slice(0,-1*e.length);return t+e+"Content-Type: multipart/related; boundary="+this.boundaries.related+e+e+this.dumpTextContent(s,n,this.boundaries.related)+e+e+i+"--"+this.boundaries.related+"--"}return"alternative"===d?t+e+"Content-Type: multipart/alternative; boundary="+this.boundaries.alt+e+e+this.dumpTextContent(s,n,this.boundaries.alt)+e+e+"--"+this.boundaries.alt+"--":t+e+i.dump()}asEncoded(){return this.envctx.toBase64WebSafe(this.asRaw())}dumpTextContent(e,t,s){const n=this.envctx.eol,i=t??e;let a="";return a=e&&t&&!this.hasInlineAttachments()&&this.hasAttachments()?"--"+s+n+"Content-Type: multipart/alternative; boundary="+this.boundaries.alt+n+n+"--"+this.boundaries.alt+n+e.dump()+n+n+"--"+this.boundaries.alt+n+t.dump()+n+n+"--"+this.boundaries.alt+"--":e&&t&&this.hasInlineAttachments()?"--"+s+n+t.dump():e&&t?"--"+s+n+e.dump()+n+n+"--"+s+n+t.dump():"--"+s+n+i.dump(),a}hasInlineAttachments(){return this.messages.some((e=>e.isInlineAttachment()))}hasAttachments(){return this.messages.some((e=>e.isAttachment()))}getAttachments(){const e=e=>e.isAttachment();return this.messages.some(e)?this.messages.filter(e):[]}getInlineAttachments(){const e=e=>e.isInlineAttachment();return this.messages.some(e)?this.messages.filter(e):[]}getMessageByType(e){const t=t=>!t.isAttachment()&&!t.isInlineAttachment()&&(t.getHeader("Content-Type")||"").includes(e);return this.messages.some(t)?this.messages.filter(t)[0]:void 0}addAttachment(e){if(this.isObject(e.headers)||(e.headers={}),"string"!=typeof e.filename)throw new a("MIMETEXT_MISSING_FILENAME",'The property "filename" must exist while adding attachments.');let t=(e.headers["Content-Type"]??e.contentType)||"none";if(!1===this.envctx.validateContentType(t))throw new a("MIMETEXT_INVALID_MESSAGE_TYPE",`You specified an invalid content type "${t}".`);const s=e.headers["Content-Transfer-Encoding"]??e.encoding??"base64";this.validContentTransferEncodings.includes(s)||(t="application/octet-stream");const n=e.headers["Content-ID"];"string"==typeof n&&n.length>2&&!n.startsWith("<")&&!n.endsWith(">")&&(e.headers["Content-ID"]="<"+e.headers["Content-ID"]+">");const i=e.inline?"inline":"attachment";return e.headers=Object.assign({},e.headers,{"Content-Type":`${t}; name="${e.filename}"`,"Content-Transfer-Encoding":s,"Content-Disposition":`${i}; filename="${e.filename}"`}),this._addMessage({data:e.data,headers:e.headers})}addMessage(e){this.isObject(e.headers)||(e.headers={});let t=(e.headers["Content-Type"]??e.contentType)||"none";if(!this.validTypes.includes(t))throw new a("MIMETEXT_INVALID_MESSAGE_TYPE",`Valid content types are ${this.validTypes.join(", ")} but you specified "${t}".`);const s=e.headers["Content-Transfer-Encoding"]??e.encoding??"7bit";this.validContentTransferEncodings.includes(s)||(t="application/octet-stream");const n=e.charset??"UTF-8";return e.headers=Object.assign({},e.headers,{"Content-Type":`${t}; charset=${n}`,"Content-Transfer-Encoding":s}),this._addMessage({data:e.data,headers:e.headers})}_addMessage(e){const t=new h(this.envctx,e.data,e.headers);return this.messages.push(t),t}setSender(e,t={type:"From"}){const s=new r(e,t);return this.setHeader("From",s),s}getSender(){return this.getHeader("From")}setRecipients(e,t={type:"To"}){const s=(this.isArray(e)?e:[e]).map((e=>new r(e,t)));return this.setHeader(t.type,s),s}getRecipients(e={type:"To"}){return this.getHeader(e.type)}setRecipient(e,t={type:"To"}){return this.setRecipients(e,t)}setTo(e,t={type:"To"}){return this.setRecipients(e,t)}setCc(e,t={type:"Cc"}){return this.setRecipients(e,t)}setBcc(e,t={type:"Bcc"}){return this.setRecipients(e,t)}setSubject(e){return this.setHeader("subject",e),e}getSubject(){return this.getHeader("subject")}setHeader(e,t){return this.headers.set(e,t),e}getHeader(e){return this.headers.get(e)}setHeaders(e){return Object.keys(e).map((t=>this.setHeader(t,e[t])))}getHeaders(){return this.headers.toObject()}toBase64(e){return this.envctx.toBase64(e)}toBase64WebSafe(e){return this.envctx.toBase64WebSafe(e)}generateBoundaries(){this.boundaries={mixed:Math.random().toString(36).slice(2),alt:Math.random().toString(36).slice(2),related:Math.random().toString(36).slice(2)}}isArray(e){return!!e&&e.constructor===Array}isObject(e){return!!e&&e.constructor===Object}}const c={toBase64:function(e){return Buffer.from(e).toString("base64")},toBase64WebSafe:function(e){return Buffer.from(e).toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")},eol:e.EOL,validateContentType:e=>i.contentType(e)};exports.MIMEMessage=u,exports.MIMEMessageContent=h,exports.MIMEMessageHeader=o,exports.MIMETextError=a,exports.Mailbox=r,exports.createMimeMessage=function(){return new u(c)}; +//# sourceMappingURL=mimetext.node.cjs.js.map diff --git a/dist/mimetext.node.cjs.js.map b/dist/mimetext.node.cjs.js.map new file mode 100644 index 0000000..4a01bbd --- /dev/null +++ b/dist/mimetext.node.cjs.js.map @@ -0,0 +1 @@ +{"version":3,"file":"mimetext.node.cjs.js","sources":["../src/MIMETextError.ts","../src/Mailbox.ts","../src/MIMEMessageHeader.ts","../src/MIMEMessageContent.ts","../src/MIMEMessage.ts","../src/entrypoints/node.ts"],"sourcesContent":["export class MIMETextError extends Error {\n override name = ''\n description = ''\n\n constructor (message: string, description = '') {\n super(description)\n\n this.name = message\n this.description = description\n }\n}\n","import { MIMETextError } from './MIMETextError.js'\n\nexport class Mailbox {\n reSpecCompliantAddr = /(([^<>\\r\\n]+)\\s)?<[^\\r\\n]+>/\n name = ''\n addr = ''\n type: MailboxType = 'To'\n\n constructor (input: MailboxAddrObject | string, config: MailboxConfig = { type: 'To' }) {\n this.type = config.type\n\n this.parse(input)\n }\n\n getAddrDomain (): string {\n if (this.addr.includes('@')) {\n const arr = this.addr.split('@')\n if (arr.length > 1) return arr[1]!\n }\n return ''\n }\n\n dump (): string {\n return this.name.length > 0 ? `\"${this.name}\" <${this.addr}>` : `<${this.addr}>`\n }\n\n parse (input: MailboxAddrObject | string): this {\n if (this.isMailboxAddrObject(input)) {\n this.addr = input.addr\n if (typeof input.name === 'string') this.name = input.name\n if (typeof input.type === 'string') this.type = input.type\n return this\n }\n\n if (this.isMailboxAddrText(input)) {\n const text = input.trim()\n if (text.startsWith('<') && text.endsWith('>')) {\n this.addr = text.slice(1, -1)\n return this\n }\n const arr = text.split(' <') as [string, string]\n arr[0] = /^(\"|')/.test(arr[0]) ? arr[0].slice(1) : arr[0]\n arr[0] = /(\"|')$/.test(arr[0]) ? arr[0].slice(0, -1) : arr[0]\n arr[1] = arr[1].slice(0, -1)\n this.name = arr[0]\n this.addr = arr[1]\n return this\n }\n\n if (typeof input === 'string') {\n this.addr = input\n return this\n }\n\n throw new MIMETextError('MIMETEXT_INVALID_MAILBOX', 'Couldn\\'t recognize the input.')\n }\n\n isMailboxAddrText (v: unknown): boolean {\n return typeof v === 'string' && this.reSpecCompliantAddr.test(v)\n }\n\n isMailboxAddrObject (v: unknown): v is MailboxAddrObject {\n return this.isObject(v) && Object.hasOwn(v, 'addr')\n }\n\n isObject (v: unknown): v is object {\n return (!!v) && (v.constructor === Object)\n }\n}\n\nexport interface MailboxConfig {\n type: MailboxType\n}\nexport interface MailboxAddrObject {\n addr: string\n name?: string\n type?: MailboxType\n}\nexport type MailboxType = 'To' | 'From' | 'Cc' | 'Bcc'\n","import type { EnvironmentContext } from \"./MIMEMessage\";\nimport { MIMETextError } from \"./MIMETextError.js\";\nimport { Mailbox } from \"./Mailbox.js\";\n\n/*\n Headers are based on: https://www.rfc-editor.org/rfc/rfc4021#section-2.1\n (Some are ignored as they can be added later or as a custom header.)\n*/\n\nexport class MIMEMessageHeader {\n envctx: EnvironmentContext;\n fields: HeaderField[] = [\n {\n name: \"Date\",\n generator: () =>\n new Date().toUTCString().replace(/GMT|UTC/gi, \"+0000\"),\n },\n {\n name: \"From\",\n required: true,\n validate: (v: unknown) => this.validateMailboxSingle(v),\n dump: (v: unknown) => this.dumpMailboxSingle(v),\n },\n {\n name: \"Sender\",\n validate: (v: unknown) => this.validateMailboxSingle(v),\n dump: (v: unknown) => this.dumpMailboxSingle(v),\n },\n {\n name: \"Reply-To\",\n validate: (v: unknown) => this.validateMailboxSingle(v),\n dump: (v: unknown) => this.dumpMailboxSingle(v),\n },\n {\n name: \"To\",\n validate: (v: unknown) => this.validateMailboxMulti(v),\n dump: (v: unknown) => this.dumpMailboxMulti(v),\n },\n {\n name: \"Cc\",\n validate: (v: unknown) => this.validateMailboxMulti(v),\n dump: (v: unknown) => this.dumpMailboxMulti(v),\n },\n {\n name: \"Bcc\",\n validate: (v: unknown) => this.validateMailboxMulti(v),\n dump: (v: unknown) => this.dumpMailboxMulti(v),\n },\n {\n name: \"Message-ID\",\n generator: () => {\n const randomstr = Math.random().toString(36).slice(2);\n const from = this.fields.filter(\n (obj) => obj.name === \"From\",\n )[0]!.value as Mailbox;\n const domain = from.getAddrDomain();\n return \"<\" + randomstr + \"@\" + domain + \">\";\n },\n },\n {\n name: \"Subject\",\n required: true,\n dump: (v: unknown) => {\n return typeof v === \"string\"\n ? \"=?utf-8?B?\" + this.envctx.toBase64(v) + \"?=\"\n : \"\";\n },\n },\n {\n name: \"MIME-Version\",\n generator: () => \"1.0\",\n },\n ];\n\n constructor(envctx: EnvironmentContext) {\n this.envctx = envctx;\n }\n\n dump(): string {\n let lines = \"\";\n\n for (const field of this.fields) {\n if (field.disabled) continue;\n const isValueDefinedByUser =\n field.value !== undefined && field.value !== null;\n if (!isValueDefinedByUser && field.required) {\n throw new MIMETextError(\n \"MIMETEXT_MISSING_HEADER\",\n `The \"${field.name}\" header is required.`,\n );\n }\n if (!isValueDefinedByUser && typeof field.generator !== \"function\")\n continue;\n if (!isValueDefinedByUser && typeof field.generator === \"function\")\n field.value = field.generator();\n const strval =\n Object.hasOwn(field, \"dump\") && typeof field.dump === \"function\"\n ? field.dump(field.value)\n : typeof field.value === \"string\"\n ? field.value\n : \"\";\n lines += `${field.name}: ${strval}${this.envctx.eol}`;\n }\n\n return lines.slice(0, -1 * this.envctx.eol.length);\n }\n\n toObject(): HeadersObject {\n return this.fields.reduce((memo: HeadersObject, item) => {\n memo[item.name] = item.value;\n return memo;\n }, {});\n }\n\n get(name: string): string | Mailbox | Mailbox[] | undefined {\n const fieldMatcher = (obj: HeaderField): boolean =>\n obj.name.toLowerCase() === name.toLowerCase();\n const ind = this.fields.findIndex(fieldMatcher);\n\n return ind !== -1 ? this.fields[ind]!.value : undefined;\n }\n\n set(name: string, value: string | Mailbox | Mailbox[]): HeaderField {\n const fieldMatcher = (obj: HeaderField): boolean =>\n obj.name.toLowerCase() === name.toLowerCase();\n const isCustomHeader = !this.fields.some(fieldMatcher);\n\n if (!isCustomHeader) {\n const ind = this.fields.findIndex(fieldMatcher);\n const field = this.fields[ind]!;\n if (field.validate && !field.validate(value)) {\n throw new MIMETextError(\n \"MIMETEXT_INVALID_HEADER_VALUE\",\n `The value for the header \"${name}\" is invalid.`,\n );\n }\n this.fields[ind]!.value = value;\n return this.fields[ind]!;\n }\n\n return this.setCustom({\n name: name,\n value: value,\n custom: true,\n dump: (v: unknown) => (typeof v === \"string\" ? v : \"\"),\n });\n }\n\n setCustom(obj: HeaderField): HeaderField {\n if (this.isHeaderField(obj)) {\n if (typeof obj.value !== \"string\") {\n throw new MIMETextError(\n \"MIMETEXT_INVALID_HEADER_FIELD\",\n \"Custom header must have a value.\",\n );\n }\n this.fields.push(obj);\n return obj;\n }\n\n throw new MIMETextError(\n \"MIMETEXT_INVALID_HEADER_FIELD\",\n \"Invalid input for custom header. It must be in type of HeaderField.\",\n );\n }\n\n validateMailboxSingle(v: unknown): v is Mailbox {\n return v instanceof Mailbox;\n }\n\n validateMailboxMulti(v: unknown): boolean {\n return v instanceof Mailbox || this.isArrayOfMailboxes(v);\n }\n\n dumpMailboxMulti(v: unknown): string {\n const dump = (item: Mailbox): string =>\n item.name.length === 0\n ? item.dump()\n : `=?utf-8?B?${this.envctx.toBase64(item.name)}?= <${item.addr}>`;\n return this.isArrayOfMailboxes(v)\n ? v.map(dump).join(`,${this.envctx.eol} `)\n : v instanceof Mailbox\n ? dump(v)\n : \"\";\n }\n\n dumpMailboxSingle(v: unknown): string {\n const dump = (item: Mailbox): string =>\n item.name.length === 0\n ? item.dump()\n : `=?utf-8?B?${this.envctx.toBase64(item.name)}?= <${item.addr}>`;\n return v instanceof Mailbox ? dump(v) : \"\";\n }\n\n isHeaderField(v: unknown): v is HeaderField {\n const validProps = [\n \"name\",\n \"value\",\n \"dump\",\n \"required\",\n \"disabled\",\n \"generator\",\n \"custom\",\n ];\n if (this.isObject(v)) {\n const h = v as HeaderField;\n if (\n Object.hasOwn(h, \"name\") &&\n typeof h.name === \"string\" &&\n h.name.length > 0\n ) {\n if (\n !Object.keys(h).some((prop) => !validProps.includes(prop))\n ) {\n return true;\n }\n }\n }\n return false;\n }\n\n isObject(v: unknown): v is object {\n return !!v && v.constructor === Object;\n }\n\n isArrayOfMailboxes(v: unknown): v is Mailbox[] {\n return (\n this.isArray(v) &&\n v.every((item: unknown) => item instanceof Mailbox)\n );\n }\n\n isArray(v: unknown): v is never[] {\n return !!v && v.constructor === Array;\n }\n}\n\nexport class MIMEMessageContentHeader extends MIMEMessageHeader {\n override fields = [\n {\n name: \"Content-ID\",\n },\n {\n name: \"Content-Type\",\n },\n {\n name: \"Content-Transfer-Encoding\",\n },\n {\n name: \"Content-Disposition\",\n },\n ];\n\n constructor(envctx: EnvironmentContext) {\n super(envctx);\n }\n}\n\nexport type HeadersObject = Record<\n string,\n string | Mailbox | Mailbox[] | undefined\n>;\nexport interface HeaderField {\n name: string;\n dump?: (v: string | Mailbox | Mailbox[] | undefined) => string;\n value?: string | Mailbox | Mailbox[] | undefined;\n validate?: (v: unknown) => boolean;\n required?: boolean;\n disabled?: boolean;\n generator?: () => string;\n custom?: boolean;\n}\n","import type { EnvironmentContext } from './MIMEMessage'\nimport type { Mailbox } from './Mailbox'\nimport { type HeadersObject, MIMEMessageContentHeader } from './MIMEMessageHeader.js'\n\nexport class MIMEMessageContent {\n envctx: EnvironmentContext\n headers\n data\n\n constructor (envctx: EnvironmentContext, data: string, headers = {}) {\n this.envctx = envctx\n this.headers = new MIMEMessageContentHeader(this.envctx)\n this.data = data\n this.setHeaders(headers)\n }\n\n dump (): string {\n const eol = this.envctx.eol\n return this.headers.dump() + eol + eol + this.data\n }\n\n isAttachment (): boolean {\n const disposition = this.headers.get('Content-Disposition')\n return typeof disposition === 'string' && disposition.includes('attachment')\n }\n\n isInlineAttachment (): boolean {\n const disposition = this.headers.get('Content-Disposition')\n return typeof disposition === 'string' && disposition.includes('inline')\n }\n\n setHeader (name: string, value: string | Mailbox | Mailbox[]): string {\n this.headers.set(name, value)\n return name\n }\n\n getHeader (name: string): string | Mailbox | Mailbox[] | undefined {\n return this.headers.get(name)\n }\n\n setHeaders (obj: Record): string[] {\n return Object.keys(obj).map((prop) => this.setHeader(prop, obj[prop]!))\n }\n\n getHeaders (): HeadersObject {\n return this.headers.toObject()\n }\n}\n","import type { MailboxAddrObject, MailboxConfig } from './Mailbox.js'\n\nimport { MIMETextError } from './MIMETextError.js'\nimport { type HeadersObject, MIMEMessageHeader } from './MIMEMessageHeader.js'\nimport { Mailbox } from './Mailbox.js'\nimport { MIMEMessageContent } from './MIMEMessageContent.js'\n\nexport class MIMEMessage {\n envctx: EnvironmentContext\n headers: MIMEMessageHeader\n boundaries: Boundaries = { mixed: '', alt: '', related: '' }\n validTypes = ['text/html', 'text/plain']\n validContentTransferEncodings = ['7bit', '8bit', 'binary', 'quoted-printable', 'base64']\n messages: MIMEMessageContent[] = []\n\n constructor (envctx: EnvironmentContext) {\n this.envctx = envctx\n this.headers = new MIMEMessageHeader(this.envctx)\n this.messages = []\n\n this.generateBoundaries()\n }\n\n asRaw (): string {\n const eol = this.envctx.eol\n const lines = this.headers.dump()\n\n const plaintext = this.getMessageByType('text/plain')\n const html = this.getMessageByType('text/html')\n const primaryMessage = html ?? (plaintext ?? undefined)\n\n if (primaryMessage === undefined) {\n throw new MIMETextError('MIMETEXT_MISSING_BODY', 'No content added to the message.')\n }\n\n const hasAttachments = this.hasAttachments()\n const hasInlineAttachments = this.hasInlineAttachments()\n\n const structure = hasInlineAttachments && hasAttachments\n ? 'mixed+related'\n : hasAttachments\n ? 'mixed'\n : hasInlineAttachments\n ? 'related'\n : plaintext && html\n ? 'alternative'\n : ''\n\n if (structure === 'mixed+related') {\n const attachments = this.getAttachments()\n .map((a) => '--' + this.boundaries.mixed + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n const inlineAttachments = this.getInlineAttachments()\n .map((a) => '--' + this.boundaries.related + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n return lines + eol +\n 'Content-Type: multipart/mixed; boundary=' + this.boundaries.mixed + eol +\n eol +\n '--' + this.boundaries.mixed + eol +\n 'Content-Type: multipart/related; boundary=' + this.boundaries.related + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.related) + eol +\n eol +\n inlineAttachments +\n '--' + this.boundaries.related + '--' + eol +\n attachments +\n '--' + this.boundaries.mixed + '--'\n } else if (structure === 'mixed') {\n const attachments = this.getAttachments()\n .map((a) => '--' + this.boundaries.mixed + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n return lines + eol +\n 'Content-Type: multipart/mixed; boundary=' + this.boundaries.mixed + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.mixed) + eol +\n (plaintext && html ? '' : eol) +\n attachments +\n '--' + this.boundaries.mixed + '--'\n } else if (structure === 'related') {\n const inlineAttachments = this.getInlineAttachments()\n .map((a) => '--' + this.boundaries.related + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n return lines + eol +\n 'Content-Type: multipart/related; boundary=' + this.boundaries.related + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.related) + eol +\n eol +\n inlineAttachments +\n '--' + this.boundaries.related + '--'\n } else if (structure === 'alternative') {\n return lines + eol +\n 'Content-Type: multipart/alternative; boundary=' + this.boundaries.alt + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.alt) + eol +\n eol +\n '--' + this.boundaries.alt + '--'\n } else {\n return lines + eol + primaryMessage.dump()\n }\n }\n\n asEncoded (): string {\n return this.envctx.toBase64WebSafe(this.asRaw())\n }\n\n dumpTextContent (plaintext: MIMEMessageContent | undefined, html: MIMEMessageContent | undefined, boundary: string): string {\n const eol = this.envctx.eol\n const primaryMessage = html ?? plaintext\n\n let data = ''\n\n if (plaintext && html && !this.hasInlineAttachments() && this.hasAttachments()) {\n data = '--' + boundary + eol +\n 'Content-Type: multipart/alternative; boundary=' + this.boundaries.alt + eol +\n eol +\n '--' + this.boundaries.alt + eol +\n plaintext.dump() + eol +\n eol +\n '--' + this.boundaries.alt + eol +\n html.dump() + eol +\n eol +\n '--' + this.boundaries.alt + '--'\n } else if (plaintext && html && this.hasInlineAttachments()) {\n data = '--' + boundary + eol +\n html.dump()\n } else if (plaintext && html) {\n data = '--' + boundary + eol +\n plaintext.dump() + eol +\n eol +\n '--' + boundary + eol +\n html.dump()\n } else {\n data = '--' + boundary + eol +\n (primaryMessage!).dump()\n }\n\n return data\n }\n\n hasInlineAttachments (): boolean {\n return this.messages.some((msg) => msg.isInlineAttachment())\n }\n\n hasAttachments (): boolean {\n return this.messages.some((msg) => msg.isAttachment())\n }\n\n getAttachments (): MIMEMessageContent[] | [] {\n const matcher = (msg: MIMEMessageContent): boolean => msg.isAttachment()\n return this.messages.some(matcher) ? this.messages.filter(matcher) : []\n }\n\n getInlineAttachments (): MIMEMessageContent[] | [] {\n const matcher = (msg: MIMEMessageContent): boolean => msg.isInlineAttachment()\n return this.messages.some(matcher) ? this.messages.filter(matcher) : []\n }\n\n getMessageByType (type: string): MIMEMessageContent | undefined {\n const matcher = (msg: MIMEMessageContent): boolean => !msg.isAttachment() && !msg.isInlineAttachment() && (msg.getHeader('Content-Type') as string || '').includes(type)\n return this.messages.some(matcher) ? this.messages.filter(matcher)[0] : undefined\n }\n\n addAttachment (opts: AttachmentOptions): MIMEMessageContent {\n if (!this.isObject(opts.headers)) opts.headers = {}\n\n if (typeof opts.filename !== 'string') {\n throw new MIMETextError('MIMETEXT_MISSING_FILENAME', 'The property \"filename\" must exist while adding attachments.')\n }\n\n let type = (opts.headers['Content-Type'] ?? opts.contentType) || 'none'\n if (this.envctx.validateContentType(type) === false) {\n throw new MIMETextError('MIMETEXT_INVALID_MESSAGE_TYPE', `You specified an invalid content type \"${type}\".`)\n }\n\n const encoding = (opts.headers['Content-Transfer-Encoding'] ?? opts.encoding) ?? 'base64'\n if (!this.validContentTransferEncodings.includes(encoding)) {\n type = 'application/octet-stream'\n }\n\n const contentId = opts.headers['Content-ID']\n if (typeof contentId === 'string' && contentId.length > 2 && !contentId.startsWith('<') && !contentId.endsWith('>')) {\n opts.headers['Content-ID'] = '<' + opts.headers['Content-ID'] + '>'\n }\n\n const disposition = opts.inline ? 'inline' : 'attachment'\n\n opts.headers = Object.assign({}, opts.headers, {\n 'Content-Type': `${type}; name=\"${opts.filename}\"`,\n 'Content-Transfer-Encoding': encoding,\n 'Content-Disposition': `${disposition}; filename=\"${opts.filename}\"`\n })\n\n return this._addMessage({ data: opts.data, headers: opts.headers })\n }\n\n addMessage (opts: ContentOptions): MIMEMessageContent {\n if (!this.isObject(opts.headers)) opts.headers = {}\n\n let type = (opts.headers['Content-Type'] ?? opts.contentType) || 'none'\n if (!this.validTypes.includes(type)) {\n throw new MIMETextError('MIMETEXT_INVALID_MESSAGE_TYPE', `Valid content types are ${this.validTypes.join(', ')} but you specified \"${type}\".`)\n }\n\n const encoding = (opts.headers['Content-Transfer-Encoding'] ?? opts.encoding) ?? '7bit'\n if (!this.validContentTransferEncodings.includes(encoding)) {\n type = 'application/octet-stream'\n }\n\n const charset = opts.charset ?? 'UTF-8'\n\n opts.headers = Object.assign({}, opts.headers, {\n 'Content-Type': `${type}; charset=${charset}`,\n 'Content-Transfer-Encoding': encoding\n })\n\n return this._addMessage({ data: opts.data, headers: opts.headers })\n }\n\n private _addMessage (opts: { data: string, headers: ContentHeaders }): MIMEMessageContent {\n const msg = new MIMEMessageContent(this.envctx, opts.data, opts.headers)\n\n this.messages.push(msg)\n\n return msg\n }\n\n setSender (input: MailboxAddrObject | string, config: MailboxConfig = { type: 'From' }): Mailbox {\n const mailbox = new Mailbox(input, config)\n this.setHeader('From', mailbox)\n return mailbox\n }\n\n getSender (): Mailbox | undefined {\n return this.getHeader('From') as Mailbox\n }\n\n setRecipients (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'To' }): Mailbox[] {\n const arr = !this.isArray(input) ? [input] : input\n const recs = arr.map((_input) => new Mailbox(_input, config))\n this.setHeader(config.type, recs)\n return recs\n }\n\n getRecipients (config: MailboxConfig = { type: 'To' }): Mailbox | Mailbox[] | undefined {\n return this.getHeader(config.type) as Mailbox | Mailbox[] | undefined\n }\n\n setRecipient (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'To' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setTo (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'To' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setCc (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'Cc' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setBcc (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'Bcc' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setSubject (value: string): string {\n this.setHeader('subject', value)\n return value\n }\n\n getSubject (): string | undefined {\n return this.getHeader('subject') as string\n }\n\n setHeader (name: string, value: string | Mailbox | Mailbox[]): string {\n this.headers.set(name, value)\n return name\n }\n\n getHeader (name: string): string | Mailbox | Mailbox[] | undefined {\n return this.headers.get(name)\n }\n\n setHeaders (obj: Record): string[] {\n return Object.keys(obj).map((prop) => this.setHeader(prop, obj[prop]!))\n }\n\n getHeaders (): HeadersObject {\n return this.headers.toObject()\n }\n\n toBase64 (v: string): string {\n return this.envctx.toBase64(v)\n }\n\n toBase64WebSafe (v: string): string {\n return this.envctx.toBase64WebSafe(v)\n }\n\n generateBoundaries (): void {\n this.boundaries = {\n mixed: Math.random().toString(36).slice(2),\n alt: Math.random().toString(36).slice(2),\n related: Math.random().toString(36).slice(2)\n }\n }\n\n isArray (v: unknown): v is unknown[] {\n return (!!v) && (v.constructor === Array)\n }\n\n isObject (v: unknown): v is object {\n return (!!v) && (v.constructor === Object)\n }\n}\n\nexport interface EnvironmentContext {\n toBase64: (v: string) => string\n toBase64WebSafe: (v: string) => string\n eol: string\n validateContentType: (v: string) => string | false\n}\n\nexport interface Boundaries {\n mixed: string\n alt: string\n related: string\n}\n\nexport type ContentTransferEncoding = '7bit' | '8bit' | 'binary' | 'quoted-printable' | 'base64'\n\nexport interface ContentHeaders {\n 'Content-Type'?: string\n 'Content-Transfer-Encoding'?: ContentTransferEncoding\n 'Content-Disposition'?: string\n 'Content-ID'?: string\n [index: string]: string | undefined\n}\n\nexport interface ContentOptions {\n data: string\n encoding?: ContentTransferEncoding\n contentType: string\n headers?: ContentHeaders\n charset?: string\n}\n\nexport interface AttachmentOptions extends ContentOptions {\n inline?: boolean\n filename: string\n}\n","import { EOL } from 'node:os'\nimport * as mime from 'mime-types'\nimport { MIMEMessage } from '../MIMEMessage.js'\n\nconst envctx = {\n toBase64: function toBase64 (data: string) {\n return (Buffer.from(data)).toString('base64')\n },\n toBase64WebSafe: function toBase64WebSafe (data: string) {\n return (Buffer.from(data)).toString('base64')\n .replace(/\\+/g, '-')\n .replace(/\\//g, '_')\n .replace(/=+$/, '')\n },\n eol: EOL,\n validateContentType: (v: string): string | false => {\n return mime.contentType(v)\n }\n}\n\nexport function createMimeMessage (): MIMEMessage {\n return new MIMEMessage(envctx)\n}\n\nexport { MIMEMessage } from '../MIMEMessage.js'\nexport { Mailbox } from '../Mailbox.js'\nexport { MIMETextError } from '../MIMETextError.js'\nexport { MIMEMessageHeader } from '../MIMEMessageHeader.js'\nexport { MIMEMessageContent } from '../MIMEMessageContent.js'\n\nexport type * from '../MIMEMessage.js'\nexport type * from '../Mailbox.js'\nexport type * from '../MIMETextError.js'\nexport type * from '../MIMEMessageHeader.js'\nexport type * from '../MIMEMessageContent.js'\n"],"names":["MIMETextError","Error","name","description","constructor","message","super","this","Mailbox","reSpecCompliantAddr","addr","type","input","config","parse","getAddrDomain","includes","arr","split","length","dump","isMailboxAddrObject","isMailboxAddrText","text","_trimInstanceProperty","call","startsWith","endsWith","slice","test","v","isObject","Object","hasOwn","MIMEMessageHeader","fields","generator","Date","toUTCString","replace","required","validate","validateMailboxSingle","dumpMailboxSingle","validateMailboxMulti","dumpMailboxMulti","Math","random","toString","filter","obj","value","envctx","toBase64","lines","field","disabled","isValueDefinedByUser","undefined","strval","eol","toObject","reduce","memo","item","get","ind","findIndex","toLowerCase","set","fieldMatcher","some","setCustom","custom","isHeaderField","push","isArrayOfMailboxes","map","join","validProps","h","keys","prop","isArray","every","Array","MIMEMessageContentHeader","MIMEMessageContent","data","headers","setHeaders","isAttachment","disposition","isInlineAttachment","setHeader","getHeader","getHeaders","MIMEMessage","boundaries","mixed","alt","related","validTypes","validContentTransferEncodings","messages","generateBoundaries","asRaw","plaintext","getMessageByType","html","primaryMessage","hasAttachments","hasInlineAttachments","structure","attachments","getAttachments","a","inlineAttachments","getInlineAttachments","dumpTextContent","asEncoded","toBase64WebSafe","boundary","msg","matcher","addAttachment","opts","filename","contentType","validateContentType","encoding","contentId","inline","assign","_addMessage","addMessage","charset","setSender","mailbox","getSender","setRecipients","recs","_input","getRecipients","setRecipient","setTo","setCc","setBcc","setSubject","getSubject","Buffer","from","EOL","mime"],"mappings":"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"} \ No newline at end of file diff --git a/dist/mimetext.node.es.js b/dist/mimetext.node.es.js new file mode 100644 index 0000000..2dcdc74 --- /dev/null +++ b/dist/mimetext.node.es.js @@ -0,0 +1,2 @@ +import{EOL as e}from"node:os";import*as t from"mime-types";import s from"@babel/runtime-corejs3/core-js/instance/trim";class n extends Error{name="";description="";constructor(e,t=""){super(t),this.name=e,this.description=t}}class i{reSpecCompliantAddr=/(([^<>\r\n]+)\s)?<[^\r\n]+>/;name="";addr="";type="To";constructor(e,t={type:"To"}){this.type=t.type,this.parse(e)}getAddrDomain(){if(this.addr.includes("@")){const e=this.addr.split("@");if(e.length>1)return e[1]}return""}dump(){return this.name.length>0?`"${this.name}" <${this.addr}>`:`<${this.addr}>`}parse(e){if(this.isMailboxAddrObject(e))return this.addr=e.addr,"string"==typeof e.name&&(this.name=e.name),"string"==typeof e.type&&(this.type=e.type),this;if(this.isMailboxAddrText(e)){const t=s(e).call(e);if(t.startsWith("<")&&t.endsWith(">"))return this.addr=t.slice(1,-1),this;const n=t.split(" <");return n[0]=/^("|')/.test(n[0])?n[0].slice(1):n[0],n[0]=/("|')$/.test(n[0])?n[0].slice(0,-1):n[0],n[1]=n[1].slice(0,-1),this.name=n[0],this.addr=n[1],this}if("string"==typeof e)return this.addr=e,this;throw new n("MIMETEXT_INVALID_MAILBOX","Couldn't recognize the input.")}isMailboxAddrText(e){return"string"==typeof e&&this.reSpecCompliantAddr.test(e)}isMailboxAddrObject(e){return this.isObject(e)&&Object.hasOwn(e,"addr")}isObject(e){return!!e&&e.constructor===Object}}class a{fields=[{name:"Date",generator:()=>(new Date).toUTCString().replace(/GMT|UTC/gi,"+0000")},{name:"From",required:!0,validate:e=>this.validateMailboxSingle(e),dump:e=>this.dumpMailboxSingle(e)},{name:"Sender",validate:e=>this.validateMailboxSingle(e),dump:e=>this.dumpMailboxSingle(e)},{name:"Reply-To",validate:e=>this.validateMailboxSingle(e),dump:e=>this.dumpMailboxSingle(e)},{name:"To",validate:e=>this.validateMailboxMulti(e),dump:e=>this.dumpMailboxMulti(e)},{name:"Cc",validate:e=>this.validateMailboxMulti(e),dump:e=>this.dumpMailboxMulti(e)},{name:"Bcc",validate:e=>this.validateMailboxMulti(e),dump:e=>this.dumpMailboxMulti(e)},{name:"Message-ID",generator:()=>"<"+Math.random().toString(36).slice(2)+"@"+this.fields.filter((e=>"From"===e.name))[0].value.getAddrDomain()+">"},{name:"Subject",required:!0,dump:e=>"string"==typeof e?"=?utf-8?B?"+this.envctx.toBase64(e)+"?=":""},{name:"MIME-Version",generator:()=>"1.0"}];constructor(e){this.envctx=e}dump(){let e="";for(const t of this.fields){if(t.disabled)continue;const s=void 0!==t.value&&null!==t.value;if(!s&&t.required)throw new n("MIMETEXT_MISSING_HEADER",`The "${t.name}" header is required.`);if(!s&&"function"!=typeof t.generator)continue;s||"function"!=typeof t.generator||(t.value=t.generator());const i=Object.hasOwn(t,"dump")&&"function"==typeof t.dump?t.dump(t.value):"string"==typeof t.value?t.value:"";e+=`${t.name}: ${i}${this.envctx.eol}`}return e.slice(0,-1*this.envctx.eol.length)}toObject(){return this.fields.reduce(((e,t)=>(e[t.name]=t.value,e)),{})}get(e){const t=this.fields.findIndex((t=>t.name.toLowerCase()===e.toLowerCase()));return-1!==t?this.fields[t].value:void 0}set(e,t){const s=t=>t.name.toLowerCase()===e.toLowerCase();if(!!this.fields.some(s)){const i=this.fields.findIndex(s),a=this.fields[i];if(a.validate&&!a.validate(t))throw new n("MIMETEXT_INVALID_HEADER_VALUE",`The value for the header "${e}" is invalid.`);return this.fields[i].value=t,this.fields[i]}return this.setCustom({name:e,value:t,custom:!0,dump:e=>"string"==typeof e?e:""})}setCustom(e){if(this.isHeaderField(e)){if("string"!=typeof e.value)throw new n("MIMETEXT_INVALID_HEADER_FIELD","Custom header must have a value.");return this.fields.push(e),e}throw new n("MIMETEXT_INVALID_HEADER_FIELD","Invalid input for custom header. It must be in type of HeaderField.")}validateMailboxSingle(e){return e instanceof i}validateMailboxMulti(e){return e instanceof i||this.isArrayOfMailboxes(e)}dumpMailboxMulti(e){const t=e=>0===e.name.length?e.dump():`=?utf-8?B?${this.envctx.toBase64(e.name)}?= <${e.addr}>`;return this.isArrayOfMailboxes(e)?e.map(t).join(`,${this.envctx.eol} `):e instanceof i?t(e):""}dumpMailboxSingle(e){return e instanceof i?(e=>0===e.name.length?e.dump():`=?utf-8?B?${this.envctx.toBase64(e.name)}?= <${e.addr}>`)(e):""}isHeaderField(e){const t=["name","value","dump","required","disabled","generator","custom"];if(this.isObject(e)){const s=e;if(Object.hasOwn(s,"name")&&"string"==typeof s.name&&s.name.length>0&&!Object.keys(s).some((e=>!t.includes(e))))return!0}return!1}isObject(e){return!!e&&e.constructor===Object}isArrayOfMailboxes(e){return this.isArray(e)&&e.every((e=>e instanceof i))}isArray(e){return!!e&&e.constructor===Array}}class r extends a{fields=[{name:"Content-ID"},{name:"Content-Type"},{name:"Content-Transfer-Encoding"},{name:"Content-Disposition"}];constructor(e){super(e)}}class o{constructor(e,t,s={}){this.envctx=e,this.headers=new r(this.envctx),this.data=t,this.setHeaders(s)}dump(){const e=this.envctx.eol;return this.headers.dump()+e+e+this.data}isAttachment(){const e=this.headers.get("Content-Disposition");return"string"==typeof e&&e.includes("attachment")}isInlineAttachment(){const e=this.headers.get("Content-Disposition");return"string"==typeof e&&e.includes("inline")}setHeader(e,t){return this.headers.set(e,t),e}getHeader(e){return this.headers.get(e)}setHeaders(e){return Object.keys(e).map((t=>this.setHeader(t,e[t])))}getHeaders(){return this.headers.toObject()}}class d{boundaries={mixed:"",alt:"",related:""};validTypes=["text/html","text/plain"];validContentTransferEncodings=["7bit","8bit","binary","quoted-printable","base64"];messages=[];constructor(e){this.envctx=e,this.headers=new a(this.envctx),this.messages=[],this.generateBoundaries()}asRaw(){const e=this.envctx.eol,t=this.headers.dump(),s=this.getMessageByType("text/plain"),i=this.getMessageByType("text/html"),a=i??s??void 0;if(void 0===a)throw new n("MIMETEXT_MISSING_BODY","No content added to the message.");const r=this.hasAttachments(),o=this.hasInlineAttachments(),d=o&&r?"mixed+related":r?"mixed":o?"related":s&&i?"alternative":"";if("mixed+related"===d){const n=this.getAttachments().map((t=>"--"+this.boundaries.mixed+e+t.dump()+e+e)).join("").slice(0,-1*e.length),a=this.getInlineAttachments().map((t=>"--"+this.boundaries.related+e+t.dump()+e+e)).join("").slice(0,-1*e.length);return t+e+"Content-Type: multipart/mixed; boundary="+this.boundaries.mixed+e+e+"--"+this.boundaries.mixed+e+"Content-Type: multipart/related; boundary="+this.boundaries.related+e+e+this.dumpTextContent(s,i,this.boundaries.related)+e+e+a+"--"+this.boundaries.related+"--"+e+n+"--"+this.boundaries.mixed+"--"}if("mixed"===d){const n=this.getAttachments().map((t=>"--"+this.boundaries.mixed+e+t.dump()+e+e)).join("").slice(0,-1*e.length);return t+e+"Content-Type: multipart/mixed; boundary="+this.boundaries.mixed+e+e+this.dumpTextContent(s,i,this.boundaries.mixed)+e+(s&&i?"":e)+n+"--"+this.boundaries.mixed+"--"}if("related"===d){const n=this.getInlineAttachments().map((t=>"--"+this.boundaries.related+e+t.dump()+e+e)).join("").slice(0,-1*e.length);return t+e+"Content-Type: multipart/related; boundary="+this.boundaries.related+e+e+this.dumpTextContent(s,i,this.boundaries.related)+e+e+n+"--"+this.boundaries.related+"--"}return"alternative"===d?t+e+"Content-Type: multipart/alternative; boundary="+this.boundaries.alt+e+e+this.dumpTextContent(s,i,this.boundaries.alt)+e+e+"--"+this.boundaries.alt+"--":t+e+a.dump()}asEncoded(){return this.envctx.toBase64WebSafe(this.asRaw())}dumpTextContent(e,t,s){const n=this.envctx.eol,i=t??e;let a="";return a=e&&t&&!this.hasInlineAttachments()&&this.hasAttachments()?"--"+s+n+"Content-Type: multipart/alternative; boundary="+this.boundaries.alt+n+n+"--"+this.boundaries.alt+n+e.dump()+n+n+"--"+this.boundaries.alt+n+t.dump()+n+n+"--"+this.boundaries.alt+"--":e&&t&&this.hasInlineAttachments()?"--"+s+n+t.dump():e&&t?"--"+s+n+e.dump()+n+n+"--"+s+n+t.dump():"--"+s+n+i.dump(),a}hasInlineAttachments(){return this.messages.some((e=>e.isInlineAttachment()))}hasAttachments(){return this.messages.some((e=>e.isAttachment()))}getAttachments(){const e=e=>e.isAttachment();return this.messages.some(e)?this.messages.filter(e):[]}getInlineAttachments(){const e=e=>e.isInlineAttachment();return this.messages.some(e)?this.messages.filter(e):[]}getMessageByType(e){const t=t=>!t.isAttachment()&&!t.isInlineAttachment()&&(t.getHeader("Content-Type")||"").includes(e);return this.messages.some(t)?this.messages.filter(t)[0]:void 0}addAttachment(e){if(this.isObject(e.headers)||(e.headers={}),"string"!=typeof e.filename)throw new n("MIMETEXT_MISSING_FILENAME",'The property "filename" must exist while adding attachments.');let t=(e.headers["Content-Type"]??e.contentType)||"none";if(!1===this.envctx.validateContentType(t))throw new n("MIMETEXT_INVALID_MESSAGE_TYPE",`You specified an invalid content type "${t}".`);const s=e.headers["Content-Transfer-Encoding"]??e.encoding??"base64";this.validContentTransferEncodings.includes(s)||(t="application/octet-stream");const i=e.headers["Content-ID"];"string"==typeof i&&i.length>2&&!i.startsWith("<")&&!i.endsWith(">")&&(e.headers["Content-ID"]="<"+e.headers["Content-ID"]+">");const a=e.inline?"inline":"attachment";return e.headers=Object.assign({},e.headers,{"Content-Type":`${t}; name="${e.filename}"`,"Content-Transfer-Encoding":s,"Content-Disposition":`${a}; filename="${e.filename}"`}),this._addMessage({data:e.data,headers:e.headers})}addMessage(e){this.isObject(e.headers)||(e.headers={});let t=(e.headers["Content-Type"]??e.contentType)||"none";if(!this.validTypes.includes(t))throw new n("MIMETEXT_INVALID_MESSAGE_TYPE",`Valid content types are ${this.validTypes.join(", ")} but you specified "${t}".`);const s=e.headers["Content-Transfer-Encoding"]??e.encoding??"7bit";this.validContentTransferEncodings.includes(s)||(t="application/octet-stream");const i=e.charset??"UTF-8";return e.headers=Object.assign({},e.headers,{"Content-Type":`${t}; charset=${i}`,"Content-Transfer-Encoding":s}),this._addMessage({data:e.data,headers:e.headers})}_addMessage(e){const t=new o(this.envctx,e.data,e.headers);return this.messages.push(t),t}setSender(e,t={type:"From"}){const s=new i(e,t);return this.setHeader("From",s),s}getSender(){return this.getHeader("From")}setRecipients(e,t={type:"To"}){const s=(this.isArray(e)?e:[e]).map((e=>new i(e,t)));return this.setHeader(t.type,s),s}getRecipients(e={type:"To"}){return this.getHeader(e.type)}setRecipient(e,t={type:"To"}){return this.setRecipients(e,t)}setTo(e,t={type:"To"}){return this.setRecipients(e,t)}setCc(e,t={type:"Cc"}){return this.setRecipients(e,t)}setBcc(e,t={type:"Bcc"}){return this.setRecipients(e,t)}setSubject(e){return this.setHeader("subject",e),e}getSubject(){return this.getHeader("subject")}setHeader(e,t){return this.headers.set(e,t),e}getHeader(e){return this.headers.get(e)}setHeaders(e){return Object.keys(e).map((t=>this.setHeader(t,e[t])))}getHeaders(){return this.headers.toObject()}toBase64(e){return this.envctx.toBase64(e)}toBase64WebSafe(e){return this.envctx.toBase64WebSafe(e)}generateBoundaries(){this.boundaries={mixed:Math.random().toString(36).slice(2),alt:Math.random().toString(36).slice(2),related:Math.random().toString(36).slice(2)}}isArray(e){return!!e&&e.constructor===Array}isObject(e){return!!e&&e.constructor===Object}}const h={toBase64:function(e){return Buffer.from(e).toString("base64")},toBase64WebSafe:function(e){return Buffer.from(e).toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")},eol:e,validateContentType:e=>t.contentType(e)};function u(){return new d(h)}export{d as MIMEMessage,o as MIMEMessageContent,a as MIMEMessageHeader,n as MIMETextError,i as Mailbox,u as createMimeMessage}; +//# sourceMappingURL=mimetext.node.es.js.map diff --git a/dist/mimetext.node.es.js.map b/dist/mimetext.node.es.js.map new file mode 100644 index 0000000..d5c940c --- /dev/null +++ b/dist/mimetext.node.es.js.map @@ -0,0 +1 @@ +{"version":3,"file":"mimetext.node.es.js","sources":["../src/MIMETextError.ts","../src/Mailbox.ts","../src/MIMEMessageHeader.ts","../src/MIMEMessageContent.ts","../src/MIMEMessage.ts","../src/entrypoints/node.ts"],"sourcesContent":["export class MIMETextError extends Error {\n override name = ''\n description = ''\n\n constructor (message: string, description = '') {\n super(description)\n\n this.name = message\n this.description = description\n }\n}\n","import { MIMETextError } from './MIMETextError.js'\n\nexport class Mailbox {\n reSpecCompliantAddr = /(([^<>\\r\\n]+)\\s)?<[^\\r\\n]+>/\n name = ''\n addr = ''\n type: MailboxType = 'To'\n\n constructor (input: MailboxAddrObject | string, config: MailboxConfig = { type: 'To' }) {\n this.type = config.type\n\n this.parse(input)\n }\n\n getAddrDomain (): string {\n if (this.addr.includes('@')) {\n const arr = this.addr.split('@')\n if (arr.length > 1) return arr[1]!\n }\n return ''\n }\n\n dump (): string {\n return this.name.length > 0 ? `\"${this.name}\" <${this.addr}>` : `<${this.addr}>`\n }\n\n parse (input: MailboxAddrObject | string): this {\n if (this.isMailboxAddrObject(input)) {\n this.addr = input.addr\n if (typeof input.name === 'string') this.name = input.name\n if (typeof input.type === 'string') this.type = input.type\n return this\n }\n\n if (this.isMailboxAddrText(input)) {\n const text = input.trim()\n if (text.startsWith('<') && text.endsWith('>')) {\n this.addr = text.slice(1, -1)\n return this\n }\n const arr = text.split(' <') as [string, string]\n arr[0] = /^(\"|')/.test(arr[0]) ? arr[0].slice(1) : arr[0]\n arr[0] = /(\"|')$/.test(arr[0]) ? arr[0].slice(0, -1) : arr[0]\n arr[1] = arr[1].slice(0, -1)\n this.name = arr[0]\n this.addr = arr[1]\n return this\n }\n\n if (typeof input === 'string') {\n this.addr = input\n return this\n }\n\n throw new MIMETextError('MIMETEXT_INVALID_MAILBOX', 'Couldn\\'t recognize the input.')\n }\n\n isMailboxAddrText (v: unknown): boolean {\n return typeof v === 'string' && this.reSpecCompliantAddr.test(v)\n }\n\n isMailboxAddrObject (v: unknown): v is MailboxAddrObject {\n return this.isObject(v) && Object.hasOwn(v, 'addr')\n }\n\n isObject (v: unknown): v is object {\n return (!!v) && (v.constructor === Object)\n }\n}\n\nexport interface MailboxConfig {\n type: MailboxType\n}\nexport interface MailboxAddrObject {\n addr: string\n name?: string\n type?: MailboxType\n}\nexport type MailboxType = 'To' | 'From' | 'Cc' | 'Bcc'\n","import type { EnvironmentContext } from \"./MIMEMessage\";\nimport { MIMETextError } from \"./MIMETextError.js\";\nimport { Mailbox } from \"./Mailbox.js\";\n\n/*\n Headers are based on: https://www.rfc-editor.org/rfc/rfc4021#section-2.1\n (Some are ignored as they can be added later or as a custom header.)\n*/\n\nexport class MIMEMessageHeader {\n envctx: EnvironmentContext;\n fields: HeaderField[] = [\n {\n name: \"Date\",\n generator: () =>\n new Date().toUTCString().replace(/GMT|UTC/gi, \"+0000\"),\n },\n {\n name: \"From\",\n required: true,\n validate: (v: unknown) => this.validateMailboxSingle(v),\n dump: (v: unknown) => this.dumpMailboxSingle(v),\n },\n {\n name: \"Sender\",\n validate: (v: unknown) => this.validateMailboxSingle(v),\n dump: (v: unknown) => this.dumpMailboxSingle(v),\n },\n {\n name: \"Reply-To\",\n validate: (v: unknown) => this.validateMailboxSingle(v),\n dump: (v: unknown) => this.dumpMailboxSingle(v),\n },\n {\n name: \"To\",\n validate: (v: unknown) => this.validateMailboxMulti(v),\n dump: (v: unknown) => this.dumpMailboxMulti(v),\n },\n {\n name: \"Cc\",\n validate: (v: unknown) => this.validateMailboxMulti(v),\n dump: (v: unknown) => this.dumpMailboxMulti(v),\n },\n {\n name: \"Bcc\",\n validate: (v: unknown) => this.validateMailboxMulti(v),\n dump: (v: unknown) => this.dumpMailboxMulti(v),\n },\n {\n name: \"Message-ID\",\n generator: () => {\n const randomstr = Math.random().toString(36).slice(2);\n const from = this.fields.filter(\n (obj) => obj.name === \"From\",\n )[0]!.value as Mailbox;\n const domain = from.getAddrDomain();\n return \"<\" + randomstr + \"@\" + domain + \">\";\n },\n },\n {\n name: \"Subject\",\n required: true,\n dump: (v: unknown) => {\n return typeof v === \"string\"\n ? \"=?utf-8?B?\" + this.envctx.toBase64(v) + \"?=\"\n : \"\";\n },\n },\n {\n name: \"MIME-Version\",\n generator: () => \"1.0\",\n },\n ];\n\n constructor(envctx: EnvironmentContext) {\n this.envctx = envctx;\n }\n\n dump(): string {\n let lines = \"\";\n\n for (const field of this.fields) {\n if (field.disabled) continue;\n const isValueDefinedByUser =\n field.value !== undefined && field.value !== null;\n if (!isValueDefinedByUser && field.required) {\n throw new MIMETextError(\n \"MIMETEXT_MISSING_HEADER\",\n `The \"${field.name}\" header is required.`,\n );\n }\n if (!isValueDefinedByUser && typeof field.generator !== \"function\")\n continue;\n if (!isValueDefinedByUser && typeof field.generator === \"function\")\n field.value = field.generator();\n const strval =\n Object.hasOwn(field, \"dump\") && typeof field.dump === \"function\"\n ? field.dump(field.value)\n : typeof field.value === \"string\"\n ? field.value\n : \"\";\n lines += `${field.name}: ${strval}${this.envctx.eol}`;\n }\n\n return lines.slice(0, -1 * this.envctx.eol.length);\n }\n\n toObject(): HeadersObject {\n return this.fields.reduce((memo: HeadersObject, item) => {\n memo[item.name] = item.value;\n return memo;\n }, {});\n }\n\n get(name: string): string | Mailbox | Mailbox[] | undefined {\n const fieldMatcher = (obj: HeaderField): boolean =>\n obj.name.toLowerCase() === name.toLowerCase();\n const ind = this.fields.findIndex(fieldMatcher);\n\n return ind !== -1 ? this.fields[ind]!.value : undefined;\n }\n\n set(name: string, value: string | Mailbox | Mailbox[]): HeaderField {\n const fieldMatcher = (obj: HeaderField): boolean =>\n obj.name.toLowerCase() === name.toLowerCase();\n const isCustomHeader = !this.fields.some(fieldMatcher);\n\n if (!isCustomHeader) {\n const ind = this.fields.findIndex(fieldMatcher);\n const field = this.fields[ind]!;\n if (field.validate && !field.validate(value)) {\n throw new MIMETextError(\n \"MIMETEXT_INVALID_HEADER_VALUE\",\n `The value for the header \"${name}\" is invalid.`,\n );\n }\n this.fields[ind]!.value = value;\n return this.fields[ind]!;\n }\n\n return this.setCustom({\n name: name,\n value: value,\n custom: true,\n dump: (v: unknown) => (typeof v === \"string\" ? v : \"\"),\n });\n }\n\n setCustom(obj: HeaderField): HeaderField {\n if (this.isHeaderField(obj)) {\n if (typeof obj.value !== \"string\") {\n throw new MIMETextError(\n \"MIMETEXT_INVALID_HEADER_FIELD\",\n \"Custom header must have a value.\",\n );\n }\n this.fields.push(obj);\n return obj;\n }\n\n throw new MIMETextError(\n \"MIMETEXT_INVALID_HEADER_FIELD\",\n \"Invalid input for custom header. It must be in type of HeaderField.\",\n );\n }\n\n validateMailboxSingle(v: unknown): v is Mailbox {\n return v instanceof Mailbox;\n }\n\n validateMailboxMulti(v: unknown): boolean {\n return v instanceof Mailbox || this.isArrayOfMailboxes(v);\n }\n\n dumpMailboxMulti(v: unknown): string {\n const dump = (item: Mailbox): string =>\n item.name.length === 0\n ? item.dump()\n : `=?utf-8?B?${this.envctx.toBase64(item.name)}?= <${item.addr}>`;\n return this.isArrayOfMailboxes(v)\n ? v.map(dump).join(`,${this.envctx.eol} `)\n : v instanceof Mailbox\n ? dump(v)\n : \"\";\n }\n\n dumpMailboxSingle(v: unknown): string {\n const dump = (item: Mailbox): string =>\n item.name.length === 0\n ? item.dump()\n : `=?utf-8?B?${this.envctx.toBase64(item.name)}?= <${item.addr}>`;\n return v instanceof Mailbox ? dump(v) : \"\";\n }\n\n isHeaderField(v: unknown): v is HeaderField {\n const validProps = [\n \"name\",\n \"value\",\n \"dump\",\n \"required\",\n \"disabled\",\n \"generator\",\n \"custom\",\n ];\n if (this.isObject(v)) {\n const h = v as HeaderField;\n if (\n Object.hasOwn(h, \"name\") &&\n typeof h.name === \"string\" &&\n h.name.length > 0\n ) {\n if (\n !Object.keys(h).some((prop) => !validProps.includes(prop))\n ) {\n return true;\n }\n }\n }\n return false;\n }\n\n isObject(v: unknown): v is object {\n return !!v && v.constructor === Object;\n }\n\n isArrayOfMailboxes(v: unknown): v is Mailbox[] {\n return (\n this.isArray(v) &&\n v.every((item: unknown) => item instanceof Mailbox)\n );\n }\n\n isArray(v: unknown): v is never[] {\n return !!v && v.constructor === Array;\n }\n}\n\nexport class MIMEMessageContentHeader extends MIMEMessageHeader {\n override fields = [\n {\n name: \"Content-ID\",\n },\n {\n name: \"Content-Type\",\n },\n {\n name: \"Content-Transfer-Encoding\",\n },\n {\n name: \"Content-Disposition\",\n },\n ];\n\n constructor(envctx: EnvironmentContext) {\n super(envctx);\n }\n}\n\nexport type HeadersObject = Record<\n string,\n string | Mailbox | Mailbox[] | undefined\n>;\nexport interface HeaderField {\n name: string;\n dump?: (v: string | Mailbox | Mailbox[] | undefined) => string;\n value?: string | Mailbox | Mailbox[] | undefined;\n validate?: (v: unknown) => boolean;\n required?: boolean;\n disabled?: boolean;\n generator?: () => string;\n custom?: boolean;\n}\n","import type { EnvironmentContext } from './MIMEMessage'\nimport type { Mailbox } from './Mailbox'\nimport { type HeadersObject, MIMEMessageContentHeader } from './MIMEMessageHeader.js'\n\nexport class MIMEMessageContent {\n envctx: EnvironmentContext\n headers\n data\n\n constructor (envctx: EnvironmentContext, data: string, headers = {}) {\n this.envctx = envctx\n this.headers = new MIMEMessageContentHeader(this.envctx)\n this.data = data\n this.setHeaders(headers)\n }\n\n dump (): string {\n const eol = this.envctx.eol\n return this.headers.dump() + eol + eol + this.data\n }\n\n isAttachment (): boolean {\n const disposition = this.headers.get('Content-Disposition')\n return typeof disposition === 'string' && disposition.includes('attachment')\n }\n\n isInlineAttachment (): boolean {\n const disposition = this.headers.get('Content-Disposition')\n return typeof disposition === 'string' && disposition.includes('inline')\n }\n\n setHeader (name: string, value: string | Mailbox | Mailbox[]): string {\n this.headers.set(name, value)\n return name\n }\n\n getHeader (name: string): string | Mailbox | Mailbox[] | undefined {\n return this.headers.get(name)\n }\n\n setHeaders (obj: Record): string[] {\n return Object.keys(obj).map((prop) => this.setHeader(prop, obj[prop]!))\n }\n\n getHeaders (): HeadersObject {\n return this.headers.toObject()\n }\n}\n","import type { MailboxAddrObject, MailboxConfig } from './Mailbox.js'\n\nimport { MIMETextError } from './MIMETextError.js'\nimport { type HeadersObject, MIMEMessageHeader } from './MIMEMessageHeader.js'\nimport { Mailbox } from './Mailbox.js'\nimport { MIMEMessageContent } from './MIMEMessageContent.js'\n\nexport class MIMEMessage {\n envctx: EnvironmentContext\n headers: MIMEMessageHeader\n boundaries: Boundaries = { mixed: '', alt: '', related: '' }\n validTypes = ['text/html', 'text/plain']\n validContentTransferEncodings = ['7bit', '8bit', 'binary', 'quoted-printable', 'base64']\n messages: MIMEMessageContent[] = []\n\n constructor (envctx: EnvironmentContext) {\n this.envctx = envctx\n this.headers = new MIMEMessageHeader(this.envctx)\n this.messages = []\n\n this.generateBoundaries()\n }\n\n asRaw (): string {\n const eol = this.envctx.eol\n const lines = this.headers.dump()\n\n const plaintext = this.getMessageByType('text/plain')\n const html = this.getMessageByType('text/html')\n const primaryMessage = html ?? (plaintext ?? undefined)\n\n if (primaryMessage === undefined) {\n throw new MIMETextError('MIMETEXT_MISSING_BODY', 'No content added to the message.')\n }\n\n const hasAttachments = this.hasAttachments()\n const hasInlineAttachments = this.hasInlineAttachments()\n\n const structure = hasInlineAttachments && hasAttachments\n ? 'mixed+related'\n : hasAttachments\n ? 'mixed'\n : hasInlineAttachments\n ? 'related'\n : plaintext && html\n ? 'alternative'\n : ''\n\n if (structure === 'mixed+related') {\n const attachments = this.getAttachments()\n .map((a) => '--' + this.boundaries.mixed + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n const inlineAttachments = this.getInlineAttachments()\n .map((a) => '--' + this.boundaries.related + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n return lines + eol +\n 'Content-Type: multipart/mixed; boundary=' + this.boundaries.mixed + eol +\n eol +\n '--' + this.boundaries.mixed + eol +\n 'Content-Type: multipart/related; boundary=' + this.boundaries.related + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.related) + eol +\n eol +\n inlineAttachments +\n '--' + this.boundaries.related + '--' + eol +\n attachments +\n '--' + this.boundaries.mixed + '--'\n } else if (structure === 'mixed') {\n const attachments = this.getAttachments()\n .map((a) => '--' + this.boundaries.mixed + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n return lines + eol +\n 'Content-Type: multipart/mixed; boundary=' + this.boundaries.mixed + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.mixed) + eol +\n (plaintext && html ? '' : eol) +\n attachments +\n '--' + this.boundaries.mixed + '--'\n } else if (structure === 'related') {\n const inlineAttachments = this.getInlineAttachments()\n .map((a) => '--' + this.boundaries.related + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n return lines + eol +\n 'Content-Type: multipart/related; boundary=' + this.boundaries.related + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.related) + eol +\n eol +\n inlineAttachments +\n '--' + this.boundaries.related + '--'\n } else if (structure === 'alternative') {\n return lines + eol +\n 'Content-Type: multipart/alternative; boundary=' + this.boundaries.alt + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.alt) + eol +\n eol +\n '--' + this.boundaries.alt + '--'\n } else {\n return lines + eol + primaryMessage.dump()\n }\n }\n\n asEncoded (): string {\n return this.envctx.toBase64WebSafe(this.asRaw())\n }\n\n dumpTextContent (plaintext: MIMEMessageContent | undefined, html: MIMEMessageContent | undefined, boundary: string): string {\n const eol = this.envctx.eol\n const primaryMessage = html ?? plaintext\n\n let data = ''\n\n if (plaintext && html && !this.hasInlineAttachments() && this.hasAttachments()) {\n data = '--' + boundary + eol +\n 'Content-Type: multipart/alternative; boundary=' + this.boundaries.alt + eol +\n eol +\n '--' + this.boundaries.alt + eol +\n plaintext.dump() + eol +\n eol +\n '--' + this.boundaries.alt + eol +\n html.dump() + eol +\n eol +\n '--' + this.boundaries.alt + '--'\n } else if (plaintext && html && this.hasInlineAttachments()) {\n data = '--' + boundary + eol +\n html.dump()\n } else if (plaintext && html) {\n data = '--' + boundary + eol +\n plaintext.dump() + eol +\n eol +\n '--' + boundary + eol +\n html.dump()\n } else {\n data = '--' + boundary + eol +\n (primaryMessage!).dump()\n }\n\n return data\n }\n\n hasInlineAttachments (): boolean {\n return this.messages.some((msg) => msg.isInlineAttachment())\n }\n\n hasAttachments (): boolean {\n return this.messages.some((msg) => msg.isAttachment())\n }\n\n getAttachments (): MIMEMessageContent[] | [] {\n const matcher = (msg: MIMEMessageContent): boolean => msg.isAttachment()\n return this.messages.some(matcher) ? this.messages.filter(matcher) : []\n }\n\n getInlineAttachments (): MIMEMessageContent[] | [] {\n const matcher = (msg: MIMEMessageContent): boolean => msg.isInlineAttachment()\n return this.messages.some(matcher) ? this.messages.filter(matcher) : []\n }\n\n getMessageByType (type: string): MIMEMessageContent | undefined {\n const matcher = (msg: MIMEMessageContent): boolean => !msg.isAttachment() && !msg.isInlineAttachment() && (msg.getHeader('Content-Type') as string || '').includes(type)\n return this.messages.some(matcher) ? this.messages.filter(matcher)[0] : undefined\n }\n\n addAttachment (opts: AttachmentOptions): MIMEMessageContent {\n if (!this.isObject(opts.headers)) opts.headers = {}\n\n if (typeof opts.filename !== 'string') {\n throw new MIMETextError('MIMETEXT_MISSING_FILENAME', 'The property \"filename\" must exist while adding attachments.')\n }\n\n let type = (opts.headers['Content-Type'] ?? opts.contentType) || 'none'\n if (this.envctx.validateContentType(type) === false) {\n throw new MIMETextError('MIMETEXT_INVALID_MESSAGE_TYPE', `You specified an invalid content type \"${type}\".`)\n }\n\n const encoding = (opts.headers['Content-Transfer-Encoding'] ?? opts.encoding) ?? 'base64'\n if (!this.validContentTransferEncodings.includes(encoding)) {\n type = 'application/octet-stream'\n }\n\n const contentId = opts.headers['Content-ID']\n if (typeof contentId === 'string' && contentId.length > 2 && !contentId.startsWith('<') && !contentId.endsWith('>')) {\n opts.headers['Content-ID'] = '<' + opts.headers['Content-ID'] + '>'\n }\n\n const disposition = opts.inline ? 'inline' : 'attachment'\n\n opts.headers = Object.assign({}, opts.headers, {\n 'Content-Type': `${type}; name=\"${opts.filename}\"`,\n 'Content-Transfer-Encoding': encoding,\n 'Content-Disposition': `${disposition}; filename=\"${opts.filename}\"`\n })\n\n return this._addMessage({ data: opts.data, headers: opts.headers })\n }\n\n addMessage (opts: ContentOptions): MIMEMessageContent {\n if (!this.isObject(opts.headers)) opts.headers = {}\n\n let type = (opts.headers['Content-Type'] ?? opts.contentType) || 'none'\n if (!this.validTypes.includes(type)) {\n throw new MIMETextError('MIMETEXT_INVALID_MESSAGE_TYPE', `Valid content types are ${this.validTypes.join(', ')} but you specified \"${type}\".`)\n }\n\n const encoding = (opts.headers['Content-Transfer-Encoding'] ?? opts.encoding) ?? '7bit'\n if (!this.validContentTransferEncodings.includes(encoding)) {\n type = 'application/octet-stream'\n }\n\n const charset = opts.charset ?? 'UTF-8'\n\n opts.headers = Object.assign({}, opts.headers, {\n 'Content-Type': `${type}; charset=${charset}`,\n 'Content-Transfer-Encoding': encoding\n })\n\n return this._addMessage({ data: opts.data, headers: opts.headers })\n }\n\n private _addMessage (opts: { data: string, headers: ContentHeaders }): MIMEMessageContent {\n const msg = new MIMEMessageContent(this.envctx, opts.data, opts.headers)\n\n this.messages.push(msg)\n\n return msg\n }\n\n setSender (input: MailboxAddrObject | string, config: MailboxConfig = { type: 'From' }): Mailbox {\n const mailbox = new Mailbox(input, config)\n this.setHeader('From', mailbox)\n return mailbox\n }\n\n getSender (): Mailbox | undefined {\n return this.getHeader('From') as Mailbox\n }\n\n setRecipients (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'To' }): Mailbox[] {\n const arr = !this.isArray(input) ? [input] : input\n const recs = arr.map((_input) => new Mailbox(_input, config))\n this.setHeader(config.type, recs)\n return recs\n }\n\n getRecipients (config: MailboxConfig = { type: 'To' }): Mailbox | Mailbox[] | undefined {\n return this.getHeader(config.type) as Mailbox | Mailbox[] | undefined\n }\n\n setRecipient (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'To' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setTo (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'To' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setCc (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'Cc' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setBcc (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'Bcc' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setSubject (value: string): string {\n this.setHeader('subject', value)\n return value\n }\n\n getSubject (): string | undefined {\n return this.getHeader('subject') as string\n }\n\n setHeader (name: string, value: string | Mailbox | Mailbox[]): string {\n this.headers.set(name, value)\n return name\n }\n\n getHeader (name: string): string | Mailbox | Mailbox[] | undefined {\n return this.headers.get(name)\n }\n\n setHeaders (obj: Record): string[] {\n return Object.keys(obj).map((prop) => this.setHeader(prop, obj[prop]!))\n }\n\n getHeaders (): HeadersObject {\n return this.headers.toObject()\n }\n\n toBase64 (v: string): string {\n return this.envctx.toBase64(v)\n }\n\n toBase64WebSafe (v: string): string {\n return this.envctx.toBase64WebSafe(v)\n }\n\n generateBoundaries (): void {\n this.boundaries = {\n mixed: Math.random().toString(36).slice(2),\n alt: Math.random().toString(36).slice(2),\n related: Math.random().toString(36).slice(2)\n }\n }\n\n isArray (v: unknown): v is unknown[] {\n return (!!v) && (v.constructor === Array)\n }\n\n isObject (v: unknown): v is object {\n return (!!v) && (v.constructor === Object)\n }\n}\n\nexport interface EnvironmentContext {\n toBase64: (v: string) => string\n toBase64WebSafe: (v: string) => string\n eol: string\n validateContentType: (v: string) => string | false\n}\n\nexport interface Boundaries {\n mixed: string\n alt: string\n related: string\n}\n\nexport type ContentTransferEncoding = '7bit' | '8bit' | 'binary' | 'quoted-printable' | 'base64'\n\nexport interface ContentHeaders {\n 'Content-Type'?: string\n 'Content-Transfer-Encoding'?: ContentTransferEncoding\n 'Content-Disposition'?: string\n 'Content-ID'?: string\n [index: string]: string | undefined\n}\n\nexport interface ContentOptions {\n data: string\n encoding?: ContentTransferEncoding\n contentType: string\n headers?: ContentHeaders\n charset?: string\n}\n\nexport interface AttachmentOptions extends ContentOptions {\n inline?: boolean\n filename: string\n}\n","import { EOL } from 'node:os'\nimport * as mime from 'mime-types'\nimport { MIMEMessage } from '../MIMEMessage.js'\n\nconst envctx = {\n toBase64: function toBase64 (data: string) {\n return (Buffer.from(data)).toString('base64')\n },\n toBase64WebSafe: function toBase64WebSafe (data: string) {\n return (Buffer.from(data)).toString('base64')\n .replace(/\\+/g, '-')\n .replace(/\\//g, '_')\n .replace(/=+$/, '')\n },\n eol: EOL,\n validateContentType: (v: string): string | false => {\n return mime.contentType(v)\n }\n}\n\nexport function createMimeMessage (): MIMEMessage {\n return new MIMEMessage(envctx)\n}\n\nexport { MIMEMessage } from '../MIMEMessage.js'\nexport { Mailbox } from '../Mailbox.js'\nexport { MIMETextError } from '../MIMETextError.js'\nexport { MIMEMessageHeader } from '../MIMEMessageHeader.js'\nexport { MIMEMessageContent } from '../MIMEMessageContent.js'\n\nexport type * from '../MIMEMessage.js'\nexport type * from '../Mailbox.js'\nexport type * from '../MIMETextError.js'\nexport type * from '../MIMEMessageHeader.js'\nexport type * from '../MIMEMessageContent.js'\n"],"names":["MIMETextError","Error","name","description","constructor","message","super","this","Mailbox","reSpecCompliantAddr","addr","type","input","config","parse","getAddrDomain","includes","arr","split","length","dump","isMailboxAddrObject","isMailboxAddrText","text","_trimInstanceProperty","call","startsWith","endsWith","slice","test","v","isObject","Object","hasOwn","MIMEMessageHeader","fields","generator","Date","toUTCString","replace","required","validate","validateMailboxSingle","dumpMailboxSingle","validateMailboxMulti","dumpMailboxMulti","Math","random","toString","filter","obj","value","envctx","toBase64","lines","field","disabled","isValueDefinedByUser","undefined","strval","eol","toObject","reduce","memo","item","get","ind","findIndex","toLowerCase","set","fieldMatcher","some","setCustom","custom","isHeaderField","push","isArrayOfMailboxes","map","join","validProps","h","keys","prop","isArray","every","Array","MIMEMessageContentHeader","MIMEMessageContent","data","headers","setHeaders","isAttachment","disposition","isInlineAttachment","setHeader","getHeader","getHeaders","MIMEMessage","boundaries","mixed","alt","related","validTypes","validContentTransferEncodings","messages","generateBoundaries","asRaw","plaintext","getMessageByType","html","primaryMessage","hasAttachments","hasInlineAttachments","structure","attachments","getAttachments","a","inlineAttachments","getInlineAttachments","dumpTextContent","asEncoded","toBase64WebSafe","boundary","msg","matcher","addAttachment","opts","filename","contentType","validateContentType","encoding","contentId","inline","assign","_addMessage","addMessage","charset","setSender","mailbox","getSender","setRecipients","recs","_input","getRecipients","setRecipient","setTo","setCc","setBcc","setSubject","getSubject","Buffer","from","EOL","mime","createMimeMessage"],"mappings":"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"} \ No newline at end of file diff --git a/dist/node.cjs b/dist/node.cjs deleted file mode 100644 index 3d732f4..0000000 --- a/dist/node.cjs +++ /dev/null @@ -1,3 +0,0 @@ -'use strict';var os=require('os'),y=require('mime-types');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var y__namespace=/*#__PURE__*/_interopNamespace(y);var C=Object.defineProperty;var E=(a,e,t)=>e in a?C(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var s=(a,e,t)=>E(a,typeof e!="symbol"?e+"":e,t);var o=class extends Error{constructor(t,n=""){super(n);s(this,"name","");s(this,"description","");this.name=t,this.description=n;}};var d=class{constructor(e,t={type:"To"}){s(this,"reSpecCompliantAddr",/(([^<>\r\n]+)\s)?<[^\r\n]+>/);s(this,"name","");s(this,"addr","");s(this,"type","To");this.type=t.type,this.parse(e);}getAddrDomain(){if(this.addr.includes("@")){let e=this.addr.split("@");if(e.length>1)return e[1]}return ""}dump(){return this.name.length>0?`"${this.name}" <${this.addr}>`:`<${this.addr}>`}parse(e){if(this.isMailboxAddrObject(e))return this.addr=e.addr,typeof e.name=="string"&&(this.name=e.name),typeof e.type=="string"&&(this.type=e.type),this;if(this.isMailboxAddrText(e)){let t=e.trim();if(t.startsWith("<")&&t.endsWith(">"))return this.addr=t.slice(1,-1),this;let n=t.split(" <");return n[0]=/^("|')/.test(n[0])?n[0].slice(1):n[0],n[0]=/("|')$/.test(n[0])?n[0].slice(0,-1):n[0],n[1]=n[1].slice(0,-1),this.name=n[0],this.addr=n[1],this}if(typeof e=="string")return this.addr=e,this;throw new o("MIMETEXT_INVALID_MAILBOX","Couldn't recognize the input.")}isMailboxAddrText(e){return typeof e=="string"&&this.reSpecCompliantAddr.test(e)}isMailboxAddrObject(e){return this.isObject(e)&&Object.hasOwn(e,"addr")}isObject(e){return !!e&&e.constructor===Object}};var c=class{constructor(e){s(this,"envctx");s(this,"fields",[{name:"Date",generator:()=>new Date().toUTCString().replace(/GMT|UTC/gi,"+0000")},{name:"From",required:!0,validate:e=>this.validateMailboxSingle(e),dump:e=>this.dumpMailboxSingle(e)},{name:"Sender",validate:e=>this.validateMailboxSingle(e),dump:e=>this.dumpMailboxSingle(e)},{name:"Reply-To",validate:e=>this.validateMailboxSingle(e),dump:e=>this.dumpMailboxSingle(e)},{name:"To",validate:e=>this.validateMailboxMulti(e),dump:e=>this.dumpMailboxMulti(e)},{name:"Cc",validate:e=>this.validateMailboxMulti(e),dump:e=>this.dumpMailboxMulti(e)},{name:"Bcc",validate:e=>this.validateMailboxMulti(e),dump:e=>this.dumpMailboxMulti(e)},{name:"Message-ID",generator:()=>{let e=Math.random().toString(36).slice(2),n=this.fields.filter(i=>i.name==="From")[0].value.getAddrDomain();return "<"+e+"@"+n+">"}},{name:"Subject",required:!0,dump:e=>typeof e=="string"?"=?utf-8?B?"+this.envctx.toBase64(e)+"?=":""},{name:"MIME-Version",generator:()=>"1.0"}]);this.envctx=e;}dump(){let e="";for(let t of this.fields){if(t.disabled)continue;let n=t.value!==void 0&&t.value!==null;if(!n&&t.required)throw new o("MIMETEXT_MISSING_HEADER",`The "${t.name}" header is required.`);if(!n&&typeof t.generator!="function")continue;!n&&typeof t.generator=="function"&&(t.value=t.generator());let i=Object.hasOwn(t,"dump")&&typeof t.dump=="function"?t.dump(t.value):typeof t.value=="string"?t.value:"";e+=`${t.name}: ${i}${this.envctx.eol}`;}return e.slice(0,-1*this.envctx.eol.length)}toObject(){return this.fields.reduce((e,t)=>(e[t.name]=t.value,e),{})}get(e){let t=i=>i.name.toLowerCase()===e.toLowerCase(),n=this.fields.findIndex(t);return n!==-1?this.fields[n].value:void 0}set(e,t){let n=r=>r.name.toLowerCase()===e.toLowerCase();if(!!this.fields.some(n)){let r=this.fields.findIndex(n),l=this.fields[r];if(l.validate&&!l.validate(t))throw new o("MIMETEXT_INVALID_HEADER_VALUE",`The value for the header "${e}" is invalid.`);return this.fields[r].value=t,this.fields[r]}return this.setCustom({name:e,value:t,custom:!0,dump:r=>typeof r=="string"?r:""})}setCustom(e){if(this.isHeaderField(e)){if(typeof e.value!="string")throw new o("MIMETEXT_INVALID_HEADER_FIELD","Custom header must have a value.");return this.fields.push(e),e}throw new o("MIMETEXT_INVALID_HEADER_FIELD","Invalid input for custom header. It must be in type of HeaderField.")}validateMailboxSingle(e){return e instanceof d}validateMailboxMulti(e){return e instanceof d||this.isArrayOfMailboxes(e)}dumpMailboxMulti(e){let t=n=>n.name.length===0?n.dump():`=?utf-8?B?${this.envctx.toBase64(n.name)}?= <${n.addr}>`;return this.isArrayOfMailboxes(e)?e.map(t).join(`,${this.envctx.eol} `):e instanceof d?t(e):""}dumpMailboxSingle(e){let t=n=>n.name.length===0?n.dump():`=?utf-8?B?${this.envctx.toBase64(n.name)}?= <${n.addr}>`;return e instanceof d?t(e):""}isHeaderField(e){let t=["name","value","dump","required","disabled","generator","custom"];if(this.isObject(e)){let n=e;if(Object.hasOwn(n,"name")&&typeof n.name=="string"&&n.name.length>0&&!Object.keys(n).some(i=>!t.includes(i)))return !0}return !1}isObject(e){return !!e&&e.constructor===Object}isArrayOfMailboxes(e){return this.isArray(e)&&e.every(t=>t instanceof d)}isArray(e){return !!e&&e.constructor===Array}},f=class extends c{constructor(t){super(t);s(this,"fields",[{name:"Content-ID"},{name:"Content-Type"},{name:"Content-Transfer-Encoding"},{name:"Content-Disposition"}]);}};var g=class{constructor(e,t,n={}){s(this,"envctx");s(this,"headers");s(this,"data");this.envctx=e,this.headers=new f(this.envctx),this.data=t,this.setHeaders(n);}dump(){let e=this.envctx.eol;return this.headers.dump()+e+e+this.data}isAttachment(){let e=this.headers.get("Content-Disposition");return typeof e=="string"&&e.includes("attachment")}isInlineAttachment(){let e=this.headers.get("Content-Disposition");return typeof e=="string"&&e.includes("inline")}setHeader(e,t){return this.headers.set(e,t),e}getHeader(e){return this.headers.get(e)}setHeaders(e){return Object.keys(e).map(t=>this.setHeader(t,e[t]))}getHeaders(){return this.headers.toObject()}};var M=class{constructor(e){s(this,"envctx");s(this,"headers");s(this,"boundaries",{mixed:"",alt:"",related:""});s(this,"validTypes",["text/html","text/plain"]);s(this,"validContentTransferEncodings",["7bit","8bit","binary","quoted-printable","base64"]);s(this,"messages",[]);this.envctx=e,this.headers=new c(this.envctx),this.messages=[],this.generateBoundaries();}asRaw(){let e=this.envctx.eol,t=this.headers.dump(),n=this.getMessageByType("text/plain"),i=this.getMessageByType("text/html"),r=i??n??void 0;if(r===void 0)throw new o("MIMETEXT_MISSING_BODY","No content added to the message.");let l=this.hasAttachments(),x=this.hasInlineAttachments(),b=x&&l?"mixed+related":l?"mixed":x?"related":n&&i?"alternative":"";if(b==="mixed+related"){let h=this.getAttachments().map(p=>"--"+this.boundaries.mixed+e+p.dump()+e+e).join("").slice(0,-1*e.length),u=this.getInlineAttachments().map(p=>"--"+this.boundaries.related+e+p.dump()+e+e).join("").slice(0,-1*e.length);return t+e+"Content-Type: multipart/mixed; boundary="+this.boundaries.mixed+e+e+"--"+this.boundaries.mixed+e+"Content-Type: multipart/related; boundary="+this.boundaries.related+e+e+this.dumpTextContent(n,i,this.boundaries.related)+e+e+u+"--"+this.boundaries.related+"--"+e+h+"--"+this.boundaries.mixed+"--"}else if(b==="mixed"){let h=this.getAttachments().map(u=>"--"+this.boundaries.mixed+e+u.dump()+e+e).join("").slice(0,-1*e.length);return t+e+"Content-Type: multipart/mixed; boundary="+this.boundaries.mixed+e+e+this.dumpTextContent(n,i,this.boundaries.mixed)+e+(n&&i?"":e)+h+"--"+this.boundaries.mixed+"--"}else if(b==="related"){let h=this.getInlineAttachments().map(u=>"--"+this.boundaries.related+e+u.dump()+e+e).join("").slice(0,-1*e.length);return t+e+"Content-Type: multipart/related; boundary="+this.boundaries.related+e+e+this.dumpTextContent(n,i,this.boundaries.related)+e+e+h+"--"+this.boundaries.related+"--"}else return b==="alternative"?t+e+"Content-Type: multipart/alternative; boundary="+this.boundaries.alt+e+e+this.dumpTextContent(n,i,this.boundaries.alt)+e+e+"--"+this.boundaries.alt+"--":t+e+r.dump()}asEncoded(){return this.envctx.toBase64WebSafe(this.asRaw())}dumpTextContent(e,t,n){let i=this.envctx.eol,r=t??e,l="";return e&&t&&!this.hasInlineAttachments()&&this.hasAttachments()?l="--"+n+i+"Content-Type: multipart/alternative; boundary="+this.boundaries.alt+i+i+"--"+this.boundaries.alt+i+e.dump()+i+i+"--"+this.boundaries.alt+i+t.dump()+i+i+"--"+this.boundaries.alt+"--":e&&t&&this.hasInlineAttachments()?l="--"+n+i+t.dump():e&&t?l="--"+n+i+e.dump()+i+i+"--"+n+i+t.dump():l="--"+n+i+r.dump(),l}hasInlineAttachments(){return this.messages.some(e=>e.isInlineAttachment())}hasAttachments(){return this.messages.some(e=>e.isAttachment())}getAttachments(){let e=t=>t.isAttachment();return this.messages.some(e)?this.messages.filter(e):[]}getInlineAttachments(){let e=t=>t.isInlineAttachment();return this.messages.some(e)?this.messages.filter(e):[]}getMessageByType(e){let t=n=>!n.isAttachment()&&!n.isInlineAttachment()&&(n.getHeader("Content-Type")||"").includes(e);return this.messages.some(t)?this.messages.filter(t)[0]:void 0}addAttachment(e){if(this.isObject(e.headers)||(e.headers={}),typeof e.filename!="string")throw new o("MIMETEXT_MISSING_FILENAME",'The property "filename" must exist while adding attachments.');let t=(e.headers["Content-Type"]??e.contentType)||"none";if(this.envctx.validateContentType(t)===!1)throw new o("MIMETEXT_INVALID_MESSAGE_TYPE",`You specified an invalid content type "${t}".`);let n=e.headers["Content-Transfer-Encoding"]??e.encoding??"base64";this.validContentTransferEncodings.includes(n)||(t="application/octet-stream");let i=e.headers["Content-ID"];typeof i=="string"&&i.length>2&&!i.startsWith("<")&&!i.endsWith(">")&&(e.headers["Content-ID"]="<"+e.headers["Content-ID"]+">");let r=e.inline?"inline":"attachment";return e.headers=Object.assign({},e.headers,{"Content-Type":`${t}; name="${e.filename}"`,"Content-Transfer-Encoding":n,"Content-Disposition":`${r}; filename="${e.filename}"`}),this._addMessage({data:e.data,headers:e.headers})}addMessage(e){this.isObject(e.headers)||(e.headers={});let t=(e.headers["Content-Type"]??e.contentType)||"none";if(!this.validTypes.includes(t))throw new o("MIMETEXT_INVALID_MESSAGE_TYPE",`Valid content types are ${this.validTypes.join(", ")} but you specified "${t}".`);let n=e.headers["Content-Transfer-Encoding"]??e.encoding??"7bit";this.validContentTransferEncodings.includes(n)||(t="application/octet-stream");let i=e.charset??"UTF-8";return e.headers=Object.assign({},e.headers,{"Content-Type":`${t}; charset=${i}`,"Content-Transfer-Encoding":n}),this._addMessage({data:e.data,headers:e.headers})}_addMessage(e){let t=new g(this.envctx,e.data,e.headers);return this.messages.push(t),t}setSender(e,t={type:"From"}){let n=new d(e,t);return this.setHeader("From",n),n}getSender(){return this.getHeader("From")}setRecipients(e,t={type:"To"}){let i=(this.isArray(e)?e:[e]).map(r=>new d(r,t));return this.setHeader(t.type,i),i}getRecipients(e={type:"To"}){return this.getHeader(e.type)}setRecipient(e,t={type:"To"}){return this.setRecipients(e,t)}setTo(e,t={type:"To"}){return this.setRecipients(e,t)}setCc(e,t={type:"Cc"}){return this.setRecipients(e,t)}setBcc(e,t={type:"Bcc"}){return this.setRecipients(e,t)}setSubject(e){return this.setHeader("subject",e),e}getSubject(){return this.getHeader("subject")}setHeader(e,t){return this.headers.set(e,t),e}getHeader(e){return this.headers.get(e)}setHeaders(e){return Object.keys(e).map(t=>this.setHeader(t,e[t]))}getHeaders(){return this.headers.toObject()}toBase64(e){return this.envctx.toBase64(e)}toBase64WebSafe(e){return this.envctx.toBase64WebSafe(e)}generateBoundaries(){this.boundaries={mixed:Math.random().toString(36).slice(2),alt:Math.random().toString(36).slice(2),related:Math.random().toString(36).slice(2)};}isArray(e){return !!e&&e.constructor===Array}isObject(e){return !!e&&e.constructor===Object}};var v={toBase64:function(e){return Buffer.from(e).toString("base64")},toBase64WebSafe:function(e){return Buffer.from(e).toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")},eol:os.EOL,validateContentType:a=>y__namespace.contentType(a)};function K(){return new M(v)} -exports.MIMEMessage=M;exports.MIMEMessageContent=g;exports.MIMEMessageHeader=c;exports.MIMETextError=o;exports.Mailbox=d;exports.createMimeMessage=K;//# sourceMappingURL=node.cjs.map -//# sourceMappingURL=node.cjs.map \ No newline at end of file diff --git a/dist/node.cjs.map b/dist/node.cjs.map deleted file mode 100644 index d1ff6d1..0000000 --- a/dist/node.cjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../src/entrypoints/node.ts","../src/MIMETextError.ts","../src/Mailbox.ts","../src/MIMEMessageHeader.ts","../src/MIMEMessageContent.ts","../src/MIMEMessage.ts"],"names":["MIMETextError","message","description","__publicField","Mailbox","input","config","arr","text","v","MIMEMessageHeader","envctx","randomstr","domain","obj","lines","field","isValueDefinedByUser","strval","memo","item","name","fieldMatcher","ind","value","dump","validProps","h","prop","MIMEMessageContentHeader","MIMEMessageContent","data","headers","eol","disposition","MIMEMessage","plaintext","html","primaryMessage","hasAttachments","hasInlineAttachments","structure","attachments","a","inlineAttachments","boundary","msg","matcher","type","opts","encoding","contentId","charset","mailbox","recs","_input","EOL","y","createMimeMessage"],"mappings":"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","file":"node.cjs","sourcesContent":["import { EOL } from 'node:os'\nimport * as mime from 'mime-types'\nimport { MIMEMessage } from '../MIMEMessage.js'\n\nconst envctx = {\n toBase64: function toBase64 (data: string) {\n return (Buffer.from(data)).toString('base64')\n },\n toBase64WebSafe: function toBase64WebSafe (data: string) {\n return (Buffer.from(data)).toString('base64')\n .replace(/\\+/g, '-')\n .replace(/\\//g, '_')\n .replace(/=+$/, '')\n },\n eol: EOL,\n validateContentType: (v: string): string | false => {\n return mime.contentType(v)\n }\n}\n\nexport function createMimeMessage (): MIMEMessage {\n return new MIMEMessage(envctx)\n}\n\nexport { MIMEMessage } from '../MIMEMessage.js'\nexport { Mailbox } from '../Mailbox.js'\nexport { MIMETextError } from '../MIMETextError.js'\nexport { MIMEMessageHeader } from '../MIMEMessageHeader.js'\nexport { MIMEMessageContent } from '../MIMEMessageContent.js'\n\nexport type * from '../MIMEMessage.js'\nexport type * from '../Mailbox.js'\nexport type * from '../MIMETextError.js'\nexport type * from '../MIMEMessageHeader.js'\nexport type * from '../MIMEMessageContent.js'\n","export class MIMETextError extends Error {\n override name = ''\n description = ''\n\n constructor (message: string, description = '') {\n super(description)\n\n this.name = message\n this.description = description\n }\n}\n","import { MIMETextError } from './MIMETextError.js'\n\nexport class Mailbox {\n reSpecCompliantAddr = /(([^<>\\r\\n]+)\\s)?<[^\\r\\n]+>/\n name = ''\n addr = ''\n type: MailboxType = 'To'\n\n constructor (input: MailboxAddrObject | string, config: MailboxConfig = { type: 'To' }) {\n this.type = config.type\n\n this.parse(input)\n }\n\n getAddrDomain (): string {\n if (this.addr.includes('@')) {\n const arr = this.addr.split('@')\n if (arr.length > 1) return arr[1]!\n }\n return ''\n }\n\n dump (): string {\n return this.name.length > 0 ? `\"${this.name}\" <${this.addr}>` : `<${this.addr}>`\n }\n\n parse (input: MailboxAddrObject | string): this {\n if (this.isMailboxAddrObject(input)) {\n this.addr = input.addr\n if (typeof input.name === 'string') this.name = input.name\n if (typeof input.type === 'string') this.type = input.type\n return this\n }\n\n if (this.isMailboxAddrText(input)) {\n const text = input.trim()\n if (text.startsWith('<') && text.endsWith('>')) {\n this.addr = text.slice(1, -1)\n return this\n }\n const arr = text.split(' <') as [string, string]\n arr[0] = /^(\"|')/.test(arr[0]) ? arr[0].slice(1) : arr[0]\n arr[0] = /(\"|')$/.test(arr[0]) ? arr[0].slice(0, -1) : arr[0]\n arr[1] = arr[1].slice(0, -1)\n this.name = arr[0]\n this.addr = arr[1]\n return this\n }\n\n if (typeof input === 'string') {\n this.addr = input\n return this\n }\n\n throw new MIMETextError('MIMETEXT_INVALID_MAILBOX', 'Couldn\\'t recognize the input.')\n }\n\n isMailboxAddrText (v: unknown): boolean {\n return typeof v === 'string' && this.reSpecCompliantAddr.test(v)\n }\n\n isMailboxAddrObject (v: unknown): v is MailboxAddrObject {\n return this.isObject(v) && Object.hasOwn(v, 'addr')\n }\n\n isObject (v: unknown): v is object {\n return (!!v) && (v.constructor === Object)\n }\n}\n\nexport interface MailboxConfig {\n type: MailboxType\n}\nexport interface MailboxAddrObject {\n addr: string\n name?: string\n type?: MailboxType\n}\nexport type MailboxType = 'To' | 'From' | 'Cc' | 'Bcc'\n","import type { EnvironmentContext } from './MIMEMessage'\nimport { MIMETextError } from './MIMETextError.js'\nimport { Mailbox } from './Mailbox.js'\n\n/*\n Headers are based on: https://www.rfc-editor.org/rfc/rfc4021#section-2.1\n (Some are ignored as they can be added later or as a custom header.)\n*/\n\nexport class MIMEMessageHeader {\n envctx: EnvironmentContext\n fields: HeaderField[] = [\n {\n name: 'Date',\n generator: () => ((new Date()).toUTCString()).replace(/GMT|UTC/gi, '+0000')\n },\n {\n name: 'From',\n required: true,\n validate: (v: unknown) => this.validateMailboxSingle(v),\n dump: (v: unknown) => this.dumpMailboxSingle(v)\n },\n {\n name: 'Sender',\n validate: (v: unknown) => this.validateMailboxSingle(v),\n dump: (v: unknown) => this.dumpMailboxSingle(v)\n },\n {\n name: 'Reply-To',\n validate: (v: unknown) => this.validateMailboxSingle(v),\n dump: (v: unknown) => this.dumpMailboxSingle(v)\n },\n {\n name: 'To',\n validate: (v: unknown) => this.validateMailboxMulti(v),\n dump: (v: unknown) => this.dumpMailboxMulti(v)\n },\n {\n name: 'Cc',\n validate: (v: unknown) => this.validateMailboxMulti(v),\n dump: (v: unknown) => this.dumpMailboxMulti(v)\n },\n {\n name: 'Bcc',\n validate: (v: unknown) => this.validateMailboxMulti(v),\n dump: (v: unknown) => this.dumpMailboxMulti(v)\n },\n {\n name: 'Message-ID',\n generator: () => {\n const randomstr = Math.random().toString(36).slice(2)\n const from = (this.fields.filter((obj) => obj.name === 'From')[0]!).value as Mailbox\n const domain = from.getAddrDomain()\n return '<' + randomstr + '@' + domain + '>'\n }\n },\n {\n name: 'Subject',\n required: true,\n dump: (v: unknown) => {\n return typeof v === 'string' ? '=?utf-8?B?' + this.envctx.toBase64(v) + '?=' : ''\n }\n },\n {\n name: 'MIME-Version',\n generator: () => '1.0'\n }\n ]\n\n constructor (envctx: EnvironmentContext) {\n this.envctx = envctx\n }\n\n dump (): string {\n let lines = ''\n\n for (const field of this.fields) {\n if (field.disabled) continue\n const isValueDefinedByUser = field.value !== undefined && field.value !== null\n if (!isValueDefinedByUser && field.required) {\n throw new MIMETextError('MIMETEXT_MISSING_HEADER', `The \"${field.name}\" header is required.`)\n }\n if (!isValueDefinedByUser && typeof field.generator !== 'function') continue\n if (!isValueDefinedByUser && typeof field.generator === 'function') field.value = field.generator()\n const strval = Object.hasOwn(field, 'dump') && typeof field.dump === 'function'\n ? field.dump(field.value)\n : typeof field.value === 'string' ? field.value : ''\n lines += `${field.name}: ${strval}${this.envctx.eol}`\n }\n\n return lines.slice(0, -1 * this.envctx.eol.length)\n }\n\n toObject (): HeadersObject {\n return this.fields.reduce((memo: HeadersObject, item) => {\n memo[item.name] = item.value\n return memo\n }, {})\n }\n\n get (name: string): string | Mailbox | Mailbox[] | undefined {\n const fieldMatcher = (obj: HeaderField): boolean => obj.name.toLowerCase() === name.toLowerCase()\n const ind = this.fields.findIndex(fieldMatcher)\n\n return ind !== -1 ? (this.fields[ind]!).value : undefined\n }\n\n set (name: string, value: string | Mailbox | Mailbox[]): HeaderField {\n const fieldMatcher = (obj: HeaderField): boolean => obj.name.toLowerCase() === name.toLowerCase()\n const isCustomHeader = !this.fields.some(fieldMatcher)\n\n if (!isCustomHeader) {\n const ind = this.fields.findIndex(fieldMatcher)\n const field = this.fields[ind]!\n if (field.validate && !field.validate(value)) {\n throw new MIMETextError('MIMETEXT_INVALID_HEADER_VALUE', `The value for the header \"${name}\" is invalid.`)\n }\n (this.fields[ind]!).value = value\n return this.fields[ind]!\n }\n\n return this.setCustom({\n name: name,\n value: value,\n custom: true,\n dump: (v: unknown) => typeof v === 'string' ? v : ''\n })\n }\n\n setCustom (obj: HeaderField): HeaderField {\n if (this.isHeaderField(obj)) {\n if (typeof obj.value !== 'string') {\n throw new MIMETextError('MIMETEXT_INVALID_HEADER_FIELD', 'Custom header must have a value.')\n }\n this.fields.push(obj)\n return obj\n }\n\n throw new MIMETextError('MIMETEXT_INVALID_HEADER_FIELD', 'Invalid input for custom header. It must be in type of HeaderField.')\n }\n\n validateMailboxSingle (v: unknown): v is Mailbox {\n return v instanceof Mailbox\n }\n\n validateMailboxMulti (v: unknown): boolean {\n return v instanceof Mailbox || this.isArrayOfMailboxes(v)\n }\n\n dumpMailboxMulti (v: unknown): string {\n const dump = (item: Mailbox): string => item.name.length === 0\n ? item.dump()\n : `=?utf-8?B?${this.envctx.toBase64(item.name)}?= <${item.addr}>`\n return this.isArrayOfMailboxes(v) ? v.map(dump).join(`,${this.envctx.eol} `) : v instanceof Mailbox ? dump(v) : ''\n }\n\n dumpMailboxSingle (v: unknown): string {\n const dump = (item: Mailbox): string => item.name.length === 0\n ? item.dump()\n : `=?utf-8?B?${this.envctx.toBase64(item.name)}?= <${item.addr}>`\n return v instanceof Mailbox ? dump(v) : ''\n }\n\n isHeaderField (v: unknown): v is HeaderField {\n const validProps = ['name', 'value', 'dump', 'required', 'disabled', 'generator', 'custom']\n if (this.isObject(v)) {\n const h = v as HeaderField\n if (Object.hasOwn(h, 'name') && typeof h.name === 'string' && h.name.length > 0) {\n if (!Object.keys(h).some((prop) => !validProps.includes(prop))) {\n return true\n }\n }\n }\n return false\n }\n\n isObject (v: unknown): v is object {\n return (!!v) && (v.constructor === Object)\n }\n\n isArrayOfMailboxes (v: unknown): v is Mailbox[] {\n return this.isArray(v) && v.every((item: unknown) => item instanceof Mailbox)\n }\n\n isArray (v: unknown): v is never[] {\n return (!!v) && (v.constructor === Array)\n }\n}\n\nexport class MIMEMessageContentHeader extends MIMEMessageHeader {\n override fields = [\n {\n name: 'Content-ID'\n },\n {\n name: 'Content-Type'\n },\n {\n name: 'Content-Transfer-Encoding'\n },\n {\n name: 'Content-Disposition'\n }\n ]\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor (envctx: EnvironmentContext) {\n super(envctx)\n }\n}\n\nexport type HeadersObject = Record\nexport interface HeaderField {\n name: string\n dump?: (v: string | Mailbox | Mailbox[] | undefined) => string\n value?: string | Mailbox | Mailbox[] | undefined\n validate?: (v: unknown) => boolean\n required?: boolean\n disabled?: boolean\n generator?: () => string\n custom?: boolean\n}\n","import type { EnvironmentContext } from './MIMEMessage'\nimport type { Mailbox } from './Mailbox'\nimport { type HeadersObject, MIMEMessageContentHeader } from './MIMEMessageHeader.js'\n\nexport class MIMEMessageContent {\n envctx: EnvironmentContext\n headers\n data\n\n constructor (envctx: EnvironmentContext, data: string, headers = {}) {\n this.envctx = envctx\n this.headers = new MIMEMessageContentHeader(this.envctx)\n this.data = data\n this.setHeaders(headers)\n }\n\n dump (): string {\n const eol = this.envctx.eol\n return this.headers.dump() + eol + eol + this.data\n }\n\n isAttachment (): boolean {\n const disposition = this.headers.get('Content-Disposition')\n return typeof disposition === 'string' && disposition.includes('attachment')\n }\n\n isInlineAttachment (): boolean {\n const disposition = this.headers.get('Content-Disposition')\n return typeof disposition === 'string' && disposition.includes('inline')\n }\n\n setHeader (name: string, value: string | Mailbox | Mailbox[]): string {\n this.headers.set(name, value)\n return name\n }\n\n getHeader (name: string): string | Mailbox | Mailbox[] | undefined {\n return this.headers.get(name)\n }\n\n setHeaders (obj: Record): string[] {\n return Object.keys(obj).map((prop) => this.setHeader(prop, obj[prop]!))\n }\n\n getHeaders (): HeadersObject {\n return this.headers.toObject()\n }\n}\n","import type { MailboxAddrObject, MailboxConfig } from './Mailbox.js'\n\nimport { MIMETextError } from './MIMETextError.js'\nimport { type HeadersObject, MIMEMessageHeader } from './MIMEMessageHeader.js'\nimport { Mailbox } from './Mailbox.js'\nimport { MIMEMessageContent } from './MIMEMessageContent.js'\n\nexport class MIMEMessage {\n envctx: EnvironmentContext\n headers: MIMEMessageHeader\n boundaries: Boundaries = { mixed: '', alt: '', related: '' }\n validTypes = ['text/html', 'text/plain']\n validContentTransferEncodings = ['7bit', '8bit', 'binary', 'quoted-printable', 'base64']\n messages: MIMEMessageContent[] = []\n\n constructor (envctx: EnvironmentContext) {\n this.envctx = envctx\n this.headers = new MIMEMessageHeader(this.envctx)\n this.messages = []\n\n this.generateBoundaries()\n }\n\n asRaw (): string {\n const eol = this.envctx.eol\n const lines = this.headers.dump()\n\n const plaintext = this.getMessageByType('text/plain')\n const html = this.getMessageByType('text/html')\n const primaryMessage = html ?? (plaintext ?? undefined)\n\n if (primaryMessage === undefined) {\n throw new MIMETextError('MIMETEXT_MISSING_BODY', 'No content added to the message.')\n }\n\n const hasAttachments = this.hasAttachments()\n const hasInlineAttachments = this.hasInlineAttachments()\n\n const structure = hasInlineAttachments && hasAttachments\n ? 'mixed+related'\n : hasAttachments\n ? 'mixed'\n : hasInlineAttachments\n ? 'related'\n : plaintext && html\n ? 'alternative'\n : ''\n\n if (structure === 'mixed+related') {\n const attachments = this.getAttachments()\n .map((a) => '--' + this.boundaries.mixed + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n const inlineAttachments = this.getInlineAttachments()\n .map((a) => '--' + this.boundaries.related + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n return lines + eol +\n 'Content-Type: multipart/mixed; boundary=' + this.boundaries.mixed + eol +\n eol +\n '--' + this.boundaries.mixed + eol +\n 'Content-Type: multipart/related; boundary=' + this.boundaries.related + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.related) + eol +\n eol +\n inlineAttachments +\n '--' + this.boundaries.related + '--' + eol +\n attachments +\n '--' + this.boundaries.mixed + '--'\n } else if (structure === 'mixed') {\n const attachments = this.getAttachments()\n .map((a) => '--' + this.boundaries.mixed + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n return lines + eol +\n 'Content-Type: multipart/mixed; boundary=' + this.boundaries.mixed + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.mixed) + eol +\n (plaintext && html ? '' : eol) +\n attachments +\n '--' + this.boundaries.mixed + '--'\n } else if (structure === 'related') {\n const inlineAttachments = this.getInlineAttachments()\n .map((a) => '--' + this.boundaries.related + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n return lines + eol +\n 'Content-Type: multipart/related; boundary=' + this.boundaries.related + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.related) + eol +\n eol +\n inlineAttachments +\n '--' + this.boundaries.related + '--'\n } else if (structure === 'alternative') {\n return lines + eol +\n 'Content-Type: multipart/alternative; boundary=' + this.boundaries.alt + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.alt) + eol +\n eol +\n '--' + this.boundaries.alt + '--'\n } else {\n return lines + eol + primaryMessage.dump()\n }\n }\n\n asEncoded (): string {\n return this.envctx.toBase64WebSafe(this.asRaw())\n }\n\n dumpTextContent (plaintext: MIMEMessageContent | undefined, html: MIMEMessageContent | undefined, boundary: string): string {\n const eol = this.envctx.eol\n const primaryMessage = html ?? plaintext\n\n let data = ''\n\n if (plaintext && html && !this.hasInlineAttachments() && this.hasAttachments()) {\n data = '--' + boundary + eol +\n 'Content-Type: multipart/alternative; boundary=' + this.boundaries.alt + eol +\n eol +\n '--' + this.boundaries.alt + eol +\n plaintext.dump() + eol +\n eol +\n '--' + this.boundaries.alt + eol +\n html.dump() + eol +\n eol +\n '--' + this.boundaries.alt + '--'\n } else if (plaintext && html && this.hasInlineAttachments()) {\n data = '--' + boundary + eol +\n html.dump()\n } else if (plaintext && html) {\n data = '--' + boundary + eol +\n plaintext.dump() + eol +\n eol +\n '--' + boundary + eol +\n html.dump()\n } else {\n data = '--' + boundary + eol +\n (primaryMessage!).dump()\n }\n\n return data\n }\n\n hasInlineAttachments (): boolean {\n return this.messages.some((msg) => msg.isInlineAttachment())\n }\n\n hasAttachments (): boolean {\n return this.messages.some((msg) => msg.isAttachment())\n }\n\n getAttachments (): MIMEMessageContent[] | [] {\n const matcher = (msg: MIMEMessageContent): boolean => msg.isAttachment()\n return this.messages.some(matcher) ? this.messages.filter(matcher) : []\n }\n\n getInlineAttachments (): MIMEMessageContent[] | [] {\n const matcher = (msg: MIMEMessageContent): boolean => msg.isInlineAttachment()\n return this.messages.some(matcher) ? this.messages.filter(matcher) : []\n }\n\n getMessageByType (type: string): MIMEMessageContent | undefined {\n const matcher = (msg: MIMEMessageContent): boolean => !msg.isAttachment() && !msg.isInlineAttachment() && (msg.getHeader('Content-Type') as string || '').includes(type)\n return this.messages.some(matcher) ? this.messages.filter(matcher)[0] : undefined\n }\n\n addAttachment (opts: AttachmentOptions): MIMEMessageContent {\n if (!this.isObject(opts.headers)) opts.headers = {}\n\n if (typeof opts.filename !== 'string') {\n throw new MIMETextError('MIMETEXT_MISSING_FILENAME', 'The property \"filename\" must exist while adding attachments.')\n }\n\n let type = (opts.headers['Content-Type'] ?? opts.contentType) || 'none'\n if (this.envctx.validateContentType(type) === false) {\n throw new MIMETextError('MIMETEXT_INVALID_MESSAGE_TYPE', `You specified an invalid content type \"${type}\".`)\n }\n\n const encoding = (opts.headers['Content-Transfer-Encoding'] ?? opts.encoding) ?? 'base64'\n if (!this.validContentTransferEncodings.includes(encoding)) {\n type = 'application/octet-stream'\n }\n\n const contentId = opts.headers['Content-ID']\n if (typeof contentId === 'string' && contentId.length > 2 && !contentId.startsWith('<') && !contentId.endsWith('>')) {\n opts.headers['Content-ID'] = '<' + opts.headers['Content-ID'] + '>'\n }\n\n const disposition = opts.inline ? 'inline' : 'attachment'\n\n opts.headers = Object.assign({}, opts.headers, {\n 'Content-Type': `${type}; name=\"${opts.filename}\"`,\n 'Content-Transfer-Encoding': encoding,\n 'Content-Disposition': `${disposition}; filename=\"${opts.filename}\"`\n })\n\n return this._addMessage({ data: opts.data, headers: opts.headers })\n }\n\n addMessage (opts: ContentOptions): MIMEMessageContent {\n if (!this.isObject(opts.headers)) opts.headers = {}\n\n let type = (opts.headers['Content-Type'] ?? opts.contentType) || 'none'\n if (!this.validTypes.includes(type)) {\n throw new MIMETextError('MIMETEXT_INVALID_MESSAGE_TYPE', `Valid content types are ${this.validTypes.join(', ')} but you specified \"${type}\".`)\n }\n\n const encoding = (opts.headers['Content-Transfer-Encoding'] ?? opts.encoding) ?? '7bit'\n if (!this.validContentTransferEncodings.includes(encoding)) {\n type = 'application/octet-stream'\n }\n\n const charset = opts.charset ?? 'UTF-8'\n\n opts.headers = Object.assign({}, opts.headers, {\n 'Content-Type': `${type}; charset=${charset}`,\n 'Content-Transfer-Encoding': encoding\n })\n\n return this._addMessage({ data: opts.data, headers: opts.headers })\n }\n\n private _addMessage (opts: { data: string, headers: ContentHeaders }): MIMEMessageContent {\n const msg = new MIMEMessageContent(this.envctx, opts.data, opts.headers)\n\n this.messages.push(msg)\n\n return msg\n }\n\n setSender (input: MailboxAddrObject | string, config: MailboxConfig = { type: 'From' }): Mailbox {\n const mailbox = new Mailbox(input, config)\n this.setHeader('From', mailbox)\n return mailbox\n }\n\n getSender (): Mailbox | undefined {\n return this.getHeader('From') as Mailbox\n }\n\n setRecipients (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'To' }): Mailbox[] {\n const arr = !this.isArray(input) ? [input] : input\n const recs = arr.map((_input) => new Mailbox(_input, config))\n this.setHeader(config.type, recs)\n return recs\n }\n\n getRecipients (config: MailboxConfig = { type: 'To' }): Mailbox | Mailbox[] | undefined {\n return this.getHeader(config.type) as Mailbox | Mailbox[] | undefined\n }\n\n setRecipient (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'To' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setTo (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'To' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setCc (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'Cc' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setBcc (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'Bcc' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setSubject (value: string): string {\n this.setHeader('subject', value)\n return value\n }\n\n getSubject (): string | undefined {\n return this.getHeader('subject') as string\n }\n\n setHeader (name: string, value: string | Mailbox | Mailbox[]): string {\n this.headers.set(name, value)\n return name\n }\n\n getHeader (name: string): string | Mailbox | Mailbox[] | undefined {\n return this.headers.get(name)\n }\n\n setHeaders (obj: Record): string[] {\n return Object.keys(obj).map((prop) => this.setHeader(prop, obj[prop]!))\n }\n\n getHeaders (): HeadersObject {\n return this.headers.toObject()\n }\n\n toBase64 (v: string): string {\n return this.envctx.toBase64(v)\n }\n\n toBase64WebSafe (v: string): string {\n return this.envctx.toBase64WebSafe(v)\n }\n\n generateBoundaries (): void {\n this.boundaries = {\n mixed: Math.random().toString(36).slice(2),\n alt: Math.random().toString(36).slice(2),\n related: Math.random().toString(36).slice(2)\n }\n }\n\n isArray (v: unknown): v is unknown[] {\n return (!!v) && (v.constructor === Array)\n }\n\n isObject (v: unknown): v is object {\n return (!!v) && (v.constructor === Object)\n }\n}\n\nexport interface EnvironmentContext {\n toBase64: (v: string) => string\n toBase64WebSafe: (v: string) => string\n eol: string\n validateContentType: (v: string) => string | false\n}\n\nexport interface Boundaries {\n mixed: string\n alt: string\n related: string\n}\n\nexport type ContentTransferEncoding = '7bit' | '8bit' | 'binary' | 'quoted-printable' | 'base64'\n\nexport interface ContentHeaders {\n 'Content-Type'?: string\n 'Content-Transfer-Encoding'?: ContentTransferEncoding\n 'Content-Disposition'?: string\n 'Content-ID'?: string\n [index: string]: string | undefined\n}\n\nexport interface ContentOptions {\n data: string\n encoding?: ContentTransferEncoding\n contentType: string\n headers?: ContentHeaders\n charset?: string\n}\n\nexport interface AttachmentOptions extends ContentOptions {\n inline?: boolean\n filename: string\n}\n"]} \ No newline at end of file diff --git a/dist/node.d.cts b/dist/node.d.cts deleted file mode 100644 index fa004be..0000000 --- a/dist/node.d.cts +++ /dev/null @@ -1,6 +0,0 @@ -import { M as MIMEMessage } from './MIMETextError-BRDlE5Ge.cjs'; -export { A as AttachmentOptions, B as Boundaries, e as ContentHeaders, f as ContentOptions, C as ContentTransferEncoding, E as EnvironmentContext, k as HeaderField, H as HeadersObject, d as MIMEMessageContent, j as MIMEMessageContentHeader, c as MIMEMessageHeader, b as MIMETextError, a as Mailbox, h as MailboxAddrObject, g as MailboxConfig, i as MailboxType } from './MIMETextError-BRDlE5Ge.cjs'; - -declare function createMimeMessage(): MIMEMessage; - -export { MIMEMessage, createMimeMessage }; diff --git a/dist/node.d.ts b/dist/node.d.ts deleted file mode 100644 index 92e630d..0000000 --- a/dist/node.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { M as MIMEMessage } from './MIMETextError-BRDlE5Ge.js'; -export { A as AttachmentOptions, B as Boundaries, e as ContentHeaders, f as ContentOptions, C as ContentTransferEncoding, E as EnvironmentContext, k as HeaderField, H as HeadersObject, d as MIMEMessageContent, j as MIMEMessageContentHeader, c as MIMEMessageHeader, b as MIMETextError, a as Mailbox, h as MailboxAddrObject, g as MailboxConfig, i as MailboxType } from './MIMETextError-BRDlE5Ge.js'; - -declare function createMimeMessage(): MIMEMessage; - -export { MIMEMessage, createMimeMessage }; diff --git a/dist/node.global.js b/dist/node.global.js deleted file mode 100644 index f610ced..0000000 --- a/dist/node.global.js +++ /dev/null @@ -1,19 +0,0 @@ -var MimeText=(function(exports,node_os){'use strict';var I=Object.create;var y=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var O=Object.getOwnPropertyNames;var F=Object.getPrototypeOf,H=Object.prototype.hasOwnProperty;var _=(n,e,a)=>e in n?y(n,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):n[e]=a;var U=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(e,a)=>(typeof require<"u"?require:e)[a]}):n)(function(n){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+n+'" is not supported')});var k=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports);var S=(n,e,a,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of O(e))!H.call(n,s)&&s!==a&&y(n,s,{get:()=>e[s],enumerable:!(i=A(e,s))||i.enumerable});return n};var B=(n,e,a)=>(a=n!=null?I(F(n)):{},S(y(a,"default",{value:n,enumerable:!0}),n));var o=(n,e,a)=>_(n,typeof e!="symbol"?e+"":e,a);var j=k((Y,D)=>{D.exports={"application/1d-interleaved-parityfec":{source:"iana"},"application/3gpdash-qoe-report+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/3gpp-ims+xml":{source:"iana",compressible:!0},"application/3gpphal+json":{source:"iana",compressible:!0},"application/3gpphalforms+json":{source:"iana",compressible:!0},"application/a2l":{source:"iana"},"application/ace+cbor":{source:"iana"},"application/activemessage":{source:"iana"},"application/activity+json":{source:"iana",compressible:!0},"application/alto-costmap+json":{source:"iana",compressible:!0},"application/alto-costmapfilter+json":{source:"iana",compressible:!0},"application/alto-directory+json":{source:"iana",compressible:!0},"application/alto-endpointcost+json":{source:"iana",compressible:!0},"application/alto-endpointcostparams+json":{source:"iana",compressible:!0},"application/alto-endpointprop+json":{source:"iana",compressible:!0},"application/alto-endpointpropparams+json":{source:"iana",compressible:!0},"application/alto-error+json":{source:"iana",compressible:!0},"application/alto-networkmap+json":{source:"iana",compressible:!0},"application/alto-networkmapfilter+json":{source:"iana",compressible:!0},"application/alto-updatestreamcontrol+json":{source:"iana",compressible:!0},"application/alto-updatestreamparams+json":{source:"iana",compressible:!0},"application/aml":{source:"iana"},"application/andrew-inset":{source:"iana",extensions:["ez"]},"application/applefile":{source:"iana"},"application/applixware":{source:"apache",extensions:["aw"]},"application/at+jwt":{source:"iana"},"application/atf":{source:"iana"},"application/atfx":{source:"iana"},"application/atom+xml":{source:"iana",compressible:!0,extensions:["atom"]},"application/atomcat+xml":{source:"iana",compressible:!0,extensions:["atomcat"]},"application/atomdeleted+xml":{source:"iana",compressible:!0,extensions:["atomdeleted"]},"application/atomicmail":{source:"iana"},"application/atomsvc+xml":{source:"iana",compressible:!0,extensions:["atomsvc"]},"application/atsc-dwd+xml":{source:"iana",compressible:!0,extensions:["dwd"]},"application/atsc-dynamic-event-message":{source:"iana"},"application/atsc-held+xml":{source:"iana",compressible:!0,extensions:["held"]},"application/atsc-rdt+json":{source:"iana",compressible:!0},"application/atsc-rsat+xml":{source:"iana",compressible:!0,extensions:["rsat"]},"application/atxml":{source:"iana"},"application/auth-policy+xml":{source:"iana",compressible:!0},"application/bacnet-xdd+zip":{source:"iana",compressible:!1},"application/batch-smtp":{source:"iana"},"application/bdoc":{compressible:!1,extensions:["bdoc"]},"application/beep+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/calendar+json":{source:"iana",compressible:!0},"application/calendar+xml":{source:"iana",compressible:!0,extensions:["xcs"]},"application/call-completion":{source:"iana"},"application/cals-1840":{source:"iana"},"application/captive+json":{source:"iana",compressible:!0},"application/cbor":{source:"iana"},"application/cbor-seq":{source:"iana"},"application/cccex":{source:"iana"},"application/ccmp+xml":{source:"iana",compressible:!0},"application/ccxml+xml":{source:"iana",compressible:!0,extensions:["ccxml"]},"application/cdfx+xml":{source:"iana",compressible:!0,extensions:["cdfx"]},"application/cdmi-capability":{source:"iana",extensions:["cdmia"]},"application/cdmi-container":{source:"iana",extensions:["cdmic"]},"application/cdmi-domain":{source:"iana",extensions:["cdmid"]},"application/cdmi-object":{source:"iana",extensions:["cdmio"]},"application/cdmi-queue":{source:"iana",extensions:["cdmiq"]},"application/cdni":{source:"iana"},"application/cea":{source:"iana"},"application/cea-2018+xml":{source:"iana",compressible:!0},"application/cellml+xml":{source:"iana",compressible:!0},"application/cfw":{source:"iana"},"application/city+json":{source:"iana",compressible:!0},"application/clr":{source:"iana"},"application/clue+xml":{source:"iana",compressible:!0},"application/clue_info+xml":{source:"iana",compressible:!0},"application/cms":{source:"iana"},"application/cnrp+xml":{source:"iana",compressible:!0},"application/coap-group+json":{source:"iana",compressible:!0},"application/coap-payload":{source:"iana"},"application/commonground":{source:"iana"},"application/conference-info+xml":{source:"iana",compressible:!0},"application/cose":{source:"iana"},"application/cose-key":{source:"iana"},"application/cose-key-set":{source:"iana"},"application/cpl+xml":{source:"iana",compressible:!0,extensions:["cpl"]},"application/csrattrs":{source:"iana"},"application/csta+xml":{source:"iana",compressible:!0},"application/cstadata+xml":{source:"iana",compressible:!0},"application/csvm+json":{source:"iana",compressible:!0},"application/cu-seeme":{source:"apache",extensions:["cu"]},"application/cwt":{source:"iana"},"application/cybercash":{source:"iana"},"application/dart":{compressible:!0},"application/dash+xml":{source:"iana",compressible:!0,extensions:["mpd"]},"application/dash-patch+xml":{source:"iana",compressible:!0,extensions:["mpp"]},"application/dashdelta":{source:"iana"},"application/davmount+xml":{source:"iana",compressible:!0,extensions:["davmount"]},"application/dca-rft":{source:"iana"},"application/dcd":{source:"iana"},"application/dec-dx":{source:"iana"},"application/dialog-info+xml":{source:"iana",compressible:!0},"application/dicom":{source:"iana"},"application/dicom+json":{source:"iana",compressible:!0},"application/dicom+xml":{source:"iana",compressible:!0},"application/dii":{source:"iana"},"application/dit":{source:"iana"},"application/dns":{source:"iana"},"application/dns+json":{source:"iana",compressible:!0},"application/dns-message":{source:"iana"},"application/docbook+xml":{source:"apache",compressible:!0,extensions:["dbk"]},"application/dots+cbor":{source:"iana"},"application/dskpp+xml":{source:"iana",compressible:!0},"application/dssc+der":{source:"iana",extensions:["dssc"]},"application/dssc+xml":{source:"iana",compressible:!0,extensions:["xdssc"]},"application/dvcs":{source:"iana"},"application/ecmascript":{source:"iana",compressible:!0,extensions:["es","ecma"]},"application/edi-consent":{source:"iana"},"application/edi-x12":{source:"iana",compressible:!1},"application/edifact":{source:"iana",compressible:!1},"application/efi":{source:"iana"},"application/elm+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/elm+xml":{source:"iana",compressible:!0},"application/emergencycalldata.cap+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/emergencycalldata.comment+xml":{source:"iana",compressible:!0},"application/emergencycalldata.control+xml":{source:"iana",compressible:!0},"application/emergencycalldata.deviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.ecall.msd":{source:"iana"},"application/emergencycalldata.providerinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.serviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.subscriberinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.veds+xml":{source:"iana",compressible:!0},"application/emma+xml":{source:"iana",compressible:!0,extensions:["emma"]},"application/emotionml+xml":{source:"iana",compressible:!0,extensions:["emotionml"]},"application/encaprtp":{source:"iana"},"application/epp+xml":{source:"iana",compressible:!0},"application/epub+zip":{source:"iana",compressible:!1,extensions:["epub"]},"application/eshop":{source:"iana"},"application/exi":{source:"iana",extensions:["exi"]},"application/expect-ct-report+json":{source:"iana",compressible:!0},"application/express":{source:"iana",extensions:["exp"]},"application/fastinfoset":{source:"iana"},"application/fastsoap":{source:"iana"},"application/fdt+xml":{source:"iana",compressible:!0,extensions:["fdt"]},"application/fhir+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/fhir+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/fido.trusted-apps+json":{compressible:!0},"application/fits":{source:"iana"},"application/flexfec":{source:"iana"},"application/font-sfnt":{source:"iana"},"application/font-tdpfr":{source:"iana",extensions:["pfr"]},"application/font-woff":{source:"iana",compressible:!1},"application/framework-attributes+xml":{source:"iana",compressible:!0},"application/geo+json":{source:"iana",compressible:!0,extensions:["geojson"]},"application/geo+json-seq":{source:"iana"},"application/geopackage+sqlite3":{source:"iana"},"application/geoxacml+xml":{source:"iana",compressible:!0},"application/gltf-buffer":{source:"iana"},"application/gml+xml":{source:"iana",compressible:!0,extensions:["gml"]},"application/gpx+xml":{source:"apache",compressible:!0,extensions:["gpx"]},"application/gxf":{source:"apache",extensions:["gxf"]},"application/gzip":{source:"iana",compressible:!1,extensions:["gz"]},"application/h224":{source:"iana"},"application/held+xml":{source:"iana",compressible:!0},"application/hjson":{extensions:["hjson"]},"application/http":{source:"iana"},"application/hyperstudio":{source:"iana",extensions:["stk"]},"application/ibe-key-request+xml":{source:"iana",compressible:!0},"application/ibe-pkg-reply+xml":{source:"iana",compressible:!0},"application/ibe-pp-data":{source:"iana"},"application/iges":{source:"iana"},"application/im-iscomposing+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/index":{source:"iana"},"application/index.cmd":{source:"iana"},"application/index.obj":{source:"iana"},"application/index.response":{source:"iana"},"application/index.vnd":{source:"iana"},"application/inkml+xml":{source:"iana",compressible:!0,extensions:["ink","inkml"]},"application/iotp":{source:"iana"},"application/ipfix":{source:"iana",extensions:["ipfix"]},"application/ipp":{source:"iana"},"application/isup":{source:"iana"},"application/its+xml":{source:"iana",compressible:!0,extensions:["its"]},"application/java-archive":{source:"apache",compressible:!1,extensions:["jar","war","ear"]},"application/java-serialized-object":{source:"apache",compressible:!1,extensions:["ser"]},"application/java-vm":{source:"apache",compressible:!1,extensions:["class"]},"application/javascript":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["js","mjs"]},"application/jf2feed+json":{source:"iana",compressible:!0},"application/jose":{source:"iana"},"application/jose+json":{source:"iana",compressible:!0},"application/jrd+json":{source:"iana",compressible:!0},"application/jscalendar+json":{source:"iana",compressible:!0},"application/json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["json","map"]},"application/json-patch+json":{source:"iana",compressible:!0},"application/json-seq":{source:"iana"},"application/json5":{extensions:["json5"]},"application/jsonml+json":{source:"apache",compressible:!0,extensions:["jsonml"]},"application/jwk+json":{source:"iana",compressible:!0},"application/jwk-set+json":{source:"iana",compressible:!0},"application/jwt":{source:"iana"},"application/kpml-request+xml":{source:"iana",compressible:!0},"application/kpml-response+xml":{source:"iana",compressible:!0},"application/ld+json":{source:"iana",compressible:!0,extensions:["jsonld"]},"application/lgr+xml":{source:"iana",compressible:!0,extensions:["lgr"]},"application/link-format":{source:"iana"},"application/load-control+xml":{source:"iana",compressible:!0},"application/lost+xml":{source:"iana",compressible:!0,extensions:["lostxml"]},"application/lostsync+xml":{source:"iana",compressible:!0},"application/lpf+zip":{source:"iana",compressible:!1},"application/lxf":{source:"iana"},"application/mac-binhex40":{source:"iana",extensions:["hqx"]},"application/mac-compactpro":{source:"apache",extensions:["cpt"]},"application/macwriteii":{source:"iana"},"application/mads+xml":{source:"iana",compressible:!0,extensions:["mads"]},"application/manifest+json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["webmanifest"]},"application/marc":{source:"iana",extensions:["mrc"]},"application/marcxml+xml":{source:"iana",compressible:!0,extensions:["mrcx"]},"application/mathematica":{source:"iana",extensions:["ma","nb","mb"]},"application/mathml+xml":{source:"iana",compressible:!0,extensions:["mathml"]},"application/mathml-content+xml":{source:"iana",compressible:!0},"application/mathml-presentation+xml":{source:"iana",compressible:!0},"application/mbms-associated-procedure-description+xml":{source:"iana",compressible:!0},"application/mbms-deregister+xml":{source:"iana",compressible:!0},"application/mbms-envelope+xml":{source:"iana",compressible:!0},"application/mbms-msk+xml":{source:"iana",compressible:!0},"application/mbms-msk-response+xml":{source:"iana",compressible:!0},"application/mbms-protection-description+xml":{source:"iana",compressible:!0},"application/mbms-reception-report+xml":{source:"iana",compressible:!0},"application/mbms-register+xml":{source:"iana",compressible:!0},"application/mbms-register-response+xml":{source:"iana",compressible:!0},"application/mbms-schedule+xml":{source:"iana",compressible:!0},"application/mbms-user-service-description+xml":{source:"iana",compressible:!0},"application/mbox":{source:"iana",extensions:["mbox"]},"application/media-policy-dataset+xml":{source:"iana",compressible:!0,extensions:["mpf"]},"application/media_control+xml":{source:"iana",compressible:!0},"application/mediaservercontrol+xml":{source:"iana",compressible:!0,extensions:["mscml"]},"application/merge-patch+json":{source:"iana",compressible:!0},"application/metalink+xml":{source:"apache",compressible:!0,extensions:["metalink"]},"application/metalink4+xml":{source:"iana",compressible:!0,extensions:["meta4"]},"application/mets+xml":{source:"iana",compressible:!0,extensions:["mets"]},"application/mf4":{source:"iana"},"application/mikey":{source:"iana"},"application/mipc":{source:"iana"},"application/missing-blocks+cbor-seq":{source:"iana"},"application/mmt-aei+xml":{source:"iana",compressible:!0,extensions:["maei"]},"application/mmt-usd+xml":{source:"iana",compressible:!0,extensions:["musd"]},"application/mods+xml":{source:"iana",compressible:!0,extensions:["mods"]},"application/moss-keys":{source:"iana"},"application/moss-signature":{source:"iana"},"application/mosskey-data":{source:"iana"},"application/mosskey-request":{source:"iana"},"application/mp21":{source:"iana",extensions:["m21","mp21"]},"application/mp4":{source:"iana",extensions:["mp4s","m4p"]},"application/mpeg4-generic":{source:"iana"},"application/mpeg4-iod":{source:"iana"},"application/mpeg4-iod-xmt":{source:"iana"},"application/mrb-consumer+xml":{source:"iana",compressible:!0},"application/mrb-publish+xml":{source:"iana",compressible:!0},"application/msc-ivr+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msc-mixer+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msword":{source:"iana",compressible:!1,extensions:["doc","dot"]},"application/mud+json":{source:"iana",compressible:!0},"application/multipart-core":{source:"iana"},"application/mxf":{source:"iana",extensions:["mxf"]},"application/n-quads":{source:"iana",extensions:["nq"]},"application/n-triples":{source:"iana",extensions:["nt"]},"application/nasdata":{source:"iana"},"application/news-checkgroups":{source:"iana",charset:"US-ASCII"},"application/news-groupinfo":{source:"iana",charset:"US-ASCII"},"application/news-transmission":{source:"iana"},"application/nlsml+xml":{source:"iana",compressible:!0},"application/node":{source:"iana",extensions:["cjs"]},"application/nss":{source:"iana"},"application/oauth-authz-req+jwt":{source:"iana"},"application/oblivious-dns-message":{source:"iana"},"application/ocsp-request":{source:"iana"},"application/ocsp-response":{source:"iana"},"application/octet-stream":{source:"iana",compressible:!1,extensions:["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"]},"application/oda":{source:"iana",extensions:["oda"]},"application/odm+xml":{source:"iana",compressible:!0},"application/odx":{source:"iana"},"application/oebps-package+xml":{source:"iana",compressible:!0,extensions:["opf"]},"application/ogg":{source:"iana",compressible:!1,extensions:["ogx"]},"application/omdoc+xml":{source:"apache",compressible:!0,extensions:["omdoc"]},"application/onenote":{source:"apache",extensions:["onetoc","onetoc2","onetmp","onepkg"]},"application/opc-nodeset+xml":{source:"iana",compressible:!0},"application/oscore":{source:"iana"},"application/oxps":{source:"iana",extensions:["oxps"]},"application/p21":{source:"iana"},"application/p21+zip":{source:"iana",compressible:!1},"application/p2p-overlay+xml":{source:"iana",compressible:!0,extensions:["relo"]},"application/parityfec":{source:"iana"},"application/passport":{source:"iana"},"application/patch-ops-error+xml":{source:"iana",compressible:!0,extensions:["xer"]},"application/pdf":{source:"iana",compressible:!1,extensions:["pdf"]},"application/pdx":{source:"iana"},"application/pem-certificate-chain":{source:"iana"},"application/pgp-encrypted":{source:"iana",compressible:!1,extensions:["pgp"]},"application/pgp-keys":{source:"iana",extensions:["asc"]},"application/pgp-signature":{source:"iana",extensions:["asc","sig"]},"application/pics-rules":{source:"apache",extensions:["prf"]},"application/pidf+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/pidf-diff+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/pkcs10":{source:"iana",extensions:["p10"]},"application/pkcs12":{source:"iana"},"application/pkcs7-mime":{source:"iana",extensions:["p7m","p7c"]},"application/pkcs7-signature":{source:"iana",extensions:["p7s"]},"application/pkcs8":{source:"iana",extensions:["p8"]},"application/pkcs8-encrypted":{source:"iana"},"application/pkix-attr-cert":{source:"iana",extensions:["ac"]},"application/pkix-cert":{source:"iana",extensions:["cer"]},"application/pkix-crl":{source:"iana",extensions:["crl"]},"application/pkix-pkipath":{source:"iana",extensions:["pkipath"]},"application/pkixcmp":{source:"iana",extensions:["pki"]},"application/pls+xml":{source:"iana",compressible:!0,extensions:["pls"]},"application/poc-settings+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/postscript":{source:"iana",compressible:!0,extensions:["ai","eps","ps"]},"application/ppsp-tracker+json":{source:"iana",compressible:!0},"application/problem+json":{source:"iana",compressible:!0},"application/problem+xml":{source:"iana",compressible:!0},"application/provenance+xml":{source:"iana",compressible:!0,extensions:["provx"]},"application/prs.alvestrand.titrax-sheet":{source:"iana"},"application/prs.cww":{source:"iana",extensions:["cww"]},"application/prs.cyn":{source:"iana",charset:"7-BIT"},"application/prs.hpub+zip":{source:"iana",compressible:!1},"application/prs.nprend":{source:"iana"},"application/prs.plucker":{source:"iana"},"application/prs.rdf-xml-crypt":{source:"iana"},"application/prs.xsf+xml":{source:"iana",compressible:!0},"application/pskc+xml":{source:"iana",compressible:!0,extensions:["pskcxml"]},"application/pvd+json":{source:"iana",compressible:!0},"application/qsig":{source:"iana"},"application/raml+yaml":{compressible:!0,extensions:["raml"]},"application/raptorfec":{source:"iana"},"application/rdap+json":{source:"iana",compressible:!0},"application/rdf+xml":{source:"iana",compressible:!0,extensions:["rdf","owl"]},"application/reginfo+xml":{source:"iana",compressible:!0,extensions:["rif"]},"application/relax-ng-compact-syntax":{source:"iana",extensions:["rnc"]},"application/remote-printing":{source:"iana"},"application/reputon+json":{source:"iana",compressible:!0},"application/resource-lists+xml":{source:"iana",compressible:!0,extensions:["rl"]},"application/resource-lists-diff+xml":{source:"iana",compressible:!0,extensions:["rld"]},"application/rfc+xml":{source:"iana",compressible:!0},"application/riscos":{source:"iana"},"application/rlmi+xml":{source:"iana",compressible:!0},"application/rls-services+xml":{source:"iana",compressible:!0,extensions:["rs"]},"application/route-apd+xml":{source:"iana",compressible:!0,extensions:["rapd"]},"application/route-s-tsid+xml":{source:"iana",compressible:!0,extensions:["sls"]},"application/route-usd+xml":{source:"iana",compressible:!0,extensions:["rusd"]},"application/rpki-ghostbusters":{source:"iana",extensions:["gbr"]},"application/rpki-manifest":{source:"iana",extensions:["mft"]},"application/rpki-publication":{source:"iana"},"application/rpki-roa":{source:"iana",extensions:["roa"]},"application/rpki-updown":{source:"iana"},"application/rsd+xml":{source:"apache",compressible:!0,extensions:["rsd"]},"application/rss+xml":{source:"apache",compressible:!0,extensions:["rss"]},"application/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"application/rtploopback":{source:"iana"},"application/rtx":{source:"iana"},"application/samlassertion+xml":{source:"iana",compressible:!0},"application/samlmetadata+xml":{source:"iana",compressible:!0},"application/sarif+json":{source:"iana",compressible:!0},"application/sarif-external-properties+json":{source:"iana",compressible:!0},"application/sbe":{source:"iana"},"application/sbml+xml":{source:"iana",compressible:!0,extensions:["sbml"]},"application/scaip+xml":{source:"iana",compressible:!0},"application/scim+json":{source:"iana",compressible:!0},"application/scvp-cv-request":{source:"iana",extensions:["scq"]},"application/scvp-cv-response":{source:"iana",extensions:["scs"]},"application/scvp-vp-request":{source:"iana",extensions:["spq"]},"application/scvp-vp-response":{source:"iana",extensions:["spp"]},"application/sdp":{source:"iana",extensions:["sdp"]},"application/secevent+jwt":{source:"iana"},"application/senml+cbor":{source:"iana"},"application/senml+json":{source:"iana",compressible:!0},"application/senml+xml":{source:"iana",compressible:!0,extensions:["senmlx"]},"application/senml-etch+cbor":{source:"iana"},"application/senml-etch+json":{source:"iana",compressible:!0},"application/senml-exi":{source:"iana"},"application/sensml+cbor":{source:"iana"},"application/sensml+json":{source:"iana",compressible:!0},"application/sensml+xml":{source:"iana",compressible:!0,extensions:["sensmlx"]},"application/sensml-exi":{source:"iana"},"application/sep+xml":{source:"iana",compressible:!0},"application/sep-exi":{source:"iana"},"application/session-info":{source:"iana"},"application/set-payment":{source:"iana"},"application/set-payment-initiation":{source:"iana",extensions:["setpay"]},"application/set-registration":{source:"iana"},"application/set-registration-initiation":{source:"iana",extensions:["setreg"]},"application/sgml":{source:"iana"},"application/sgml-open-catalog":{source:"iana"},"application/shf+xml":{source:"iana",compressible:!0,extensions:["shf"]},"application/sieve":{source:"iana",extensions:["siv","sieve"]},"application/simple-filter+xml":{source:"iana",compressible:!0},"application/simple-message-summary":{source:"iana"},"application/simplesymbolcontainer":{source:"iana"},"application/sipc":{source:"iana"},"application/slate":{source:"iana"},"application/smil":{source:"iana"},"application/smil+xml":{source:"iana",compressible:!0,extensions:["smi","smil"]},"application/smpte336m":{source:"iana"},"application/soap+fastinfoset":{source:"iana"},"application/soap+xml":{source:"iana",compressible:!0},"application/sparql-query":{source:"iana",extensions:["rq"]},"application/sparql-results+xml":{source:"iana",compressible:!0,extensions:["srx"]},"application/spdx+json":{source:"iana",compressible:!0},"application/spirits-event+xml":{source:"iana",compressible:!0},"application/sql":{source:"iana"},"application/srgs":{source:"iana",extensions:["gram"]},"application/srgs+xml":{source:"iana",compressible:!0,extensions:["grxml"]},"application/sru+xml":{source:"iana",compressible:!0,extensions:["sru"]},"application/ssdl+xml":{source:"apache",compressible:!0,extensions:["ssdl"]},"application/ssml+xml":{source:"iana",compressible:!0,extensions:["ssml"]},"application/stix+json":{source:"iana",compressible:!0},"application/swid+xml":{source:"iana",compressible:!0,extensions:["swidtag"]},"application/tamp-apex-update":{source:"iana"},"application/tamp-apex-update-confirm":{source:"iana"},"application/tamp-community-update":{source:"iana"},"application/tamp-community-update-confirm":{source:"iana"},"application/tamp-error":{source:"iana"},"application/tamp-sequence-adjust":{source:"iana"},"application/tamp-sequence-adjust-confirm":{source:"iana"},"application/tamp-status-query":{source:"iana"},"application/tamp-status-response":{source:"iana"},"application/tamp-update":{source:"iana"},"application/tamp-update-confirm":{source:"iana"},"application/tar":{compressible:!0},"application/taxii+json":{source:"iana",compressible:!0},"application/td+json":{source:"iana",compressible:!0},"application/tei+xml":{source:"iana",compressible:!0,extensions:["tei","teicorpus"]},"application/tetra_isi":{source:"iana"},"application/thraud+xml":{source:"iana",compressible:!0,extensions:["tfi"]},"application/timestamp-query":{source:"iana"},"application/timestamp-reply":{source:"iana"},"application/timestamped-data":{source:"iana",extensions:["tsd"]},"application/tlsrpt+gzip":{source:"iana"},"application/tlsrpt+json":{source:"iana",compressible:!0},"application/tnauthlist":{source:"iana"},"application/token-introspection+jwt":{source:"iana"},"application/toml":{compressible:!0,extensions:["toml"]},"application/trickle-ice-sdpfrag":{source:"iana"},"application/trig":{source:"iana",extensions:["trig"]},"application/ttml+xml":{source:"iana",compressible:!0,extensions:["ttml"]},"application/tve-trigger":{source:"iana"},"application/tzif":{source:"iana"},"application/tzif-leap":{source:"iana"},"application/ubjson":{compressible:!1,extensions:["ubj"]},"application/ulpfec":{source:"iana"},"application/urc-grpsheet+xml":{source:"iana",compressible:!0},"application/urc-ressheet+xml":{source:"iana",compressible:!0,extensions:["rsheet"]},"application/urc-targetdesc+xml":{source:"iana",compressible:!0,extensions:["td"]},"application/urc-uisocketdesc+xml":{source:"iana",compressible:!0},"application/vcard+json":{source:"iana",compressible:!0},"application/vcard+xml":{source:"iana",compressible:!0},"application/vemmi":{source:"iana"},"application/vividence.scriptfile":{source:"apache"},"application/vnd.1000minds.decision-model+xml":{source:"iana",compressible:!0,extensions:["1km"]},"application/vnd.3gpp-prose+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-prose-pc3ch+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-v2x-local-service-information":{source:"iana"},"application/vnd.3gpp.5gnas":{source:"iana"},"application/vnd.3gpp.access-transfer-events+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.bsf+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gmop+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gtpc":{source:"iana"},"application/vnd.3gpp.interworking-data":{source:"iana"},"application/vnd.3gpp.lpp":{source:"iana"},"application/vnd.3gpp.mc-signalling-ear":{source:"iana"},"application/vnd.3gpp.mcdata-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-payload":{source:"iana"},"application/vnd.3gpp.mcdata-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-signalling":{source:"iana"},"application/vnd.3gpp.mcdata-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-floor-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-signed+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-init-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-transmission-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mid-call+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ngap":{source:"iana"},"application/vnd.3gpp.pfcp":{source:"iana"},"application/vnd.3gpp.pic-bw-large":{source:"iana",extensions:["plb"]},"application/vnd.3gpp.pic-bw-small":{source:"iana",extensions:["psb"]},"application/vnd.3gpp.pic-bw-var":{source:"iana",extensions:["pvb"]},"application/vnd.3gpp.s1ap":{source:"iana"},"application/vnd.3gpp.sms":{source:"iana"},"application/vnd.3gpp.sms+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-ext+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.state-and-event-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ussd+xml":{source:"iana",compressible:!0},"application/vnd.3gpp2.bcmcsinfo+xml":{source:"iana",compressible:!0},"application/vnd.3gpp2.sms":{source:"iana"},"application/vnd.3gpp2.tcap":{source:"iana",extensions:["tcap"]},"application/vnd.3lightssoftware.imagescal":{source:"iana"},"application/vnd.3m.post-it-notes":{source:"iana",extensions:["pwn"]},"application/vnd.accpac.simply.aso":{source:"iana",extensions:["aso"]},"application/vnd.accpac.simply.imp":{source:"iana",extensions:["imp"]},"application/vnd.acucobol":{source:"iana",extensions:["acu"]},"application/vnd.acucorp":{source:"iana",extensions:["atc","acutc"]},"application/vnd.adobe.air-application-installer-package+zip":{source:"apache",compressible:!1,extensions:["air"]},"application/vnd.adobe.flash.movie":{source:"iana"},"application/vnd.adobe.formscentral.fcdt":{source:"iana",extensions:["fcdt"]},"application/vnd.adobe.fxp":{source:"iana",extensions:["fxp","fxpl"]},"application/vnd.adobe.partial-upload":{source:"iana"},"application/vnd.adobe.xdp+xml":{source:"iana",compressible:!0,extensions:["xdp"]},"application/vnd.adobe.xfdf":{source:"iana",extensions:["xfdf"]},"application/vnd.aether.imp":{source:"iana"},"application/vnd.afpc.afplinedata":{source:"iana"},"application/vnd.afpc.afplinedata-pagedef":{source:"iana"},"application/vnd.afpc.cmoca-cmresource":{source:"iana"},"application/vnd.afpc.foca-charset":{source:"iana"},"application/vnd.afpc.foca-codedfont":{source:"iana"},"application/vnd.afpc.foca-codepage":{source:"iana"},"application/vnd.afpc.modca":{source:"iana"},"application/vnd.afpc.modca-cmtable":{source:"iana"},"application/vnd.afpc.modca-formdef":{source:"iana"},"application/vnd.afpc.modca-mediummap":{source:"iana"},"application/vnd.afpc.modca-objectcontainer":{source:"iana"},"application/vnd.afpc.modca-overlay":{source:"iana"},"application/vnd.afpc.modca-pagesegment":{source:"iana"},"application/vnd.age":{source:"iana",extensions:["age"]},"application/vnd.ah-barcode":{source:"iana"},"application/vnd.ahead.space":{source:"iana",extensions:["ahead"]},"application/vnd.airzip.filesecure.azf":{source:"iana",extensions:["azf"]},"application/vnd.airzip.filesecure.azs":{source:"iana",extensions:["azs"]},"application/vnd.amadeus+json":{source:"iana",compressible:!0},"application/vnd.amazon.ebook":{source:"apache",extensions:["azw"]},"application/vnd.amazon.mobi8-ebook":{source:"iana"},"application/vnd.americandynamics.acc":{source:"iana",extensions:["acc"]},"application/vnd.amiga.ami":{source:"iana",extensions:["ami"]},"application/vnd.amundsen.maze+xml":{source:"iana",compressible:!0},"application/vnd.android.ota":{source:"iana"},"application/vnd.android.package-archive":{source:"apache",compressible:!1,extensions:["apk"]},"application/vnd.anki":{source:"iana"},"application/vnd.anser-web-certificate-issue-initiation":{source:"iana",extensions:["cii"]},"application/vnd.anser-web-funds-transfer-initiation":{source:"apache",extensions:["fti"]},"application/vnd.antix.game-component":{source:"iana",extensions:["atx"]},"application/vnd.apache.arrow.file":{source:"iana"},"application/vnd.apache.arrow.stream":{source:"iana"},"application/vnd.apache.thrift.binary":{source:"iana"},"application/vnd.apache.thrift.compact":{source:"iana"},"application/vnd.apache.thrift.json":{source:"iana"},"application/vnd.api+json":{source:"iana",compressible:!0},"application/vnd.aplextor.warrp+json":{source:"iana",compressible:!0},"application/vnd.apothekende.reservation+json":{source:"iana",compressible:!0},"application/vnd.apple.installer+xml":{source:"iana",compressible:!0,extensions:["mpkg"]},"application/vnd.apple.keynote":{source:"iana",extensions:["key"]},"application/vnd.apple.mpegurl":{source:"iana",extensions:["m3u8"]},"application/vnd.apple.numbers":{source:"iana",extensions:["numbers"]},"application/vnd.apple.pages":{source:"iana",extensions:["pages"]},"application/vnd.apple.pkpass":{compressible:!1,extensions:["pkpass"]},"application/vnd.arastra.swi":{source:"iana"},"application/vnd.aristanetworks.swi":{source:"iana",extensions:["swi"]},"application/vnd.artisan+json":{source:"iana",compressible:!0},"application/vnd.artsquare":{source:"iana"},"application/vnd.astraea-software.iota":{source:"iana",extensions:["iota"]},"application/vnd.audiograph":{source:"iana",extensions:["aep"]},"application/vnd.autopackage":{source:"iana"},"application/vnd.avalon+json":{source:"iana",compressible:!0},"application/vnd.avistar+xml":{source:"iana",compressible:!0},"application/vnd.balsamiq.bmml+xml":{source:"iana",compressible:!0,extensions:["bmml"]},"application/vnd.balsamiq.bmpr":{source:"iana"},"application/vnd.banana-accounting":{source:"iana"},"application/vnd.bbf.usp.error":{source:"iana"},"application/vnd.bbf.usp.msg":{source:"iana"},"application/vnd.bbf.usp.msg+json":{source:"iana",compressible:!0},"application/vnd.bekitzur-stech+json":{source:"iana",compressible:!0},"application/vnd.bint.med-content":{source:"iana"},"application/vnd.biopax.rdf+xml":{source:"iana",compressible:!0},"application/vnd.blink-idb-value-wrapper":{source:"iana"},"application/vnd.blueice.multipass":{source:"iana",extensions:["mpm"]},"application/vnd.bluetooth.ep.oob":{source:"iana"},"application/vnd.bluetooth.le.oob":{source:"iana"},"application/vnd.bmi":{source:"iana",extensions:["bmi"]},"application/vnd.bpf":{source:"iana"},"application/vnd.bpf3":{source:"iana"},"application/vnd.businessobjects":{source:"iana",extensions:["rep"]},"application/vnd.byu.uapi+json":{source:"iana",compressible:!0},"application/vnd.cab-jscript":{source:"iana"},"application/vnd.canon-cpdl":{source:"iana"},"application/vnd.canon-lips":{source:"iana"},"application/vnd.capasystems-pg+json":{source:"iana",compressible:!0},"application/vnd.cendio.thinlinc.clientconf":{source:"iana"},"application/vnd.century-systems.tcp_stream":{source:"iana"},"application/vnd.chemdraw+xml":{source:"iana",compressible:!0,extensions:["cdxml"]},"application/vnd.chess-pgn":{source:"iana"},"application/vnd.chipnuts.karaoke-mmd":{source:"iana",extensions:["mmd"]},"application/vnd.ciedi":{source:"iana"},"application/vnd.cinderella":{source:"iana",extensions:["cdy"]},"application/vnd.cirpack.isdn-ext":{source:"iana"},"application/vnd.citationstyles.style+xml":{source:"iana",compressible:!0,extensions:["csl"]},"application/vnd.claymore":{source:"iana",extensions:["cla"]},"application/vnd.cloanto.rp9":{source:"iana",extensions:["rp9"]},"application/vnd.clonk.c4group":{source:"iana",extensions:["c4g","c4d","c4f","c4p","c4u"]},"application/vnd.cluetrust.cartomobile-config":{source:"iana",extensions:["c11amc"]},"application/vnd.cluetrust.cartomobile-config-pkg":{source:"iana",extensions:["c11amz"]},"application/vnd.coffeescript":{source:"iana"},"application/vnd.collabio.xodocuments.document":{source:"iana"},"application/vnd.collabio.xodocuments.document-template":{source:"iana"},"application/vnd.collabio.xodocuments.presentation":{source:"iana"},"application/vnd.collabio.xodocuments.presentation-template":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet-template":{source:"iana"},"application/vnd.collection+json":{source:"iana",compressible:!0},"application/vnd.collection.doc+json":{source:"iana",compressible:!0},"application/vnd.collection.next+json":{source:"iana",compressible:!0},"application/vnd.comicbook+zip":{source:"iana",compressible:!1},"application/vnd.comicbook-rar":{source:"iana"},"application/vnd.commerce-battelle":{source:"iana"},"application/vnd.commonspace":{source:"iana",extensions:["csp"]},"application/vnd.contact.cmsg":{source:"iana",extensions:["cdbcmsg"]},"application/vnd.coreos.ignition+json":{source:"iana",compressible:!0},"application/vnd.cosmocaller":{source:"iana",extensions:["cmc"]},"application/vnd.crick.clicker":{source:"iana",extensions:["clkx"]},"application/vnd.crick.clicker.keyboard":{source:"iana",extensions:["clkk"]},"application/vnd.crick.clicker.palette":{source:"iana",extensions:["clkp"]},"application/vnd.crick.clicker.template":{source:"iana",extensions:["clkt"]},"application/vnd.crick.clicker.wordbank":{source:"iana",extensions:["clkw"]},"application/vnd.criticaltools.wbs+xml":{source:"iana",compressible:!0,extensions:["wbs"]},"application/vnd.cryptii.pipe+json":{source:"iana",compressible:!0},"application/vnd.crypto-shade-file":{source:"iana"},"application/vnd.cryptomator.encrypted":{source:"iana"},"application/vnd.cryptomator.vault":{source:"iana"},"application/vnd.ctc-posml":{source:"iana",extensions:["pml"]},"application/vnd.ctct.ws+xml":{source:"iana",compressible:!0},"application/vnd.cups-pdf":{source:"iana"},"application/vnd.cups-postscript":{source:"iana"},"application/vnd.cups-ppd":{source:"iana",extensions:["ppd"]},"application/vnd.cups-raster":{source:"iana"},"application/vnd.cups-raw":{source:"iana"},"application/vnd.curl":{source:"iana"},"application/vnd.curl.car":{source:"apache",extensions:["car"]},"application/vnd.curl.pcurl":{source:"apache",extensions:["pcurl"]},"application/vnd.cyan.dean.root+xml":{source:"iana",compressible:!0},"application/vnd.cybank":{source:"iana"},"application/vnd.cyclonedx+json":{source:"iana",compressible:!0},"application/vnd.cyclonedx+xml":{source:"iana",compressible:!0},"application/vnd.d2l.coursepackage1p0+zip":{source:"iana",compressible:!1},"application/vnd.d3m-dataset":{source:"iana"},"application/vnd.d3m-problem":{source:"iana"},"application/vnd.dart":{source:"iana",compressible:!0,extensions:["dart"]},"application/vnd.data-vision.rdz":{source:"iana",extensions:["rdz"]},"application/vnd.datapackage+json":{source:"iana",compressible:!0},"application/vnd.dataresource+json":{source:"iana",compressible:!0},"application/vnd.dbf":{source:"iana",extensions:["dbf"]},"application/vnd.debian.binary-package":{source:"iana"},"application/vnd.dece.data":{source:"iana",extensions:["uvf","uvvf","uvd","uvvd"]},"application/vnd.dece.ttml+xml":{source:"iana",compressible:!0,extensions:["uvt","uvvt"]},"application/vnd.dece.unspecified":{source:"iana",extensions:["uvx","uvvx"]},"application/vnd.dece.zip":{source:"iana",extensions:["uvz","uvvz"]},"application/vnd.denovo.fcselayout-link":{source:"iana",extensions:["fe_launch"]},"application/vnd.desmume.movie":{source:"iana"},"application/vnd.dir-bi.plate-dl-nosuffix":{source:"iana"},"application/vnd.dm.delegation+xml":{source:"iana",compressible:!0},"application/vnd.dna":{source:"iana",extensions:["dna"]},"application/vnd.document+json":{source:"iana",compressible:!0},"application/vnd.dolby.mlp":{source:"apache",extensions:["mlp"]},"application/vnd.dolby.mobile.1":{source:"iana"},"application/vnd.dolby.mobile.2":{source:"iana"},"application/vnd.doremir.scorecloud-binary-document":{source:"iana"},"application/vnd.dpgraph":{source:"iana",extensions:["dpg"]},"application/vnd.dreamfactory":{source:"iana",extensions:["dfac"]},"application/vnd.drive+json":{source:"iana",compressible:!0},"application/vnd.ds-keypoint":{source:"apache",extensions:["kpxx"]},"application/vnd.dtg.local":{source:"iana"},"application/vnd.dtg.local.flash":{source:"iana"},"application/vnd.dtg.local.html":{source:"iana"},"application/vnd.dvb.ait":{source:"iana",extensions:["ait"]},"application/vnd.dvb.dvbisl+xml":{source:"iana",compressible:!0},"application/vnd.dvb.dvbj":{source:"iana"},"application/vnd.dvb.esgcontainer":{source:"iana"},"application/vnd.dvb.ipdcdftnotifaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess2":{source:"iana"},"application/vnd.dvb.ipdcesgpdd":{source:"iana"},"application/vnd.dvb.ipdcroaming":{source:"iana"},"application/vnd.dvb.iptv.alfec-base":{source:"iana"},"application/vnd.dvb.iptv.alfec-enhancement":{source:"iana"},"application/vnd.dvb.notif-aggregate-root+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-container+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-generic+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-msglist+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-request+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-response+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-init+xml":{source:"iana",compressible:!0},"application/vnd.dvb.pfr":{source:"iana"},"application/vnd.dvb.service":{source:"iana",extensions:["svc"]},"application/vnd.dxr":{source:"iana"},"application/vnd.dynageo":{source:"iana",extensions:["geo"]},"application/vnd.dzr":{source:"iana"},"application/vnd.easykaraoke.cdgdownload":{source:"iana"},"application/vnd.ecdis-update":{source:"iana"},"application/vnd.ecip.rlp":{source:"iana"},"application/vnd.eclipse.ditto+json":{source:"iana",compressible:!0},"application/vnd.ecowin.chart":{source:"iana",extensions:["mag"]},"application/vnd.ecowin.filerequest":{source:"iana"},"application/vnd.ecowin.fileupdate":{source:"iana"},"application/vnd.ecowin.series":{source:"iana"},"application/vnd.ecowin.seriesrequest":{source:"iana"},"application/vnd.ecowin.seriesupdate":{source:"iana"},"application/vnd.efi.img":{source:"iana"},"application/vnd.efi.iso":{source:"iana"},"application/vnd.emclient.accessrequest+xml":{source:"iana",compressible:!0},"application/vnd.enliven":{source:"iana",extensions:["nml"]},"application/vnd.enphase.envoy":{source:"iana"},"application/vnd.eprints.data+xml":{source:"iana",compressible:!0},"application/vnd.epson.esf":{source:"iana",extensions:["esf"]},"application/vnd.epson.msf":{source:"iana",extensions:["msf"]},"application/vnd.epson.quickanime":{source:"iana",extensions:["qam"]},"application/vnd.epson.salt":{source:"iana",extensions:["slt"]},"application/vnd.epson.ssf":{source:"iana",extensions:["ssf"]},"application/vnd.ericsson.quickcall":{source:"iana"},"application/vnd.espass-espass+zip":{source:"iana",compressible:!1},"application/vnd.eszigno3+xml":{source:"iana",compressible:!0,extensions:["es3","et3"]},"application/vnd.etsi.aoc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.asic-e+zip":{source:"iana",compressible:!1},"application/vnd.etsi.asic-s+zip":{source:"iana",compressible:!1},"application/vnd.etsi.cug+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvcommand+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-bc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-cod+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-npvr+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvservice+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsync+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvueprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mcid+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mheg5":{source:"iana"},"application/vnd.etsi.overload-control-policy-dataset+xml":{source:"iana",compressible:!0},"application/vnd.etsi.pstn+xml":{source:"iana",compressible:!0},"application/vnd.etsi.sci+xml":{source:"iana",compressible:!0},"application/vnd.etsi.simservs+xml":{source:"iana",compressible:!0},"application/vnd.etsi.timestamp-token":{source:"iana"},"application/vnd.etsi.tsl+xml":{source:"iana",compressible:!0},"application/vnd.etsi.tsl.der":{source:"iana"},"application/vnd.eu.kasparian.car+json":{source:"iana",compressible:!0},"application/vnd.eudora.data":{source:"iana"},"application/vnd.evolv.ecig.profile":{source:"iana"},"application/vnd.evolv.ecig.settings":{source:"iana"},"application/vnd.evolv.ecig.theme":{source:"iana"},"application/vnd.exstream-empower+zip":{source:"iana",compressible:!1},"application/vnd.exstream-package":{source:"iana"},"application/vnd.ezpix-album":{source:"iana",extensions:["ez2"]},"application/vnd.ezpix-package":{source:"iana",extensions:["ez3"]},"application/vnd.f-secure.mobile":{source:"iana"},"application/vnd.familysearch.gedcom+zip":{source:"iana",compressible:!1},"application/vnd.fastcopy-disk-image":{source:"iana"},"application/vnd.fdf":{source:"iana",extensions:["fdf"]},"application/vnd.fdsn.mseed":{source:"iana",extensions:["mseed"]},"application/vnd.fdsn.seed":{source:"iana",extensions:["seed","dataless"]},"application/vnd.ffsns":{source:"iana"},"application/vnd.ficlab.flb+zip":{source:"iana",compressible:!1},"application/vnd.filmit.zfc":{source:"iana"},"application/vnd.fints":{source:"iana"},"application/vnd.firemonkeys.cloudcell":{source:"iana"},"application/vnd.flographit":{source:"iana",extensions:["gph"]},"application/vnd.fluxtime.clip":{source:"iana",extensions:["ftc"]},"application/vnd.font-fontforge-sfd":{source:"iana"},"application/vnd.framemaker":{source:"iana",extensions:["fm","frame","maker","book"]},"application/vnd.frogans.fnc":{source:"iana",extensions:["fnc"]},"application/vnd.frogans.ltf":{source:"iana",extensions:["ltf"]},"application/vnd.fsc.weblaunch":{source:"iana",extensions:["fsc"]},"application/vnd.fujifilm.fb.docuworks":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.binder":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.container":{source:"iana"},"application/vnd.fujifilm.fb.jfi+xml":{source:"iana",compressible:!0},"application/vnd.fujitsu.oasys":{source:"iana",extensions:["oas"]},"application/vnd.fujitsu.oasys2":{source:"iana",extensions:["oa2"]},"application/vnd.fujitsu.oasys3":{source:"iana",extensions:["oa3"]},"application/vnd.fujitsu.oasysgp":{source:"iana",extensions:["fg5"]},"application/vnd.fujitsu.oasysprs":{source:"iana",extensions:["bh2"]},"application/vnd.fujixerox.art-ex":{source:"iana"},"application/vnd.fujixerox.art4":{source:"iana"},"application/vnd.fujixerox.ddd":{source:"iana",extensions:["ddd"]},"application/vnd.fujixerox.docuworks":{source:"iana",extensions:["xdw"]},"application/vnd.fujixerox.docuworks.binder":{source:"iana",extensions:["xbd"]},"application/vnd.fujixerox.docuworks.container":{source:"iana"},"application/vnd.fujixerox.hbpl":{source:"iana"},"application/vnd.fut-misnet":{source:"iana"},"application/vnd.futoin+cbor":{source:"iana"},"application/vnd.futoin+json":{source:"iana",compressible:!0},"application/vnd.fuzzysheet":{source:"iana",extensions:["fzs"]},"application/vnd.genomatix.tuxedo":{source:"iana",extensions:["txd"]},"application/vnd.gentics.grd+json":{source:"iana",compressible:!0},"application/vnd.geo+json":{source:"iana",compressible:!0},"application/vnd.geocube+xml":{source:"iana",compressible:!0},"application/vnd.geogebra.file":{source:"iana",extensions:["ggb"]},"application/vnd.geogebra.slides":{source:"iana"},"application/vnd.geogebra.tool":{source:"iana",extensions:["ggt"]},"application/vnd.geometry-explorer":{source:"iana",extensions:["gex","gre"]},"application/vnd.geonext":{source:"iana",extensions:["gxt"]},"application/vnd.geoplan":{source:"iana",extensions:["g2w"]},"application/vnd.geospace":{source:"iana",extensions:["g3w"]},"application/vnd.gerber":{source:"iana"},"application/vnd.globalplatform.card-content-mgt":{source:"iana"},"application/vnd.globalplatform.card-content-mgt-response":{source:"iana"},"application/vnd.gmx":{source:"iana",extensions:["gmx"]},"application/vnd.google-apps.document":{compressible:!1,extensions:["gdoc"]},"application/vnd.google-apps.presentation":{compressible:!1,extensions:["gslides"]},"application/vnd.google-apps.spreadsheet":{compressible:!1,extensions:["gsheet"]},"application/vnd.google-earth.kml+xml":{source:"iana",compressible:!0,extensions:["kml"]},"application/vnd.google-earth.kmz":{source:"iana",compressible:!1,extensions:["kmz"]},"application/vnd.gov.sk.e-form+xml":{source:"iana",compressible:!0},"application/vnd.gov.sk.e-form+zip":{source:"iana",compressible:!1},"application/vnd.gov.sk.xmldatacontainer+xml":{source:"iana",compressible:!0},"application/vnd.grafeq":{source:"iana",extensions:["gqf","gqs"]},"application/vnd.gridmp":{source:"iana"},"application/vnd.groove-account":{source:"iana",extensions:["gac"]},"application/vnd.groove-help":{source:"iana",extensions:["ghf"]},"application/vnd.groove-identity-message":{source:"iana",extensions:["gim"]},"application/vnd.groove-injector":{source:"iana",extensions:["grv"]},"application/vnd.groove-tool-message":{source:"iana",extensions:["gtm"]},"application/vnd.groove-tool-template":{source:"iana",extensions:["tpl"]},"application/vnd.groove-vcard":{source:"iana",extensions:["vcg"]},"application/vnd.hal+json":{source:"iana",compressible:!0},"application/vnd.hal+xml":{source:"iana",compressible:!0,extensions:["hal"]},"application/vnd.handheld-entertainment+xml":{source:"iana",compressible:!0,extensions:["zmm"]},"application/vnd.hbci":{source:"iana",extensions:["hbci"]},"application/vnd.hc+json":{source:"iana",compressible:!0},"application/vnd.hcl-bireports":{source:"iana"},"application/vnd.hdt":{source:"iana"},"application/vnd.heroku+json":{source:"iana",compressible:!0},"application/vnd.hhe.lesson-player":{source:"iana",extensions:["les"]},"application/vnd.hl7cda+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.hl7v2+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.hp-hpgl":{source:"iana",extensions:["hpgl"]},"application/vnd.hp-hpid":{source:"iana",extensions:["hpid"]},"application/vnd.hp-hps":{source:"iana",extensions:["hps"]},"application/vnd.hp-jlyt":{source:"iana",extensions:["jlt"]},"application/vnd.hp-pcl":{source:"iana",extensions:["pcl"]},"application/vnd.hp-pclxl":{source:"iana",extensions:["pclxl"]},"application/vnd.httphone":{source:"iana"},"application/vnd.hydrostatix.sof-data":{source:"iana",extensions:["sfd-hdstx"]},"application/vnd.hyper+json":{source:"iana",compressible:!0},"application/vnd.hyper-item+json":{source:"iana",compressible:!0},"application/vnd.hyperdrive+json":{source:"iana",compressible:!0},"application/vnd.hzn-3d-crossword":{source:"iana"},"application/vnd.ibm.afplinedata":{source:"iana"},"application/vnd.ibm.electronic-media":{source:"iana"},"application/vnd.ibm.minipay":{source:"iana",extensions:["mpy"]},"application/vnd.ibm.modcap":{source:"iana",extensions:["afp","listafp","list3820"]},"application/vnd.ibm.rights-management":{source:"iana",extensions:["irm"]},"application/vnd.ibm.secure-container":{source:"iana",extensions:["sc"]},"application/vnd.iccprofile":{source:"iana",extensions:["icc","icm"]},"application/vnd.ieee.1905":{source:"iana"},"application/vnd.igloader":{source:"iana",extensions:["igl"]},"application/vnd.imagemeter.folder+zip":{source:"iana",compressible:!1},"application/vnd.imagemeter.image+zip":{source:"iana",compressible:!1},"application/vnd.immervision-ivp":{source:"iana",extensions:["ivp"]},"application/vnd.immervision-ivu":{source:"iana",extensions:["ivu"]},"application/vnd.ims.imsccv1p1":{source:"iana"},"application/vnd.ims.imsccv1p2":{source:"iana"},"application/vnd.ims.imsccv1p3":{source:"iana"},"application/vnd.ims.lis.v2.result+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolconsumerprofile+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy.id+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings.simple+json":{source:"iana",compressible:!0},"application/vnd.informedcontrol.rms+xml":{source:"iana",compressible:!0},"application/vnd.informix-visionary":{source:"iana"},"application/vnd.infotech.project":{source:"iana"},"application/vnd.infotech.project+xml":{source:"iana",compressible:!0},"application/vnd.innopath.wamp.notification":{source:"iana"},"application/vnd.insors.igm":{source:"iana",extensions:["igm"]},"application/vnd.intercon.formnet":{source:"iana",extensions:["xpw","xpx"]},"application/vnd.intergeo":{source:"iana",extensions:["i2g"]},"application/vnd.intertrust.digibox":{source:"iana"},"application/vnd.intertrust.nncp":{source:"iana"},"application/vnd.intu.qbo":{source:"iana",extensions:["qbo"]},"application/vnd.intu.qfx":{source:"iana",extensions:["qfx"]},"application/vnd.iptc.g2.catalogitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.conceptitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.knowledgeitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsmessage+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.packageitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.planningitem+xml":{source:"iana",compressible:!0},"application/vnd.ipunplugged.rcprofile":{source:"iana",extensions:["rcprofile"]},"application/vnd.irepository.package+xml":{source:"iana",compressible:!0,extensions:["irp"]},"application/vnd.is-xpr":{source:"iana",extensions:["xpr"]},"application/vnd.isac.fcs":{source:"iana",extensions:["fcs"]},"application/vnd.iso11783-10+zip":{source:"iana",compressible:!1},"application/vnd.jam":{source:"iana",extensions:["jam"]},"application/vnd.japannet-directory-service":{source:"iana"},"application/vnd.japannet-jpnstore-wakeup":{source:"iana"},"application/vnd.japannet-payment-wakeup":{source:"iana"},"application/vnd.japannet-registration":{source:"iana"},"application/vnd.japannet-registration-wakeup":{source:"iana"},"application/vnd.japannet-setstore-wakeup":{source:"iana"},"application/vnd.japannet-verification":{source:"iana"},"application/vnd.japannet-verification-wakeup":{source:"iana"},"application/vnd.jcp.javame.midlet-rms":{source:"iana",extensions:["rms"]},"application/vnd.jisp":{source:"iana",extensions:["jisp"]},"application/vnd.joost.joda-archive":{source:"iana",extensions:["joda"]},"application/vnd.jsk.isdn-ngn":{source:"iana"},"application/vnd.kahootz":{source:"iana",extensions:["ktz","ktr"]},"application/vnd.kde.karbon":{source:"iana",extensions:["karbon"]},"application/vnd.kde.kchart":{source:"iana",extensions:["chrt"]},"application/vnd.kde.kformula":{source:"iana",extensions:["kfo"]},"application/vnd.kde.kivio":{source:"iana",extensions:["flw"]},"application/vnd.kde.kontour":{source:"iana",extensions:["kon"]},"application/vnd.kde.kpresenter":{source:"iana",extensions:["kpr","kpt"]},"application/vnd.kde.kspread":{source:"iana",extensions:["ksp"]},"application/vnd.kde.kword":{source:"iana",extensions:["kwd","kwt"]},"application/vnd.kenameaapp":{source:"iana",extensions:["htke"]},"application/vnd.kidspiration":{source:"iana",extensions:["kia"]},"application/vnd.kinar":{source:"iana",extensions:["kne","knp"]},"application/vnd.koan":{source:"iana",extensions:["skp","skd","skt","skm"]},"application/vnd.kodak-descriptor":{source:"iana",extensions:["sse"]},"application/vnd.las":{source:"iana"},"application/vnd.las.las+json":{source:"iana",compressible:!0},"application/vnd.las.las+xml":{source:"iana",compressible:!0,extensions:["lasxml"]},"application/vnd.laszip":{source:"iana"},"application/vnd.leap+json":{source:"iana",compressible:!0},"application/vnd.liberty-request+xml":{source:"iana",compressible:!0},"application/vnd.llamagraphics.life-balance.desktop":{source:"iana",extensions:["lbd"]},"application/vnd.llamagraphics.life-balance.exchange+xml":{source:"iana",compressible:!0,extensions:["lbe"]},"application/vnd.logipipe.circuit+zip":{source:"iana",compressible:!1},"application/vnd.loom":{source:"iana"},"application/vnd.lotus-1-2-3":{source:"iana",extensions:["123"]},"application/vnd.lotus-approach":{source:"iana",extensions:["apr"]},"application/vnd.lotus-freelance":{source:"iana",extensions:["pre"]},"application/vnd.lotus-notes":{source:"iana",extensions:["nsf"]},"application/vnd.lotus-organizer":{source:"iana",extensions:["org"]},"application/vnd.lotus-screencam":{source:"iana",extensions:["scm"]},"application/vnd.lotus-wordpro":{source:"iana",extensions:["lwp"]},"application/vnd.macports.portpkg":{source:"iana",extensions:["portpkg"]},"application/vnd.mapbox-vector-tile":{source:"iana",extensions:["mvt"]},"application/vnd.marlin.drm.actiontoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.conftoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.license+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.mdcf":{source:"iana"},"application/vnd.mason+json":{source:"iana",compressible:!0},"application/vnd.maxar.archive.3tz+zip":{source:"iana",compressible:!1},"application/vnd.maxmind.maxmind-db":{source:"iana"},"application/vnd.mcd":{source:"iana",extensions:["mcd"]},"application/vnd.medcalcdata":{source:"iana",extensions:["mc1"]},"application/vnd.mediastation.cdkey":{source:"iana",extensions:["cdkey"]},"application/vnd.meridian-slingshot":{source:"iana"},"application/vnd.mfer":{source:"iana",extensions:["mwf"]},"application/vnd.mfmp":{source:"iana",extensions:["mfm"]},"application/vnd.micro+json":{source:"iana",compressible:!0},"application/vnd.micrografx.flo":{source:"iana",extensions:["flo"]},"application/vnd.micrografx.igx":{source:"iana",extensions:["igx"]},"application/vnd.microsoft.portable-executable":{source:"iana"},"application/vnd.microsoft.windows.thumbnail-cache":{source:"iana"},"application/vnd.miele+json":{source:"iana",compressible:!0},"application/vnd.mif":{source:"iana",extensions:["mif"]},"application/vnd.minisoft-hp3000-save":{source:"iana"},"application/vnd.mitsubishi.misty-guard.trustweb":{source:"iana"},"application/vnd.mobius.daf":{source:"iana",extensions:["daf"]},"application/vnd.mobius.dis":{source:"iana",extensions:["dis"]},"application/vnd.mobius.mbk":{source:"iana",extensions:["mbk"]},"application/vnd.mobius.mqy":{source:"iana",extensions:["mqy"]},"application/vnd.mobius.msl":{source:"iana",extensions:["msl"]},"application/vnd.mobius.plc":{source:"iana",extensions:["plc"]},"application/vnd.mobius.txf":{source:"iana",extensions:["txf"]},"application/vnd.mophun.application":{source:"iana",extensions:["mpn"]},"application/vnd.mophun.certificate":{source:"iana",extensions:["mpc"]},"application/vnd.motorola.flexsuite":{source:"iana"},"application/vnd.motorola.flexsuite.adsi":{source:"iana"},"application/vnd.motorola.flexsuite.fis":{source:"iana"},"application/vnd.motorola.flexsuite.gotap":{source:"iana"},"application/vnd.motorola.flexsuite.kmr":{source:"iana"},"application/vnd.motorola.flexsuite.ttc":{source:"iana"},"application/vnd.motorola.flexsuite.wem":{source:"iana"},"application/vnd.motorola.iprm":{source:"iana"},"application/vnd.mozilla.xul+xml":{source:"iana",compressible:!0,extensions:["xul"]},"application/vnd.ms-3mfdocument":{source:"iana"},"application/vnd.ms-artgalry":{source:"iana",extensions:["cil"]},"application/vnd.ms-asf":{source:"iana"},"application/vnd.ms-cab-compressed":{source:"iana",extensions:["cab"]},"application/vnd.ms-color.iccprofile":{source:"apache"},"application/vnd.ms-excel":{source:"iana",compressible:!1,extensions:["xls","xlm","xla","xlc","xlt","xlw"]},"application/vnd.ms-excel.addin.macroenabled.12":{source:"iana",extensions:["xlam"]},"application/vnd.ms-excel.sheet.binary.macroenabled.12":{source:"iana",extensions:["xlsb"]},"application/vnd.ms-excel.sheet.macroenabled.12":{source:"iana",extensions:["xlsm"]},"application/vnd.ms-excel.template.macroenabled.12":{source:"iana",extensions:["xltm"]},"application/vnd.ms-fontobject":{source:"iana",compressible:!0,extensions:["eot"]},"application/vnd.ms-htmlhelp":{source:"iana",extensions:["chm"]},"application/vnd.ms-ims":{source:"iana",extensions:["ims"]},"application/vnd.ms-lrm":{source:"iana",extensions:["lrm"]},"application/vnd.ms-office.activex+xml":{source:"iana",compressible:!0},"application/vnd.ms-officetheme":{source:"iana",extensions:["thmx"]},"application/vnd.ms-opentype":{source:"apache",compressible:!0},"application/vnd.ms-outlook":{compressible:!1,extensions:["msg"]},"application/vnd.ms-package.obfuscated-opentype":{source:"apache"},"application/vnd.ms-pki.seccat":{source:"apache",extensions:["cat"]},"application/vnd.ms-pki.stl":{source:"apache",extensions:["stl"]},"application/vnd.ms-playready.initiator+xml":{source:"iana",compressible:!0},"application/vnd.ms-powerpoint":{source:"iana",compressible:!1,extensions:["ppt","pps","pot"]},"application/vnd.ms-powerpoint.addin.macroenabled.12":{source:"iana",extensions:["ppam"]},"application/vnd.ms-powerpoint.presentation.macroenabled.12":{source:"iana",extensions:["pptm"]},"application/vnd.ms-powerpoint.slide.macroenabled.12":{source:"iana",extensions:["sldm"]},"application/vnd.ms-powerpoint.slideshow.macroenabled.12":{source:"iana",extensions:["ppsm"]},"application/vnd.ms-powerpoint.template.macroenabled.12":{source:"iana",extensions:["potm"]},"application/vnd.ms-printdevicecapabilities+xml":{source:"iana",compressible:!0},"application/vnd.ms-printing.printticket+xml":{source:"apache",compressible:!0},"application/vnd.ms-printschematicket+xml":{source:"iana",compressible:!0},"application/vnd.ms-project":{source:"iana",extensions:["mpp","mpt"]},"application/vnd.ms-tnef":{source:"iana"},"application/vnd.ms-windows.devicepairing":{source:"iana"},"application/vnd.ms-windows.nwprinting.oob":{source:"iana"},"application/vnd.ms-windows.printerpairing":{source:"iana"},"application/vnd.ms-windows.wsd.oob":{source:"iana"},"application/vnd.ms-wmdrm.lic-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.lic-resp":{source:"iana"},"application/vnd.ms-wmdrm.meter-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.meter-resp":{source:"iana"},"application/vnd.ms-word.document.macroenabled.12":{source:"iana",extensions:["docm"]},"application/vnd.ms-word.template.macroenabled.12":{source:"iana",extensions:["dotm"]},"application/vnd.ms-works":{source:"iana",extensions:["wps","wks","wcm","wdb"]},"application/vnd.ms-wpl":{source:"iana",extensions:["wpl"]},"application/vnd.ms-xpsdocument":{source:"iana",compressible:!1,extensions:["xps"]},"application/vnd.msa-disk-image":{source:"iana"},"application/vnd.mseq":{source:"iana",extensions:["mseq"]},"application/vnd.msign":{source:"iana"},"application/vnd.multiad.creator":{source:"iana"},"application/vnd.multiad.creator.cif":{source:"iana"},"application/vnd.music-niff":{source:"iana"},"application/vnd.musician":{source:"iana",extensions:["mus"]},"application/vnd.muvee.style":{source:"iana",extensions:["msty"]},"application/vnd.mynfc":{source:"iana",extensions:["taglet"]},"application/vnd.nacamar.ybrid+json":{source:"iana",compressible:!0},"application/vnd.ncd.control":{source:"iana"},"application/vnd.ncd.reference":{source:"iana"},"application/vnd.nearst.inv+json":{source:"iana",compressible:!0},"application/vnd.nebumind.line":{source:"iana"},"application/vnd.nervana":{source:"iana"},"application/vnd.netfpx":{source:"iana"},"application/vnd.neurolanguage.nlu":{source:"iana",extensions:["nlu"]},"application/vnd.nimn":{source:"iana"},"application/vnd.nintendo.nitro.rom":{source:"iana"},"application/vnd.nintendo.snes.rom":{source:"iana"},"application/vnd.nitf":{source:"iana",extensions:["ntf","nitf"]},"application/vnd.noblenet-directory":{source:"iana",extensions:["nnd"]},"application/vnd.noblenet-sealer":{source:"iana",extensions:["nns"]},"application/vnd.noblenet-web":{source:"iana",extensions:["nnw"]},"application/vnd.nokia.catalogs":{source:"iana"},"application/vnd.nokia.conml+wbxml":{source:"iana"},"application/vnd.nokia.conml+xml":{source:"iana",compressible:!0},"application/vnd.nokia.iptv.config+xml":{source:"iana",compressible:!0},"application/vnd.nokia.isds-radio-presets":{source:"iana"},"application/vnd.nokia.landmark+wbxml":{source:"iana"},"application/vnd.nokia.landmark+xml":{source:"iana",compressible:!0},"application/vnd.nokia.landmarkcollection+xml":{source:"iana",compressible:!0},"application/vnd.nokia.n-gage.ac+xml":{source:"iana",compressible:!0,extensions:["ac"]},"application/vnd.nokia.n-gage.data":{source:"iana",extensions:["ngdat"]},"application/vnd.nokia.n-gage.symbian.install":{source:"iana",extensions:["n-gage"]},"application/vnd.nokia.ncd":{source:"iana"},"application/vnd.nokia.pcd+wbxml":{source:"iana"},"application/vnd.nokia.pcd+xml":{source:"iana",compressible:!0},"application/vnd.nokia.radio-preset":{source:"iana",extensions:["rpst"]},"application/vnd.nokia.radio-presets":{source:"iana",extensions:["rpss"]},"application/vnd.novadigm.edm":{source:"iana",extensions:["edm"]},"application/vnd.novadigm.edx":{source:"iana",extensions:["edx"]},"application/vnd.novadigm.ext":{source:"iana",extensions:["ext"]},"application/vnd.ntt-local.content-share":{source:"iana"},"application/vnd.ntt-local.file-transfer":{source:"iana"},"application/vnd.ntt-local.ogw_remote-access":{source:"iana"},"application/vnd.ntt-local.sip-ta_remote":{source:"iana"},"application/vnd.ntt-local.sip-ta_tcp_stream":{source:"iana"},"application/vnd.oasis.opendocument.chart":{source:"iana",extensions:["odc"]},"application/vnd.oasis.opendocument.chart-template":{source:"iana",extensions:["otc"]},"application/vnd.oasis.opendocument.database":{source:"iana",extensions:["odb"]},"application/vnd.oasis.opendocument.formula":{source:"iana",extensions:["odf"]},"application/vnd.oasis.opendocument.formula-template":{source:"iana",extensions:["odft"]},"application/vnd.oasis.opendocument.graphics":{source:"iana",compressible:!1,extensions:["odg"]},"application/vnd.oasis.opendocument.graphics-template":{source:"iana",extensions:["otg"]},"application/vnd.oasis.opendocument.image":{source:"iana",extensions:["odi"]},"application/vnd.oasis.opendocument.image-template":{source:"iana",extensions:["oti"]},"application/vnd.oasis.opendocument.presentation":{source:"iana",compressible:!1,extensions:["odp"]},"application/vnd.oasis.opendocument.presentation-template":{source:"iana",extensions:["otp"]},"application/vnd.oasis.opendocument.spreadsheet":{source:"iana",compressible:!1,extensions:["ods"]},"application/vnd.oasis.opendocument.spreadsheet-template":{source:"iana",extensions:["ots"]},"application/vnd.oasis.opendocument.text":{source:"iana",compressible:!1,extensions:["odt"]},"application/vnd.oasis.opendocument.text-master":{source:"iana",extensions:["odm"]},"application/vnd.oasis.opendocument.text-template":{source:"iana",extensions:["ott"]},"application/vnd.oasis.opendocument.text-web":{source:"iana",extensions:["oth"]},"application/vnd.obn":{source:"iana"},"application/vnd.ocf+cbor":{source:"iana"},"application/vnd.oci.image.manifest.v1+json":{source:"iana",compressible:!0},"application/vnd.oftn.l10n+json":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessdownload+xml":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessstreaming+xml":{source:"iana",compressible:!0},"application/vnd.oipf.cspg-hexbinary":{source:"iana"},"application/vnd.oipf.dae.svg+xml":{source:"iana",compressible:!0},"application/vnd.oipf.dae.xhtml+xml":{source:"iana",compressible:!0},"application/vnd.oipf.mippvcontrolmessage+xml":{source:"iana",compressible:!0},"application/vnd.oipf.pae.gem":{source:"iana"},"application/vnd.oipf.spdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.oipf.spdlist+xml":{source:"iana",compressible:!0},"application/vnd.oipf.ueprofile+xml":{source:"iana",compressible:!0},"application/vnd.oipf.userprofile+xml":{source:"iana",compressible:!0},"application/vnd.olpc-sugar":{source:"iana",extensions:["xo"]},"application/vnd.oma-scws-config":{source:"iana"},"application/vnd.oma-scws-http-request":{source:"iana"},"application/vnd.oma-scws-http-response":{source:"iana"},"application/vnd.oma.bcast.associated-procedure-parameter+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.drm-trigger+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.imd+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.ltkm":{source:"iana"},"application/vnd.oma.bcast.notification+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.provisioningtrigger":{source:"iana"},"application/vnd.oma.bcast.sgboot":{source:"iana"},"application/vnd.oma.bcast.sgdd+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.sgdu":{source:"iana"},"application/vnd.oma.bcast.simple-symbol-container":{source:"iana"},"application/vnd.oma.bcast.smartcard-trigger+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.sprov+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.stkm":{source:"iana"},"application/vnd.oma.cab-address-book+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-feature-handler+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-pcc+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-subs-invite+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-user-prefs+xml":{source:"iana",compressible:!0},"application/vnd.oma.dcd":{source:"iana"},"application/vnd.oma.dcdc":{source:"iana"},"application/vnd.oma.dd2+xml":{source:"iana",compressible:!0,extensions:["dd2"]},"application/vnd.oma.drm.risd+xml":{source:"iana",compressible:!0},"application/vnd.oma.group-usage-list+xml":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+cbor":{source:"iana"},"application/vnd.oma.lwm2m+json":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+tlv":{source:"iana"},"application/vnd.oma.pal+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.detailed-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.final-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.groups+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.invocation-descriptor+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.optimized-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.push":{source:"iana"},"application/vnd.oma.scidm.messages+xml":{source:"iana",compressible:!0},"application/vnd.oma.xcap-directory+xml":{source:"iana",compressible:!0},"application/vnd.omads-email+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-file+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-folder+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omaloc-supl-init":{source:"iana"},"application/vnd.onepager":{source:"iana"},"application/vnd.onepagertamp":{source:"iana"},"application/vnd.onepagertamx":{source:"iana"},"application/vnd.onepagertat":{source:"iana"},"application/vnd.onepagertatp":{source:"iana"},"application/vnd.onepagertatx":{source:"iana"},"application/vnd.openblox.game+xml":{source:"iana",compressible:!0,extensions:["obgx"]},"application/vnd.openblox.game-binary":{source:"iana"},"application/vnd.openeye.oeb":{source:"iana"},"application/vnd.openofficeorg.extension":{source:"apache",extensions:["oxt"]},"application/vnd.openstreetmap.data+xml":{source:"iana",compressible:!0,extensions:["osm"]},"application/vnd.opentimestamps.ots":{source:"iana"},"application/vnd.openxmlformats-officedocument.custom-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.customxmlproperties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawing+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chart+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.extended-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presentation":{source:"iana",compressible:!1,extensions:["pptx"]},"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slide":{source:"iana",extensions:["sldx"]},"application/vnd.openxmlformats-officedocument.presentationml.slide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideshow":{source:"iana",extensions:["ppsx"]},"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tags+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.template":{source:"iana",extensions:["potx"]},"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{source:"iana",compressible:!1,extensions:["xlsx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.template":{source:"iana",extensions:["xltx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.theme+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.themeoverride+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.vmldrawing":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document":{source:"iana",compressible:!1,extensions:["docx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.template":{source:"iana",extensions:["dotx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.core-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.relationships+xml":{source:"iana",compressible:!0},"application/vnd.oracle.resource+json":{source:"iana",compressible:!0},"application/vnd.orange.indata":{source:"iana"},"application/vnd.osa.netdeploy":{source:"iana"},"application/vnd.osgeo.mapguide.package":{source:"iana",extensions:["mgp"]},"application/vnd.osgi.bundle":{source:"iana"},"application/vnd.osgi.dp":{source:"iana",extensions:["dp"]},"application/vnd.osgi.subsystem":{source:"iana",extensions:["esa"]},"application/vnd.otps.ct-kip+xml":{source:"iana",compressible:!0},"application/vnd.oxli.countgraph":{source:"iana"},"application/vnd.pagerduty+json":{source:"iana",compressible:!0},"application/vnd.palm":{source:"iana",extensions:["pdb","pqa","oprc"]},"application/vnd.panoply":{source:"iana"},"application/vnd.paos.xml":{source:"iana"},"application/vnd.patentdive":{source:"iana"},"application/vnd.patientecommsdoc":{source:"iana"},"application/vnd.pawaafile":{source:"iana",extensions:["paw"]},"application/vnd.pcos":{source:"iana"},"application/vnd.pg.format":{source:"iana",extensions:["str"]},"application/vnd.pg.osasli":{source:"iana",extensions:["ei6"]},"application/vnd.piaccess.application-licence":{source:"iana"},"application/vnd.picsel":{source:"iana",extensions:["efif"]},"application/vnd.pmi.widget":{source:"iana",extensions:["wg"]},"application/vnd.poc.group-advertisement+xml":{source:"iana",compressible:!0},"application/vnd.pocketlearn":{source:"iana",extensions:["plf"]},"application/vnd.powerbuilder6":{source:"iana",extensions:["pbd"]},"application/vnd.powerbuilder6-s":{source:"iana"},"application/vnd.powerbuilder7":{source:"iana"},"application/vnd.powerbuilder7-s":{source:"iana"},"application/vnd.powerbuilder75":{source:"iana"},"application/vnd.powerbuilder75-s":{source:"iana"},"application/vnd.preminet":{source:"iana"},"application/vnd.previewsystems.box":{source:"iana",extensions:["box"]},"application/vnd.proteus.magazine":{source:"iana",extensions:["mgz"]},"application/vnd.psfs":{source:"iana"},"application/vnd.publishare-delta-tree":{source:"iana",extensions:["qps"]},"application/vnd.pvi.ptid1":{source:"iana",extensions:["ptid"]},"application/vnd.pwg-multiplexed":{source:"iana"},"application/vnd.pwg-xhtml-print+xml":{source:"iana",compressible:!0},"application/vnd.qualcomm.brew-app-res":{source:"iana"},"application/vnd.quarantainenet":{source:"iana"},"application/vnd.quark.quarkxpress":{source:"iana",extensions:["qxd","qxt","qwd","qwt","qxl","qxb"]},"application/vnd.quobject-quoxdocument":{source:"iana"},"application/vnd.radisys.moml+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conn+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-stream+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-base+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-detect+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-sendrecv+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-group+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-speech+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-transform+xml":{source:"iana",compressible:!0},"application/vnd.rainstor.data":{source:"iana"},"application/vnd.rapid":{source:"iana"},"application/vnd.rar":{source:"iana",extensions:["rar"]},"application/vnd.realvnc.bed":{source:"iana",extensions:["bed"]},"application/vnd.recordare.musicxml":{source:"iana",extensions:["mxl"]},"application/vnd.recordare.musicxml+xml":{source:"iana",compressible:!0,extensions:["musicxml"]},"application/vnd.renlearn.rlprint":{source:"iana"},"application/vnd.resilient.logic":{source:"iana"},"application/vnd.restful+json":{source:"iana",compressible:!0},"application/vnd.rig.cryptonote":{source:"iana",extensions:["cryptonote"]},"application/vnd.rim.cod":{source:"apache",extensions:["cod"]},"application/vnd.rn-realmedia":{source:"apache",extensions:["rm"]},"application/vnd.rn-realmedia-vbr":{source:"apache",extensions:["rmvb"]},"application/vnd.route66.link66+xml":{source:"iana",compressible:!0,extensions:["link66"]},"application/vnd.rs-274x":{source:"iana"},"application/vnd.ruckus.download":{source:"iana"},"application/vnd.s3sms":{source:"iana"},"application/vnd.sailingtracker.track":{source:"iana",extensions:["st"]},"application/vnd.sar":{source:"iana"},"application/vnd.sbm.cid":{source:"iana"},"application/vnd.sbm.mid2":{source:"iana"},"application/vnd.scribus":{source:"iana"},"application/vnd.sealed.3df":{source:"iana"},"application/vnd.sealed.csf":{source:"iana"},"application/vnd.sealed.doc":{source:"iana"},"application/vnd.sealed.eml":{source:"iana"},"application/vnd.sealed.mht":{source:"iana"},"application/vnd.sealed.net":{source:"iana"},"application/vnd.sealed.ppt":{source:"iana"},"application/vnd.sealed.tiff":{source:"iana"},"application/vnd.sealed.xls":{source:"iana"},"application/vnd.sealedmedia.softseal.html":{source:"iana"},"application/vnd.sealedmedia.softseal.pdf":{source:"iana"},"application/vnd.seemail":{source:"iana",extensions:["see"]},"application/vnd.seis+json":{source:"iana",compressible:!0},"application/vnd.sema":{source:"iana",extensions:["sema"]},"application/vnd.semd":{source:"iana",extensions:["semd"]},"application/vnd.semf":{source:"iana",extensions:["semf"]},"application/vnd.shade-save-file":{source:"iana"},"application/vnd.shana.informed.formdata":{source:"iana",extensions:["ifm"]},"application/vnd.shana.informed.formtemplate":{source:"iana",extensions:["itp"]},"application/vnd.shana.informed.interchange":{source:"iana",extensions:["iif"]},"application/vnd.shana.informed.package":{source:"iana",extensions:["ipk"]},"application/vnd.shootproof+json":{source:"iana",compressible:!0},"application/vnd.shopkick+json":{source:"iana",compressible:!0},"application/vnd.shp":{source:"iana"},"application/vnd.shx":{source:"iana"},"application/vnd.sigrok.session":{source:"iana"},"application/vnd.simtech-mindmapper":{source:"iana",extensions:["twd","twds"]},"application/vnd.siren+json":{source:"iana",compressible:!0},"application/vnd.smaf":{source:"iana",extensions:["mmf"]},"application/vnd.smart.notebook":{source:"iana"},"application/vnd.smart.teacher":{source:"iana",extensions:["teacher"]},"application/vnd.snesdev-page-table":{source:"iana"},"application/vnd.software602.filler.form+xml":{source:"iana",compressible:!0,extensions:["fo"]},"application/vnd.software602.filler.form-xml-zip":{source:"iana"},"application/vnd.solent.sdkm+xml":{source:"iana",compressible:!0,extensions:["sdkm","sdkd"]},"application/vnd.spotfire.dxp":{source:"iana",extensions:["dxp"]},"application/vnd.spotfire.sfs":{source:"iana",extensions:["sfs"]},"application/vnd.sqlite3":{source:"iana"},"application/vnd.sss-cod":{source:"iana"},"application/vnd.sss-dtf":{source:"iana"},"application/vnd.sss-ntf":{source:"iana"},"application/vnd.stardivision.calc":{source:"apache",extensions:["sdc"]},"application/vnd.stardivision.draw":{source:"apache",extensions:["sda"]},"application/vnd.stardivision.impress":{source:"apache",extensions:["sdd"]},"application/vnd.stardivision.math":{source:"apache",extensions:["smf"]},"application/vnd.stardivision.writer":{source:"apache",extensions:["sdw","vor"]},"application/vnd.stardivision.writer-global":{source:"apache",extensions:["sgl"]},"application/vnd.stepmania.package":{source:"iana",extensions:["smzip"]},"application/vnd.stepmania.stepchart":{source:"iana",extensions:["sm"]},"application/vnd.street-stream":{source:"iana"},"application/vnd.sun.wadl+xml":{source:"iana",compressible:!0,extensions:["wadl"]},"application/vnd.sun.xml.calc":{source:"apache",extensions:["sxc"]},"application/vnd.sun.xml.calc.template":{source:"apache",extensions:["stc"]},"application/vnd.sun.xml.draw":{source:"apache",extensions:["sxd"]},"application/vnd.sun.xml.draw.template":{source:"apache",extensions:["std"]},"application/vnd.sun.xml.impress":{source:"apache",extensions:["sxi"]},"application/vnd.sun.xml.impress.template":{source:"apache",extensions:["sti"]},"application/vnd.sun.xml.math":{source:"apache",extensions:["sxm"]},"application/vnd.sun.xml.writer":{source:"apache",extensions:["sxw"]},"application/vnd.sun.xml.writer.global":{source:"apache",extensions:["sxg"]},"application/vnd.sun.xml.writer.template":{source:"apache",extensions:["stw"]},"application/vnd.sus-calendar":{source:"iana",extensions:["sus","susp"]},"application/vnd.svd":{source:"iana",extensions:["svd"]},"application/vnd.swiftview-ics":{source:"iana"},"application/vnd.sycle+xml":{source:"iana",compressible:!0},"application/vnd.syft+json":{source:"iana",compressible:!0},"application/vnd.symbian.install":{source:"apache",extensions:["sis","sisx"]},"application/vnd.syncml+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["xsm"]},"application/vnd.syncml.dm+wbxml":{source:"iana",charset:"UTF-8",extensions:["bdm"]},"application/vnd.syncml.dm+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["xdm"]},"application/vnd.syncml.dm.notification":{source:"iana"},"application/vnd.syncml.dmddf+wbxml":{source:"iana"},"application/vnd.syncml.dmddf+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["ddf"]},"application/vnd.syncml.dmtnds+wbxml":{source:"iana"},"application/vnd.syncml.dmtnds+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.syncml.ds.notification":{source:"iana"},"application/vnd.tableschema+json":{source:"iana",compressible:!0},"application/vnd.tao.intent-module-archive":{source:"iana",extensions:["tao"]},"application/vnd.tcpdump.pcap":{source:"iana",extensions:["pcap","cap","dmp"]},"application/vnd.think-cell.ppttc+json":{source:"iana",compressible:!0},"application/vnd.tmd.mediaflex.api+xml":{source:"iana",compressible:!0},"application/vnd.tml":{source:"iana"},"application/vnd.tmobile-livetv":{source:"iana",extensions:["tmo"]},"application/vnd.tri.onesource":{source:"iana"},"application/vnd.trid.tpt":{source:"iana",extensions:["tpt"]},"application/vnd.triscape.mxs":{source:"iana",extensions:["mxs"]},"application/vnd.trueapp":{source:"iana",extensions:["tra"]},"application/vnd.truedoc":{source:"iana"},"application/vnd.ubisoft.webplayer":{source:"iana"},"application/vnd.ufdl":{source:"iana",extensions:["ufd","ufdl"]},"application/vnd.uiq.theme":{source:"iana",extensions:["utz"]},"application/vnd.umajin":{source:"iana",extensions:["umj"]},"application/vnd.unity":{source:"iana",extensions:["unityweb"]},"application/vnd.uoml+xml":{source:"iana",compressible:!0,extensions:["uoml"]},"application/vnd.uplanet.alert":{source:"iana"},"application/vnd.uplanet.alert-wbxml":{source:"iana"},"application/vnd.uplanet.bearer-choice":{source:"iana"},"application/vnd.uplanet.bearer-choice-wbxml":{source:"iana"},"application/vnd.uplanet.cacheop":{source:"iana"},"application/vnd.uplanet.cacheop-wbxml":{source:"iana"},"application/vnd.uplanet.channel":{source:"iana"},"application/vnd.uplanet.channel-wbxml":{source:"iana"},"application/vnd.uplanet.list":{source:"iana"},"application/vnd.uplanet.list-wbxml":{source:"iana"},"application/vnd.uplanet.listcmd":{source:"iana"},"application/vnd.uplanet.listcmd-wbxml":{source:"iana"},"application/vnd.uplanet.signal":{source:"iana"},"application/vnd.uri-map":{source:"iana"},"application/vnd.valve.source.material":{source:"iana"},"application/vnd.vcx":{source:"iana",extensions:["vcx"]},"application/vnd.vd-study":{source:"iana"},"application/vnd.vectorworks":{source:"iana"},"application/vnd.vel+json":{source:"iana",compressible:!0},"application/vnd.verimatrix.vcas":{source:"iana"},"application/vnd.veritone.aion+json":{source:"iana",compressible:!0},"application/vnd.veryant.thin":{source:"iana"},"application/vnd.ves.encrypted":{source:"iana"},"application/vnd.vidsoft.vidconference":{source:"iana"},"application/vnd.visio":{source:"iana",extensions:["vsd","vst","vss","vsw"]},"application/vnd.visionary":{source:"iana",extensions:["vis"]},"application/vnd.vividence.scriptfile":{source:"iana"},"application/vnd.vsf":{source:"iana",extensions:["vsf"]},"application/vnd.wap.sic":{source:"iana"},"application/vnd.wap.slc":{source:"iana"},"application/vnd.wap.wbxml":{source:"iana",charset:"UTF-8",extensions:["wbxml"]},"application/vnd.wap.wmlc":{source:"iana",extensions:["wmlc"]},"application/vnd.wap.wmlscriptc":{source:"iana",extensions:["wmlsc"]},"application/vnd.webturbo":{source:"iana",extensions:["wtb"]},"application/vnd.wfa.dpp":{source:"iana"},"application/vnd.wfa.p2p":{source:"iana"},"application/vnd.wfa.wsc":{source:"iana"},"application/vnd.windows.devicepairing":{source:"iana"},"application/vnd.wmc":{source:"iana"},"application/vnd.wmf.bootstrap":{source:"iana"},"application/vnd.wolfram.mathematica":{source:"iana"},"application/vnd.wolfram.mathematica.package":{source:"iana"},"application/vnd.wolfram.player":{source:"iana",extensions:["nbp"]},"application/vnd.wordperfect":{source:"iana",extensions:["wpd"]},"application/vnd.wqd":{source:"iana",extensions:["wqd"]},"application/vnd.wrq-hp3000-labelled":{source:"iana"},"application/vnd.wt.stf":{source:"iana",extensions:["stf"]},"application/vnd.wv.csp+wbxml":{source:"iana"},"application/vnd.wv.csp+xml":{source:"iana",compressible:!0},"application/vnd.wv.ssp+xml":{source:"iana",compressible:!0},"application/vnd.xacml+json":{source:"iana",compressible:!0},"application/vnd.xara":{source:"iana",extensions:["xar"]},"application/vnd.xfdl":{source:"iana",extensions:["xfdl"]},"application/vnd.xfdl.webform":{source:"iana"},"application/vnd.xmi+xml":{source:"iana",compressible:!0},"application/vnd.xmpie.cpkg":{source:"iana"},"application/vnd.xmpie.dpkg":{source:"iana"},"application/vnd.xmpie.plan":{source:"iana"},"application/vnd.xmpie.ppkg":{source:"iana"},"application/vnd.xmpie.xlim":{source:"iana"},"application/vnd.yamaha.hv-dic":{source:"iana",extensions:["hvd"]},"application/vnd.yamaha.hv-script":{source:"iana",extensions:["hvs"]},"application/vnd.yamaha.hv-voice":{source:"iana",extensions:["hvp"]},"application/vnd.yamaha.openscoreformat":{source:"iana",extensions:["osf"]},"application/vnd.yamaha.openscoreformat.osfpvg+xml":{source:"iana",compressible:!0,extensions:["osfpvg"]},"application/vnd.yamaha.remote-setup":{source:"iana"},"application/vnd.yamaha.smaf-audio":{source:"iana",extensions:["saf"]},"application/vnd.yamaha.smaf-phrase":{source:"iana",extensions:["spf"]},"application/vnd.yamaha.through-ngn":{source:"iana"},"application/vnd.yamaha.tunnel-udpencap":{source:"iana"},"application/vnd.yaoweme":{source:"iana"},"application/vnd.yellowriver-custom-menu":{source:"iana",extensions:["cmp"]},"application/vnd.youtube.yt":{source:"iana"},"application/vnd.zul":{source:"iana",extensions:["zir","zirz"]},"application/vnd.zzazz.deck+xml":{source:"iana",compressible:!0,extensions:["zaz"]},"application/voicexml+xml":{source:"iana",compressible:!0,extensions:["vxml"]},"application/voucher-cms+json":{source:"iana",compressible:!0},"application/vq-rtcpxr":{source:"iana"},"application/wasm":{source:"iana",compressible:!0,extensions:["wasm"]},"application/watcherinfo+xml":{source:"iana",compressible:!0,extensions:["wif"]},"application/webpush-options+json":{source:"iana",compressible:!0},"application/whoispp-query":{source:"iana"},"application/whoispp-response":{source:"iana"},"application/widget":{source:"iana",extensions:["wgt"]},"application/winhlp":{source:"apache",extensions:["hlp"]},"application/wita":{source:"iana"},"application/wordperfect5.1":{source:"iana"},"application/wsdl+xml":{source:"iana",compressible:!0,extensions:["wsdl"]},"application/wspolicy+xml":{source:"iana",compressible:!0,extensions:["wspolicy"]},"application/x-7z-compressed":{source:"apache",compressible:!1,extensions:["7z"]},"application/x-abiword":{source:"apache",extensions:["abw"]},"application/x-ace-compressed":{source:"apache",extensions:["ace"]},"application/x-amf":{source:"apache"},"application/x-apple-diskimage":{source:"apache",extensions:["dmg"]},"application/x-arj":{compressible:!1,extensions:["arj"]},"application/x-authorware-bin":{source:"apache",extensions:["aab","x32","u32","vox"]},"application/x-authorware-map":{source:"apache",extensions:["aam"]},"application/x-authorware-seg":{source:"apache",extensions:["aas"]},"application/x-bcpio":{source:"apache",extensions:["bcpio"]},"application/x-bdoc":{compressible:!1,extensions:["bdoc"]},"application/x-bittorrent":{source:"apache",extensions:["torrent"]},"application/x-blorb":{source:"apache",extensions:["blb","blorb"]},"application/x-bzip":{source:"apache",compressible:!1,extensions:["bz"]},"application/x-bzip2":{source:"apache",compressible:!1,extensions:["bz2","boz"]},"application/x-cbr":{source:"apache",extensions:["cbr","cba","cbt","cbz","cb7"]},"application/x-cdlink":{source:"apache",extensions:["vcd"]},"application/x-cfs-compressed":{source:"apache",extensions:["cfs"]},"application/x-chat":{source:"apache",extensions:["chat"]},"application/x-chess-pgn":{source:"apache",extensions:["pgn"]},"application/x-chrome-extension":{extensions:["crx"]},"application/x-cocoa":{source:"nginx",extensions:["cco"]},"application/x-compress":{source:"apache"},"application/x-conference":{source:"apache",extensions:["nsc"]},"application/x-cpio":{source:"apache",extensions:["cpio"]},"application/x-csh":{source:"apache",extensions:["csh"]},"application/x-deb":{compressible:!1},"application/x-debian-package":{source:"apache",extensions:["deb","udeb"]},"application/x-dgc-compressed":{source:"apache",extensions:["dgc"]},"application/x-director":{source:"apache",extensions:["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"]},"application/x-doom":{source:"apache",extensions:["wad"]},"application/x-dtbncx+xml":{source:"apache",compressible:!0,extensions:["ncx"]},"application/x-dtbook+xml":{source:"apache",compressible:!0,extensions:["dtb"]},"application/x-dtbresource+xml":{source:"apache",compressible:!0,extensions:["res"]},"application/x-dvi":{source:"apache",compressible:!1,extensions:["dvi"]},"application/x-envoy":{source:"apache",extensions:["evy"]},"application/x-eva":{source:"apache",extensions:["eva"]},"application/x-font-bdf":{source:"apache",extensions:["bdf"]},"application/x-font-dos":{source:"apache"},"application/x-font-framemaker":{source:"apache"},"application/x-font-ghostscript":{source:"apache",extensions:["gsf"]},"application/x-font-libgrx":{source:"apache"},"application/x-font-linux-psf":{source:"apache",extensions:["psf"]},"application/x-font-pcf":{source:"apache",extensions:["pcf"]},"application/x-font-snf":{source:"apache",extensions:["snf"]},"application/x-font-speedo":{source:"apache"},"application/x-font-sunos-news":{source:"apache"},"application/x-font-type1":{source:"apache",extensions:["pfa","pfb","pfm","afm"]},"application/x-font-vfont":{source:"apache"},"application/x-freearc":{source:"apache",extensions:["arc"]},"application/x-futuresplash":{source:"apache",extensions:["spl"]},"application/x-gca-compressed":{source:"apache",extensions:["gca"]},"application/x-glulx":{source:"apache",extensions:["ulx"]},"application/x-gnumeric":{source:"apache",extensions:["gnumeric"]},"application/x-gramps-xml":{source:"apache",extensions:["gramps"]},"application/x-gtar":{source:"apache",extensions:["gtar"]},"application/x-gzip":{source:"apache"},"application/x-hdf":{source:"apache",extensions:["hdf"]},"application/x-httpd-php":{compressible:!0,extensions:["php"]},"application/x-install-instructions":{source:"apache",extensions:["install"]},"application/x-iso9660-image":{source:"apache",extensions:["iso"]},"application/x-iwork-keynote-sffkey":{extensions:["key"]},"application/x-iwork-numbers-sffnumbers":{extensions:["numbers"]},"application/x-iwork-pages-sffpages":{extensions:["pages"]},"application/x-java-archive-diff":{source:"nginx",extensions:["jardiff"]},"application/x-java-jnlp-file":{source:"apache",compressible:!1,extensions:["jnlp"]},"application/x-javascript":{compressible:!0},"application/x-keepass2":{extensions:["kdbx"]},"application/x-latex":{source:"apache",compressible:!1,extensions:["latex"]},"application/x-lua-bytecode":{extensions:["luac"]},"application/x-lzh-compressed":{source:"apache",extensions:["lzh","lha"]},"application/x-makeself":{source:"nginx",extensions:["run"]},"application/x-mie":{source:"apache",extensions:["mie"]},"application/x-mobipocket-ebook":{source:"apache",extensions:["prc","mobi"]},"application/x-mpegurl":{compressible:!1},"application/x-ms-application":{source:"apache",extensions:["application"]},"application/x-ms-shortcut":{source:"apache",extensions:["lnk"]},"application/x-ms-wmd":{source:"apache",extensions:["wmd"]},"application/x-ms-wmz":{source:"apache",extensions:["wmz"]},"application/x-ms-xbap":{source:"apache",extensions:["xbap"]},"application/x-msaccess":{source:"apache",extensions:["mdb"]},"application/x-msbinder":{source:"apache",extensions:["obd"]},"application/x-mscardfile":{source:"apache",extensions:["crd"]},"application/x-msclip":{source:"apache",extensions:["clp"]},"application/x-msdos-program":{extensions:["exe"]},"application/x-msdownload":{source:"apache",extensions:["exe","dll","com","bat","msi"]},"application/x-msmediaview":{source:"apache",extensions:["mvb","m13","m14"]},"application/x-msmetafile":{source:"apache",extensions:["wmf","wmz","emf","emz"]},"application/x-msmoney":{source:"apache",extensions:["mny"]},"application/x-mspublisher":{source:"apache",extensions:["pub"]},"application/x-msschedule":{source:"apache",extensions:["scd"]},"application/x-msterminal":{source:"apache",extensions:["trm"]},"application/x-mswrite":{source:"apache",extensions:["wri"]},"application/x-netcdf":{source:"apache",extensions:["nc","cdf"]},"application/x-ns-proxy-autoconfig":{compressible:!0,extensions:["pac"]},"application/x-nzb":{source:"apache",extensions:["nzb"]},"application/x-perl":{source:"nginx",extensions:["pl","pm"]},"application/x-pilot":{source:"nginx",extensions:["prc","pdb"]},"application/x-pkcs12":{source:"apache",compressible:!1,extensions:["p12","pfx"]},"application/x-pkcs7-certificates":{source:"apache",extensions:["p7b","spc"]},"application/x-pkcs7-certreqresp":{source:"apache",extensions:["p7r"]},"application/x-pki-message":{source:"iana"},"application/x-rar-compressed":{source:"apache",compressible:!1,extensions:["rar"]},"application/x-redhat-package-manager":{source:"nginx",extensions:["rpm"]},"application/x-research-info-systems":{source:"apache",extensions:["ris"]},"application/x-sea":{source:"nginx",extensions:["sea"]},"application/x-sh":{source:"apache",compressible:!0,extensions:["sh"]},"application/x-shar":{source:"apache",extensions:["shar"]},"application/x-shockwave-flash":{source:"apache",compressible:!1,extensions:["swf"]},"application/x-silverlight-app":{source:"apache",extensions:["xap"]},"application/x-sql":{source:"apache",extensions:["sql"]},"application/x-stuffit":{source:"apache",compressible:!1,extensions:["sit"]},"application/x-stuffitx":{source:"apache",extensions:["sitx"]},"application/x-subrip":{source:"apache",extensions:["srt"]},"application/x-sv4cpio":{source:"apache",extensions:["sv4cpio"]},"application/x-sv4crc":{source:"apache",extensions:["sv4crc"]},"application/x-t3vm-image":{source:"apache",extensions:["t3"]},"application/x-tads":{source:"apache",extensions:["gam"]},"application/x-tar":{source:"apache",compressible:!0,extensions:["tar"]},"application/x-tcl":{source:"apache",extensions:["tcl","tk"]},"application/x-tex":{source:"apache",extensions:["tex"]},"application/x-tex-tfm":{source:"apache",extensions:["tfm"]},"application/x-texinfo":{source:"apache",extensions:["texinfo","texi"]},"application/x-tgif":{source:"apache",extensions:["obj"]},"application/x-ustar":{source:"apache",extensions:["ustar"]},"application/x-virtualbox-hdd":{compressible:!0,extensions:["hdd"]},"application/x-virtualbox-ova":{compressible:!0,extensions:["ova"]},"application/x-virtualbox-ovf":{compressible:!0,extensions:["ovf"]},"application/x-virtualbox-vbox":{compressible:!0,extensions:["vbox"]},"application/x-virtualbox-vbox-extpack":{compressible:!1,extensions:["vbox-extpack"]},"application/x-virtualbox-vdi":{compressible:!0,extensions:["vdi"]},"application/x-virtualbox-vhd":{compressible:!0,extensions:["vhd"]},"application/x-virtualbox-vmdk":{compressible:!0,extensions:["vmdk"]},"application/x-wais-source":{source:"apache",extensions:["src"]},"application/x-web-app-manifest+json":{compressible:!0,extensions:["webapp"]},"application/x-www-form-urlencoded":{source:"iana",compressible:!0},"application/x-x509-ca-cert":{source:"iana",extensions:["der","crt","pem"]},"application/x-x509-ca-ra-cert":{source:"iana"},"application/x-x509-next-ca-cert":{source:"iana"},"application/x-xfig":{source:"apache",extensions:["fig"]},"application/x-xliff+xml":{source:"apache",compressible:!0,extensions:["xlf"]},"application/x-xpinstall":{source:"apache",compressible:!1,extensions:["xpi"]},"application/x-xz":{source:"apache",extensions:["xz"]},"application/x-zmachine":{source:"apache",extensions:["z1","z2","z3","z4","z5","z6","z7","z8"]},"application/x400-bp":{source:"iana"},"application/xacml+xml":{source:"iana",compressible:!0},"application/xaml+xml":{source:"apache",compressible:!0,extensions:["xaml"]},"application/xcap-att+xml":{source:"iana",compressible:!0,extensions:["xav"]},"application/xcap-caps+xml":{source:"iana",compressible:!0,extensions:["xca"]},"application/xcap-diff+xml":{source:"iana",compressible:!0,extensions:["xdf"]},"application/xcap-el+xml":{source:"iana",compressible:!0,extensions:["xel"]},"application/xcap-error+xml":{source:"iana",compressible:!0},"application/xcap-ns+xml":{source:"iana",compressible:!0,extensions:["xns"]},"application/xcon-conference-info+xml":{source:"iana",compressible:!0},"application/xcon-conference-info-diff+xml":{source:"iana",compressible:!0},"application/xenc+xml":{source:"iana",compressible:!0,extensions:["xenc"]},"application/xhtml+xml":{source:"iana",compressible:!0,extensions:["xhtml","xht"]},"application/xhtml-voice+xml":{source:"apache",compressible:!0},"application/xliff+xml":{source:"iana",compressible:!0,extensions:["xlf"]},"application/xml":{source:"iana",compressible:!0,extensions:["xml","xsl","xsd","rng"]},"application/xml-dtd":{source:"iana",compressible:!0,extensions:["dtd"]},"application/xml-external-parsed-entity":{source:"iana"},"application/xml-patch+xml":{source:"iana",compressible:!0},"application/xmpp+xml":{source:"iana",compressible:!0},"application/xop+xml":{source:"iana",compressible:!0,extensions:["xop"]},"application/xproc+xml":{source:"apache",compressible:!0,extensions:["xpl"]},"application/xslt+xml":{source:"iana",compressible:!0,extensions:["xsl","xslt"]},"application/xspf+xml":{source:"apache",compressible:!0,extensions:["xspf"]},"application/xv+xml":{source:"iana",compressible:!0,extensions:["mxml","xhvml","xvml","xvm"]},"application/yang":{source:"iana",extensions:["yang"]},"application/yang-data+json":{source:"iana",compressible:!0},"application/yang-data+xml":{source:"iana",compressible:!0},"application/yang-patch+json":{source:"iana",compressible:!0},"application/yang-patch+xml":{source:"iana",compressible:!0},"application/yin+xml":{source:"iana",compressible:!0,extensions:["yin"]},"application/zip":{source:"iana",compressible:!1,extensions:["zip"]},"application/zlib":{source:"iana"},"application/zstd":{source:"iana"},"audio/1d-interleaved-parityfec":{source:"iana"},"audio/32kadpcm":{source:"iana"},"audio/3gpp":{source:"iana",compressible:!1,extensions:["3gpp"]},"audio/3gpp2":{source:"iana"},"audio/aac":{source:"iana"},"audio/ac3":{source:"iana"},"audio/adpcm":{source:"apache",extensions:["adp"]},"audio/amr":{source:"iana",extensions:["amr"]},"audio/amr-wb":{source:"iana"},"audio/amr-wb+":{source:"iana"},"audio/aptx":{source:"iana"},"audio/asc":{source:"iana"},"audio/atrac-advanced-lossless":{source:"iana"},"audio/atrac-x":{source:"iana"},"audio/atrac3":{source:"iana"},"audio/basic":{source:"iana",compressible:!1,extensions:["au","snd"]},"audio/bv16":{source:"iana"},"audio/bv32":{source:"iana"},"audio/clearmode":{source:"iana"},"audio/cn":{source:"iana"},"audio/dat12":{source:"iana"},"audio/dls":{source:"iana"},"audio/dsr-es201108":{source:"iana"},"audio/dsr-es202050":{source:"iana"},"audio/dsr-es202211":{source:"iana"},"audio/dsr-es202212":{source:"iana"},"audio/dv":{source:"iana"},"audio/dvi4":{source:"iana"},"audio/eac3":{source:"iana"},"audio/encaprtp":{source:"iana"},"audio/evrc":{source:"iana"},"audio/evrc-qcp":{source:"iana"},"audio/evrc0":{source:"iana"},"audio/evrc1":{source:"iana"},"audio/evrcb":{source:"iana"},"audio/evrcb0":{source:"iana"},"audio/evrcb1":{source:"iana"},"audio/evrcnw":{source:"iana"},"audio/evrcnw0":{source:"iana"},"audio/evrcnw1":{source:"iana"},"audio/evrcwb":{source:"iana"},"audio/evrcwb0":{source:"iana"},"audio/evrcwb1":{source:"iana"},"audio/evs":{source:"iana"},"audio/flexfec":{source:"iana"},"audio/fwdred":{source:"iana"},"audio/g711-0":{source:"iana"},"audio/g719":{source:"iana"},"audio/g722":{source:"iana"},"audio/g7221":{source:"iana"},"audio/g723":{source:"iana"},"audio/g726-16":{source:"iana"},"audio/g726-24":{source:"iana"},"audio/g726-32":{source:"iana"},"audio/g726-40":{source:"iana"},"audio/g728":{source:"iana"},"audio/g729":{source:"iana"},"audio/g7291":{source:"iana"},"audio/g729d":{source:"iana"},"audio/g729e":{source:"iana"},"audio/gsm":{source:"iana"},"audio/gsm-efr":{source:"iana"},"audio/gsm-hr-08":{source:"iana"},"audio/ilbc":{source:"iana"},"audio/ip-mr_v2.5":{source:"iana"},"audio/isac":{source:"apache"},"audio/l16":{source:"iana"},"audio/l20":{source:"iana"},"audio/l24":{source:"iana",compressible:!1},"audio/l8":{source:"iana"},"audio/lpc":{source:"iana"},"audio/melp":{source:"iana"},"audio/melp1200":{source:"iana"},"audio/melp2400":{source:"iana"},"audio/melp600":{source:"iana"},"audio/mhas":{source:"iana"},"audio/midi":{source:"apache",extensions:["mid","midi","kar","rmi"]},"audio/mobile-xmf":{source:"iana",extensions:["mxmf"]},"audio/mp3":{compressible:!1,extensions:["mp3"]},"audio/mp4":{source:"iana",compressible:!1,extensions:["m4a","mp4a"]},"audio/mp4a-latm":{source:"iana"},"audio/mpa":{source:"iana"},"audio/mpa-robust":{source:"iana"},"audio/mpeg":{source:"iana",compressible:!1,extensions:["mpga","mp2","mp2a","mp3","m2a","m3a"]},"audio/mpeg4-generic":{source:"iana"},"audio/musepack":{source:"apache"},"audio/ogg":{source:"iana",compressible:!1,extensions:["oga","ogg","spx","opus"]},"audio/opus":{source:"iana"},"audio/parityfec":{source:"iana"},"audio/pcma":{source:"iana"},"audio/pcma-wb":{source:"iana"},"audio/pcmu":{source:"iana"},"audio/pcmu-wb":{source:"iana"},"audio/prs.sid":{source:"iana"},"audio/qcelp":{source:"iana"},"audio/raptorfec":{source:"iana"},"audio/red":{source:"iana"},"audio/rtp-enc-aescm128":{source:"iana"},"audio/rtp-midi":{source:"iana"},"audio/rtploopback":{source:"iana"},"audio/rtx":{source:"iana"},"audio/s3m":{source:"apache",extensions:["s3m"]},"audio/scip":{source:"iana"},"audio/silk":{source:"apache",extensions:["sil"]},"audio/smv":{source:"iana"},"audio/smv-qcp":{source:"iana"},"audio/smv0":{source:"iana"},"audio/sofa":{source:"iana"},"audio/sp-midi":{source:"iana"},"audio/speex":{source:"iana"},"audio/t140c":{source:"iana"},"audio/t38":{source:"iana"},"audio/telephone-event":{source:"iana"},"audio/tetra_acelp":{source:"iana"},"audio/tetra_acelp_bb":{source:"iana"},"audio/tone":{source:"iana"},"audio/tsvcis":{source:"iana"},"audio/uemclip":{source:"iana"},"audio/ulpfec":{source:"iana"},"audio/usac":{source:"iana"},"audio/vdvi":{source:"iana"},"audio/vmr-wb":{source:"iana"},"audio/vnd.3gpp.iufp":{source:"iana"},"audio/vnd.4sb":{source:"iana"},"audio/vnd.audiokoz":{source:"iana"},"audio/vnd.celp":{source:"iana"},"audio/vnd.cisco.nse":{source:"iana"},"audio/vnd.cmles.radio-events":{source:"iana"},"audio/vnd.cns.anp1":{source:"iana"},"audio/vnd.cns.inf1":{source:"iana"},"audio/vnd.dece.audio":{source:"iana",extensions:["uva","uvva"]},"audio/vnd.digital-winds":{source:"iana",extensions:["eol"]},"audio/vnd.dlna.adts":{source:"iana"},"audio/vnd.dolby.heaac.1":{source:"iana"},"audio/vnd.dolby.heaac.2":{source:"iana"},"audio/vnd.dolby.mlp":{source:"iana"},"audio/vnd.dolby.mps":{source:"iana"},"audio/vnd.dolby.pl2":{source:"iana"},"audio/vnd.dolby.pl2x":{source:"iana"},"audio/vnd.dolby.pl2z":{source:"iana"},"audio/vnd.dolby.pulse.1":{source:"iana"},"audio/vnd.dra":{source:"iana",extensions:["dra"]},"audio/vnd.dts":{source:"iana",extensions:["dts"]},"audio/vnd.dts.hd":{source:"iana",extensions:["dtshd"]},"audio/vnd.dts.uhd":{source:"iana"},"audio/vnd.dvb.file":{source:"iana"},"audio/vnd.everad.plj":{source:"iana"},"audio/vnd.hns.audio":{source:"iana"},"audio/vnd.lucent.voice":{source:"iana",extensions:["lvp"]},"audio/vnd.ms-playready.media.pya":{source:"iana",extensions:["pya"]},"audio/vnd.nokia.mobile-xmf":{source:"iana"},"audio/vnd.nortel.vbk":{source:"iana"},"audio/vnd.nuera.ecelp4800":{source:"iana",extensions:["ecelp4800"]},"audio/vnd.nuera.ecelp7470":{source:"iana",extensions:["ecelp7470"]},"audio/vnd.nuera.ecelp9600":{source:"iana",extensions:["ecelp9600"]},"audio/vnd.octel.sbc":{source:"iana"},"audio/vnd.presonus.multitrack":{source:"iana"},"audio/vnd.qcelp":{source:"iana"},"audio/vnd.rhetorex.32kadpcm":{source:"iana"},"audio/vnd.rip":{source:"iana",extensions:["rip"]},"audio/vnd.rn-realaudio":{compressible:!1},"audio/vnd.sealedmedia.softseal.mpeg":{source:"iana"},"audio/vnd.vmx.cvsd":{source:"iana"},"audio/vnd.wave":{compressible:!1},"audio/vorbis":{source:"iana",compressible:!1},"audio/vorbis-config":{source:"iana"},"audio/wav":{compressible:!1,extensions:["wav"]},"audio/wave":{compressible:!1,extensions:["wav"]},"audio/webm":{source:"apache",compressible:!1,extensions:["weba"]},"audio/x-aac":{source:"apache",compressible:!1,extensions:["aac"]},"audio/x-aiff":{source:"apache",extensions:["aif","aiff","aifc"]},"audio/x-caf":{source:"apache",compressible:!1,extensions:["caf"]},"audio/x-flac":{source:"apache",extensions:["flac"]},"audio/x-m4a":{source:"nginx",extensions:["m4a"]},"audio/x-matroska":{source:"apache",extensions:["mka"]},"audio/x-mpegurl":{source:"apache",extensions:["m3u"]},"audio/x-ms-wax":{source:"apache",extensions:["wax"]},"audio/x-ms-wma":{source:"apache",extensions:["wma"]},"audio/x-pn-realaudio":{source:"apache",extensions:["ram","ra"]},"audio/x-pn-realaudio-plugin":{source:"apache",extensions:["rmp"]},"audio/x-realaudio":{source:"nginx",extensions:["ra"]},"audio/x-tta":{source:"apache"},"audio/x-wav":{source:"apache",extensions:["wav"]},"audio/xm":{source:"apache",extensions:["xm"]},"chemical/x-cdx":{source:"apache",extensions:["cdx"]},"chemical/x-cif":{source:"apache",extensions:["cif"]},"chemical/x-cmdf":{source:"apache",extensions:["cmdf"]},"chemical/x-cml":{source:"apache",extensions:["cml"]},"chemical/x-csml":{source:"apache",extensions:["csml"]},"chemical/x-pdb":{source:"apache"},"chemical/x-xyz":{source:"apache",extensions:["xyz"]},"font/collection":{source:"iana",extensions:["ttc"]},"font/otf":{source:"iana",compressible:!0,extensions:["otf"]},"font/sfnt":{source:"iana"},"font/ttf":{source:"iana",compressible:!0,extensions:["ttf"]},"font/woff":{source:"iana",extensions:["woff"]},"font/woff2":{source:"iana",extensions:["woff2"]},"image/aces":{source:"iana",extensions:["exr"]},"image/apng":{compressible:!1,extensions:["apng"]},"image/avci":{source:"iana",extensions:["avci"]},"image/avcs":{source:"iana",extensions:["avcs"]},"image/avif":{source:"iana",compressible:!1,extensions:["avif"]},"image/bmp":{source:"iana",compressible:!0,extensions:["bmp"]},"image/cgm":{source:"iana",extensions:["cgm"]},"image/dicom-rle":{source:"iana",extensions:["drle"]},"image/emf":{source:"iana",extensions:["emf"]},"image/fits":{source:"iana",extensions:["fits"]},"image/g3fax":{source:"iana",extensions:["g3"]},"image/gif":{source:"iana",compressible:!1,extensions:["gif"]},"image/heic":{source:"iana",extensions:["heic"]},"image/heic-sequence":{source:"iana",extensions:["heics"]},"image/heif":{source:"iana",extensions:["heif"]},"image/heif-sequence":{source:"iana",extensions:["heifs"]},"image/hej2k":{source:"iana",extensions:["hej2"]},"image/hsj2":{source:"iana",extensions:["hsj2"]},"image/ief":{source:"iana",extensions:["ief"]},"image/jls":{source:"iana",extensions:["jls"]},"image/jp2":{source:"iana",compressible:!1,extensions:["jp2","jpg2"]},"image/jpeg":{source:"iana",compressible:!1,extensions:["jpeg","jpg","jpe"]},"image/jph":{source:"iana",extensions:["jph"]},"image/jphc":{source:"iana",extensions:["jhc"]},"image/jpm":{source:"iana",compressible:!1,extensions:["jpm"]},"image/jpx":{source:"iana",compressible:!1,extensions:["jpx","jpf"]},"image/jxr":{source:"iana",extensions:["jxr"]},"image/jxra":{source:"iana",extensions:["jxra"]},"image/jxrs":{source:"iana",extensions:["jxrs"]},"image/jxs":{source:"iana",extensions:["jxs"]},"image/jxsc":{source:"iana",extensions:["jxsc"]},"image/jxsi":{source:"iana",extensions:["jxsi"]},"image/jxss":{source:"iana",extensions:["jxss"]},"image/ktx":{source:"iana",extensions:["ktx"]},"image/ktx2":{source:"iana",extensions:["ktx2"]},"image/naplps":{source:"iana"},"image/pjpeg":{compressible:!1},"image/png":{source:"iana",compressible:!1,extensions:["png"]},"image/prs.btif":{source:"iana",extensions:["btif"]},"image/prs.pti":{source:"iana",extensions:["pti"]},"image/pwg-raster":{source:"iana"},"image/sgi":{source:"apache",extensions:["sgi"]},"image/svg+xml":{source:"iana",compressible:!0,extensions:["svg","svgz"]},"image/t38":{source:"iana",extensions:["t38"]},"image/tiff":{source:"iana",compressible:!1,extensions:["tif","tiff"]},"image/tiff-fx":{source:"iana",extensions:["tfx"]},"image/vnd.adobe.photoshop":{source:"iana",compressible:!0,extensions:["psd"]},"image/vnd.airzip.accelerator.azv":{source:"iana",extensions:["azv"]},"image/vnd.cns.inf2":{source:"iana"},"image/vnd.dece.graphic":{source:"iana",extensions:["uvi","uvvi","uvg","uvvg"]},"image/vnd.djvu":{source:"iana",extensions:["djvu","djv"]},"image/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"image/vnd.dwg":{source:"iana",extensions:["dwg"]},"image/vnd.dxf":{source:"iana",extensions:["dxf"]},"image/vnd.fastbidsheet":{source:"iana",extensions:["fbs"]},"image/vnd.fpx":{source:"iana",extensions:["fpx"]},"image/vnd.fst":{source:"iana",extensions:["fst"]},"image/vnd.fujixerox.edmics-mmr":{source:"iana",extensions:["mmr"]},"image/vnd.fujixerox.edmics-rlc":{source:"iana",extensions:["rlc"]},"image/vnd.globalgraphics.pgb":{source:"iana"},"image/vnd.microsoft.icon":{source:"iana",compressible:!0,extensions:["ico"]},"image/vnd.mix":{source:"iana"},"image/vnd.mozilla.apng":{source:"iana"},"image/vnd.ms-dds":{compressible:!0,extensions:["dds"]},"image/vnd.ms-modi":{source:"iana",extensions:["mdi"]},"image/vnd.ms-photo":{source:"apache",extensions:["wdp"]},"image/vnd.net-fpx":{source:"iana",extensions:["npx"]},"image/vnd.pco.b16":{source:"iana",extensions:["b16"]},"image/vnd.radiance":{source:"iana"},"image/vnd.sealed.png":{source:"iana"},"image/vnd.sealedmedia.softseal.gif":{source:"iana"},"image/vnd.sealedmedia.softseal.jpg":{source:"iana"},"image/vnd.svf":{source:"iana"},"image/vnd.tencent.tap":{source:"iana",extensions:["tap"]},"image/vnd.valve.source.texture":{source:"iana",extensions:["vtf"]},"image/vnd.wap.wbmp":{source:"iana",extensions:["wbmp"]},"image/vnd.xiff":{source:"iana",extensions:["xif"]},"image/vnd.zbrush.pcx":{source:"iana",extensions:["pcx"]},"image/webp":{source:"apache",extensions:["webp"]},"image/wmf":{source:"iana",extensions:["wmf"]},"image/x-3ds":{source:"apache",extensions:["3ds"]},"image/x-cmu-raster":{source:"apache",extensions:["ras"]},"image/x-cmx":{source:"apache",extensions:["cmx"]},"image/x-freehand":{source:"apache",extensions:["fh","fhc","fh4","fh5","fh7"]},"image/x-icon":{source:"apache",compressible:!0,extensions:["ico"]},"image/x-jng":{source:"nginx",extensions:["jng"]},"image/x-mrsid-image":{source:"apache",extensions:["sid"]},"image/x-ms-bmp":{source:"nginx",compressible:!0,extensions:["bmp"]},"image/x-pcx":{source:"apache",extensions:["pcx"]},"image/x-pict":{source:"apache",extensions:["pic","pct"]},"image/x-portable-anymap":{source:"apache",extensions:["pnm"]},"image/x-portable-bitmap":{source:"apache",extensions:["pbm"]},"image/x-portable-graymap":{source:"apache",extensions:["pgm"]},"image/x-portable-pixmap":{source:"apache",extensions:["ppm"]},"image/x-rgb":{source:"apache",extensions:["rgb"]},"image/x-tga":{source:"apache",extensions:["tga"]},"image/x-xbitmap":{source:"apache",extensions:["xbm"]},"image/x-xcf":{compressible:!1},"image/x-xpixmap":{source:"apache",extensions:["xpm"]},"image/x-xwindowdump":{source:"apache",extensions:["xwd"]},"message/cpim":{source:"iana"},"message/delivery-status":{source:"iana"},"message/disposition-notification":{source:"iana",extensions:["disposition-notification"]},"message/external-body":{source:"iana"},"message/feedback-report":{source:"iana"},"message/global":{source:"iana",extensions:["u8msg"]},"message/global-delivery-status":{source:"iana",extensions:["u8dsn"]},"message/global-disposition-notification":{source:"iana",extensions:["u8mdn"]},"message/global-headers":{source:"iana",extensions:["u8hdr"]},"message/http":{source:"iana",compressible:!1},"message/imdn+xml":{source:"iana",compressible:!0},"message/news":{source:"iana"},"message/partial":{source:"iana",compressible:!1},"message/rfc822":{source:"iana",compressible:!0,extensions:["eml","mime"]},"message/s-http":{source:"iana"},"message/sip":{source:"iana"},"message/sipfrag":{source:"iana"},"message/tracking-status":{source:"iana"},"message/vnd.si.simp":{source:"iana"},"message/vnd.wfa.wsc":{source:"iana",extensions:["wsc"]},"model/3mf":{source:"iana",extensions:["3mf"]},"model/e57":{source:"iana"},"model/gltf+json":{source:"iana",compressible:!0,extensions:["gltf"]},"model/gltf-binary":{source:"iana",compressible:!0,extensions:["glb"]},"model/iges":{source:"iana",compressible:!1,extensions:["igs","iges"]},"model/mesh":{source:"iana",compressible:!1,extensions:["msh","mesh","silo"]},"model/mtl":{source:"iana",extensions:["mtl"]},"model/obj":{source:"iana",extensions:["obj"]},"model/step":{source:"iana"},"model/step+xml":{source:"iana",compressible:!0,extensions:["stpx"]},"model/step+zip":{source:"iana",compressible:!1,extensions:["stpz"]},"model/step-xml+zip":{source:"iana",compressible:!1,extensions:["stpxz"]},"model/stl":{source:"iana",extensions:["stl"]},"model/vnd.collada+xml":{source:"iana",compressible:!0,extensions:["dae"]},"model/vnd.dwf":{source:"iana",extensions:["dwf"]},"model/vnd.flatland.3dml":{source:"iana"},"model/vnd.gdl":{source:"iana",extensions:["gdl"]},"model/vnd.gs-gdl":{source:"apache"},"model/vnd.gs.gdl":{source:"iana"},"model/vnd.gtw":{source:"iana",extensions:["gtw"]},"model/vnd.moml+xml":{source:"iana",compressible:!0},"model/vnd.mts":{source:"iana",extensions:["mts"]},"model/vnd.opengex":{source:"iana",extensions:["ogex"]},"model/vnd.parasolid.transmit.binary":{source:"iana",extensions:["x_b"]},"model/vnd.parasolid.transmit.text":{source:"iana",extensions:["x_t"]},"model/vnd.pytha.pyox":{source:"iana"},"model/vnd.rosette.annotated-data-model":{source:"iana"},"model/vnd.sap.vds":{source:"iana",extensions:["vds"]},"model/vnd.usdz+zip":{source:"iana",compressible:!1,extensions:["usdz"]},"model/vnd.valve.source.compiled-map":{source:"iana",extensions:["bsp"]},"model/vnd.vtu":{source:"iana",extensions:["vtu"]},"model/vrml":{source:"iana",compressible:!1,extensions:["wrl","vrml"]},"model/x3d+binary":{source:"apache",compressible:!1,extensions:["x3db","x3dbz"]},"model/x3d+fastinfoset":{source:"iana",extensions:["x3db"]},"model/x3d+vrml":{source:"apache",compressible:!1,extensions:["x3dv","x3dvz"]},"model/x3d+xml":{source:"iana",compressible:!0,extensions:["x3d","x3dz"]},"model/x3d-vrml":{source:"iana",extensions:["x3dv"]},"multipart/alternative":{source:"iana",compressible:!1},"multipart/appledouble":{source:"iana"},"multipart/byteranges":{source:"iana"},"multipart/digest":{source:"iana"},"multipart/encrypted":{source:"iana",compressible:!1},"multipart/form-data":{source:"iana",compressible:!1},"multipart/header-set":{source:"iana"},"multipart/mixed":{source:"iana"},"multipart/multilingual":{source:"iana"},"multipart/parallel":{source:"iana"},"multipart/related":{source:"iana",compressible:!1},"multipart/report":{source:"iana"},"multipart/signed":{source:"iana",compressible:!1},"multipart/vnd.bint.med-plus":{source:"iana"},"multipart/voice-message":{source:"iana"},"multipart/x-mixed-replace":{source:"iana"},"text/1d-interleaved-parityfec":{source:"iana"},"text/cache-manifest":{source:"iana",compressible:!0,extensions:["appcache","manifest"]},"text/calendar":{source:"iana",extensions:["ics","ifb"]},"text/calender":{compressible:!0},"text/cmd":{compressible:!0},"text/coffeescript":{extensions:["coffee","litcoffee"]},"text/cql":{source:"iana"},"text/cql-expression":{source:"iana"},"text/cql-identifier":{source:"iana"},"text/css":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["css"]},"text/csv":{source:"iana",compressible:!0,extensions:["csv"]},"text/csv-schema":{source:"iana"},"text/directory":{source:"iana"},"text/dns":{source:"iana"},"text/ecmascript":{source:"iana"},"text/encaprtp":{source:"iana"},"text/enriched":{source:"iana"},"text/fhirpath":{source:"iana"},"text/flexfec":{source:"iana"},"text/fwdred":{source:"iana"},"text/gff3":{source:"iana"},"text/grammar-ref-list":{source:"iana"},"text/html":{source:"iana",compressible:!0,extensions:["html","htm","shtml"]},"text/jade":{extensions:["jade"]},"text/javascript":{source:"iana",compressible:!0},"text/jcr-cnd":{source:"iana"},"text/jsx":{compressible:!0,extensions:["jsx"]},"text/less":{compressible:!0,extensions:["less"]},"text/markdown":{source:"iana",compressible:!0,extensions:["markdown","md"]},"text/mathml":{source:"nginx",extensions:["mml"]},"text/mdx":{compressible:!0,extensions:["mdx"]},"text/mizar":{source:"iana"},"text/n3":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["n3"]},"text/parameters":{source:"iana",charset:"UTF-8"},"text/parityfec":{source:"iana"},"text/plain":{source:"iana",compressible:!0,extensions:["txt","text","conf","def","list","log","in","ini"]},"text/provenance-notation":{source:"iana",charset:"UTF-8"},"text/prs.fallenstein.rst":{source:"iana"},"text/prs.lines.tag":{source:"iana",extensions:["dsc"]},"text/prs.prop.logic":{source:"iana"},"text/raptorfec":{source:"iana"},"text/red":{source:"iana"},"text/rfc822-headers":{source:"iana"},"text/richtext":{source:"iana",compressible:!0,extensions:["rtx"]},"text/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"text/rtp-enc-aescm128":{source:"iana"},"text/rtploopback":{source:"iana"},"text/rtx":{source:"iana"},"text/sgml":{source:"iana",extensions:["sgml","sgm"]},"text/shaclc":{source:"iana"},"text/shex":{source:"iana",extensions:["shex"]},"text/slim":{extensions:["slim","slm"]},"text/spdx":{source:"iana",extensions:["spdx"]},"text/strings":{source:"iana"},"text/stylus":{extensions:["stylus","styl"]},"text/t140":{source:"iana"},"text/tab-separated-values":{source:"iana",compressible:!0,extensions:["tsv"]},"text/troff":{source:"iana",extensions:["t","tr","roff","man","me","ms"]},"text/turtle":{source:"iana",charset:"UTF-8",extensions:["ttl"]},"text/ulpfec":{source:"iana"},"text/uri-list":{source:"iana",compressible:!0,extensions:["uri","uris","urls"]},"text/vcard":{source:"iana",compressible:!0,extensions:["vcard"]},"text/vnd.a":{source:"iana"},"text/vnd.abc":{source:"iana"},"text/vnd.ascii-art":{source:"iana"},"text/vnd.curl":{source:"iana",extensions:["curl"]},"text/vnd.curl.dcurl":{source:"apache",extensions:["dcurl"]},"text/vnd.curl.mcurl":{source:"apache",extensions:["mcurl"]},"text/vnd.curl.scurl":{source:"apache",extensions:["scurl"]},"text/vnd.debian.copyright":{source:"iana",charset:"UTF-8"},"text/vnd.dmclientscript":{source:"iana"},"text/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"text/vnd.esmertec.theme-descriptor":{source:"iana",charset:"UTF-8"},"text/vnd.familysearch.gedcom":{source:"iana",extensions:["ged"]},"text/vnd.ficlab.flt":{source:"iana"},"text/vnd.fly":{source:"iana",extensions:["fly"]},"text/vnd.fmi.flexstor":{source:"iana",extensions:["flx"]},"text/vnd.gml":{source:"iana"},"text/vnd.graphviz":{source:"iana",extensions:["gv"]},"text/vnd.hans":{source:"iana"},"text/vnd.hgl":{source:"iana"},"text/vnd.in3d.3dml":{source:"iana",extensions:["3dml"]},"text/vnd.in3d.spot":{source:"iana",extensions:["spot"]},"text/vnd.iptc.newsml":{source:"iana"},"text/vnd.iptc.nitf":{source:"iana"},"text/vnd.latex-z":{source:"iana"},"text/vnd.motorola.reflex":{source:"iana"},"text/vnd.ms-mediapackage":{source:"iana"},"text/vnd.net2phone.commcenter.command":{source:"iana"},"text/vnd.radisys.msml-basic-layout":{source:"iana"},"text/vnd.senx.warpscript":{source:"iana"},"text/vnd.si.uricatalogue":{source:"iana"},"text/vnd.sosi":{source:"iana"},"text/vnd.sun.j2me.app-descriptor":{source:"iana",charset:"UTF-8",extensions:["jad"]},"text/vnd.trolltech.linguist":{source:"iana",charset:"UTF-8"},"text/vnd.wap.si":{source:"iana"},"text/vnd.wap.sl":{source:"iana"},"text/vnd.wap.wml":{source:"iana",extensions:["wml"]},"text/vnd.wap.wmlscript":{source:"iana",extensions:["wmls"]},"text/vtt":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["vtt"]},"text/x-asm":{source:"apache",extensions:["s","asm"]},"text/x-c":{source:"apache",extensions:["c","cc","cxx","cpp","h","hh","dic"]},"text/x-component":{source:"nginx",extensions:["htc"]},"text/x-fortran":{source:"apache",extensions:["f","for","f77","f90"]},"text/x-gwt-rpc":{compressible:!0},"text/x-handlebars-template":{extensions:["hbs"]},"text/x-java-source":{source:"apache",extensions:["java"]},"text/x-jquery-tmpl":{compressible:!0},"text/x-lua":{extensions:["lua"]},"text/x-markdown":{compressible:!0,extensions:["mkd"]},"text/x-nfo":{source:"apache",extensions:["nfo"]},"text/x-opml":{source:"apache",extensions:["opml"]},"text/x-org":{compressible:!0,extensions:["org"]},"text/x-pascal":{source:"apache",extensions:["p","pas"]},"text/x-processing":{compressible:!0,extensions:["pde"]},"text/x-sass":{extensions:["sass"]},"text/x-scss":{extensions:["scss"]},"text/x-setext":{source:"apache",extensions:["etx"]},"text/x-sfv":{source:"apache",extensions:["sfv"]},"text/x-suse-ymp":{compressible:!0,extensions:["ymp"]},"text/x-uuencode":{source:"apache",extensions:["uu"]},"text/x-vcalendar":{source:"apache",extensions:["vcs"]},"text/x-vcard":{source:"apache",extensions:["vcf"]},"text/xml":{source:"iana",compressible:!0,extensions:["xml"]},"text/xml-external-parsed-entity":{source:"iana"},"text/yaml":{compressible:!0,extensions:["yaml","yml"]},"video/1d-interleaved-parityfec":{source:"iana"},"video/3gpp":{source:"iana",extensions:["3gp","3gpp"]},"video/3gpp-tt":{source:"iana"},"video/3gpp2":{source:"iana",extensions:["3g2"]},"video/av1":{source:"iana"},"video/bmpeg":{source:"iana"},"video/bt656":{source:"iana"},"video/celb":{source:"iana"},"video/dv":{source:"iana"},"video/encaprtp":{source:"iana"},"video/ffv1":{source:"iana"},"video/flexfec":{source:"iana"},"video/h261":{source:"iana",extensions:["h261"]},"video/h263":{source:"iana",extensions:["h263"]},"video/h263-1998":{source:"iana"},"video/h263-2000":{source:"iana"},"video/h264":{source:"iana",extensions:["h264"]},"video/h264-rcdo":{source:"iana"},"video/h264-svc":{source:"iana"},"video/h265":{source:"iana"},"video/iso.segment":{source:"iana",extensions:["m4s"]},"video/jpeg":{source:"iana",extensions:["jpgv"]},"video/jpeg2000":{source:"iana"},"video/jpm":{source:"apache",extensions:["jpm","jpgm"]},"video/jxsv":{source:"iana"},"video/mj2":{source:"iana",extensions:["mj2","mjp2"]},"video/mp1s":{source:"iana"},"video/mp2p":{source:"iana"},"video/mp2t":{source:"iana",extensions:["ts"]},"video/mp4":{source:"iana",compressible:!1,extensions:["mp4","mp4v","mpg4"]},"video/mp4v-es":{source:"iana"},"video/mpeg":{source:"iana",compressible:!1,extensions:["mpeg","mpg","mpe","m1v","m2v"]},"video/mpeg4-generic":{source:"iana"},"video/mpv":{source:"iana"},"video/nv":{source:"iana"},"video/ogg":{source:"iana",compressible:!1,extensions:["ogv"]},"video/parityfec":{source:"iana"},"video/pointer":{source:"iana"},"video/quicktime":{source:"iana",compressible:!1,extensions:["qt","mov"]},"video/raptorfec":{source:"iana"},"video/raw":{source:"iana"},"video/rtp-enc-aescm128":{source:"iana"},"video/rtploopback":{source:"iana"},"video/rtx":{source:"iana"},"video/scip":{source:"iana"},"video/smpte291":{source:"iana"},"video/smpte292m":{source:"iana"},"video/ulpfec":{source:"iana"},"video/vc1":{source:"iana"},"video/vc2":{source:"iana"},"video/vnd.cctv":{source:"iana"},"video/vnd.dece.hd":{source:"iana",extensions:["uvh","uvvh"]},"video/vnd.dece.mobile":{source:"iana",extensions:["uvm","uvvm"]},"video/vnd.dece.mp4":{source:"iana"},"video/vnd.dece.pd":{source:"iana",extensions:["uvp","uvvp"]},"video/vnd.dece.sd":{source:"iana",extensions:["uvs","uvvs"]},"video/vnd.dece.video":{source:"iana",extensions:["uvv","uvvv"]},"video/vnd.directv.mpeg":{source:"iana"},"video/vnd.directv.mpeg-tts":{source:"iana"},"video/vnd.dlna.mpeg-tts":{source:"iana"},"video/vnd.dvb.file":{source:"iana",extensions:["dvb"]},"video/vnd.fvt":{source:"iana",extensions:["fvt"]},"video/vnd.hns.video":{source:"iana"},"video/vnd.iptvforum.1dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.1dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.2dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.2dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.ttsavc":{source:"iana"},"video/vnd.iptvforum.ttsmpeg2":{source:"iana"},"video/vnd.motorola.video":{source:"iana"},"video/vnd.motorola.videop":{source:"iana"},"video/vnd.mpegurl":{source:"iana",extensions:["mxu","m4u"]},"video/vnd.ms-playready.media.pyv":{source:"iana",extensions:["pyv"]},"video/vnd.nokia.interleaved-multimedia":{source:"iana"},"video/vnd.nokia.mp4vr":{source:"iana"},"video/vnd.nokia.videovoip":{source:"iana"},"video/vnd.objectvideo":{source:"iana"},"video/vnd.radgamettools.bink":{source:"iana"},"video/vnd.radgamettools.smacker":{source:"iana"},"video/vnd.sealed.mpeg1":{source:"iana"},"video/vnd.sealed.mpeg4":{source:"iana"},"video/vnd.sealed.swf":{source:"iana"},"video/vnd.sealedmedia.softseal.mov":{source:"iana"},"video/vnd.uvvu.mp4":{source:"iana",extensions:["uvu","uvvu"]},"video/vnd.vivo":{source:"iana",extensions:["viv"]},"video/vnd.youtube.yt":{source:"iana"},"video/vp8":{source:"iana"},"video/vp9":{source:"iana"},"video/webm":{source:"apache",compressible:!1,extensions:["webm"]},"video/x-f4v":{source:"apache",extensions:["f4v"]},"video/x-fli":{source:"apache",extensions:["fli"]},"video/x-flv":{source:"apache",compressible:!1,extensions:["flv"]},"video/x-m4v":{source:"apache",extensions:["m4v"]},"video/x-matroska":{source:"apache",compressible:!1,extensions:["mkv","mk3d","mks"]},"video/x-mng":{source:"apache",extensions:["mng"]},"video/x-ms-asf":{source:"apache",extensions:["asf","asx"]},"video/x-ms-vob":{source:"apache",extensions:["vob"]},"video/x-ms-wm":{source:"apache",extensions:["wm"]},"video/x-ms-wmv":{source:"apache",compressible:!1,extensions:["wmv"]},"video/x-ms-wmx":{source:"apache",extensions:["wmx"]},"video/x-ms-wvx":{source:"apache",extensions:["wvx"]},"video/x-msvideo":{source:"apache",extensions:["avi"]},"video/x-sgi-movie":{source:"apache",extensions:["movie"]},"video/x-smv":{source:"apache",extensions:["smv"]},"x-conference/x-cooltalk":{source:"apache",extensions:["ice"]},"x-shader/x-fragment":{compressible:!0},"x-shader/x-vertex":{compressible:!0}};});var z=k((J,M)=>{M.exports=j();});var q=k(r=>{var g=z(),$=U("path").extname,T=/^\s*([^;\s]*)(?:;|\s|$)/,L=/^text\//i;r.charset=C;r.charsets={lookup:C};r.contentType=R;r.extension=X;r.extensions=Object.create(null);r.lookup=N;r.types=Object.create(null);V(r.extensions,r.types);function C(n){if(!n||typeof n!="string")return !1;var e=T.exec(n),a=e&&g[e[1].toLowerCase()];return a&&a.charset?a.charset:e&&L.test(e[1])?"UTF-8":!1}function R(n){if(!n||typeof n!="string")return !1;var e=n.indexOf("/")===-1?r.lookup(n):n;if(!e)return !1;if(e.indexOf("charset")===-1){var a=r.charset(e);a&&(e+="; charset="+a.toLowerCase());}return e}function X(n){if(!n||typeof n!="string")return !1;var e=T.exec(n),a=e&&r.extensions[e[1].toLowerCase()];return !a||!a.length?!1:a[0]}function N(n){if(!n||typeof n!="string")return !1;var e=$("x."+n).toLowerCase().substr(1);return e&&r.types[e]||!1}function V(n,e){var a=["nginx","apache",void 0,"iana"];Object.keys(g).forEach(function(s){var c=g[s],t=c.extensions;if(!(!t||!t.length)){n[s]=t;for(var x=0;xd||m===d&&e[u].substr(0,12)==="application/"))continue}e[u]=s;}}});}});var E=B(q());var p=class extends Error{constructor(a,i=""){super(i);o(this,"name","");o(this,"description","");this.name=a,this.description=i;}};var l=class{constructor(e,a={type:"To"}){o(this,"reSpecCompliantAddr",/(([^<>\r\n]+)\s)?<[^\r\n]+>/);o(this,"name","");o(this,"addr","");o(this,"type","To");this.type=a.type,this.parse(e);}getAddrDomain(){if(this.addr.includes("@")){let e=this.addr.split("@");if(e.length>1)return e[1]}return ""}dump(){return this.name.length>0?`"${this.name}" <${this.addr}>`:`<${this.addr}>`}parse(e){if(this.isMailboxAddrObject(e))return this.addr=e.addr,typeof e.name=="string"&&(this.name=e.name),typeof e.type=="string"&&(this.type=e.type),this;if(this.isMailboxAddrText(e)){let a=e.trim();if(a.startsWith("<")&&a.endsWith(">"))return this.addr=a.slice(1,-1),this;let i=a.split(" <");return i[0]=/^("|')/.test(i[0])?i[0].slice(1):i[0],i[0]=/("|')$/.test(i[0])?i[0].slice(0,-1):i[0],i[1]=i[1].slice(0,-1),this.name=i[0],this.addr=i[1],this}if(typeof e=="string")return this.addr=e,this;throw new p("MIMETEXT_INVALID_MAILBOX","Couldn't recognize the input.")}isMailboxAddrText(e){return typeof e=="string"&&this.reSpecCompliantAddr.test(e)}isMailboxAddrObject(e){return this.isObject(e)&&Object.hasOwn(e,"addr")}isObject(e){return !!e&&e.constructor===Object}};var v=class{constructor(e){o(this,"envctx");o(this,"fields",[{name:"Date",generator:()=>new Date().toUTCString().replace(/GMT|UTC/gi,"+0000")},{name:"From",required:!0,validate:e=>this.validateMailboxSingle(e),dump:e=>this.dumpMailboxSingle(e)},{name:"Sender",validate:e=>this.validateMailboxSingle(e),dump:e=>this.dumpMailboxSingle(e)},{name:"Reply-To",validate:e=>this.validateMailboxSingle(e),dump:e=>this.dumpMailboxSingle(e)},{name:"To",validate:e=>this.validateMailboxMulti(e),dump:e=>this.dumpMailboxMulti(e)},{name:"Cc",validate:e=>this.validateMailboxMulti(e),dump:e=>this.dumpMailboxMulti(e)},{name:"Bcc",validate:e=>this.validateMailboxMulti(e),dump:e=>this.dumpMailboxMulti(e)},{name:"Message-ID",generator:()=>{let e=Math.random().toString(36).slice(2),i=this.fields.filter(s=>s.name==="From")[0].value.getAddrDomain();return "<"+e+"@"+i+">"}},{name:"Subject",required:!0,dump:e=>typeof e=="string"?"=?utf-8?B?"+this.envctx.toBase64(e)+"?=":""},{name:"MIME-Version",generator:()=>"1.0"}]);this.envctx=e;}dump(){let e="";for(let a of this.fields){if(a.disabled)continue;let i=a.value!==void 0&&a.value!==null;if(!i&&a.required)throw new p("MIMETEXT_MISSING_HEADER",`The "${a.name}" header is required.`);if(!i&&typeof a.generator!="function")continue;!i&&typeof a.generator=="function"&&(a.value=a.generator());let s=Object.hasOwn(a,"dump")&&typeof a.dump=="function"?a.dump(a.value):typeof a.value=="string"?a.value:"";e+=`${a.name}: ${s}${this.envctx.eol}`;}return e.slice(0,-1*this.envctx.eol.length)}toObject(){return this.fields.reduce((e,a)=>(e[a.name]=a.value,e),{})}get(e){let a=s=>s.name.toLowerCase()===e.toLowerCase(),i=this.fields.findIndex(a);return i!==-1?this.fields[i].value:void 0}set(e,a){let i=c=>c.name.toLowerCase()===e.toLowerCase();if(!!this.fields.some(i)){let c=this.fields.findIndex(i),t=this.fields[c];if(t.validate&&!t.validate(a))throw new p("MIMETEXT_INVALID_HEADER_VALUE",`The value for the header "${e}" is invalid.`);return this.fields[c].value=a,this.fields[c]}return this.setCustom({name:e,value:a,custom:!0,dump:c=>typeof c=="string"?c:""})}setCustom(e){if(this.isHeaderField(e)){if(typeof e.value!="string")throw new p("MIMETEXT_INVALID_HEADER_FIELD","Custom header must have a value.");return this.fields.push(e),e}throw new p("MIMETEXT_INVALID_HEADER_FIELD","Invalid input for custom header. It must be in type of HeaderField.")}validateMailboxSingle(e){return e instanceof l}validateMailboxMulti(e){return e instanceof l||this.isArrayOfMailboxes(e)}dumpMailboxMulti(e){let a=i=>i.name.length===0?i.dump():`=?utf-8?B?${this.envctx.toBase64(i.name)}?= <${i.addr}>`;return this.isArrayOfMailboxes(e)?e.map(a).join(`,${this.envctx.eol} `):e instanceof l?a(e):""}dumpMailboxSingle(e){let a=i=>i.name.length===0?i.dump():`=?utf-8?B?${this.envctx.toBase64(i.name)}?= <${i.addr}>`;return e instanceof l?a(e):""}isHeaderField(e){let a=["name","value","dump","required","disabled","generator","custom"];if(this.isObject(e)){let i=e;if(Object.hasOwn(i,"name")&&typeof i.name=="string"&&i.name.length>0&&!Object.keys(i).some(s=>!a.includes(s)))return !0}return !1}isObject(e){return !!e&&e.constructor===Object}isArrayOfMailboxes(e){return this.isArray(e)&&e.every(a=>a instanceof l)}isArray(e){return !!e&&e.constructor===Array}},h=class extends v{constructor(a){super(a);o(this,"fields",[{name:"Content-ID"},{name:"Content-Type"},{name:"Content-Transfer-Encoding"},{name:"Content-Disposition"}]);}};var b=class{constructor(e,a,i={}){o(this,"envctx");o(this,"headers");o(this,"data");this.envctx=e,this.headers=new h(this.envctx),this.data=a,this.setHeaders(i);}dump(){let e=this.envctx.eol;return this.headers.dump()+e+e+this.data}isAttachment(){let e=this.headers.get("Content-Disposition");return typeof e=="string"&&e.includes("attachment")}isInlineAttachment(){let e=this.headers.get("Content-Disposition");return typeof e=="string"&&e.includes("inline")}setHeader(e,a){return this.headers.set(e,a),e}getHeader(e){return this.headers.get(e)}setHeaders(e){return Object.keys(e).map(a=>this.setHeader(a,e[a]))}getHeaders(){return this.headers.toObject()}};var f=class{constructor(e){o(this,"envctx");o(this,"headers");o(this,"boundaries",{mixed:"",alt:"",related:""});o(this,"validTypes",["text/html","text/plain"]);o(this,"validContentTransferEncodings",["7bit","8bit","binary","quoted-printable","base64"]);o(this,"messages",[]);this.envctx=e,this.headers=new v(this.envctx),this.messages=[],this.generateBoundaries();}asRaw(){let e=this.envctx.eol,a=this.headers.dump(),i=this.getMessageByType("text/plain"),s=this.getMessageByType("text/html"),c=s??i??void 0;if(c===void 0)throw new p("MIMETEXT_MISSING_BODY","No content added to the message.");let t=this.hasAttachments(),x=this.hasInlineAttachments(),u=x&&t?"mixed+related":t?"mixed":x?"related":i&&s?"alternative":"";if(u==="mixed+related"){let m=this.getAttachments().map(w=>"--"+this.boundaries.mixed+e+w.dump()+e+e).join("").slice(0,-1*e.length),d=this.getInlineAttachments().map(w=>"--"+this.boundaries.related+e+w.dump()+e+e).join("").slice(0,-1*e.length);return a+e+"Content-Type: multipart/mixed; boundary="+this.boundaries.mixed+e+e+"--"+this.boundaries.mixed+e+"Content-Type: multipart/related; boundary="+this.boundaries.related+e+e+this.dumpTextContent(i,s,this.boundaries.related)+e+e+d+"--"+this.boundaries.related+"--"+e+m+"--"+this.boundaries.mixed+"--"}else if(u==="mixed"){let m=this.getAttachments().map(d=>"--"+this.boundaries.mixed+e+d.dump()+e+e).join("").slice(0,-1*e.length);return a+e+"Content-Type: multipart/mixed; boundary="+this.boundaries.mixed+e+e+this.dumpTextContent(i,s,this.boundaries.mixed)+e+(i&&s?"":e)+m+"--"+this.boundaries.mixed+"--"}else if(u==="related"){let m=this.getInlineAttachments().map(d=>"--"+this.boundaries.related+e+d.dump()+e+e).join("").slice(0,-1*e.length);return a+e+"Content-Type: multipart/related; boundary="+this.boundaries.related+e+e+this.dumpTextContent(i,s,this.boundaries.related)+e+e+m+"--"+this.boundaries.related+"--"}else return u==="alternative"?a+e+"Content-Type: multipart/alternative; boundary="+this.boundaries.alt+e+e+this.dumpTextContent(i,s,this.boundaries.alt)+e+e+"--"+this.boundaries.alt+"--":a+e+c.dump()}asEncoded(){return this.envctx.toBase64WebSafe(this.asRaw())}dumpTextContent(e,a,i){let s=this.envctx.eol,c=a??e,t="";return e&&a&&!this.hasInlineAttachments()&&this.hasAttachments()?t="--"+i+s+"Content-Type: multipart/alternative; boundary="+this.boundaries.alt+s+s+"--"+this.boundaries.alt+s+e.dump()+s+s+"--"+this.boundaries.alt+s+a.dump()+s+s+"--"+this.boundaries.alt+"--":e&&a&&this.hasInlineAttachments()?t="--"+i+s+a.dump():e&&a?t="--"+i+s+e.dump()+s+s+"--"+i+s+a.dump():t="--"+i+s+c.dump(),t}hasInlineAttachments(){return this.messages.some(e=>e.isInlineAttachment())}hasAttachments(){return this.messages.some(e=>e.isAttachment())}getAttachments(){let e=a=>a.isAttachment();return this.messages.some(e)?this.messages.filter(e):[]}getInlineAttachments(){let e=a=>a.isInlineAttachment();return this.messages.some(e)?this.messages.filter(e):[]}getMessageByType(e){let a=i=>!i.isAttachment()&&!i.isInlineAttachment()&&(i.getHeader("Content-Type")||"").includes(e);return this.messages.some(a)?this.messages.filter(a)[0]:void 0}addAttachment(e){if(this.isObject(e.headers)||(e.headers={}),typeof e.filename!="string")throw new p("MIMETEXT_MISSING_FILENAME",'The property "filename" must exist while adding attachments.');let a=(e.headers["Content-Type"]??e.contentType)||"none";if(this.envctx.validateContentType(a)===!1)throw new p("MIMETEXT_INVALID_MESSAGE_TYPE",`You specified an invalid content type "${a}".`);let i=e.headers["Content-Transfer-Encoding"]??e.encoding??"base64";this.validContentTransferEncodings.includes(i)||(a="application/octet-stream");let s=e.headers["Content-ID"];typeof s=="string"&&s.length>2&&!s.startsWith("<")&&!s.endsWith(">")&&(e.headers["Content-ID"]="<"+e.headers["Content-ID"]+">");let c=e.inline?"inline":"attachment";return e.headers=Object.assign({},e.headers,{"Content-Type":`${a}; name="${e.filename}"`,"Content-Transfer-Encoding":i,"Content-Disposition":`${c}; filename="${e.filename}"`}),this._addMessage({data:e.data,headers:e.headers})}addMessage(e){this.isObject(e.headers)||(e.headers={});let a=(e.headers["Content-Type"]??e.contentType)||"none";if(!this.validTypes.includes(a))throw new p("MIMETEXT_INVALID_MESSAGE_TYPE",`Valid content types are ${this.validTypes.join(", ")} but you specified "${a}".`);let i=e.headers["Content-Transfer-Encoding"]??e.encoding??"7bit";this.validContentTransferEncodings.includes(i)||(a="application/octet-stream");let s=e.charset??"UTF-8";return e.headers=Object.assign({},e.headers,{"Content-Type":`${a}; charset=${s}`,"Content-Transfer-Encoding":i}),this._addMessage({data:e.data,headers:e.headers})}_addMessage(e){let a=new b(this.envctx,e.data,e.headers);return this.messages.push(a),a}setSender(e,a={type:"From"}){let i=new l(e,a);return this.setHeader("From",i),i}getSender(){return this.getHeader("From")}setRecipients(e,a={type:"To"}){let s=(this.isArray(e)?e:[e]).map(c=>new l(c,a));return this.setHeader(a.type,s),s}getRecipients(e={type:"To"}){return this.getHeader(e.type)}setRecipient(e,a={type:"To"}){return this.setRecipients(e,a)}setTo(e,a={type:"To"}){return this.setRecipients(e,a)}setCc(e,a={type:"Cc"}){return this.setRecipients(e,a)}setBcc(e,a={type:"Bcc"}){return this.setRecipients(e,a)}setSubject(e){return this.setHeader("subject",e),e}getSubject(){return this.getHeader("subject")}setHeader(e,a){return this.headers.set(e,a),e}getHeader(e){return this.headers.get(e)}setHeaders(e){return Object.keys(e).map(a=>this.setHeader(a,e[a]))}getHeaders(){return this.headers.toObject()}toBase64(e){return this.envctx.toBase64(e)}toBase64WebSafe(e){return this.envctx.toBase64WebSafe(e)}generateBoundaries(){this.boundaries={mixed:Math.random().toString(36).slice(2),alt:Math.random().toString(36).slice(2),related:Math.random().toString(36).slice(2)};}isArray(e){return !!e&&e.constructor===Array}isObject(e){return !!e&&e.constructor===Object}};var G={toBase64:function(e){return Buffer.from(e).toString("base64")},toBase64WebSafe:function(e){return Buffer.from(e).toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")},eol:node_os.EOL,validateContentType:n=>E.contentType(n)};function ge(){return new f(G)}/*! Bundled license information: - -mime-db/index.js: - (*! - * mime-db - * Copyright(c) 2014 Jonathan Ong - * Copyright(c) 2015-2022 Douglas Christopher Wilson - * MIT Licensed - *) - -mime-types/index.js: - (*! - * mime-types - * Copyright(c) 2014 Jonathan Ong - * Copyright(c) 2015 Douglas Christopher Wilson - * MIT Licensed - *) -*/exports.MIMEMessage=f;exports.MIMEMessageContent=b;exports.MIMEMessageHeader=v;exports.MIMETextError=p;exports.Mailbox=l;exports.createMimeMessage=ge;return exports;})({},node_os);//# sourceMappingURL=node.global.js.map -//# sourceMappingURL=node.global.js.map \ No newline at end of file diff --git a/dist/node.global.js.map b/dist/node.global.js.map deleted file mode 100644 index 4203e58..0000000 --- a/dist/node.global.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../node_modules/.pnpm/mime-db@1.52.0/node_modules/mime-db/db.json","../node_modules/.pnpm/mime-db@1.52.0/node_modules/mime-db/index.js","../node_modules/.pnpm/mime-types@2.1.35/node_modules/mime-types/index.js","../src/entrypoints/node.ts","../src/MIMETextError.ts","../src/Mailbox.ts","../src/MIMEMessageHeader.ts","../src/MIMEMessageContent.ts","../src/MIMEMessage.ts"],"names":["require_db","__commonJSMin","exports","module","require_mime_db","require_mime_types","db","extname","EXTRACT_TYPE_REGEXP","TEXT_TYPE_REGEXP","charset","contentType","extension","lookup","populateMaps","type","match","mime","str","exts","path","extensions","types","preference","i","from","to","MIMETextError","message","description","__publicField","Mailbox","input","config","arr","text","v","MIMEMessageHeader","envctx","randomstr","domain","obj","lines","field","isValueDefinedByUser","strval","memo","item","name","fieldMatcher","ind","value","dump","validProps","h","prop","MIMEMessageContentHeader","MIMEMessageContent","data","headers","eol","disposition","MIMEMessage","plaintext","html","primaryMessage","hasAttachments","hasInlineAttachments","structure","attachments","a","inlineAttachments","boundary","msg","matcher","opts","encoding","contentId","mailbox","recs","_input","EOL","createMimeMessage"],"mappings":"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","file":"node.global.js","sourcesContent":["{\n \"application/1d-interleaved-parityfec\": {\n \"source\": \"iana\"\n },\n \"application/3gpdash-qoe-report+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/3gpp-ims+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/3gpphal+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/3gpphalforms+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/a2l\": {\n \"source\": \"iana\"\n },\n \"application/ace+cbor\": {\n \"source\": \"iana\"\n },\n \"application/activemessage\": {\n \"source\": \"iana\"\n },\n \"application/activity+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-costmap+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-costmapfilter+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-directory+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-endpointcost+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-endpointcostparams+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-endpointprop+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-endpointpropparams+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-error+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-networkmap+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-networkmapfilter+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-updatestreamcontrol+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-updatestreamparams+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/aml\": {\n \"source\": \"iana\"\n },\n \"application/andrew-inset\": {\n \"source\": \"iana\",\n \"extensions\": [\"ez\"]\n },\n \"application/applefile\": {\n \"source\": \"iana\"\n },\n \"application/applixware\": {\n \"source\": \"apache\",\n \"extensions\": [\"aw\"]\n },\n \"application/at+jwt\": {\n \"source\": \"iana\"\n },\n \"application/atf\": {\n \"source\": \"iana\"\n },\n \"application/atfx\": {\n \"source\": \"iana\"\n },\n \"application/atom+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"atom\"]\n },\n \"application/atomcat+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"atomcat\"]\n },\n \"application/atomdeleted+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"atomdeleted\"]\n },\n \"application/atomicmail\": {\n \"source\": \"iana\"\n },\n \"application/atomsvc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"atomsvc\"]\n },\n \"application/atsc-dwd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"dwd\"]\n },\n \"application/atsc-dynamic-event-message\": {\n \"source\": \"iana\"\n },\n \"application/atsc-held+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"held\"]\n },\n \"application/atsc-rdt+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/atsc-rsat+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rsat\"]\n },\n \"application/atxml\": {\n \"source\": \"iana\"\n },\n \"application/auth-policy+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/bacnet-xdd+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/batch-smtp\": {\n \"source\": \"iana\"\n },\n \"application/bdoc\": {\n \"compressible\": false,\n \"extensions\": [\"bdoc\"]\n },\n \"application/beep+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/calendar+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/calendar+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xcs\"]\n },\n \"application/call-completion\": {\n \"source\": \"iana\"\n },\n \"application/cals-1840\": {\n \"source\": \"iana\"\n },\n \"application/captive+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/cbor\": {\n \"source\": \"iana\"\n },\n \"application/cbor-seq\": {\n \"source\": \"iana\"\n },\n \"application/cccex\": {\n \"source\": \"iana\"\n },\n \"application/ccmp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/ccxml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ccxml\"]\n },\n \"application/cdfx+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"cdfx\"]\n },\n \"application/cdmi-capability\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdmia\"]\n },\n \"application/cdmi-container\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdmic\"]\n },\n \"application/cdmi-domain\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdmid\"]\n },\n \"application/cdmi-object\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdmio\"]\n },\n \"application/cdmi-queue\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdmiq\"]\n },\n \"application/cdni\": {\n \"source\": \"iana\"\n },\n \"application/cea\": {\n \"source\": \"iana\"\n },\n \"application/cea-2018+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/cellml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/cfw\": {\n \"source\": \"iana\"\n },\n \"application/city+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/clr\": {\n \"source\": \"iana\"\n },\n \"application/clue+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/clue_info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/cms\": {\n \"source\": \"iana\"\n },\n \"application/cnrp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/coap-group+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/coap-payload\": {\n \"source\": \"iana\"\n },\n \"application/commonground\": {\n \"source\": \"iana\"\n },\n \"application/conference-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/cose\": {\n \"source\": \"iana\"\n },\n \"application/cose-key\": {\n \"source\": \"iana\"\n },\n \"application/cose-key-set\": {\n \"source\": \"iana\"\n },\n \"application/cpl+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"cpl\"]\n },\n \"application/csrattrs\": {\n \"source\": \"iana\"\n },\n \"application/csta+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/cstadata+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/csvm+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/cu-seeme\": {\n \"source\": \"apache\",\n \"extensions\": [\"cu\"]\n },\n \"application/cwt\": {\n \"source\": \"iana\"\n },\n \"application/cybercash\": {\n \"source\": \"iana\"\n },\n \"application/dart\": {\n \"compressible\": true\n },\n \"application/dash+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mpd\"]\n },\n \"application/dash-patch+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mpp\"]\n },\n \"application/dashdelta\": {\n \"source\": \"iana\"\n },\n \"application/davmount+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"davmount\"]\n },\n \"application/dca-rft\": {\n \"source\": \"iana\"\n },\n \"application/dcd\": {\n \"source\": \"iana\"\n },\n \"application/dec-dx\": {\n \"source\": \"iana\"\n },\n \"application/dialog-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/dicom\": {\n \"source\": \"iana\"\n },\n \"application/dicom+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/dicom+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/dii\": {\n \"source\": \"iana\"\n },\n \"application/dit\": {\n \"source\": \"iana\"\n },\n \"application/dns\": {\n \"source\": \"iana\"\n },\n \"application/dns+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/dns-message\": {\n \"source\": \"iana\"\n },\n \"application/docbook+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"dbk\"]\n },\n \"application/dots+cbor\": {\n \"source\": \"iana\"\n },\n \"application/dskpp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/dssc+der\": {\n \"source\": \"iana\",\n \"extensions\": [\"dssc\"]\n },\n \"application/dssc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xdssc\"]\n },\n \"application/dvcs\": {\n \"source\": \"iana\"\n },\n \"application/ecmascript\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"es\",\"ecma\"]\n },\n \"application/edi-consent\": {\n \"source\": \"iana\"\n },\n \"application/edi-x12\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/edifact\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/efi\": {\n \"source\": \"iana\"\n },\n \"application/elm+json\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/elm+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emergencycalldata.cap+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/emergencycalldata.comment+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emergencycalldata.control+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emergencycalldata.deviceinfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emergencycalldata.ecall.msd\": {\n \"source\": \"iana\"\n },\n \"application/emergencycalldata.providerinfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emergencycalldata.serviceinfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emergencycalldata.subscriberinfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emergencycalldata.veds+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emma+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"emma\"]\n },\n \"application/emotionml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"emotionml\"]\n },\n \"application/encaprtp\": {\n \"source\": \"iana\"\n },\n \"application/epp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/epub+zip\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"epub\"]\n },\n \"application/eshop\": {\n \"source\": \"iana\"\n },\n \"application/exi\": {\n \"source\": \"iana\",\n \"extensions\": [\"exi\"]\n },\n \"application/expect-ct-report+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/express\": {\n \"source\": \"iana\",\n \"extensions\": [\"exp\"]\n },\n \"application/fastinfoset\": {\n \"source\": \"iana\"\n },\n \"application/fastsoap\": {\n \"source\": \"iana\"\n },\n \"application/fdt+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"fdt\"]\n },\n \"application/fhir+json\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/fhir+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/fido.trusted-apps+json\": {\n \"compressible\": true\n },\n \"application/fits\": {\n \"source\": \"iana\"\n },\n \"application/flexfec\": {\n \"source\": \"iana\"\n },\n \"application/font-sfnt\": {\n \"source\": \"iana\"\n },\n \"application/font-tdpfr\": {\n \"source\": \"iana\",\n \"extensions\": [\"pfr\"]\n },\n \"application/font-woff\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/framework-attributes+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/geo+json\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"geojson\"]\n },\n \"application/geo+json-seq\": {\n \"source\": \"iana\"\n },\n \"application/geopackage+sqlite3\": {\n \"source\": \"iana\"\n },\n \"application/geoxacml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/gltf-buffer\": {\n \"source\": \"iana\"\n },\n \"application/gml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"gml\"]\n },\n \"application/gpx+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"gpx\"]\n },\n \"application/gxf\": {\n \"source\": \"apache\",\n \"extensions\": [\"gxf\"]\n },\n \"application/gzip\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"gz\"]\n },\n \"application/h224\": {\n \"source\": \"iana\"\n },\n \"application/held+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/hjson\": {\n \"extensions\": [\"hjson\"]\n },\n \"application/http\": {\n \"source\": \"iana\"\n },\n \"application/hyperstudio\": {\n \"source\": \"iana\",\n \"extensions\": [\"stk\"]\n },\n \"application/ibe-key-request+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/ibe-pkg-reply+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/ibe-pp-data\": {\n \"source\": \"iana\"\n },\n \"application/iges\": {\n \"source\": \"iana\"\n },\n \"application/im-iscomposing+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/index\": {\n \"source\": \"iana\"\n },\n \"application/index.cmd\": {\n \"source\": \"iana\"\n },\n \"application/index.obj\": {\n \"source\": \"iana\"\n },\n \"application/index.response\": {\n \"source\": \"iana\"\n },\n \"application/index.vnd\": {\n \"source\": \"iana\"\n },\n \"application/inkml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ink\",\"inkml\"]\n },\n \"application/iotp\": {\n \"source\": \"iana\"\n },\n \"application/ipfix\": {\n \"source\": \"iana\",\n \"extensions\": [\"ipfix\"]\n },\n \"application/ipp\": {\n \"source\": \"iana\"\n },\n \"application/isup\": {\n \"source\": \"iana\"\n },\n \"application/its+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"its\"]\n },\n \"application/java-archive\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"jar\",\"war\",\"ear\"]\n },\n \"application/java-serialized-object\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"ser\"]\n },\n \"application/java-vm\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"class\"]\n },\n \"application/javascript\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"js\",\"mjs\"]\n },\n \"application/jf2feed+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/jose\": {\n \"source\": \"iana\"\n },\n \"application/jose+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/jrd+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/jscalendar+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/json\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"json\",\"map\"]\n },\n \"application/json-patch+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/json-seq\": {\n \"source\": \"iana\"\n },\n \"application/json5\": {\n \"extensions\": [\"json5\"]\n },\n \"application/jsonml+json\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"jsonml\"]\n },\n \"application/jwk+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/jwk-set+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/jwt\": {\n \"source\": \"iana\"\n },\n \"application/kpml-request+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/kpml-response+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/ld+json\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"jsonld\"]\n },\n \"application/lgr+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"lgr\"]\n },\n \"application/link-format\": {\n \"source\": \"iana\"\n },\n \"application/load-control+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/lost+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"lostxml\"]\n },\n \"application/lostsync+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/lpf+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/lxf\": {\n \"source\": \"iana\"\n },\n \"application/mac-binhex40\": {\n \"source\": \"iana\",\n \"extensions\": [\"hqx\"]\n },\n \"application/mac-compactpro\": {\n \"source\": \"apache\",\n \"extensions\": [\"cpt\"]\n },\n \"application/macwriteii\": {\n \"source\": \"iana\"\n },\n \"application/mads+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mads\"]\n },\n \"application/manifest+json\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"webmanifest\"]\n },\n \"application/marc\": {\n \"source\": \"iana\",\n \"extensions\": [\"mrc\"]\n },\n \"application/marcxml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mrcx\"]\n },\n \"application/mathematica\": {\n \"source\": \"iana\",\n \"extensions\": [\"ma\",\"nb\",\"mb\"]\n },\n \"application/mathml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mathml\"]\n },\n \"application/mathml-content+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mathml-presentation+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-associated-procedure-description+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-deregister+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-envelope+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-msk+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-msk-response+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-protection-description+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-reception-report+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-register+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-register-response+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-schedule+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-user-service-description+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbox\": {\n \"source\": \"iana\",\n \"extensions\": [\"mbox\"]\n },\n \"application/media-policy-dataset+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mpf\"]\n },\n \"application/media_control+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mediaservercontrol+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mscml\"]\n },\n \"application/merge-patch+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/metalink+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"metalink\"]\n },\n \"application/metalink4+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"meta4\"]\n },\n \"application/mets+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mets\"]\n },\n \"application/mf4\": {\n \"source\": \"iana\"\n },\n \"application/mikey\": {\n \"source\": \"iana\"\n },\n \"application/mipc\": {\n \"source\": \"iana\"\n },\n \"application/missing-blocks+cbor-seq\": {\n \"source\": \"iana\"\n },\n \"application/mmt-aei+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"maei\"]\n },\n \"application/mmt-usd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"musd\"]\n },\n \"application/mods+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mods\"]\n },\n \"application/moss-keys\": {\n \"source\": \"iana\"\n },\n \"application/moss-signature\": {\n \"source\": \"iana\"\n },\n \"application/mosskey-data\": {\n \"source\": \"iana\"\n },\n \"application/mosskey-request\": {\n \"source\": \"iana\"\n },\n \"application/mp21\": {\n \"source\": \"iana\",\n \"extensions\": [\"m21\",\"mp21\"]\n },\n \"application/mp4\": {\n \"source\": \"iana\",\n \"extensions\": [\"mp4s\",\"m4p\"]\n },\n \"application/mpeg4-generic\": {\n \"source\": \"iana\"\n },\n \"application/mpeg4-iod\": {\n \"source\": \"iana\"\n },\n \"application/mpeg4-iod-xmt\": {\n \"source\": \"iana\"\n },\n \"application/mrb-consumer+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mrb-publish+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/msc-ivr+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/msc-mixer+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/msword\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"doc\",\"dot\"]\n },\n \"application/mud+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/multipart-core\": {\n \"source\": \"iana\"\n },\n \"application/mxf\": {\n \"source\": \"iana\",\n \"extensions\": [\"mxf\"]\n },\n \"application/n-quads\": {\n \"source\": \"iana\",\n \"extensions\": [\"nq\"]\n },\n \"application/n-triples\": {\n \"source\": \"iana\",\n \"extensions\": [\"nt\"]\n },\n \"application/nasdata\": {\n \"source\": \"iana\"\n },\n \"application/news-checkgroups\": {\n \"source\": \"iana\",\n \"charset\": \"US-ASCII\"\n },\n \"application/news-groupinfo\": {\n \"source\": \"iana\",\n \"charset\": \"US-ASCII\"\n },\n \"application/news-transmission\": {\n \"source\": \"iana\"\n },\n \"application/nlsml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/node\": {\n \"source\": \"iana\",\n \"extensions\": [\"cjs\"]\n },\n \"application/nss\": {\n \"source\": \"iana\"\n },\n \"application/oauth-authz-req+jwt\": {\n \"source\": \"iana\"\n },\n \"application/oblivious-dns-message\": {\n \"source\": \"iana\"\n },\n \"application/ocsp-request\": {\n \"source\": \"iana\"\n },\n \"application/ocsp-response\": {\n \"source\": \"iana\"\n },\n \"application/octet-stream\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"bin\",\"dms\",\"lrf\",\"mar\",\"so\",\"dist\",\"distz\",\"pkg\",\"bpk\",\"dump\",\"elc\",\"deploy\",\"exe\",\"dll\",\"deb\",\"dmg\",\"iso\",\"img\",\"msi\",\"msp\",\"msm\",\"buffer\"]\n },\n \"application/oda\": {\n \"source\": \"iana\",\n \"extensions\": [\"oda\"]\n },\n \"application/odm+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/odx\": {\n \"source\": \"iana\"\n },\n \"application/oebps-package+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"opf\"]\n },\n \"application/ogg\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"ogx\"]\n },\n \"application/omdoc+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"omdoc\"]\n },\n \"application/onenote\": {\n \"source\": \"apache\",\n \"extensions\": [\"onetoc\",\"onetoc2\",\"onetmp\",\"onepkg\"]\n },\n \"application/opc-nodeset+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/oscore\": {\n \"source\": \"iana\"\n },\n \"application/oxps\": {\n \"source\": \"iana\",\n \"extensions\": [\"oxps\"]\n },\n \"application/p21\": {\n \"source\": \"iana\"\n },\n \"application/p21+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/p2p-overlay+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"relo\"]\n },\n \"application/parityfec\": {\n \"source\": \"iana\"\n },\n \"application/passport\": {\n \"source\": \"iana\"\n },\n \"application/patch-ops-error+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xer\"]\n },\n \"application/pdf\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"pdf\"]\n },\n \"application/pdx\": {\n \"source\": \"iana\"\n },\n \"application/pem-certificate-chain\": {\n \"source\": \"iana\"\n },\n \"application/pgp-encrypted\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"pgp\"]\n },\n \"application/pgp-keys\": {\n \"source\": \"iana\",\n \"extensions\": [\"asc\"]\n },\n \"application/pgp-signature\": {\n \"source\": \"iana\",\n \"extensions\": [\"asc\",\"sig\"]\n },\n \"application/pics-rules\": {\n \"source\": \"apache\",\n \"extensions\": [\"prf\"]\n },\n \"application/pidf+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/pidf-diff+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/pkcs10\": {\n \"source\": \"iana\",\n \"extensions\": [\"p10\"]\n },\n \"application/pkcs12\": {\n \"source\": \"iana\"\n },\n \"application/pkcs7-mime\": {\n \"source\": \"iana\",\n \"extensions\": [\"p7m\",\"p7c\"]\n },\n \"application/pkcs7-signature\": {\n \"source\": \"iana\",\n \"extensions\": [\"p7s\"]\n },\n \"application/pkcs8\": {\n \"source\": \"iana\",\n \"extensions\": [\"p8\"]\n },\n \"application/pkcs8-encrypted\": {\n \"source\": \"iana\"\n },\n \"application/pkix-attr-cert\": {\n \"source\": \"iana\",\n \"extensions\": [\"ac\"]\n },\n \"application/pkix-cert\": {\n \"source\": \"iana\",\n \"extensions\": [\"cer\"]\n },\n \"application/pkix-crl\": {\n \"source\": \"iana\",\n \"extensions\": [\"crl\"]\n },\n \"application/pkix-pkipath\": {\n \"source\": \"iana\",\n \"extensions\": [\"pkipath\"]\n },\n \"application/pkixcmp\": {\n \"source\": \"iana\",\n \"extensions\": [\"pki\"]\n },\n \"application/pls+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"pls\"]\n },\n \"application/poc-settings+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/postscript\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ai\",\"eps\",\"ps\"]\n },\n \"application/ppsp-tracker+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/problem+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/problem+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/provenance+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"provx\"]\n },\n \"application/prs.alvestrand.titrax-sheet\": {\n \"source\": \"iana\"\n },\n \"application/prs.cww\": {\n \"source\": \"iana\",\n \"extensions\": [\"cww\"]\n },\n \"application/prs.cyn\": {\n \"source\": \"iana\",\n \"charset\": \"7-BIT\"\n },\n \"application/prs.hpub+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/prs.nprend\": {\n \"source\": \"iana\"\n },\n \"application/prs.plucker\": {\n \"source\": \"iana\"\n },\n \"application/prs.rdf-xml-crypt\": {\n \"source\": \"iana\"\n },\n \"application/prs.xsf+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/pskc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"pskcxml\"]\n },\n \"application/pvd+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/qsig\": {\n \"source\": \"iana\"\n },\n \"application/raml+yaml\": {\n \"compressible\": true,\n \"extensions\": [\"raml\"]\n },\n \"application/raptorfec\": {\n \"source\": \"iana\"\n },\n \"application/rdap+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/rdf+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rdf\",\"owl\"]\n },\n \"application/reginfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rif\"]\n },\n \"application/relax-ng-compact-syntax\": {\n \"source\": \"iana\",\n \"extensions\": [\"rnc\"]\n },\n \"application/remote-printing\": {\n \"source\": \"iana\"\n },\n \"application/reputon+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/resource-lists+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rl\"]\n },\n \"application/resource-lists-diff+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rld\"]\n },\n \"application/rfc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/riscos\": {\n \"source\": \"iana\"\n },\n \"application/rlmi+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/rls-services+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rs\"]\n },\n \"application/route-apd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rapd\"]\n },\n \"application/route-s-tsid+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"sls\"]\n },\n \"application/route-usd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rusd\"]\n },\n \"application/rpki-ghostbusters\": {\n \"source\": \"iana\",\n \"extensions\": [\"gbr\"]\n },\n \"application/rpki-manifest\": {\n \"source\": \"iana\",\n \"extensions\": [\"mft\"]\n },\n \"application/rpki-publication\": {\n \"source\": \"iana\"\n },\n \"application/rpki-roa\": {\n \"source\": \"iana\",\n \"extensions\": [\"roa\"]\n },\n \"application/rpki-updown\": {\n \"source\": \"iana\"\n },\n \"application/rsd+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"rsd\"]\n },\n \"application/rss+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"rss\"]\n },\n \"application/rtf\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rtf\"]\n },\n \"application/rtploopback\": {\n \"source\": \"iana\"\n },\n \"application/rtx\": {\n \"source\": \"iana\"\n },\n \"application/samlassertion+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/samlmetadata+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/sarif+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/sarif-external-properties+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/sbe\": {\n \"source\": \"iana\"\n },\n \"application/sbml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"sbml\"]\n },\n \"application/scaip+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/scim+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/scvp-cv-request\": {\n \"source\": \"iana\",\n \"extensions\": [\"scq\"]\n },\n \"application/scvp-cv-response\": {\n \"source\": \"iana\",\n \"extensions\": [\"scs\"]\n },\n \"application/scvp-vp-request\": {\n \"source\": \"iana\",\n \"extensions\": [\"spq\"]\n },\n \"application/scvp-vp-response\": {\n \"source\": \"iana\",\n \"extensions\": [\"spp\"]\n },\n \"application/sdp\": {\n \"source\": \"iana\",\n \"extensions\": [\"sdp\"]\n },\n \"application/secevent+jwt\": {\n \"source\": \"iana\"\n },\n \"application/senml+cbor\": {\n \"source\": \"iana\"\n },\n \"application/senml+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/senml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"senmlx\"]\n },\n \"application/senml-etch+cbor\": {\n \"source\": \"iana\"\n },\n \"application/senml-etch+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/senml-exi\": {\n \"source\": \"iana\"\n },\n \"application/sensml+cbor\": {\n \"source\": \"iana\"\n },\n \"application/sensml+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/sensml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"sensmlx\"]\n },\n \"application/sensml-exi\": {\n \"source\": \"iana\"\n },\n \"application/sep+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/sep-exi\": {\n \"source\": \"iana\"\n },\n \"application/session-info\": {\n \"source\": \"iana\"\n },\n \"application/set-payment\": {\n \"source\": \"iana\"\n },\n \"application/set-payment-initiation\": {\n \"source\": \"iana\",\n \"extensions\": [\"setpay\"]\n },\n \"application/set-registration\": {\n \"source\": \"iana\"\n },\n \"application/set-registration-initiation\": {\n \"source\": \"iana\",\n \"extensions\": [\"setreg\"]\n },\n \"application/sgml\": {\n \"source\": \"iana\"\n },\n \"application/sgml-open-catalog\": {\n \"source\": \"iana\"\n },\n \"application/shf+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"shf\"]\n },\n \"application/sieve\": {\n \"source\": \"iana\",\n \"extensions\": [\"siv\",\"sieve\"]\n },\n \"application/simple-filter+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/simple-message-summary\": {\n \"source\": \"iana\"\n },\n \"application/simplesymbolcontainer\": {\n \"source\": \"iana\"\n },\n \"application/sipc\": {\n \"source\": \"iana\"\n },\n \"application/slate\": {\n \"source\": \"iana\"\n },\n \"application/smil\": {\n \"source\": \"iana\"\n },\n \"application/smil+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"smi\",\"smil\"]\n },\n \"application/smpte336m\": {\n \"source\": \"iana\"\n },\n \"application/soap+fastinfoset\": {\n \"source\": \"iana\"\n },\n \"application/soap+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/sparql-query\": {\n \"source\": \"iana\",\n \"extensions\": [\"rq\"]\n },\n \"application/sparql-results+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"srx\"]\n },\n \"application/spdx+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/spirits-event+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/sql\": {\n \"source\": \"iana\"\n },\n \"application/srgs\": {\n \"source\": \"iana\",\n \"extensions\": [\"gram\"]\n },\n \"application/srgs+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"grxml\"]\n },\n \"application/sru+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"sru\"]\n },\n \"application/ssdl+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"ssdl\"]\n },\n \"application/ssml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ssml\"]\n },\n \"application/stix+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/swid+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"swidtag\"]\n },\n \"application/tamp-apex-update\": {\n \"source\": \"iana\"\n },\n \"application/tamp-apex-update-confirm\": {\n \"source\": \"iana\"\n },\n \"application/tamp-community-update\": {\n \"source\": \"iana\"\n },\n \"application/tamp-community-update-confirm\": {\n \"source\": \"iana\"\n },\n \"application/tamp-error\": {\n \"source\": \"iana\"\n },\n \"application/tamp-sequence-adjust\": {\n \"source\": \"iana\"\n },\n \"application/tamp-sequence-adjust-confirm\": {\n \"source\": \"iana\"\n },\n \"application/tamp-status-query\": {\n \"source\": \"iana\"\n },\n \"application/tamp-status-response\": {\n \"source\": \"iana\"\n },\n \"application/tamp-update\": {\n \"source\": \"iana\"\n },\n \"application/tamp-update-confirm\": {\n \"source\": \"iana\"\n },\n \"application/tar\": {\n \"compressible\": true\n },\n \"application/taxii+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/td+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/tei+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"tei\",\"teicorpus\"]\n },\n \"application/tetra_isi\": {\n \"source\": \"iana\"\n },\n \"application/thraud+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"tfi\"]\n },\n \"application/timestamp-query\": {\n \"source\": \"iana\"\n },\n \"application/timestamp-reply\": {\n \"source\": \"iana\"\n },\n \"application/timestamped-data\": {\n \"source\": \"iana\",\n \"extensions\": [\"tsd\"]\n },\n \"application/tlsrpt+gzip\": {\n \"source\": \"iana\"\n },\n \"application/tlsrpt+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/tnauthlist\": {\n \"source\": \"iana\"\n },\n \"application/token-introspection+jwt\": {\n \"source\": \"iana\"\n },\n \"application/toml\": {\n \"compressible\": true,\n \"extensions\": [\"toml\"]\n },\n \"application/trickle-ice-sdpfrag\": {\n \"source\": \"iana\"\n },\n \"application/trig\": {\n \"source\": \"iana\",\n \"extensions\": [\"trig\"]\n },\n \"application/ttml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ttml\"]\n },\n \"application/tve-trigger\": {\n \"source\": \"iana\"\n },\n \"application/tzif\": {\n \"source\": \"iana\"\n },\n \"application/tzif-leap\": {\n \"source\": \"iana\"\n },\n \"application/ubjson\": {\n \"compressible\": false,\n \"extensions\": [\"ubj\"]\n },\n \"application/ulpfec\": {\n \"source\": \"iana\"\n },\n \"application/urc-grpsheet+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/urc-ressheet+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rsheet\"]\n },\n \"application/urc-targetdesc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"td\"]\n },\n \"application/urc-uisocketdesc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vcard+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vcard+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vemmi\": {\n \"source\": \"iana\"\n },\n \"application/vividence.scriptfile\": {\n \"source\": \"apache\"\n },\n \"application/vnd.1000minds.decision-model+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"1km\"]\n },\n \"application/vnd.3gpp-prose+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp-prose-pc3ch+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp-v2x-local-service-information\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.5gnas\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.access-transfer-events+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.bsf+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.gmop+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.gtpc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.interworking-data\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.lpp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.mc-signalling-ear\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.mcdata-affiliation-command+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcdata-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcdata-payload\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.mcdata-service-config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcdata-signalling\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.mcdata-ue-config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcdata-user-profile+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-affiliation-command+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-floor-request+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-location-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-mbms-usage-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-service-config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-signed+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-ue-config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-ue-init-config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-user-profile+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-affiliation-command+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-affiliation-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-location-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-mbms-usage-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-service-config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-transmission-request+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-ue-config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-user-profile+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mid-call+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.ngap\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.pfcp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.pic-bw-large\": {\n \"source\": \"iana\",\n \"extensions\": [\"plb\"]\n },\n \"application/vnd.3gpp.pic-bw-small\": {\n \"source\": \"iana\",\n \"extensions\": [\"psb\"]\n },\n \"application/vnd.3gpp.pic-bw-var\": {\n \"source\": \"iana\",\n \"extensions\": [\"pvb\"]\n },\n \"application/vnd.3gpp.s1ap\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.sms\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.sms+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.srvcc-ext+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.srvcc-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.state-and-event-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.ussd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp2.bcmcsinfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp2.sms\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp2.tcap\": {\n \"source\": \"iana\",\n \"extensions\": [\"tcap\"]\n },\n \"application/vnd.3lightssoftware.imagescal\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3m.post-it-notes\": {\n \"source\": \"iana\",\n \"extensions\": [\"pwn\"]\n },\n \"application/vnd.accpac.simply.aso\": {\n \"source\": \"iana\",\n \"extensions\": [\"aso\"]\n },\n \"application/vnd.accpac.simply.imp\": {\n \"source\": \"iana\",\n \"extensions\": [\"imp\"]\n },\n \"application/vnd.acucobol\": {\n \"source\": \"iana\",\n \"extensions\": [\"acu\"]\n },\n \"application/vnd.acucorp\": {\n \"source\": \"iana\",\n \"extensions\": [\"atc\",\"acutc\"]\n },\n \"application/vnd.adobe.air-application-installer-package+zip\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"air\"]\n },\n \"application/vnd.adobe.flash.movie\": {\n \"source\": \"iana\"\n },\n \"application/vnd.adobe.formscentral.fcdt\": {\n \"source\": \"iana\",\n \"extensions\": [\"fcdt\"]\n },\n \"application/vnd.adobe.fxp\": {\n \"source\": \"iana\",\n \"extensions\": [\"fxp\",\"fxpl\"]\n },\n \"application/vnd.adobe.partial-upload\": {\n \"source\": \"iana\"\n },\n \"application/vnd.adobe.xdp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xdp\"]\n },\n \"application/vnd.adobe.xfdf\": {\n \"source\": \"iana\",\n \"extensions\": [\"xfdf\"]\n },\n \"application/vnd.aether.imp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.afplinedata\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.afplinedata-pagedef\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.cmoca-cmresource\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.foca-charset\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.foca-codedfont\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.foca-codepage\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.modca\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.modca-cmtable\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.modca-formdef\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.modca-mediummap\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.modca-objectcontainer\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.modca-overlay\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.modca-pagesegment\": {\n \"source\": \"iana\"\n },\n \"application/vnd.age\": {\n \"source\": \"iana\",\n \"extensions\": [\"age\"]\n },\n \"application/vnd.ah-barcode\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ahead.space\": {\n \"source\": \"iana\",\n \"extensions\": [\"ahead\"]\n },\n \"application/vnd.airzip.filesecure.azf\": {\n \"source\": \"iana\",\n \"extensions\": [\"azf\"]\n },\n \"application/vnd.airzip.filesecure.azs\": {\n \"source\": \"iana\",\n \"extensions\": [\"azs\"]\n },\n \"application/vnd.amadeus+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.amazon.ebook\": {\n \"source\": \"apache\",\n \"extensions\": [\"azw\"]\n },\n \"application/vnd.amazon.mobi8-ebook\": {\n \"source\": \"iana\"\n },\n \"application/vnd.americandynamics.acc\": {\n \"source\": \"iana\",\n \"extensions\": [\"acc\"]\n },\n \"application/vnd.amiga.ami\": {\n \"source\": \"iana\",\n \"extensions\": [\"ami\"]\n },\n \"application/vnd.amundsen.maze+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.android.ota\": {\n \"source\": \"iana\"\n },\n \"application/vnd.android.package-archive\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"apk\"]\n },\n \"application/vnd.anki\": {\n \"source\": \"iana\"\n },\n \"application/vnd.anser-web-certificate-issue-initiation\": {\n \"source\": \"iana\",\n \"extensions\": [\"cii\"]\n },\n \"application/vnd.anser-web-funds-transfer-initiation\": {\n \"source\": \"apache\",\n \"extensions\": [\"fti\"]\n },\n \"application/vnd.antix.game-component\": {\n \"source\": \"iana\",\n \"extensions\": [\"atx\"]\n },\n \"application/vnd.apache.arrow.file\": {\n \"source\": \"iana\"\n },\n \"application/vnd.apache.arrow.stream\": {\n \"source\": \"iana\"\n },\n \"application/vnd.apache.thrift.binary\": {\n \"source\": \"iana\"\n },\n \"application/vnd.apache.thrift.compact\": {\n \"source\": \"iana\"\n },\n \"application/vnd.apache.thrift.json\": {\n \"source\": \"iana\"\n },\n \"application/vnd.api+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.aplextor.warrp+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.apothekende.reservation+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.apple.installer+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mpkg\"]\n },\n \"application/vnd.apple.keynote\": {\n \"source\": \"iana\",\n \"extensions\": [\"key\"]\n },\n \"application/vnd.apple.mpegurl\": {\n \"source\": \"iana\",\n \"extensions\": [\"m3u8\"]\n },\n \"application/vnd.apple.numbers\": {\n \"source\": \"iana\",\n \"extensions\": [\"numbers\"]\n },\n \"application/vnd.apple.pages\": {\n \"source\": \"iana\",\n \"extensions\": [\"pages\"]\n },\n \"application/vnd.apple.pkpass\": {\n \"compressible\": false,\n \"extensions\": [\"pkpass\"]\n },\n \"application/vnd.arastra.swi\": {\n \"source\": \"iana\"\n },\n \"application/vnd.aristanetworks.swi\": {\n \"source\": \"iana\",\n \"extensions\": [\"swi\"]\n },\n \"application/vnd.artisan+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.artsquare\": {\n \"source\": \"iana\"\n },\n \"application/vnd.astraea-software.iota\": {\n \"source\": \"iana\",\n \"extensions\": [\"iota\"]\n },\n \"application/vnd.audiograph\": {\n \"source\": \"iana\",\n \"extensions\": [\"aep\"]\n },\n \"application/vnd.autopackage\": {\n \"source\": \"iana\"\n },\n \"application/vnd.avalon+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.avistar+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.balsamiq.bmml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"bmml\"]\n },\n \"application/vnd.balsamiq.bmpr\": {\n \"source\": \"iana\"\n },\n \"application/vnd.banana-accounting\": {\n \"source\": \"iana\"\n },\n \"application/vnd.bbf.usp.error\": {\n \"source\": \"iana\"\n },\n \"application/vnd.bbf.usp.msg\": {\n \"source\": \"iana\"\n },\n \"application/vnd.bbf.usp.msg+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.bekitzur-stech+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.bint.med-content\": {\n \"source\": \"iana\"\n },\n \"application/vnd.biopax.rdf+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.blink-idb-value-wrapper\": {\n \"source\": \"iana\"\n },\n \"application/vnd.blueice.multipass\": {\n \"source\": \"iana\",\n \"extensions\": [\"mpm\"]\n },\n \"application/vnd.bluetooth.ep.oob\": {\n \"source\": \"iana\"\n },\n \"application/vnd.bluetooth.le.oob\": {\n \"source\": \"iana\"\n },\n \"application/vnd.bmi\": {\n \"source\": \"iana\",\n \"extensions\": [\"bmi\"]\n },\n \"application/vnd.bpf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.bpf3\": {\n \"source\": \"iana\"\n },\n \"application/vnd.businessobjects\": {\n \"source\": \"iana\",\n \"extensions\": [\"rep\"]\n },\n \"application/vnd.byu.uapi+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.cab-jscript\": {\n \"source\": \"iana\"\n },\n \"application/vnd.canon-cpdl\": {\n \"source\": \"iana\"\n },\n \"application/vnd.canon-lips\": {\n \"source\": \"iana\"\n },\n \"application/vnd.capasystems-pg+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.cendio.thinlinc.clientconf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.century-systems.tcp_stream\": {\n \"source\": \"iana\"\n },\n \"application/vnd.chemdraw+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"cdxml\"]\n },\n \"application/vnd.chess-pgn\": {\n \"source\": \"iana\"\n },\n \"application/vnd.chipnuts.karaoke-mmd\": {\n \"source\": \"iana\",\n \"extensions\": [\"mmd\"]\n },\n \"application/vnd.ciedi\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cinderella\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdy\"]\n },\n \"application/vnd.cirpack.isdn-ext\": {\n \"source\": \"iana\"\n },\n \"application/vnd.citationstyles.style+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"csl\"]\n },\n \"application/vnd.claymore\": {\n \"source\": \"iana\",\n \"extensions\": [\"cla\"]\n },\n \"application/vnd.cloanto.rp9\": {\n \"source\": \"iana\",\n \"extensions\": [\"rp9\"]\n },\n \"application/vnd.clonk.c4group\": {\n \"source\": \"iana\",\n \"extensions\": [\"c4g\",\"c4d\",\"c4f\",\"c4p\",\"c4u\"]\n },\n \"application/vnd.cluetrust.cartomobile-config\": {\n \"source\": \"iana\",\n \"extensions\": [\"c11amc\"]\n },\n \"application/vnd.cluetrust.cartomobile-config-pkg\": {\n \"source\": \"iana\",\n \"extensions\": [\"c11amz\"]\n },\n \"application/vnd.coffeescript\": {\n \"source\": \"iana\"\n },\n \"application/vnd.collabio.xodocuments.document\": {\n \"source\": \"iana\"\n },\n \"application/vnd.collabio.xodocuments.document-template\": {\n \"source\": \"iana\"\n },\n \"application/vnd.collabio.xodocuments.presentation\": {\n \"source\": \"iana\"\n },\n \"application/vnd.collabio.xodocuments.presentation-template\": {\n \"source\": \"iana\"\n },\n \"application/vnd.collabio.xodocuments.spreadsheet\": {\n \"source\": \"iana\"\n },\n \"application/vnd.collabio.xodocuments.spreadsheet-template\": {\n \"source\": \"iana\"\n },\n \"application/vnd.collection+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.collection.doc+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.collection.next+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.comicbook+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.comicbook-rar\": {\n \"source\": \"iana\"\n },\n \"application/vnd.commerce-battelle\": {\n \"source\": \"iana\"\n },\n \"application/vnd.commonspace\": {\n \"source\": \"iana\",\n \"extensions\": [\"csp\"]\n },\n \"application/vnd.contact.cmsg\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdbcmsg\"]\n },\n \"application/vnd.coreos.ignition+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.cosmocaller\": {\n \"source\": \"iana\",\n \"extensions\": [\"cmc\"]\n },\n \"application/vnd.crick.clicker\": {\n \"source\": \"iana\",\n \"extensions\": [\"clkx\"]\n },\n \"application/vnd.crick.clicker.keyboard\": {\n \"source\": \"iana\",\n \"extensions\": [\"clkk\"]\n },\n \"application/vnd.crick.clicker.palette\": {\n \"source\": \"iana\",\n \"extensions\": [\"clkp\"]\n },\n \"application/vnd.crick.clicker.template\": {\n \"source\": \"iana\",\n \"extensions\": [\"clkt\"]\n },\n \"application/vnd.crick.clicker.wordbank\": {\n \"source\": \"iana\",\n \"extensions\": [\"clkw\"]\n },\n \"application/vnd.criticaltools.wbs+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"wbs\"]\n },\n \"application/vnd.cryptii.pipe+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.crypto-shade-file\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cryptomator.encrypted\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cryptomator.vault\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ctc-posml\": {\n \"source\": \"iana\",\n \"extensions\": [\"pml\"]\n },\n \"application/vnd.ctct.ws+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.cups-pdf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cups-postscript\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cups-ppd\": {\n \"source\": \"iana\",\n \"extensions\": [\"ppd\"]\n },\n \"application/vnd.cups-raster\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cups-raw\": {\n \"source\": \"iana\"\n },\n \"application/vnd.curl\": {\n \"source\": \"iana\"\n },\n \"application/vnd.curl.car\": {\n \"source\": \"apache\",\n \"extensions\": [\"car\"]\n },\n \"application/vnd.curl.pcurl\": {\n \"source\": \"apache\",\n \"extensions\": [\"pcurl\"]\n },\n \"application/vnd.cyan.dean.root+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.cybank\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cyclonedx+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.cyclonedx+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.d2l.coursepackage1p0+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.d3m-dataset\": {\n \"source\": \"iana\"\n },\n \"application/vnd.d3m-problem\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dart\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"dart\"]\n },\n \"application/vnd.data-vision.rdz\": {\n \"source\": \"iana\",\n \"extensions\": [\"rdz\"]\n },\n \"application/vnd.datapackage+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dataresource+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dbf\": {\n \"source\": \"iana\",\n \"extensions\": [\"dbf\"]\n },\n \"application/vnd.debian.binary-package\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dece.data\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvf\",\"uvvf\",\"uvd\",\"uvvd\"]\n },\n \"application/vnd.dece.ttml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"uvt\",\"uvvt\"]\n },\n \"application/vnd.dece.unspecified\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvx\",\"uvvx\"]\n },\n \"application/vnd.dece.zip\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvz\",\"uvvz\"]\n },\n \"application/vnd.denovo.fcselayout-link\": {\n \"source\": \"iana\",\n \"extensions\": [\"fe_launch\"]\n },\n \"application/vnd.desmume.movie\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dir-bi.plate-dl-nosuffix\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dm.delegation+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dna\": {\n \"source\": \"iana\",\n \"extensions\": [\"dna\"]\n },\n \"application/vnd.document+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dolby.mlp\": {\n \"source\": \"apache\",\n \"extensions\": [\"mlp\"]\n },\n \"application/vnd.dolby.mobile.1\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dolby.mobile.2\": {\n \"source\": \"iana\"\n },\n \"application/vnd.doremir.scorecloud-binary-document\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dpgraph\": {\n \"source\": \"iana\",\n \"extensions\": [\"dpg\"]\n },\n \"application/vnd.dreamfactory\": {\n \"source\": \"iana\",\n \"extensions\": [\"dfac\"]\n },\n \"application/vnd.drive+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ds-keypoint\": {\n \"source\": \"apache\",\n \"extensions\": [\"kpxx\"]\n },\n \"application/vnd.dtg.local\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dtg.local.flash\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dtg.local.html\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ait\": {\n \"source\": \"iana\",\n \"extensions\": [\"ait\"]\n },\n \"application/vnd.dvb.dvbisl+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.dvbj\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.esgcontainer\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ipdcdftnotifaccess\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ipdcesgaccess\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ipdcesgaccess2\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ipdcesgpdd\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ipdcroaming\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.iptv.alfec-base\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.iptv.alfec-enhancement\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.notif-aggregate-root+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.notif-container+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.notif-generic+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.notif-ia-msglist+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.notif-ia-registration-request+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.notif-ia-registration-response+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.notif-init+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.pfr\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.service\": {\n \"source\": \"iana\",\n \"extensions\": [\"svc\"]\n },\n \"application/vnd.dxr\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dynageo\": {\n \"source\": \"iana\",\n \"extensions\": [\"geo\"]\n },\n \"application/vnd.dzr\": {\n \"source\": \"iana\"\n },\n \"application/vnd.easykaraoke.cdgdownload\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecdis-update\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecip.rlp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.eclipse.ditto+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ecowin.chart\": {\n \"source\": \"iana\",\n \"extensions\": [\"mag\"]\n },\n \"application/vnd.ecowin.filerequest\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecowin.fileupdate\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecowin.series\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecowin.seriesrequest\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecowin.seriesupdate\": {\n \"source\": \"iana\"\n },\n \"application/vnd.efi.img\": {\n \"source\": \"iana\"\n },\n \"application/vnd.efi.iso\": {\n \"source\": \"iana\"\n },\n \"application/vnd.emclient.accessrequest+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.enliven\": {\n \"source\": \"iana\",\n \"extensions\": [\"nml\"]\n },\n \"application/vnd.enphase.envoy\": {\n \"source\": \"iana\"\n },\n \"application/vnd.eprints.data+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.epson.esf\": {\n \"source\": \"iana\",\n \"extensions\": [\"esf\"]\n },\n \"application/vnd.epson.msf\": {\n \"source\": \"iana\",\n \"extensions\": [\"msf\"]\n },\n \"application/vnd.epson.quickanime\": {\n \"source\": \"iana\",\n \"extensions\": [\"qam\"]\n },\n \"application/vnd.epson.salt\": {\n \"source\": \"iana\",\n \"extensions\": [\"slt\"]\n },\n \"application/vnd.epson.ssf\": {\n \"source\": \"iana\",\n \"extensions\": [\"ssf\"]\n },\n \"application/vnd.ericsson.quickcall\": {\n \"source\": \"iana\"\n },\n \"application/vnd.espass-espass+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.eszigno3+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"es3\",\"et3\"]\n },\n \"application/vnd.etsi.aoc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.asic-e+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.etsi.asic-s+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.etsi.cug+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvcommand+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvdiscovery+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvprofile+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvsad-bc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvsad-cod+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvsad-npvr+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvservice+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvsync+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvueprofile+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.mcid+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.mheg5\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.overload-control-policy-dataset+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.pstn+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.sci+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.simservs+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.timestamp-token\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.tsl+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.tsl.der\": {\n \"source\": \"iana\"\n },\n \"application/vnd.eu.kasparian.car+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.eudora.data\": {\n \"source\": \"iana\"\n },\n \"application/vnd.evolv.ecig.profile\": {\n \"source\": \"iana\"\n },\n \"application/vnd.evolv.ecig.settings\": {\n \"source\": \"iana\"\n },\n \"application/vnd.evolv.ecig.theme\": {\n \"source\": \"iana\"\n },\n \"application/vnd.exstream-empower+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.exstream-package\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ezpix-album\": {\n \"source\": \"iana\",\n \"extensions\": [\"ez2\"]\n },\n \"application/vnd.ezpix-package\": {\n \"source\": \"iana\",\n \"extensions\": [\"ez3\"]\n },\n \"application/vnd.f-secure.mobile\": {\n \"source\": \"iana\"\n },\n \"application/vnd.familysearch.gedcom+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.fastcopy-disk-image\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fdf\": {\n \"source\": \"iana\",\n \"extensions\": [\"fdf\"]\n },\n \"application/vnd.fdsn.mseed\": {\n \"source\": \"iana\",\n \"extensions\": [\"mseed\"]\n },\n \"application/vnd.fdsn.seed\": {\n \"source\": \"iana\",\n \"extensions\": [\"seed\",\"dataless\"]\n },\n \"application/vnd.ffsns\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ficlab.flb+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.filmit.zfc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fints\": {\n \"source\": \"iana\"\n },\n \"application/vnd.firemonkeys.cloudcell\": {\n \"source\": \"iana\"\n },\n \"application/vnd.flographit\": {\n \"source\": \"iana\",\n \"extensions\": [\"gph\"]\n },\n \"application/vnd.fluxtime.clip\": {\n \"source\": \"iana\",\n \"extensions\": [\"ftc\"]\n },\n \"application/vnd.font-fontforge-sfd\": {\n \"source\": \"iana\"\n },\n \"application/vnd.framemaker\": {\n \"source\": \"iana\",\n \"extensions\": [\"fm\",\"frame\",\"maker\",\"book\"]\n },\n \"application/vnd.frogans.fnc\": {\n \"source\": \"iana\",\n \"extensions\": [\"fnc\"]\n },\n \"application/vnd.frogans.ltf\": {\n \"source\": \"iana\",\n \"extensions\": [\"ltf\"]\n },\n \"application/vnd.fsc.weblaunch\": {\n \"source\": \"iana\",\n \"extensions\": [\"fsc\"]\n },\n \"application/vnd.fujifilm.fb.docuworks\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fujifilm.fb.docuworks.binder\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fujifilm.fb.docuworks.container\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fujifilm.fb.jfi+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.fujitsu.oasys\": {\n \"source\": \"iana\",\n \"extensions\": [\"oas\"]\n },\n \"application/vnd.fujitsu.oasys2\": {\n \"source\": \"iana\",\n \"extensions\": [\"oa2\"]\n },\n \"application/vnd.fujitsu.oasys3\": {\n \"source\": \"iana\",\n \"extensions\": [\"oa3\"]\n },\n \"application/vnd.fujitsu.oasysgp\": {\n \"source\": \"iana\",\n \"extensions\": [\"fg5\"]\n },\n \"application/vnd.fujitsu.oasysprs\": {\n \"source\": \"iana\",\n \"extensions\": [\"bh2\"]\n },\n \"application/vnd.fujixerox.art-ex\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fujixerox.art4\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fujixerox.ddd\": {\n \"source\": \"iana\",\n \"extensions\": [\"ddd\"]\n },\n \"application/vnd.fujixerox.docuworks\": {\n \"source\": \"iana\",\n \"extensions\": [\"xdw\"]\n },\n \"application/vnd.fujixerox.docuworks.binder\": {\n \"source\": \"iana\",\n \"extensions\": [\"xbd\"]\n },\n \"application/vnd.fujixerox.docuworks.container\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fujixerox.hbpl\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fut-misnet\": {\n \"source\": \"iana\"\n },\n \"application/vnd.futoin+cbor\": {\n \"source\": \"iana\"\n },\n \"application/vnd.futoin+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.fuzzysheet\": {\n \"source\": \"iana\",\n \"extensions\": [\"fzs\"]\n },\n \"application/vnd.genomatix.tuxedo\": {\n \"source\": \"iana\",\n \"extensions\": [\"txd\"]\n },\n \"application/vnd.gentics.grd+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.geo+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.geocube+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.geogebra.file\": {\n \"source\": \"iana\",\n \"extensions\": [\"ggb\"]\n },\n \"application/vnd.geogebra.slides\": {\n \"source\": \"iana\"\n },\n \"application/vnd.geogebra.tool\": {\n \"source\": \"iana\",\n \"extensions\": [\"ggt\"]\n },\n \"application/vnd.geometry-explorer\": {\n \"source\": \"iana\",\n \"extensions\": [\"gex\",\"gre\"]\n },\n \"application/vnd.geonext\": {\n \"source\": \"iana\",\n \"extensions\": [\"gxt\"]\n },\n \"application/vnd.geoplan\": {\n \"source\": \"iana\",\n \"extensions\": [\"g2w\"]\n },\n \"application/vnd.geospace\": {\n \"source\": \"iana\",\n \"extensions\": [\"g3w\"]\n },\n \"application/vnd.gerber\": {\n \"source\": \"iana\"\n },\n \"application/vnd.globalplatform.card-content-mgt\": {\n \"source\": \"iana\"\n },\n \"application/vnd.globalplatform.card-content-mgt-response\": {\n \"source\": \"iana\"\n },\n \"application/vnd.gmx\": {\n \"source\": \"iana\",\n \"extensions\": [\"gmx\"]\n },\n \"application/vnd.google-apps.document\": {\n \"compressible\": false,\n \"extensions\": [\"gdoc\"]\n },\n \"application/vnd.google-apps.presentation\": {\n \"compressible\": false,\n \"extensions\": [\"gslides\"]\n },\n \"application/vnd.google-apps.spreadsheet\": {\n \"compressible\": false,\n \"extensions\": [\"gsheet\"]\n },\n \"application/vnd.google-earth.kml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"kml\"]\n },\n \"application/vnd.google-earth.kmz\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"kmz\"]\n },\n \"application/vnd.gov.sk.e-form+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.gov.sk.e-form+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.gov.sk.xmldatacontainer+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.grafeq\": {\n \"source\": \"iana\",\n \"extensions\": [\"gqf\",\"gqs\"]\n },\n \"application/vnd.gridmp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.groove-account\": {\n \"source\": \"iana\",\n \"extensions\": [\"gac\"]\n },\n \"application/vnd.groove-help\": {\n \"source\": \"iana\",\n \"extensions\": [\"ghf\"]\n },\n \"application/vnd.groove-identity-message\": {\n \"source\": \"iana\",\n \"extensions\": [\"gim\"]\n },\n \"application/vnd.groove-injector\": {\n \"source\": \"iana\",\n \"extensions\": [\"grv\"]\n },\n \"application/vnd.groove-tool-message\": {\n \"source\": \"iana\",\n \"extensions\": [\"gtm\"]\n },\n \"application/vnd.groove-tool-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"tpl\"]\n },\n \"application/vnd.groove-vcard\": {\n \"source\": \"iana\",\n \"extensions\": [\"vcg\"]\n },\n \"application/vnd.hal+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.hal+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"hal\"]\n },\n \"application/vnd.handheld-entertainment+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"zmm\"]\n },\n \"application/vnd.hbci\": {\n \"source\": \"iana\",\n \"extensions\": [\"hbci\"]\n },\n \"application/vnd.hc+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.hcl-bireports\": {\n \"source\": \"iana\"\n },\n \"application/vnd.hdt\": {\n \"source\": \"iana\"\n },\n \"application/vnd.heroku+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.hhe.lesson-player\": {\n \"source\": \"iana\",\n \"extensions\": [\"les\"]\n },\n \"application/vnd.hl7cda+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/vnd.hl7v2+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/vnd.hp-hpgl\": {\n \"source\": \"iana\",\n \"extensions\": [\"hpgl\"]\n },\n \"application/vnd.hp-hpid\": {\n \"source\": \"iana\",\n \"extensions\": [\"hpid\"]\n },\n \"application/vnd.hp-hps\": {\n \"source\": \"iana\",\n \"extensions\": [\"hps\"]\n },\n \"application/vnd.hp-jlyt\": {\n \"source\": \"iana\",\n \"extensions\": [\"jlt\"]\n },\n \"application/vnd.hp-pcl\": {\n \"source\": \"iana\",\n \"extensions\": [\"pcl\"]\n },\n \"application/vnd.hp-pclxl\": {\n \"source\": \"iana\",\n \"extensions\": [\"pclxl\"]\n },\n \"application/vnd.httphone\": {\n \"source\": \"iana\"\n },\n \"application/vnd.hydrostatix.sof-data\": {\n \"source\": \"iana\",\n \"extensions\": [\"sfd-hdstx\"]\n },\n \"application/vnd.hyper+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.hyper-item+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.hyperdrive+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.hzn-3d-crossword\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ibm.afplinedata\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ibm.electronic-media\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ibm.minipay\": {\n \"source\": \"iana\",\n \"extensions\": [\"mpy\"]\n },\n \"application/vnd.ibm.modcap\": {\n \"source\": \"iana\",\n \"extensions\": [\"afp\",\"listafp\",\"list3820\"]\n },\n \"application/vnd.ibm.rights-management\": {\n \"source\": \"iana\",\n \"extensions\": [\"irm\"]\n },\n \"application/vnd.ibm.secure-container\": {\n \"source\": \"iana\",\n \"extensions\": [\"sc\"]\n },\n \"application/vnd.iccprofile\": {\n \"source\": \"iana\",\n \"extensions\": [\"icc\",\"icm\"]\n },\n \"application/vnd.ieee.1905\": {\n \"source\": \"iana\"\n },\n \"application/vnd.igloader\": {\n \"source\": \"iana\",\n \"extensions\": [\"igl\"]\n },\n \"application/vnd.imagemeter.folder+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.imagemeter.image+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.immervision-ivp\": {\n \"source\": \"iana\",\n \"extensions\": [\"ivp\"]\n },\n \"application/vnd.immervision-ivu\": {\n \"source\": \"iana\",\n \"extensions\": [\"ivu\"]\n },\n \"application/vnd.ims.imsccv1p1\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ims.imsccv1p2\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ims.imsccv1p3\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ims.lis.v2.result+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ims.lti.v2.toolconsumerprofile+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ims.lti.v2.toolproxy+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ims.lti.v2.toolproxy.id+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ims.lti.v2.toolsettings+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ims.lti.v2.toolsettings.simple+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.informedcontrol.rms+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.informix-visionary\": {\n \"source\": \"iana\"\n },\n \"application/vnd.infotech.project\": {\n \"source\": \"iana\"\n },\n \"application/vnd.infotech.project+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.innopath.wamp.notification\": {\n \"source\": \"iana\"\n },\n \"application/vnd.insors.igm\": {\n \"source\": \"iana\",\n \"extensions\": [\"igm\"]\n },\n \"application/vnd.intercon.formnet\": {\n \"source\": \"iana\",\n \"extensions\": [\"xpw\",\"xpx\"]\n },\n \"application/vnd.intergeo\": {\n \"source\": \"iana\",\n \"extensions\": [\"i2g\"]\n },\n \"application/vnd.intertrust.digibox\": {\n \"source\": \"iana\"\n },\n \"application/vnd.intertrust.nncp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.intu.qbo\": {\n \"source\": \"iana\",\n \"extensions\": [\"qbo\"]\n },\n \"application/vnd.intu.qfx\": {\n \"source\": \"iana\",\n \"extensions\": [\"qfx\"]\n },\n \"application/vnd.iptc.g2.catalogitem+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.iptc.g2.conceptitem+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.iptc.g2.knowledgeitem+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.iptc.g2.newsitem+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.iptc.g2.newsmessage+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.iptc.g2.packageitem+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.iptc.g2.planningitem+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ipunplugged.rcprofile\": {\n \"source\": \"iana\",\n \"extensions\": [\"rcprofile\"]\n },\n \"application/vnd.irepository.package+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"irp\"]\n },\n \"application/vnd.is-xpr\": {\n \"source\": \"iana\",\n \"extensions\": [\"xpr\"]\n },\n \"application/vnd.isac.fcs\": {\n \"source\": \"iana\",\n \"extensions\": [\"fcs\"]\n },\n \"application/vnd.iso11783-10+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.jam\": {\n \"source\": \"iana\",\n \"extensions\": [\"jam\"]\n },\n \"application/vnd.japannet-directory-service\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-jpnstore-wakeup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-payment-wakeup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-registration\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-registration-wakeup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-setstore-wakeup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-verification\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-verification-wakeup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.jcp.javame.midlet-rms\": {\n \"source\": \"iana\",\n \"extensions\": [\"rms\"]\n },\n \"application/vnd.jisp\": {\n \"source\": \"iana\",\n \"extensions\": [\"jisp\"]\n },\n \"application/vnd.joost.joda-archive\": {\n \"source\": \"iana\",\n \"extensions\": [\"joda\"]\n },\n \"application/vnd.jsk.isdn-ngn\": {\n \"source\": \"iana\"\n },\n \"application/vnd.kahootz\": {\n \"source\": \"iana\",\n \"extensions\": [\"ktz\",\"ktr\"]\n },\n \"application/vnd.kde.karbon\": {\n \"source\": \"iana\",\n \"extensions\": [\"karbon\"]\n },\n \"application/vnd.kde.kchart\": {\n \"source\": \"iana\",\n \"extensions\": [\"chrt\"]\n },\n \"application/vnd.kde.kformula\": {\n \"source\": \"iana\",\n \"extensions\": [\"kfo\"]\n },\n \"application/vnd.kde.kivio\": {\n \"source\": \"iana\",\n \"extensions\": [\"flw\"]\n },\n \"application/vnd.kde.kontour\": {\n \"source\": \"iana\",\n \"extensions\": [\"kon\"]\n },\n \"application/vnd.kde.kpresenter\": {\n \"source\": \"iana\",\n \"extensions\": [\"kpr\",\"kpt\"]\n },\n \"application/vnd.kde.kspread\": {\n \"source\": \"iana\",\n \"extensions\": [\"ksp\"]\n },\n \"application/vnd.kde.kword\": {\n \"source\": \"iana\",\n \"extensions\": [\"kwd\",\"kwt\"]\n },\n \"application/vnd.kenameaapp\": {\n \"source\": \"iana\",\n \"extensions\": [\"htke\"]\n },\n \"application/vnd.kidspiration\": {\n \"source\": \"iana\",\n \"extensions\": [\"kia\"]\n },\n \"application/vnd.kinar\": {\n \"source\": \"iana\",\n \"extensions\": [\"kne\",\"knp\"]\n },\n \"application/vnd.koan\": {\n \"source\": \"iana\",\n \"extensions\": [\"skp\",\"skd\",\"skt\",\"skm\"]\n },\n \"application/vnd.kodak-descriptor\": {\n \"source\": \"iana\",\n \"extensions\": [\"sse\"]\n },\n \"application/vnd.las\": {\n \"source\": \"iana\"\n },\n \"application/vnd.las.las+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.las.las+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"lasxml\"]\n },\n \"application/vnd.laszip\": {\n \"source\": \"iana\"\n },\n \"application/vnd.leap+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.liberty-request+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.llamagraphics.life-balance.desktop\": {\n \"source\": \"iana\",\n \"extensions\": [\"lbd\"]\n },\n \"application/vnd.llamagraphics.life-balance.exchange+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"lbe\"]\n },\n \"application/vnd.logipipe.circuit+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.loom\": {\n \"source\": \"iana\"\n },\n \"application/vnd.lotus-1-2-3\": {\n \"source\": \"iana\",\n \"extensions\": [\"123\"]\n },\n \"application/vnd.lotus-approach\": {\n \"source\": \"iana\",\n \"extensions\": [\"apr\"]\n },\n \"application/vnd.lotus-freelance\": {\n \"source\": \"iana\",\n \"extensions\": [\"pre\"]\n },\n \"application/vnd.lotus-notes\": {\n \"source\": \"iana\",\n \"extensions\": [\"nsf\"]\n },\n \"application/vnd.lotus-organizer\": {\n \"source\": \"iana\",\n \"extensions\": [\"org\"]\n },\n \"application/vnd.lotus-screencam\": {\n \"source\": \"iana\",\n \"extensions\": [\"scm\"]\n },\n \"application/vnd.lotus-wordpro\": {\n \"source\": \"iana\",\n \"extensions\": [\"lwp\"]\n },\n \"application/vnd.macports.portpkg\": {\n \"source\": \"iana\",\n \"extensions\": [\"portpkg\"]\n },\n \"application/vnd.mapbox-vector-tile\": {\n \"source\": \"iana\",\n \"extensions\": [\"mvt\"]\n },\n \"application/vnd.marlin.drm.actiontoken+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.marlin.drm.conftoken+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.marlin.drm.license+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.marlin.drm.mdcf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mason+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.maxar.archive.3tz+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.maxmind.maxmind-db\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mcd\": {\n \"source\": \"iana\",\n \"extensions\": [\"mcd\"]\n },\n \"application/vnd.medcalcdata\": {\n \"source\": \"iana\",\n \"extensions\": [\"mc1\"]\n },\n \"application/vnd.mediastation.cdkey\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdkey\"]\n },\n \"application/vnd.meridian-slingshot\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mfer\": {\n \"source\": \"iana\",\n \"extensions\": [\"mwf\"]\n },\n \"application/vnd.mfmp\": {\n \"source\": \"iana\",\n \"extensions\": [\"mfm\"]\n },\n \"application/vnd.micro+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.micrografx.flo\": {\n \"source\": \"iana\",\n \"extensions\": [\"flo\"]\n },\n \"application/vnd.micrografx.igx\": {\n \"source\": \"iana\",\n \"extensions\": [\"igx\"]\n },\n \"application/vnd.microsoft.portable-executable\": {\n \"source\": \"iana\"\n },\n \"application/vnd.microsoft.windows.thumbnail-cache\": {\n \"source\": \"iana\"\n },\n \"application/vnd.miele+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.mif\": {\n \"source\": \"iana\",\n \"extensions\": [\"mif\"]\n },\n \"application/vnd.minisoft-hp3000-save\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mitsubishi.misty-guard.trustweb\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mobius.daf\": {\n \"source\": \"iana\",\n \"extensions\": [\"daf\"]\n },\n \"application/vnd.mobius.dis\": {\n \"source\": \"iana\",\n \"extensions\": [\"dis\"]\n },\n \"application/vnd.mobius.mbk\": {\n \"source\": \"iana\",\n \"extensions\": [\"mbk\"]\n },\n \"application/vnd.mobius.mqy\": {\n \"source\": \"iana\",\n \"extensions\": [\"mqy\"]\n },\n \"application/vnd.mobius.msl\": {\n \"source\": \"iana\",\n \"extensions\": [\"msl\"]\n },\n \"application/vnd.mobius.plc\": {\n \"source\": \"iana\",\n \"extensions\": [\"plc\"]\n },\n \"application/vnd.mobius.txf\": {\n \"source\": \"iana\",\n \"extensions\": [\"txf\"]\n },\n \"application/vnd.mophun.application\": {\n \"source\": \"iana\",\n \"extensions\": [\"mpn\"]\n },\n \"application/vnd.mophun.certificate\": {\n \"source\": \"iana\",\n \"extensions\": [\"mpc\"]\n },\n \"application/vnd.motorola.flexsuite\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.adsi\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.fis\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.gotap\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.kmr\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.ttc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.wem\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.iprm\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mozilla.xul+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xul\"]\n },\n \"application/vnd.ms-3mfdocument\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-artgalry\": {\n \"source\": \"iana\",\n \"extensions\": [\"cil\"]\n },\n \"application/vnd.ms-asf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-cab-compressed\": {\n \"source\": \"iana\",\n \"extensions\": [\"cab\"]\n },\n \"application/vnd.ms-color.iccprofile\": {\n \"source\": \"apache\"\n },\n \"application/vnd.ms-excel\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"xls\",\"xlm\",\"xla\",\"xlc\",\"xlt\",\"xlw\"]\n },\n \"application/vnd.ms-excel.addin.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"xlam\"]\n },\n \"application/vnd.ms-excel.sheet.binary.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"xlsb\"]\n },\n \"application/vnd.ms-excel.sheet.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"xlsm\"]\n },\n \"application/vnd.ms-excel.template.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"xltm\"]\n },\n \"application/vnd.ms-fontobject\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"eot\"]\n },\n \"application/vnd.ms-htmlhelp\": {\n \"source\": \"iana\",\n \"extensions\": [\"chm\"]\n },\n \"application/vnd.ms-ims\": {\n \"source\": \"iana\",\n \"extensions\": [\"ims\"]\n },\n \"application/vnd.ms-lrm\": {\n \"source\": \"iana\",\n \"extensions\": [\"lrm\"]\n },\n \"application/vnd.ms-office.activex+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ms-officetheme\": {\n \"source\": \"iana\",\n \"extensions\": [\"thmx\"]\n },\n \"application/vnd.ms-opentype\": {\n \"source\": \"apache\",\n \"compressible\": true\n },\n \"application/vnd.ms-outlook\": {\n \"compressible\": false,\n \"extensions\": [\"msg\"]\n },\n \"application/vnd.ms-package.obfuscated-opentype\": {\n \"source\": \"apache\"\n },\n \"application/vnd.ms-pki.seccat\": {\n \"source\": \"apache\",\n \"extensions\": [\"cat\"]\n },\n \"application/vnd.ms-pki.stl\": {\n \"source\": \"apache\",\n \"extensions\": [\"stl\"]\n },\n \"application/vnd.ms-playready.initiator+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ms-powerpoint\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"ppt\",\"pps\",\"pot\"]\n },\n \"application/vnd.ms-powerpoint.addin.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"ppam\"]\n },\n \"application/vnd.ms-powerpoint.presentation.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"pptm\"]\n },\n \"application/vnd.ms-powerpoint.slide.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"sldm\"]\n },\n \"application/vnd.ms-powerpoint.slideshow.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"ppsm\"]\n },\n \"application/vnd.ms-powerpoint.template.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"potm\"]\n },\n \"application/vnd.ms-printdevicecapabilities+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ms-printing.printticket+xml\": {\n \"source\": \"apache\",\n \"compressible\": true\n },\n \"application/vnd.ms-printschematicket+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ms-project\": {\n \"source\": \"iana\",\n \"extensions\": [\"mpp\",\"mpt\"]\n },\n \"application/vnd.ms-tnef\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-windows.devicepairing\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-windows.nwprinting.oob\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-windows.printerpairing\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-windows.wsd.oob\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-wmdrm.lic-chlg-req\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-wmdrm.lic-resp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-wmdrm.meter-chlg-req\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-wmdrm.meter-resp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-word.document.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"docm\"]\n },\n \"application/vnd.ms-word.template.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"dotm\"]\n },\n \"application/vnd.ms-works\": {\n \"source\": \"iana\",\n \"extensions\": [\"wps\",\"wks\",\"wcm\",\"wdb\"]\n },\n \"application/vnd.ms-wpl\": {\n \"source\": \"iana\",\n \"extensions\": [\"wpl\"]\n },\n \"application/vnd.ms-xpsdocument\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"xps\"]\n },\n \"application/vnd.msa-disk-image\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mseq\": {\n \"source\": \"iana\",\n \"extensions\": [\"mseq\"]\n },\n \"application/vnd.msign\": {\n \"source\": \"iana\"\n },\n \"application/vnd.multiad.creator\": {\n \"source\": \"iana\"\n },\n \"application/vnd.multiad.creator.cif\": {\n \"source\": \"iana\"\n },\n \"application/vnd.music-niff\": {\n \"source\": \"iana\"\n },\n \"application/vnd.musician\": {\n \"source\": \"iana\",\n \"extensions\": [\"mus\"]\n },\n \"application/vnd.muvee.style\": {\n \"source\": \"iana\",\n \"extensions\": [\"msty\"]\n },\n \"application/vnd.mynfc\": {\n \"source\": \"iana\",\n \"extensions\": [\"taglet\"]\n },\n \"application/vnd.nacamar.ybrid+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ncd.control\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ncd.reference\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nearst.inv+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.nebumind.line\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nervana\": {\n \"source\": \"iana\"\n },\n \"application/vnd.netfpx\": {\n \"source\": \"iana\"\n },\n \"application/vnd.neurolanguage.nlu\": {\n \"source\": \"iana\",\n \"extensions\": [\"nlu\"]\n },\n \"application/vnd.nimn\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nintendo.nitro.rom\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nintendo.snes.rom\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nitf\": {\n \"source\": \"iana\",\n \"extensions\": [\"ntf\",\"nitf\"]\n },\n \"application/vnd.noblenet-directory\": {\n \"source\": \"iana\",\n \"extensions\": [\"nnd\"]\n },\n \"application/vnd.noblenet-sealer\": {\n \"source\": \"iana\",\n \"extensions\": [\"nns\"]\n },\n \"application/vnd.noblenet-web\": {\n \"source\": \"iana\",\n \"extensions\": [\"nnw\"]\n },\n \"application/vnd.nokia.catalogs\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.conml+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.conml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.nokia.iptv.config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.nokia.isds-radio-presets\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.landmark+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.landmark+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.nokia.landmarkcollection+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.nokia.n-gage.ac+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ac\"]\n },\n \"application/vnd.nokia.n-gage.data\": {\n \"source\": \"iana\",\n \"extensions\": [\"ngdat\"]\n },\n \"application/vnd.nokia.n-gage.symbian.install\": {\n \"source\": \"iana\",\n \"extensions\": [\"n-gage\"]\n },\n \"application/vnd.nokia.ncd\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.pcd+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.pcd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.nokia.radio-preset\": {\n \"source\": \"iana\",\n \"extensions\": [\"rpst\"]\n },\n \"application/vnd.nokia.radio-presets\": {\n \"source\": \"iana\",\n \"extensions\": [\"rpss\"]\n },\n \"application/vnd.novadigm.edm\": {\n \"source\": \"iana\",\n \"extensions\": [\"edm\"]\n },\n \"application/vnd.novadigm.edx\": {\n \"source\": \"iana\",\n \"extensions\": [\"edx\"]\n },\n \"application/vnd.novadigm.ext\": {\n \"source\": \"iana\",\n \"extensions\": [\"ext\"]\n },\n \"application/vnd.ntt-local.content-share\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ntt-local.file-transfer\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ntt-local.ogw_remote-access\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ntt-local.sip-ta_remote\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ntt-local.sip-ta_tcp_stream\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oasis.opendocument.chart\": {\n \"source\": \"iana\",\n \"extensions\": [\"odc\"]\n },\n \"application/vnd.oasis.opendocument.chart-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"otc\"]\n },\n \"application/vnd.oasis.opendocument.database\": {\n \"source\": \"iana\",\n \"extensions\": [\"odb\"]\n },\n \"application/vnd.oasis.opendocument.formula\": {\n \"source\": \"iana\",\n \"extensions\": [\"odf\"]\n },\n \"application/vnd.oasis.opendocument.formula-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"odft\"]\n },\n \"application/vnd.oasis.opendocument.graphics\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"odg\"]\n },\n \"application/vnd.oasis.opendocument.graphics-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"otg\"]\n },\n \"application/vnd.oasis.opendocument.image\": {\n \"source\": \"iana\",\n \"extensions\": [\"odi\"]\n },\n \"application/vnd.oasis.opendocument.image-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"oti\"]\n },\n \"application/vnd.oasis.opendocument.presentation\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"odp\"]\n },\n \"application/vnd.oasis.opendocument.presentation-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"otp\"]\n },\n \"application/vnd.oasis.opendocument.spreadsheet\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"ods\"]\n },\n \"application/vnd.oasis.opendocument.spreadsheet-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"ots\"]\n },\n \"application/vnd.oasis.opendocument.text\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"odt\"]\n },\n \"application/vnd.oasis.opendocument.text-master\": {\n \"source\": \"iana\",\n \"extensions\": [\"odm\"]\n },\n \"application/vnd.oasis.opendocument.text-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"ott\"]\n },\n \"application/vnd.oasis.opendocument.text-web\": {\n \"source\": \"iana\",\n \"extensions\": [\"oth\"]\n },\n \"application/vnd.obn\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ocf+cbor\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oci.image.manifest.v1+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oftn.l10n+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.contentaccessdownload+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.contentaccessstreaming+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.cspg-hexbinary\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oipf.dae.svg+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.dae.xhtml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.mippvcontrolmessage+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.pae.gem\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oipf.spdiscovery+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.spdlist+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.ueprofile+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.userprofile+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.olpc-sugar\": {\n \"source\": \"iana\",\n \"extensions\": [\"xo\"]\n },\n \"application/vnd.oma-scws-config\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma-scws-http-request\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma-scws-http-response\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.associated-procedure-parameter+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.bcast.drm-trigger+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.bcast.imd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.bcast.ltkm\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.notification+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.bcast.provisioningtrigger\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.sgboot\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.sgdd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.bcast.sgdu\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.simple-symbol-container\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.smartcard-trigger+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.bcast.sprov+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.bcast.stkm\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.cab-address-book+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.cab-feature-handler+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.cab-pcc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.cab-subs-invite+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.cab-user-prefs+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.dcd\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.dcdc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.dd2+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"dd2\"]\n },\n \"application/vnd.oma.drm.risd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.group-usage-list+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.lwm2m+cbor\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.lwm2m+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.lwm2m+tlv\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.pal+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.poc.detailed-progress-report+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.poc.final-report+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.poc.groups+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.poc.invocation-descriptor+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.poc.optimized-progress-report+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.push\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.scidm.messages+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.xcap-directory+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.omads-email+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/vnd.omads-file+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/vnd.omads-folder+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/vnd.omaloc-supl-init\": {\n \"source\": \"iana\"\n },\n \"application/vnd.onepager\": {\n \"source\": \"iana\"\n },\n \"application/vnd.onepagertamp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.onepagertamx\": {\n \"source\": \"iana\"\n },\n \"application/vnd.onepagertat\": {\n \"source\": \"iana\"\n },\n \"application/vnd.onepagertatp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.onepagertatx\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openblox.game+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"obgx\"]\n },\n \"application/vnd.openblox.game-binary\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openeye.oeb\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openofficeorg.extension\": {\n \"source\": \"apache\",\n \"extensions\": [\"oxt\"]\n },\n \"application/vnd.openstreetmap.data+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"osm\"]\n },\n \"application/vnd.opentimestamps.ots\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.custom-properties+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.customxmlproperties+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.drawing+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.chart+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.extended-properties+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.comments+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.presentation\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"pptx\"]\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slide\": {\n \"source\": \"iana\",\n \"extensions\": [\"sldx\"]\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slide+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slideshow\": {\n \"source\": \"iana\",\n \"extensions\": [\"ppsx\"]\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.tags+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.template\": {\n \"source\": \"iana\",\n \"extensions\": [\"potx\"]\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"xlsx\"]\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.template\": {\n \"source\": \"iana\",\n \"extensions\": [\"xltx\"]\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.theme+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.themeoverride+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.vmldrawing\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"docx\"]\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.template\": {\n \"source\": \"iana\",\n \"extensions\": [\"dotx\"]\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-package.core-properties+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-package.relationships+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oracle.resource+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.orange.indata\": {\n \"source\": \"iana\"\n },\n \"application/vnd.osa.netdeploy\": {\n \"source\": \"iana\"\n },\n \"application/vnd.osgeo.mapguide.package\": {\n \"source\": \"iana\",\n \"extensions\": [\"mgp\"]\n },\n \"application/vnd.osgi.bundle\": {\n \"source\": \"iana\"\n },\n \"application/vnd.osgi.dp\": {\n \"source\": \"iana\",\n \"extensions\": [\"dp\"]\n },\n \"application/vnd.osgi.subsystem\": {\n \"source\": \"iana\",\n \"extensions\": [\"esa\"]\n },\n \"application/vnd.otps.ct-kip+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oxli.countgraph\": {\n \"source\": \"iana\"\n },\n \"application/vnd.pagerduty+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.palm\": {\n \"source\": \"iana\",\n \"extensions\": [\"pdb\",\"pqa\",\"oprc\"]\n },\n \"application/vnd.panoply\": {\n \"source\": \"iana\"\n },\n \"application/vnd.paos.xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.patentdive\": {\n \"source\": \"iana\"\n },\n \"application/vnd.patientecommsdoc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.pawaafile\": {\n \"source\": \"iana\",\n \"extensions\": [\"paw\"]\n },\n \"application/vnd.pcos\": {\n \"source\": \"iana\"\n },\n \"application/vnd.pg.format\": {\n \"source\": \"iana\",\n \"extensions\": [\"str\"]\n },\n \"application/vnd.pg.osasli\": {\n \"source\": \"iana\",\n \"extensions\": [\"ei6\"]\n },\n \"application/vnd.piaccess.application-licence\": {\n \"source\": \"iana\"\n },\n \"application/vnd.picsel\": {\n \"source\": \"iana\",\n \"extensions\": [\"efif\"]\n },\n \"application/vnd.pmi.widget\": {\n \"source\": \"iana\",\n \"extensions\": [\"wg\"]\n },\n \"application/vnd.poc.group-advertisement+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.pocketlearn\": {\n \"source\": \"iana\",\n \"extensions\": [\"plf\"]\n },\n \"application/vnd.powerbuilder6\": {\n \"source\": \"iana\",\n \"extensions\": [\"pbd\"]\n },\n \"application/vnd.powerbuilder6-s\": {\n \"source\": \"iana\"\n },\n \"application/vnd.powerbuilder7\": {\n \"source\": \"iana\"\n },\n \"application/vnd.powerbuilder7-s\": {\n \"source\": \"iana\"\n },\n \"application/vnd.powerbuilder75\": {\n \"source\": \"iana\"\n },\n \"application/vnd.powerbuilder75-s\": {\n \"source\": \"iana\"\n },\n \"application/vnd.preminet\": {\n \"source\": \"iana\"\n },\n \"application/vnd.previewsystems.box\": {\n \"source\": \"iana\",\n \"extensions\": [\"box\"]\n },\n \"application/vnd.proteus.magazine\": {\n \"source\": \"iana\",\n \"extensions\": [\"mgz\"]\n },\n \"application/vnd.psfs\": {\n \"source\": \"iana\"\n },\n \"application/vnd.publishare-delta-tree\": {\n \"source\": \"iana\",\n \"extensions\": [\"qps\"]\n },\n \"application/vnd.pvi.ptid1\": {\n \"source\": \"iana\",\n \"extensions\": [\"ptid\"]\n },\n \"application/vnd.pwg-multiplexed\": {\n \"source\": \"iana\"\n },\n \"application/vnd.pwg-xhtml-print+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.qualcomm.brew-app-res\": {\n \"source\": \"iana\"\n },\n \"application/vnd.quarantainenet\": {\n \"source\": \"iana\"\n },\n \"application/vnd.quark.quarkxpress\": {\n \"source\": \"iana\",\n \"extensions\": [\"qxd\",\"qxt\",\"qwd\",\"qwt\",\"qxl\",\"qxb\"]\n },\n \"application/vnd.quobject-quoxdocument\": {\n \"source\": \"iana\"\n },\n \"application/vnd.radisys.moml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-audit+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-audit-conf+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-audit-conn+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-audit-dialog+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-audit-stream+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-conf+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-dialog+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-dialog-base+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-dialog-fax-detect+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-dialog-fax-sendrecv+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-dialog-group+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-dialog-speech+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-dialog-transform+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.rainstor.data\": {\n \"source\": \"iana\"\n },\n \"application/vnd.rapid\": {\n \"source\": \"iana\"\n },\n \"application/vnd.rar\": {\n \"source\": \"iana\",\n \"extensions\": [\"rar\"]\n },\n \"application/vnd.realvnc.bed\": {\n \"source\": \"iana\",\n \"extensions\": [\"bed\"]\n },\n \"application/vnd.recordare.musicxml\": {\n \"source\": \"iana\",\n \"extensions\": [\"mxl\"]\n },\n \"application/vnd.recordare.musicxml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"musicxml\"]\n },\n \"application/vnd.renlearn.rlprint\": {\n \"source\": \"iana\"\n },\n \"application/vnd.resilient.logic\": {\n \"source\": \"iana\"\n },\n \"application/vnd.restful+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.rig.cryptonote\": {\n \"source\": \"iana\",\n \"extensions\": [\"cryptonote\"]\n },\n \"application/vnd.rim.cod\": {\n \"source\": \"apache\",\n \"extensions\": [\"cod\"]\n },\n \"application/vnd.rn-realmedia\": {\n \"source\": \"apache\",\n \"extensions\": [\"rm\"]\n },\n \"application/vnd.rn-realmedia-vbr\": {\n \"source\": \"apache\",\n \"extensions\": [\"rmvb\"]\n },\n \"application/vnd.route66.link66+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"link66\"]\n },\n \"application/vnd.rs-274x\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ruckus.download\": {\n \"source\": \"iana\"\n },\n \"application/vnd.s3sms\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sailingtracker.track\": {\n \"source\": \"iana\",\n \"extensions\": [\"st\"]\n },\n \"application/vnd.sar\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sbm.cid\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sbm.mid2\": {\n \"source\": \"iana\"\n },\n \"application/vnd.scribus\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.3df\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.csf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.doc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.eml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.mht\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.net\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.ppt\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.tiff\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.xls\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealedmedia.softseal.html\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealedmedia.softseal.pdf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.seemail\": {\n \"source\": \"iana\",\n \"extensions\": [\"see\"]\n },\n \"application/vnd.seis+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.sema\": {\n \"source\": \"iana\",\n \"extensions\": [\"sema\"]\n },\n \"application/vnd.semd\": {\n \"source\": \"iana\",\n \"extensions\": [\"semd\"]\n },\n \"application/vnd.semf\": {\n \"source\": \"iana\",\n \"extensions\": [\"semf\"]\n },\n \"application/vnd.shade-save-file\": {\n \"source\": \"iana\"\n },\n \"application/vnd.shana.informed.formdata\": {\n \"source\": \"iana\",\n \"extensions\": [\"ifm\"]\n },\n \"application/vnd.shana.informed.formtemplate\": {\n \"source\": \"iana\",\n \"extensions\": [\"itp\"]\n },\n \"application/vnd.shana.informed.interchange\": {\n \"source\": \"iana\",\n \"extensions\": [\"iif\"]\n },\n \"application/vnd.shana.informed.package\": {\n \"source\": \"iana\",\n \"extensions\": [\"ipk\"]\n },\n \"application/vnd.shootproof+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.shopkick+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.shp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.shx\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sigrok.session\": {\n \"source\": \"iana\"\n },\n \"application/vnd.simtech-mindmapper\": {\n \"source\": \"iana\",\n \"extensions\": [\"twd\",\"twds\"]\n },\n \"application/vnd.siren+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.smaf\": {\n \"source\": \"iana\",\n \"extensions\": [\"mmf\"]\n },\n \"application/vnd.smart.notebook\": {\n \"source\": \"iana\"\n },\n \"application/vnd.smart.teacher\": {\n \"source\": \"iana\",\n \"extensions\": [\"teacher\"]\n },\n \"application/vnd.snesdev-page-table\": {\n \"source\": \"iana\"\n },\n \"application/vnd.software602.filler.form+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"fo\"]\n },\n \"application/vnd.software602.filler.form-xml-zip\": {\n \"source\": \"iana\"\n },\n \"application/vnd.solent.sdkm+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"sdkm\",\"sdkd\"]\n },\n \"application/vnd.spotfire.dxp\": {\n \"source\": \"iana\",\n \"extensions\": [\"dxp\"]\n },\n \"application/vnd.spotfire.sfs\": {\n \"source\": \"iana\",\n \"extensions\": [\"sfs\"]\n },\n \"application/vnd.sqlite3\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sss-cod\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sss-dtf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sss-ntf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.stardivision.calc\": {\n \"source\": \"apache\",\n \"extensions\": [\"sdc\"]\n },\n \"application/vnd.stardivision.draw\": {\n \"source\": \"apache\",\n \"extensions\": [\"sda\"]\n },\n \"application/vnd.stardivision.impress\": {\n \"source\": \"apache\",\n \"extensions\": [\"sdd\"]\n },\n \"application/vnd.stardivision.math\": {\n \"source\": \"apache\",\n \"extensions\": [\"smf\"]\n },\n \"application/vnd.stardivision.writer\": {\n \"source\": \"apache\",\n \"extensions\": [\"sdw\",\"vor\"]\n },\n \"application/vnd.stardivision.writer-global\": {\n \"source\": \"apache\",\n \"extensions\": [\"sgl\"]\n },\n \"application/vnd.stepmania.package\": {\n \"source\": \"iana\",\n \"extensions\": [\"smzip\"]\n },\n \"application/vnd.stepmania.stepchart\": {\n \"source\": \"iana\",\n \"extensions\": [\"sm\"]\n },\n \"application/vnd.street-stream\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sun.wadl+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"wadl\"]\n },\n \"application/vnd.sun.xml.calc\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxc\"]\n },\n \"application/vnd.sun.xml.calc.template\": {\n \"source\": \"apache\",\n \"extensions\": [\"stc\"]\n },\n \"application/vnd.sun.xml.draw\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxd\"]\n },\n \"application/vnd.sun.xml.draw.template\": {\n \"source\": \"apache\",\n \"extensions\": [\"std\"]\n },\n \"application/vnd.sun.xml.impress\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxi\"]\n },\n \"application/vnd.sun.xml.impress.template\": {\n \"source\": \"apache\",\n \"extensions\": [\"sti\"]\n },\n \"application/vnd.sun.xml.math\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxm\"]\n },\n \"application/vnd.sun.xml.writer\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxw\"]\n },\n \"application/vnd.sun.xml.writer.global\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxg\"]\n },\n \"application/vnd.sun.xml.writer.template\": {\n \"source\": \"apache\",\n \"extensions\": [\"stw\"]\n },\n \"application/vnd.sus-calendar\": {\n \"source\": \"iana\",\n \"extensions\": [\"sus\",\"susp\"]\n },\n \"application/vnd.svd\": {\n \"source\": \"iana\",\n \"extensions\": [\"svd\"]\n },\n \"application/vnd.swiftview-ics\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sycle+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.syft+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.symbian.install\": {\n \"source\": \"apache\",\n \"extensions\": [\"sis\",\"sisx\"]\n },\n \"application/vnd.syncml+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"xsm\"]\n },\n \"application/vnd.syncml.dm+wbxml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"extensions\": [\"bdm\"]\n },\n \"application/vnd.syncml.dm+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"xdm\"]\n },\n \"application/vnd.syncml.dm.notification\": {\n \"source\": \"iana\"\n },\n \"application/vnd.syncml.dmddf+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.syncml.dmddf+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"ddf\"]\n },\n \"application/vnd.syncml.dmtnds+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.syncml.dmtnds+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/vnd.syncml.ds.notification\": {\n \"source\": \"iana\"\n },\n \"application/vnd.tableschema+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.tao.intent-module-archive\": {\n \"source\": \"iana\",\n \"extensions\": [\"tao\"]\n },\n \"application/vnd.tcpdump.pcap\": {\n \"source\": \"iana\",\n \"extensions\": [\"pcap\",\"cap\",\"dmp\"]\n },\n \"application/vnd.think-cell.ppttc+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.tmd.mediaflex.api+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.tml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.tmobile-livetv\": {\n \"source\": \"iana\",\n \"extensions\": [\"tmo\"]\n },\n \"application/vnd.tri.onesource\": {\n \"source\": \"iana\"\n },\n \"application/vnd.trid.tpt\": {\n \"source\": \"iana\",\n \"extensions\": [\"tpt\"]\n },\n \"application/vnd.triscape.mxs\": {\n \"source\": \"iana\",\n \"extensions\": [\"mxs\"]\n },\n \"application/vnd.trueapp\": {\n \"source\": \"iana\",\n \"extensions\": [\"tra\"]\n },\n \"application/vnd.truedoc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ubisoft.webplayer\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ufdl\": {\n \"source\": \"iana\",\n \"extensions\": [\"ufd\",\"ufdl\"]\n },\n \"application/vnd.uiq.theme\": {\n \"source\": \"iana\",\n \"extensions\": [\"utz\"]\n },\n \"application/vnd.umajin\": {\n \"source\": \"iana\",\n \"extensions\": [\"umj\"]\n },\n \"application/vnd.unity\": {\n \"source\": \"iana\",\n \"extensions\": [\"unityweb\"]\n },\n \"application/vnd.uoml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"uoml\"]\n },\n \"application/vnd.uplanet.alert\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.alert-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.bearer-choice\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.bearer-choice-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.cacheop\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.cacheop-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.channel\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.channel-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.list\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.list-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.listcmd\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.listcmd-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.signal\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uri-map\": {\n \"source\": \"iana\"\n },\n \"application/vnd.valve.source.material\": {\n \"source\": \"iana\"\n },\n \"application/vnd.vcx\": {\n \"source\": \"iana\",\n \"extensions\": [\"vcx\"]\n },\n \"application/vnd.vd-study\": {\n \"source\": \"iana\"\n },\n \"application/vnd.vectorworks\": {\n \"source\": \"iana\"\n },\n \"application/vnd.vel+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.verimatrix.vcas\": {\n \"source\": \"iana\"\n },\n \"application/vnd.veritone.aion+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.veryant.thin\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ves.encrypted\": {\n \"source\": \"iana\"\n },\n \"application/vnd.vidsoft.vidconference\": {\n \"source\": \"iana\"\n },\n \"application/vnd.visio\": {\n \"source\": \"iana\",\n \"extensions\": [\"vsd\",\"vst\",\"vss\",\"vsw\"]\n },\n \"application/vnd.visionary\": {\n \"source\": \"iana\",\n \"extensions\": [\"vis\"]\n },\n \"application/vnd.vividence.scriptfile\": {\n \"source\": \"iana\"\n },\n \"application/vnd.vsf\": {\n \"source\": \"iana\",\n \"extensions\": [\"vsf\"]\n },\n \"application/vnd.wap.sic\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wap.slc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wap.wbxml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"extensions\": [\"wbxml\"]\n },\n \"application/vnd.wap.wmlc\": {\n \"source\": \"iana\",\n \"extensions\": [\"wmlc\"]\n },\n \"application/vnd.wap.wmlscriptc\": {\n \"source\": \"iana\",\n \"extensions\": [\"wmlsc\"]\n },\n \"application/vnd.webturbo\": {\n \"source\": \"iana\",\n \"extensions\": [\"wtb\"]\n },\n \"application/vnd.wfa.dpp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wfa.p2p\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wfa.wsc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.windows.devicepairing\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wmc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wmf.bootstrap\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wolfram.mathematica\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wolfram.mathematica.package\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wolfram.player\": {\n \"source\": \"iana\",\n \"extensions\": [\"nbp\"]\n },\n \"application/vnd.wordperfect\": {\n \"source\": \"iana\",\n \"extensions\": [\"wpd\"]\n },\n \"application/vnd.wqd\": {\n \"source\": \"iana\",\n \"extensions\": [\"wqd\"]\n },\n \"application/vnd.wrq-hp3000-labelled\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wt.stf\": {\n \"source\": \"iana\",\n \"extensions\": [\"stf\"]\n },\n \"application/vnd.wv.csp+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wv.csp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.wv.ssp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.xacml+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.xara\": {\n \"source\": \"iana\",\n \"extensions\": [\"xar\"]\n },\n \"application/vnd.xfdl\": {\n \"source\": \"iana\",\n \"extensions\": [\"xfdl\"]\n },\n \"application/vnd.xfdl.webform\": {\n \"source\": \"iana\"\n },\n \"application/vnd.xmi+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.xmpie.cpkg\": {\n \"source\": \"iana\"\n },\n \"application/vnd.xmpie.dpkg\": {\n \"source\": \"iana\"\n },\n \"application/vnd.xmpie.plan\": {\n \"source\": \"iana\"\n },\n \"application/vnd.xmpie.ppkg\": {\n \"source\": \"iana\"\n },\n \"application/vnd.xmpie.xlim\": {\n \"source\": \"iana\"\n },\n \"application/vnd.yamaha.hv-dic\": {\n \"source\": \"iana\",\n \"extensions\": [\"hvd\"]\n },\n \"application/vnd.yamaha.hv-script\": {\n \"source\": \"iana\",\n \"extensions\": [\"hvs\"]\n },\n \"application/vnd.yamaha.hv-voice\": {\n \"source\": \"iana\",\n \"extensions\": [\"hvp\"]\n },\n \"application/vnd.yamaha.openscoreformat\": {\n \"source\": \"iana\",\n \"extensions\": [\"osf\"]\n },\n \"application/vnd.yamaha.openscoreformat.osfpvg+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"osfpvg\"]\n },\n \"application/vnd.yamaha.remote-setup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.yamaha.smaf-audio\": {\n \"source\": \"iana\",\n \"extensions\": [\"saf\"]\n },\n \"application/vnd.yamaha.smaf-phrase\": {\n \"source\": \"iana\",\n \"extensions\": [\"spf\"]\n },\n \"application/vnd.yamaha.through-ngn\": {\n \"source\": \"iana\"\n },\n \"application/vnd.yamaha.tunnel-udpencap\": {\n \"source\": \"iana\"\n },\n \"application/vnd.yaoweme\": {\n \"source\": \"iana\"\n },\n \"application/vnd.yellowriver-custom-menu\": {\n \"source\": \"iana\",\n \"extensions\": [\"cmp\"]\n },\n \"application/vnd.youtube.yt\": {\n \"source\": \"iana\"\n },\n \"application/vnd.zul\": {\n \"source\": \"iana\",\n \"extensions\": [\"zir\",\"zirz\"]\n },\n \"application/vnd.zzazz.deck+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"zaz\"]\n },\n \"application/voicexml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"vxml\"]\n },\n \"application/voucher-cms+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vq-rtcpxr\": {\n \"source\": \"iana\"\n },\n \"application/wasm\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"wasm\"]\n },\n \"application/watcherinfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"wif\"]\n },\n \"application/webpush-options+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/whoispp-query\": {\n \"source\": \"iana\"\n },\n \"application/whoispp-response\": {\n \"source\": \"iana\"\n },\n \"application/widget\": {\n \"source\": \"iana\",\n \"extensions\": [\"wgt\"]\n },\n \"application/winhlp\": {\n \"source\": \"apache\",\n \"extensions\": [\"hlp\"]\n },\n \"application/wita\": {\n \"source\": \"iana\"\n },\n \"application/wordperfect5.1\": {\n \"source\": \"iana\"\n },\n \"application/wsdl+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"wsdl\"]\n },\n \"application/wspolicy+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"wspolicy\"]\n },\n \"application/x-7z-compressed\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"7z\"]\n },\n \"application/x-abiword\": {\n \"source\": \"apache\",\n \"extensions\": [\"abw\"]\n },\n \"application/x-ace-compressed\": {\n \"source\": \"apache\",\n \"extensions\": [\"ace\"]\n },\n \"application/x-amf\": {\n \"source\": \"apache\"\n },\n \"application/x-apple-diskimage\": {\n \"source\": \"apache\",\n \"extensions\": [\"dmg\"]\n },\n \"application/x-arj\": {\n \"compressible\": false,\n \"extensions\": [\"arj\"]\n },\n \"application/x-authorware-bin\": {\n \"source\": \"apache\",\n \"extensions\": [\"aab\",\"x32\",\"u32\",\"vox\"]\n },\n \"application/x-authorware-map\": {\n \"source\": \"apache\",\n \"extensions\": [\"aam\"]\n },\n \"application/x-authorware-seg\": {\n \"source\": \"apache\",\n \"extensions\": [\"aas\"]\n },\n \"application/x-bcpio\": {\n \"source\": \"apache\",\n \"extensions\": [\"bcpio\"]\n },\n \"application/x-bdoc\": {\n \"compressible\": false,\n \"extensions\": [\"bdoc\"]\n },\n \"application/x-bittorrent\": {\n \"source\": \"apache\",\n \"extensions\": [\"torrent\"]\n },\n \"application/x-blorb\": {\n \"source\": \"apache\",\n \"extensions\": [\"blb\",\"blorb\"]\n },\n \"application/x-bzip\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"bz\"]\n },\n \"application/x-bzip2\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"bz2\",\"boz\"]\n },\n \"application/x-cbr\": {\n \"source\": \"apache\",\n \"extensions\": [\"cbr\",\"cba\",\"cbt\",\"cbz\",\"cb7\"]\n },\n \"application/x-cdlink\": {\n \"source\": \"apache\",\n \"extensions\": [\"vcd\"]\n },\n \"application/x-cfs-compressed\": {\n \"source\": \"apache\",\n \"extensions\": [\"cfs\"]\n },\n \"application/x-chat\": {\n \"source\": \"apache\",\n \"extensions\": [\"chat\"]\n },\n \"application/x-chess-pgn\": {\n \"source\": \"apache\",\n \"extensions\": [\"pgn\"]\n },\n \"application/x-chrome-extension\": {\n \"extensions\": [\"crx\"]\n },\n \"application/x-cocoa\": {\n \"source\": \"nginx\",\n \"extensions\": [\"cco\"]\n },\n \"application/x-compress\": {\n \"source\": \"apache\"\n },\n \"application/x-conference\": {\n \"source\": \"apache\",\n \"extensions\": [\"nsc\"]\n },\n \"application/x-cpio\": {\n \"source\": \"apache\",\n \"extensions\": [\"cpio\"]\n },\n \"application/x-csh\": {\n \"source\": \"apache\",\n \"extensions\": [\"csh\"]\n },\n \"application/x-deb\": {\n \"compressible\": false\n },\n \"application/x-debian-package\": {\n \"source\": \"apache\",\n \"extensions\": [\"deb\",\"udeb\"]\n },\n \"application/x-dgc-compressed\": {\n \"source\": \"apache\",\n \"extensions\": [\"dgc\"]\n },\n \"application/x-director\": {\n \"source\": \"apache\",\n \"extensions\": [\"dir\",\"dcr\",\"dxr\",\"cst\",\"cct\",\"cxt\",\"w3d\",\"fgd\",\"swa\"]\n },\n \"application/x-doom\": {\n \"source\": \"apache\",\n \"extensions\": [\"wad\"]\n },\n \"application/x-dtbncx+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"ncx\"]\n },\n \"application/x-dtbook+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"dtb\"]\n },\n \"application/x-dtbresource+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"res\"]\n },\n \"application/x-dvi\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"dvi\"]\n },\n \"application/x-envoy\": {\n \"source\": \"apache\",\n \"extensions\": [\"evy\"]\n },\n \"application/x-eva\": {\n \"source\": \"apache\",\n \"extensions\": [\"eva\"]\n },\n \"application/x-font-bdf\": {\n \"source\": \"apache\",\n \"extensions\": [\"bdf\"]\n },\n \"application/x-font-dos\": {\n \"source\": \"apache\"\n },\n \"application/x-font-framemaker\": {\n \"source\": \"apache\"\n },\n \"application/x-font-ghostscript\": {\n \"source\": \"apache\",\n \"extensions\": [\"gsf\"]\n },\n \"application/x-font-libgrx\": {\n \"source\": \"apache\"\n },\n \"application/x-font-linux-psf\": {\n \"source\": \"apache\",\n \"extensions\": [\"psf\"]\n },\n \"application/x-font-pcf\": {\n \"source\": \"apache\",\n \"extensions\": [\"pcf\"]\n },\n \"application/x-font-snf\": {\n \"source\": \"apache\",\n \"extensions\": [\"snf\"]\n },\n \"application/x-font-speedo\": {\n \"source\": \"apache\"\n },\n \"application/x-font-sunos-news\": {\n \"source\": \"apache\"\n },\n \"application/x-font-type1\": {\n \"source\": \"apache\",\n \"extensions\": [\"pfa\",\"pfb\",\"pfm\",\"afm\"]\n },\n \"application/x-font-vfont\": {\n \"source\": \"apache\"\n },\n \"application/x-freearc\": {\n \"source\": \"apache\",\n \"extensions\": [\"arc\"]\n },\n \"application/x-futuresplash\": {\n \"source\": \"apache\",\n \"extensions\": [\"spl\"]\n },\n \"application/x-gca-compressed\": {\n \"source\": \"apache\",\n \"extensions\": [\"gca\"]\n },\n \"application/x-glulx\": {\n \"source\": \"apache\",\n \"extensions\": [\"ulx\"]\n },\n \"application/x-gnumeric\": {\n \"source\": \"apache\",\n \"extensions\": [\"gnumeric\"]\n },\n \"application/x-gramps-xml\": {\n \"source\": \"apache\",\n \"extensions\": [\"gramps\"]\n },\n \"application/x-gtar\": {\n \"source\": \"apache\",\n \"extensions\": [\"gtar\"]\n },\n \"application/x-gzip\": {\n \"source\": \"apache\"\n },\n \"application/x-hdf\": {\n \"source\": \"apache\",\n \"extensions\": [\"hdf\"]\n },\n \"application/x-httpd-php\": {\n \"compressible\": true,\n \"extensions\": [\"php\"]\n },\n \"application/x-install-instructions\": {\n \"source\": \"apache\",\n \"extensions\": [\"install\"]\n },\n \"application/x-iso9660-image\": {\n \"source\": \"apache\",\n \"extensions\": [\"iso\"]\n },\n \"application/x-iwork-keynote-sffkey\": {\n \"extensions\": [\"key\"]\n },\n \"application/x-iwork-numbers-sffnumbers\": {\n \"extensions\": [\"numbers\"]\n },\n \"application/x-iwork-pages-sffpages\": {\n \"extensions\": [\"pages\"]\n },\n \"application/x-java-archive-diff\": {\n \"source\": \"nginx\",\n \"extensions\": [\"jardiff\"]\n },\n \"application/x-java-jnlp-file\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"jnlp\"]\n },\n \"application/x-javascript\": {\n \"compressible\": true\n },\n \"application/x-keepass2\": {\n \"extensions\": [\"kdbx\"]\n },\n \"application/x-latex\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"latex\"]\n },\n \"application/x-lua-bytecode\": {\n \"extensions\": [\"luac\"]\n },\n \"application/x-lzh-compressed\": {\n \"source\": \"apache\",\n \"extensions\": [\"lzh\",\"lha\"]\n },\n \"application/x-makeself\": {\n \"source\": \"nginx\",\n \"extensions\": [\"run\"]\n },\n \"application/x-mie\": {\n \"source\": \"apache\",\n \"extensions\": [\"mie\"]\n },\n \"application/x-mobipocket-ebook\": {\n \"source\": \"apache\",\n \"extensions\": [\"prc\",\"mobi\"]\n },\n \"application/x-mpegurl\": {\n \"compressible\": false\n },\n \"application/x-ms-application\": {\n \"source\": \"apache\",\n \"extensions\": [\"application\"]\n },\n \"application/x-ms-shortcut\": {\n \"source\": \"apache\",\n \"extensions\": [\"lnk\"]\n },\n \"application/x-ms-wmd\": {\n \"source\": \"apache\",\n \"extensions\": [\"wmd\"]\n },\n \"application/x-ms-wmz\": {\n \"source\": \"apache\",\n \"extensions\": [\"wmz\"]\n },\n \"application/x-ms-xbap\": {\n \"source\": \"apache\",\n \"extensions\": [\"xbap\"]\n },\n \"application/x-msaccess\": {\n \"source\": \"apache\",\n \"extensions\": [\"mdb\"]\n },\n \"application/x-msbinder\": {\n \"source\": \"apache\",\n \"extensions\": [\"obd\"]\n },\n \"application/x-mscardfile\": {\n \"source\": \"apache\",\n \"extensions\": [\"crd\"]\n },\n \"application/x-msclip\": {\n \"source\": \"apache\",\n \"extensions\": [\"clp\"]\n },\n \"application/x-msdos-program\": {\n \"extensions\": [\"exe\"]\n },\n \"application/x-msdownload\": {\n \"source\": \"apache\",\n \"extensions\": [\"exe\",\"dll\",\"com\",\"bat\",\"msi\"]\n },\n \"application/x-msmediaview\": {\n \"source\": \"apache\",\n \"extensions\": [\"mvb\",\"m13\",\"m14\"]\n },\n \"application/x-msmetafile\": {\n \"source\": \"apache\",\n \"extensions\": [\"wmf\",\"wmz\",\"emf\",\"emz\"]\n },\n \"application/x-msmoney\": {\n \"source\": \"apache\",\n \"extensions\": [\"mny\"]\n },\n \"application/x-mspublisher\": {\n \"source\": \"apache\",\n \"extensions\": [\"pub\"]\n },\n \"application/x-msschedule\": {\n \"source\": \"apache\",\n \"extensions\": [\"scd\"]\n },\n \"application/x-msterminal\": {\n \"source\": \"apache\",\n \"extensions\": [\"trm\"]\n },\n \"application/x-mswrite\": {\n \"source\": \"apache\",\n \"extensions\": [\"wri\"]\n },\n \"application/x-netcdf\": {\n \"source\": \"apache\",\n \"extensions\": [\"nc\",\"cdf\"]\n },\n \"application/x-ns-proxy-autoconfig\": {\n \"compressible\": true,\n \"extensions\": [\"pac\"]\n },\n \"application/x-nzb\": {\n \"source\": \"apache\",\n \"extensions\": [\"nzb\"]\n },\n \"application/x-perl\": {\n \"source\": \"nginx\",\n \"extensions\": [\"pl\",\"pm\"]\n },\n \"application/x-pilot\": {\n \"source\": \"nginx\",\n \"extensions\": [\"prc\",\"pdb\"]\n },\n \"application/x-pkcs12\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"p12\",\"pfx\"]\n },\n \"application/x-pkcs7-certificates\": {\n \"source\": \"apache\",\n \"extensions\": [\"p7b\",\"spc\"]\n },\n \"application/x-pkcs7-certreqresp\": {\n \"source\": \"apache\",\n \"extensions\": [\"p7r\"]\n },\n \"application/x-pki-message\": {\n \"source\": \"iana\"\n },\n \"application/x-rar-compressed\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"rar\"]\n },\n \"application/x-redhat-package-manager\": {\n \"source\": \"nginx\",\n \"extensions\": [\"rpm\"]\n },\n \"application/x-research-info-systems\": {\n \"source\": \"apache\",\n \"extensions\": [\"ris\"]\n },\n \"application/x-sea\": {\n \"source\": \"nginx\",\n \"extensions\": [\"sea\"]\n },\n \"application/x-sh\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"sh\"]\n },\n \"application/x-shar\": {\n \"source\": \"apache\",\n \"extensions\": [\"shar\"]\n },\n \"application/x-shockwave-flash\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"swf\"]\n },\n \"application/x-silverlight-app\": {\n \"source\": \"apache\",\n \"extensions\": [\"xap\"]\n },\n \"application/x-sql\": {\n \"source\": \"apache\",\n \"extensions\": [\"sql\"]\n },\n \"application/x-stuffit\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"sit\"]\n },\n \"application/x-stuffitx\": {\n \"source\": \"apache\",\n \"extensions\": [\"sitx\"]\n },\n \"application/x-subrip\": {\n \"source\": \"apache\",\n \"extensions\": [\"srt\"]\n },\n \"application/x-sv4cpio\": {\n \"source\": \"apache\",\n \"extensions\": [\"sv4cpio\"]\n },\n \"application/x-sv4crc\": {\n \"source\": \"apache\",\n \"extensions\": [\"sv4crc\"]\n },\n \"application/x-t3vm-image\": {\n \"source\": \"apache\",\n \"extensions\": [\"t3\"]\n },\n \"application/x-tads\": {\n \"source\": \"apache\",\n \"extensions\": [\"gam\"]\n },\n \"application/x-tar\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"tar\"]\n },\n \"application/x-tcl\": {\n \"source\": \"apache\",\n \"extensions\": [\"tcl\",\"tk\"]\n },\n \"application/x-tex\": {\n \"source\": \"apache\",\n \"extensions\": [\"tex\"]\n },\n \"application/x-tex-tfm\": {\n \"source\": \"apache\",\n \"extensions\": [\"tfm\"]\n },\n \"application/x-texinfo\": {\n \"source\": \"apache\",\n \"extensions\": [\"texinfo\",\"texi\"]\n },\n \"application/x-tgif\": {\n \"source\": \"apache\",\n \"extensions\": [\"obj\"]\n },\n \"application/x-ustar\": {\n \"source\": \"apache\",\n \"extensions\": [\"ustar\"]\n },\n \"application/x-virtualbox-hdd\": {\n \"compressible\": true,\n \"extensions\": [\"hdd\"]\n },\n \"application/x-virtualbox-ova\": {\n \"compressible\": true,\n \"extensions\": [\"ova\"]\n },\n \"application/x-virtualbox-ovf\": {\n \"compressible\": true,\n \"extensions\": [\"ovf\"]\n },\n \"application/x-virtualbox-vbox\": {\n \"compressible\": true,\n \"extensions\": [\"vbox\"]\n },\n \"application/x-virtualbox-vbox-extpack\": {\n \"compressible\": false,\n \"extensions\": [\"vbox-extpack\"]\n },\n \"application/x-virtualbox-vdi\": {\n \"compressible\": true,\n \"extensions\": [\"vdi\"]\n },\n \"application/x-virtualbox-vhd\": {\n \"compressible\": true,\n \"extensions\": [\"vhd\"]\n },\n \"application/x-virtualbox-vmdk\": {\n \"compressible\": true,\n \"extensions\": [\"vmdk\"]\n },\n \"application/x-wais-source\": {\n \"source\": \"apache\",\n \"extensions\": [\"src\"]\n },\n \"application/x-web-app-manifest+json\": {\n \"compressible\": true,\n \"extensions\": [\"webapp\"]\n },\n \"application/x-www-form-urlencoded\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/x-x509-ca-cert\": {\n \"source\": \"iana\",\n \"extensions\": [\"der\",\"crt\",\"pem\"]\n },\n \"application/x-x509-ca-ra-cert\": {\n \"source\": \"iana\"\n },\n \"application/x-x509-next-ca-cert\": {\n \"source\": \"iana\"\n },\n \"application/x-xfig\": {\n \"source\": \"apache\",\n \"extensions\": [\"fig\"]\n },\n \"application/x-xliff+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"xlf\"]\n },\n \"application/x-xpinstall\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"xpi\"]\n },\n \"application/x-xz\": {\n \"source\": \"apache\",\n \"extensions\": [\"xz\"]\n },\n \"application/x-zmachine\": {\n \"source\": \"apache\",\n \"extensions\": [\"z1\",\"z2\",\"z3\",\"z4\",\"z5\",\"z6\",\"z7\",\"z8\"]\n },\n \"application/x400-bp\": {\n \"source\": \"iana\"\n },\n \"application/xacml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/xaml+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"xaml\"]\n },\n \"application/xcap-att+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xav\"]\n },\n \"application/xcap-caps+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xca\"]\n },\n \"application/xcap-diff+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xdf\"]\n },\n \"application/xcap-el+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xel\"]\n },\n \"application/xcap-error+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/xcap-ns+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xns\"]\n },\n \"application/xcon-conference-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/xcon-conference-info-diff+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/xenc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xenc\"]\n },\n \"application/xhtml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xhtml\",\"xht\"]\n },\n \"application/xhtml-voice+xml\": {\n \"source\": \"apache\",\n \"compressible\": true\n },\n \"application/xliff+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xlf\"]\n },\n \"application/xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xml\",\"xsl\",\"xsd\",\"rng\"]\n },\n \"application/xml-dtd\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"dtd\"]\n },\n \"application/xml-external-parsed-entity\": {\n \"source\": \"iana\"\n },\n \"application/xml-patch+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/xmpp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/xop+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xop\"]\n },\n \"application/xproc+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"xpl\"]\n },\n \"application/xslt+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xsl\",\"xslt\"]\n },\n \"application/xspf+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"xspf\"]\n },\n \"application/xv+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mxml\",\"xhvml\",\"xvml\",\"xvm\"]\n },\n \"application/yang\": {\n \"source\": \"iana\",\n \"extensions\": [\"yang\"]\n },\n \"application/yang-data+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/yang-data+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/yang-patch+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/yang-patch+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/yin+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"yin\"]\n },\n \"application/zip\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"zip\"]\n },\n \"application/zlib\": {\n \"source\": \"iana\"\n },\n \"application/zstd\": {\n \"source\": \"iana\"\n },\n \"audio/1d-interleaved-parityfec\": {\n \"source\": \"iana\"\n },\n \"audio/32kadpcm\": {\n \"source\": \"iana\"\n },\n \"audio/3gpp\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"3gpp\"]\n },\n \"audio/3gpp2\": {\n \"source\": \"iana\"\n },\n \"audio/aac\": {\n \"source\": \"iana\"\n },\n \"audio/ac3\": {\n \"source\": \"iana\"\n },\n \"audio/adpcm\": {\n \"source\": \"apache\",\n \"extensions\": [\"adp\"]\n },\n \"audio/amr\": {\n \"source\": \"iana\",\n \"extensions\": [\"amr\"]\n },\n \"audio/amr-wb\": {\n \"source\": \"iana\"\n },\n \"audio/amr-wb+\": {\n \"source\": \"iana\"\n },\n \"audio/aptx\": {\n \"source\": \"iana\"\n },\n \"audio/asc\": {\n \"source\": \"iana\"\n },\n \"audio/atrac-advanced-lossless\": {\n \"source\": \"iana\"\n },\n \"audio/atrac-x\": {\n \"source\": \"iana\"\n },\n \"audio/atrac3\": {\n \"source\": \"iana\"\n },\n \"audio/basic\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"au\",\"snd\"]\n },\n \"audio/bv16\": {\n \"source\": \"iana\"\n },\n \"audio/bv32\": {\n \"source\": \"iana\"\n },\n \"audio/clearmode\": {\n \"source\": \"iana\"\n },\n \"audio/cn\": {\n \"source\": \"iana\"\n },\n \"audio/dat12\": {\n \"source\": \"iana\"\n },\n \"audio/dls\": {\n \"source\": \"iana\"\n },\n \"audio/dsr-es201108\": {\n \"source\": \"iana\"\n },\n \"audio/dsr-es202050\": {\n \"source\": \"iana\"\n },\n \"audio/dsr-es202211\": {\n \"source\": \"iana\"\n },\n \"audio/dsr-es202212\": {\n \"source\": \"iana\"\n },\n \"audio/dv\": {\n \"source\": \"iana\"\n },\n \"audio/dvi4\": {\n \"source\": \"iana\"\n },\n \"audio/eac3\": {\n \"source\": \"iana\"\n },\n \"audio/encaprtp\": {\n \"source\": \"iana\"\n },\n \"audio/evrc\": {\n \"source\": \"iana\"\n },\n \"audio/evrc-qcp\": {\n \"source\": \"iana\"\n },\n \"audio/evrc0\": {\n \"source\": \"iana\"\n },\n \"audio/evrc1\": {\n \"source\": \"iana\"\n },\n \"audio/evrcb\": {\n \"source\": \"iana\"\n },\n \"audio/evrcb0\": {\n \"source\": \"iana\"\n },\n \"audio/evrcb1\": {\n \"source\": \"iana\"\n },\n \"audio/evrcnw\": {\n \"source\": \"iana\"\n },\n \"audio/evrcnw0\": {\n \"source\": \"iana\"\n },\n \"audio/evrcnw1\": {\n \"source\": \"iana\"\n },\n \"audio/evrcwb\": {\n \"source\": \"iana\"\n },\n \"audio/evrcwb0\": {\n \"source\": \"iana\"\n },\n \"audio/evrcwb1\": {\n \"source\": \"iana\"\n },\n \"audio/evs\": {\n \"source\": \"iana\"\n },\n \"audio/flexfec\": {\n \"source\": \"iana\"\n },\n \"audio/fwdred\": {\n \"source\": \"iana\"\n },\n \"audio/g711-0\": {\n \"source\": \"iana\"\n },\n \"audio/g719\": {\n \"source\": \"iana\"\n },\n \"audio/g722\": {\n \"source\": \"iana\"\n },\n \"audio/g7221\": {\n \"source\": \"iana\"\n },\n \"audio/g723\": {\n \"source\": \"iana\"\n },\n \"audio/g726-16\": {\n \"source\": \"iana\"\n },\n \"audio/g726-24\": {\n \"source\": \"iana\"\n },\n \"audio/g726-32\": {\n \"source\": \"iana\"\n },\n \"audio/g726-40\": {\n \"source\": \"iana\"\n },\n \"audio/g728\": {\n \"source\": \"iana\"\n },\n \"audio/g729\": {\n \"source\": \"iana\"\n },\n \"audio/g7291\": {\n \"source\": \"iana\"\n },\n \"audio/g729d\": {\n \"source\": \"iana\"\n },\n \"audio/g729e\": {\n \"source\": \"iana\"\n },\n \"audio/gsm\": {\n \"source\": \"iana\"\n },\n \"audio/gsm-efr\": {\n \"source\": \"iana\"\n },\n \"audio/gsm-hr-08\": {\n \"source\": \"iana\"\n },\n \"audio/ilbc\": {\n \"source\": \"iana\"\n },\n \"audio/ip-mr_v2.5\": {\n \"source\": \"iana\"\n },\n \"audio/isac\": {\n \"source\": \"apache\"\n },\n \"audio/l16\": {\n \"source\": \"iana\"\n },\n \"audio/l20\": {\n \"source\": \"iana\"\n },\n \"audio/l24\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"audio/l8\": {\n \"source\": \"iana\"\n },\n \"audio/lpc\": {\n \"source\": \"iana\"\n },\n \"audio/melp\": {\n \"source\": \"iana\"\n },\n \"audio/melp1200\": {\n \"source\": \"iana\"\n },\n \"audio/melp2400\": {\n \"source\": \"iana\"\n },\n \"audio/melp600\": {\n \"source\": \"iana\"\n },\n \"audio/mhas\": {\n \"source\": \"iana\"\n },\n \"audio/midi\": {\n \"source\": \"apache\",\n \"extensions\": [\"mid\",\"midi\",\"kar\",\"rmi\"]\n },\n \"audio/mobile-xmf\": {\n \"source\": \"iana\",\n \"extensions\": [\"mxmf\"]\n },\n \"audio/mp3\": {\n \"compressible\": false,\n \"extensions\": [\"mp3\"]\n },\n \"audio/mp4\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"m4a\",\"mp4a\"]\n },\n \"audio/mp4a-latm\": {\n \"source\": \"iana\"\n },\n \"audio/mpa\": {\n \"source\": \"iana\"\n },\n \"audio/mpa-robust\": {\n \"source\": \"iana\"\n },\n \"audio/mpeg\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"mpga\",\"mp2\",\"mp2a\",\"mp3\",\"m2a\",\"m3a\"]\n },\n \"audio/mpeg4-generic\": {\n \"source\": \"iana\"\n },\n \"audio/musepack\": {\n \"source\": \"apache\"\n },\n \"audio/ogg\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"oga\",\"ogg\",\"spx\",\"opus\"]\n },\n \"audio/opus\": {\n \"source\": \"iana\"\n },\n \"audio/parityfec\": {\n \"source\": \"iana\"\n },\n \"audio/pcma\": {\n \"source\": \"iana\"\n },\n \"audio/pcma-wb\": {\n \"source\": \"iana\"\n },\n \"audio/pcmu\": {\n \"source\": \"iana\"\n },\n \"audio/pcmu-wb\": {\n \"source\": \"iana\"\n },\n \"audio/prs.sid\": {\n \"source\": \"iana\"\n },\n \"audio/qcelp\": {\n \"source\": \"iana\"\n },\n \"audio/raptorfec\": {\n \"source\": \"iana\"\n },\n \"audio/red\": {\n \"source\": \"iana\"\n },\n \"audio/rtp-enc-aescm128\": {\n \"source\": \"iana\"\n },\n \"audio/rtp-midi\": {\n \"source\": \"iana\"\n },\n \"audio/rtploopback\": {\n \"source\": \"iana\"\n },\n \"audio/rtx\": {\n \"source\": \"iana\"\n },\n \"audio/s3m\": {\n \"source\": \"apache\",\n \"extensions\": [\"s3m\"]\n },\n \"audio/scip\": {\n \"source\": \"iana\"\n },\n \"audio/silk\": {\n \"source\": \"apache\",\n \"extensions\": [\"sil\"]\n },\n \"audio/smv\": {\n \"source\": \"iana\"\n },\n \"audio/smv-qcp\": {\n \"source\": \"iana\"\n },\n \"audio/smv0\": {\n \"source\": \"iana\"\n },\n \"audio/sofa\": {\n \"source\": \"iana\"\n },\n \"audio/sp-midi\": {\n \"source\": \"iana\"\n },\n \"audio/speex\": {\n \"source\": \"iana\"\n },\n \"audio/t140c\": {\n \"source\": \"iana\"\n },\n \"audio/t38\": {\n \"source\": \"iana\"\n },\n \"audio/telephone-event\": {\n \"source\": \"iana\"\n },\n \"audio/tetra_acelp\": {\n \"source\": \"iana\"\n },\n \"audio/tetra_acelp_bb\": {\n \"source\": \"iana\"\n },\n \"audio/tone\": {\n \"source\": \"iana\"\n },\n \"audio/tsvcis\": {\n \"source\": \"iana\"\n },\n \"audio/uemclip\": {\n \"source\": \"iana\"\n },\n \"audio/ulpfec\": {\n \"source\": \"iana\"\n },\n \"audio/usac\": {\n \"source\": \"iana\"\n },\n \"audio/vdvi\": {\n \"source\": \"iana\"\n },\n \"audio/vmr-wb\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.3gpp.iufp\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.4sb\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.audiokoz\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.celp\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.cisco.nse\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.cmles.radio-events\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.cns.anp1\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.cns.inf1\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dece.audio\": {\n \"source\": \"iana\",\n \"extensions\": [\"uva\",\"uvva\"]\n },\n \"audio/vnd.digital-winds\": {\n \"source\": \"iana\",\n \"extensions\": [\"eol\"]\n },\n \"audio/vnd.dlna.adts\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.heaac.1\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.heaac.2\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.mlp\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.mps\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.pl2\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.pl2x\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.pl2z\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.pulse.1\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dra\": {\n \"source\": \"iana\",\n \"extensions\": [\"dra\"]\n },\n \"audio/vnd.dts\": {\n \"source\": \"iana\",\n \"extensions\": [\"dts\"]\n },\n \"audio/vnd.dts.hd\": {\n \"source\": \"iana\",\n \"extensions\": [\"dtshd\"]\n },\n \"audio/vnd.dts.uhd\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dvb.file\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.everad.plj\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.hns.audio\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.lucent.voice\": {\n \"source\": \"iana\",\n \"extensions\": [\"lvp\"]\n },\n \"audio/vnd.ms-playready.media.pya\": {\n \"source\": \"iana\",\n \"extensions\": [\"pya\"]\n },\n \"audio/vnd.nokia.mobile-xmf\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.nortel.vbk\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.nuera.ecelp4800\": {\n \"source\": \"iana\",\n \"extensions\": [\"ecelp4800\"]\n },\n \"audio/vnd.nuera.ecelp7470\": {\n \"source\": \"iana\",\n \"extensions\": [\"ecelp7470\"]\n },\n \"audio/vnd.nuera.ecelp9600\": {\n \"source\": \"iana\",\n \"extensions\": [\"ecelp9600\"]\n },\n \"audio/vnd.octel.sbc\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.presonus.multitrack\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.qcelp\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.rhetorex.32kadpcm\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.rip\": {\n \"source\": \"iana\",\n \"extensions\": [\"rip\"]\n },\n \"audio/vnd.rn-realaudio\": {\n \"compressible\": false\n },\n \"audio/vnd.sealedmedia.softseal.mpeg\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.vmx.cvsd\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.wave\": {\n \"compressible\": false\n },\n \"audio/vorbis\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"audio/vorbis-config\": {\n \"source\": \"iana\"\n },\n \"audio/wav\": {\n \"compressible\": false,\n \"extensions\": [\"wav\"]\n },\n \"audio/wave\": {\n \"compressible\": false,\n \"extensions\": [\"wav\"]\n },\n \"audio/webm\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"weba\"]\n },\n \"audio/x-aac\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"aac\"]\n },\n \"audio/x-aiff\": {\n \"source\": \"apache\",\n \"extensions\": [\"aif\",\"aiff\",\"aifc\"]\n },\n \"audio/x-caf\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"caf\"]\n },\n \"audio/x-flac\": {\n \"source\": \"apache\",\n \"extensions\": [\"flac\"]\n },\n \"audio/x-m4a\": {\n \"source\": \"nginx\",\n \"extensions\": [\"m4a\"]\n },\n \"audio/x-matroska\": {\n \"source\": \"apache\",\n \"extensions\": [\"mka\"]\n },\n \"audio/x-mpegurl\": {\n \"source\": \"apache\",\n \"extensions\": [\"m3u\"]\n },\n \"audio/x-ms-wax\": {\n \"source\": \"apache\",\n \"extensions\": [\"wax\"]\n },\n \"audio/x-ms-wma\": {\n \"source\": \"apache\",\n \"extensions\": [\"wma\"]\n },\n \"audio/x-pn-realaudio\": {\n \"source\": \"apache\",\n \"extensions\": [\"ram\",\"ra\"]\n },\n \"audio/x-pn-realaudio-plugin\": {\n \"source\": \"apache\",\n \"extensions\": [\"rmp\"]\n },\n \"audio/x-realaudio\": {\n \"source\": \"nginx\",\n \"extensions\": [\"ra\"]\n },\n \"audio/x-tta\": {\n \"source\": \"apache\"\n },\n \"audio/x-wav\": {\n \"source\": \"apache\",\n \"extensions\": [\"wav\"]\n },\n \"audio/xm\": {\n \"source\": \"apache\",\n \"extensions\": [\"xm\"]\n },\n \"chemical/x-cdx\": {\n \"source\": \"apache\",\n \"extensions\": [\"cdx\"]\n },\n \"chemical/x-cif\": {\n \"source\": \"apache\",\n \"extensions\": [\"cif\"]\n },\n \"chemical/x-cmdf\": {\n \"source\": \"apache\",\n \"extensions\": [\"cmdf\"]\n },\n \"chemical/x-cml\": {\n \"source\": \"apache\",\n \"extensions\": [\"cml\"]\n },\n \"chemical/x-csml\": {\n \"source\": \"apache\",\n \"extensions\": [\"csml\"]\n },\n \"chemical/x-pdb\": {\n \"source\": \"apache\"\n },\n \"chemical/x-xyz\": {\n \"source\": \"apache\",\n \"extensions\": [\"xyz\"]\n },\n \"font/collection\": {\n \"source\": \"iana\",\n \"extensions\": [\"ttc\"]\n },\n \"font/otf\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"otf\"]\n },\n \"font/sfnt\": {\n \"source\": \"iana\"\n },\n \"font/ttf\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ttf\"]\n },\n \"font/woff\": {\n \"source\": \"iana\",\n \"extensions\": [\"woff\"]\n },\n \"font/woff2\": {\n \"source\": \"iana\",\n \"extensions\": [\"woff2\"]\n },\n \"image/aces\": {\n \"source\": \"iana\",\n \"extensions\": [\"exr\"]\n },\n \"image/apng\": {\n \"compressible\": false,\n \"extensions\": [\"apng\"]\n },\n \"image/avci\": {\n \"source\": \"iana\",\n \"extensions\": [\"avci\"]\n },\n \"image/avcs\": {\n \"source\": \"iana\",\n \"extensions\": [\"avcs\"]\n },\n \"image/avif\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"avif\"]\n },\n \"image/bmp\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"bmp\"]\n },\n \"image/cgm\": {\n \"source\": \"iana\",\n \"extensions\": [\"cgm\"]\n },\n \"image/dicom-rle\": {\n \"source\": \"iana\",\n \"extensions\": [\"drle\"]\n },\n \"image/emf\": {\n \"source\": \"iana\",\n \"extensions\": [\"emf\"]\n },\n \"image/fits\": {\n \"source\": \"iana\",\n \"extensions\": [\"fits\"]\n },\n \"image/g3fax\": {\n \"source\": \"iana\",\n \"extensions\": [\"g3\"]\n },\n \"image/gif\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"gif\"]\n },\n \"image/heic\": {\n \"source\": \"iana\",\n \"extensions\": [\"heic\"]\n },\n \"image/heic-sequence\": {\n \"source\": \"iana\",\n \"extensions\": [\"heics\"]\n },\n \"image/heif\": {\n \"source\": \"iana\",\n \"extensions\": [\"heif\"]\n },\n \"image/heif-sequence\": {\n \"source\": \"iana\",\n \"extensions\": [\"heifs\"]\n },\n \"image/hej2k\": {\n \"source\": \"iana\",\n \"extensions\": [\"hej2\"]\n },\n \"image/hsj2\": {\n \"source\": \"iana\",\n \"extensions\": [\"hsj2\"]\n },\n \"image/ief\": {\n \"source\": \"iana\",\n \"extensions\": [\"ief\"]\n },\n \"image/jls\": {\n \"source\": \"iana\",\n \"extensions\": [\"jls\"]\n },\n \"image/jp2\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"jp2\",\"jpg2\"]\n },\n \"image/jpeg\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"jpeg\",\"jpg\",\"jpe\"]\n },\n \"image/jph\": {\n \"source\": \"iana\",\n \"extensions\": [\"jph\"]\n },\n \"image/jphc\": {\n \"source\": \"iana\",\n \"extensions\": [\"jhc\"]\n },\n \"image/jpm\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"jpm\"]\n },\n \"image/jpx\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"jpx\",\"jpf\"]\n },\n \"image/jxr\": {\n \"source\": \"iana\",\n \"extensions\": [\"jxr\"]\n },\n \"image/jxra\": {\n \"source\": \"iana\",\n \"extensions\": [\"jxra\"]\n },\n \"image/jxrs\": {\n \"source\": \"iana\",\n \"extensions\": [\"jxrs\"]\n },\n \"image/jxs\": {\n \"source\": \"iana\",\n \"extensions\": [\"jxs\"]\n },\n \"image/jxsc\": {\n \"source\": \"iana\",\n \"extensions\": [\"jxsc\"]\n },\n \"image/jxsi\": {\n \"source\": \"iana\",\n \"extensions\": [\"jxsi\"]\n },\n \"image/jxss\": {\n \"source\": \"iana\",\n \"extensions\": [\"jxss\"]\n },\n \"image/ktx\": {\n \"source\": \"iana\",\n \"extensions\": [\"ktx\"]\n },\n \"image/ktx2\": {\n \"source\": \"iana\",\n \"extensions\": [\"ktx2\"]\n },\n \"image/naplps\": {\n \"source\": \"iana\"\n },\n \"image/pjpeg\": {\n \"compressible\": false\n },\n \"image/png\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"png\"]\n },\n \"image/prs.btif\": {\n \"source\": \"iana\",\n \"extensions\": [\"btif\"]\n },\n \"image/prs.pti\": {\n \"source\": \"iana\",\n \"extensions\": [\"pti\"]\n },\n \"image/pwg-raster\": {\n \"source\": \"iana\"\n },\n \"image/sgi\": {\n \"source\": \"apache\",\n \"extensions\": [\"sgi\"]\n },\n \"image/svg+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"svg\",\"svgz\"]\n },\n \"image/t38\": {\n \"source\": \"iana\",\n \"extensions\": [\"t38\"]\n },\n \"image/tiff\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"tif\",\"tiff\"]\n },\n \"image/tiff-fx\": {\n \"source\": \"iana\",\n \"extensions\": [\"tfx\"]\n },\n \"image/vnd.adobe.photoshop\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"psd\"]\n },\n \"image/vnd.airzip.accelerator.azv\": {\n \"source\": \"iana\",\n \"extensions\": [\"azv\"]\n },\n \"image/vnd.cns.inf2\": {\n \"source\": \"iana\"\n },\n \"image/vnd.dece.graphic\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvi\",\"uvvi\",\"uvg\",\"uvvg\"]\n },\n \"image/vnd.djvu\": {\n \"source\": \"iana\",\n \"extensions\": [\"djvu\",\"djv\"]\n },\n \"image/vnd.dvb.subtitle\": {\n \"source\": \"iana\",\n \"extensions\": [\"sub\"]\n },\n \"image/vnd.dwg\": {\n \"source\": \"iana\",\n \"extensions\": [\"dwg\"]\n },\n \"image/vnd.dxf\": {\n \"source\": \"iana\",\n \"extensions\": [\"dxf\"]\n },\n \"image/vnd.fastbidsheet\": {\n \"source\": \"iana\",\n \"extensions\": [\"fbs\"]\n },\n \"image/vnd.fpx\": {\n \"source\": \"iana\",\n \"extensions\": [\"fpx\"]\n },\n \"image/vnd.fst\": {\n \"source\": \"iana\",\n \"extensions\": [\"fst\"]\n },\n \"image/vnd.fujixerox.edmics-mmr\": {\n \"source\": \"iana\",\n \"extensions\": [\"mmr\"]\n },\n \"image/vnd.fujixerox.edmics-rlc\": {\n \"source\": \"iana\",\n \"extensions\": [\"rlc\"]\n },\n \"image/vnd.globalgraphics.pgb\": {\n \"source\": \"iana\"\n },\n \"image/vnd.microsoft.icon\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ico\"]\n },\n \"image/vnd.mix\": {\n \"source\": \"iana\"\n },\n \"image/vnd.mozilla.apng\": {\n \"source\": \"iana\"\n },\n \"image/vnd.ms-dds\": {\n \"compressible\": true,\n \"extensions\": [\"dds\"]\n },\n \"image/vnd.ms-modi\": {\n \"source\": \"iana\",\n \"extensions\": [\"mdi\"]\n },\n \"image/vnd.ms-photo\": {\n \"source\": \"apache\",\n \"extensions\": [\"wdp\"]\n },\n \"image/vnd.net-fpx\": {\n \"source\": \"iana\",\n \"extensions\": [\"npx\"]\n },\n \"image/vnd.pco.b16\": {\n \"source\": \"iana\",\n \"extensions\": [\"b16\"]\n },\n \"image/vnd.radiance\": {\n \"source\": \"iana\"\n },\n \"image/vnd.sealed.png\": {\n \"source\": \"iana\"\n },\n \"image/vnd.sealedmedia.softseal.gif\": {\n \"source\": \"iana\"\n },\n \"image/vnd.sealedmedia.softseal.jpg\": {\n \"source\": \"iana\"\n },\n \"image/vnd.svf\": {\n \"source\": \"iana\"\n },\n \"image/vnd.tencent.tap\": {\n \"source\": \"iana\",\n \"extensions\": [\"tap\"]\n },\n \"image/vnd.valve.source.texture\": {\n \"source\": \"iana\",\n \"extensions\": [\"vtf\"]\n },\n \"image/vnd.wap.wbmp\": {\n \"source\": \"iana\",\n \"extensions\": [\"wbmp\"]\n },\n \"image/vnd.xiff\": {\n \"source\": \"iana\",\n \"extensions\": [\"xif\"]\n },\n \"image/vnd.zbrush.pcx\": {\n \"source\": \"iana\",\n \"extensions\": [\"pcx\"]\n },\n \"image/webp\": {\n \"source\": \"apache\",\n \"extensions\": [\"webp\"]\n },\n \"image/wmf\": {\n \"source\": \"iana\",\n \"extensions\": [\"wmf\"]\n },\n \"image/x-3ds\": {\n \"source\": \"apache\",\n \"extensions\": [\"3ds\"]\n },\n \"image/x-cmu-raster\": {\n \"source\": \"apache\",\n \"extensions\": [\"ras\"]\n },\n \"image/x-cmx\": {\n \"source\": \"apache\",\n \"extensions\": [\"cmx\"]\n },\n \"image/x-freehand\": {\n \"source\": \"apache\",\n \"extensions\": [\"fh\",\"fhc\",\"fh4\",\"fh5\",\"fh7\"]\n },\n \"image/x-icon\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"ico\"]\n },\n \"image/x-jng\": {\n \"source\": \"nginx\",\n \"extensions\": [\"jng\"]\n },\n \"image/x-mrsid-image\": {\n \"source\": \"apache\",\n \"extensions\": [\"sid\"]\n },\n \"image/x-ms-bmp\": {\n \"source\": \"nginx\",\n \"compressible\": true,\n \"extensions\": [\"bmp\"]\n },\n \"image/x-pcx\": {\n \"source\": \"apache\",\n \"extensions\": [\"pcx\"]\n },\n \"image/x-pict\": {\n \"source\": \"apache\",\n \"extensions\": [\"pic\",\"pct\"]\n },\n \"image/x-portable-anymap\": {\n \"source\": \"apache\",\n \"extensions\": [\"pnm\"]\n },\n \"image/x-portable-bitmap\": {\n \"source\": \"apache\",\n \"extensions\": [\"pbm\"]\n },\n \"image/x-portable-graymap\": {\n \"source\": \"apache\",\n \"extensions\": [\"pgm\"]\n },\n \"image/x-portable-pixmap\": {\n \"source\": \"apache\",\n \"extensions\": [\"ppm\"]\n },\n \"image/x-rgb\": {\n \"source\": \"apache\",\n \"extensions\": [\"rgb\"]\n },\n \"image/x-tga\": {\n \"source\": \"apache\",\n \"extensions\": [\"tga\"]\n },\n \"image/x-xbitmap\": {\n \"source\": \"apache\",\n \"extensions\": [\"xbm\"]\n },\n \"image/x-xcf\": {\n \"compressible\": false\n },\n \"image/x-xpixmap\": {\n \"source\": \"apache\",\n \"extensions\": [\"xpm\"]\n },\n \"image/x-xwindowdump\": {\n \"source\": \"apache\",\n \"extensions\": [\"xwd\"]\n },\n \"message/cpim\": {\n \"source\": \"iana\"\n },\n \"message/delivery-status\": {\n \"source\": \"iana\"\n },\n \"message/disposition-notification\": {\n \"source\": \"iana\",\n \"extensions\": [\n \"disposition-notification\"\n ]\n },\n \"message/external-body\": {\n \"source\": \"iana\"\n },\n \"message/feedback-report\": {\n \"source\": \"iana\"\n },\n \"message/global\": {\n \"source\": \"iana\",\n \"extensions\": [\"u8msg\"]\n },\n \"message/global-delivery-status\": {\n \"source\": \"iana\",\n \"extensions\": [\"u8dsn\"]\n },\n \"message/global-disposition-notification\": {\n \"source\": \"iana\",\n \"extensions\": [\"u8mdn\"]\n },\n \"message/global-headers\": {\n \"source\": \"iana\",\n \"extensions\": [\"u8hdr\"]\n },\n \"message/http\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"message/imdn+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"message/news\": {\n \"source\": \"iana\"\n },\n \"message/partial\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"message/rfc822\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"eml\",\"mime\"]\n },\n \"message/s-http\": {\n \"source\": \"iana\"\n },\n \"message/sip\": {\n \"source\": \"iana\"\n },\n \"message/sipfrag\": {\n \"source\": \"iana\"\n },\n \"message/tracking-status\": {\n \"source\": \"iana\"\n },\n \"message/vnd.si.simp\": {\n \"source\": \"iana\"\n },\n \"message/vnd.wfa.wsc\": {\n \"source\": \"iana\",\n \"extensions\": [\"wsc\"]\n },\n \"model/3mf\": {\n \"source\": \"iana\",\n \"extensions\": [\"3mf\"]\n },\n \"model/e57\": {\n \"source\": \"iana\"\n },\n \"model/gltf+json\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"gltf\"]\n },\n \"model/gltf-binary\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"glb\"]\n },\n \"model/iges\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"igs\",\"iges\"]\n },\n \"model/mesh\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"msh\",\"mesh\",\"silo\"]\n },\n \"model/mtl\": {\n \"source\": \"iana\",\n \"extensions\": [\"mtl\"]\n },\n \"model/obj\": {\n \"source\": \"iana\",\n \"extensions\": [\"obj\"]\n },\n \"model/step\": {\n \"source\": \"iana\"\n },\n \"model/step+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"stpx\"]\n },\n \"model/step+zip\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"stpz\"]\n },\n \"model/step-xml+zip\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"stpxz\"]\n },\n \"model/stl\": {\n \"source\": \"iana\",\n \"extensions\": [\"stl\"]\n },\n \"model/vnd.collada+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"dae\"]\n },\n \"model/vnd.dwf\": {\n \"source\": \"iana\",\n \"extensions\": [\"dwf\"]\n },\n \"model/vnd.flatland.3dml\": {\n \"source\": \"iana\"\n },\n \"model/vnd.gdl\": {\n \"source\": \"iana\",\n \"extensions\": [\"gdl\"]\n },\n \"model/vnd.gs-gdl\": {\n \"source\": \"apache\"\n },\n \"model/vnd.gs.gdl\": {\n \"source\": \"iana\"\n },\n \"model/vnd.gtw\": {\n \"source\": \"iana\",\n \"extensions\": [\"gtw\"]\n },\n \"model/vnd.moml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"model/vnd.mts\": {\n \"source\": \"iana\",\n \"extensions\": [\"mts\"]\n },\n \"model/vnd.opengex\": {\n \"source\": \"iana\",\n \"extensions\": [\"ogex\"]\n },\n \"model/vnd.parasolid.transmit.binary\": {\n \"source\": \"iana\",\n \"extensions\": [\"x_b\"]\n },\n \"model/vnd.parasolid.transmit.text\": {\n \"source\": \"iana\",\n \"extensions\": [\"x_t\"]\n },\n \"model/vnd.pytha.pyox\": {\n \"source\": \"iana\"\n },\n \"model/vnd.rosette.annotated-data-model\": {\n \"source\": \"iana\"\n },\n \"model/vnd.sap.vds\": {\n \"source\": \"iana\",\n \"extensions\": [\"vds\"]\n },\n \"model/vnd.usdz+zip\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"usdz\"]\n },\n \"model/vnd.valve.source.compiled-map\": {\n \"source\": \"iana\",\n \"extensions\": [\"bsp\"]\n },\n \"model/vnd.vtu\": {\n \"source\": \"iana\",\n \"extensions\": [\"vtu\"]\n },\n \"model/vrml\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"wrl\",\"vrml\"]\n },\n \"model/x3d+binary\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"x3db\",\"x3dbz\"]\n },\n \"model/x3d+fastinfoset\": {\n \"source\": \"iana\",\n \"extensions\": [\"x3db\"]\n },\n \"model/x3d+vrml\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"x3dv\",\"x3dvz\"]\n },\n \"model/x3d+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"x3d\",\"x3dz\"]\n },\n \"model/x3d-vrml\": {\n \"source\": \"iana\",\n \"extensions\": [\"x3dv\"]\n },\n \"multipart/alternative\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"multipart/appledouble\": {\n \"source\": \"iana\"\n },\n \"multipart/byteranges\": {\n \"source\": \"iana\"\n },\n \"multipart/digest\": {\n \"source\": \"iana\"\n },\n \"multipart/encrypted\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"multipart/form-data\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"multipart/header-set\": {\n \"source\": \"iana\"\n },\n \"multipart/mixed\": {\n \"source\": \"iana\"\n },\n \"multipart/multilingual\": {\n \"source\": \"iana\"\n },\n \"multipart/parallel\": {\n \"source\": \"iana\"\n },\n \"multipart/related\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"multipart/report\": {\n \"source\": \"iana\"\n },\n \"multipart/signed\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"multipart/vnd.bint.med-plus\": {\n \"source\": \"iana\"\n },\n \"multipart/voice-message\": {\n \"source\": \"iana\"\n },\n \"multipart/x-mixed-replace\": {\n \"source\": \"iana\"\n },\n \"text/1d-interleaved-parityfec\": {\n \"source\": \"iana\"\n },\n \"text/cache-manifest\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"appcache\",\"manifest\"]\n },\n \"text/calendar\": {\n \"source\": \"iana\",\n \"extensions\": [\"ics\",\"ifb\"]\n },\n \"text/calender\": {\n \"compressible\": true\n },\n \"text/cmd\": {\n \"compressible\": true\n },\n \"text/coffeescript\": {\n \"extensions\": [\"coffee\",\"litcoffee\"]\n },\n \"text/cql\": {\n \"source\": \"iana\"\n },\n \"text/cql-expression\": {\n \"source\": \"iana\"\n },\n \"text/cql-identifier\": {\n \"source\": \"iana\"\n },\n \"text/css\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"css\"]\n },\n \"text/csv\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"csv\"]\n },\n \"text/csv-schema\": {\n \"source\": \"iana\"\n },\n \"text/directory\": {\n \"source\": \"iana\"\n },\n \"text/dns\": {\n \"source\": \"iana\"\n },\n \"text/ecmascript\": {\n \"source\": \"iana\"\n },\n \"text/encaprtp\": {\n \"source\": \"iana\"\n },\n \"text/enriched\": {\n \"source\": \"iana\"\n },\n \"text/fhirpath\": {\n \"source\": \"iana\"\n },\n \"text/flexfec\": {\n \"source\": \"iana\"\n },\n \"text/fwdred\": {\n \"source\": \"iana\"\n },\n \"text/gff3\": {\n \"source\": \"iana\"\n },\n \"text/grammar-ref-list\": {\n \"source\": \"iana\"\n },\n \"text/html\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"html\",\"htm\",\"shtml\"]\n },\n \"text/jade\": {\n \"extensions\": [\"jade\"]\n },\n \"text/javascript\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"text/jcr-cnd\": {\n \"source\": \"iana\"\n },\n \"text/jsx\": {\n \"compressible\": true,\n \"extensions\": [\"jsx\"]\n },\n \"text/less\": {\n \"compressible\": true,\n \"extensions\": [\"less\"]\n },\n \"text/markdown\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"markdown\",\"md\"]\n },\n \"text/mathml\": {\n \"source\": \"nginx\",\n \"extensions\": [\"mml\"]\n },\n \"text/mdx\": {\n \"compressible\": true,\n \"extensions\": [\"mdx\"]\n },\n \"text/mizar\": {\n \"source\": \"iana\"\n },\n \"text/n3\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"n3\"]\n },\n \"text/parameters\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\"\n },\n \"text/parityfec\": {\n \"source\": \"iana\"\n },\n \"text/plain\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"txt\",\"text\",\"conf\",\"def\",\"list\",\"log\",\"in\",\"ini\"]\n },\n \"text/provenance-notation\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\"\n },\n \"text/prs.fallenstein.rst\": {\n \"source\": \"iana\"\n },\n \"text/prs.lines.tag\": {\n \"source\": \"iana\",\n \"extensions\": [\"dsc\"]\n },\n \"text/prs.prop.logic\": {\n \"source\": \"iana\"\n },\n \"text/raptorfec\": {\n \"source\": \"iana\"\n },\n \"text/red\": {\n \"source\": \"iana\"\n },\n \"text/rfc822-headers\": {\n \"source\": \"iana\"\n },\n \"text/richtext\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rtx\"]\n },\n \"text/rtf\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rtf\"]\n },\n \"text/rtp-enc-aescm128\": {\n \"source\": \"iana\"\n },\n \"text/rtploopback\": {\n \"source\": \"iana\"\n },\n \"text/rtx\": {\n \"source\": \"iana\"\n },\n \"text/sgml\": {\n \"source\": \"iana\",\n \"extensions\": [\"sgml\",\"sgm\"]\n },\n \"text/shaclc\": {\n \"source\": \"iana\"\n },\n \"text/shex\": {\n \"source\": \"iana\",\n \"extensions\": [\"shex\"]\n },\n \"text/slim\": {\n \"extensions\": [\"slim\",\"slm\"]\n },\n \"text/spdx\": {\n \"source\": \"iana\",\n \"extensions\": [\"spdx\"]\n },\n \"text/strings\": {\n \"source\": \"iana\"\n },\n \"text/stylus\": {\n \"extensions\": [\"stylus\",\"styl\"]\n },\n \"text/t140\": {\n \"source\": \"iana\"\n },\n \"text/tab-separated-values\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"tsv\"]\n },\n \"text/troff\": {\n \"source\": \"iana\",\n \"extensions\": [\"t\",\"tr\",\"roff\",\"man\",\"me\",\"ms\"]\n },\n \"text/turtle\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"extensions\": [\"ttl\"]\n },\n \"text/ulpfec\": {\n \"source\": \"iana\"\n },\n \"text/uri-list\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"uri\",\"uris\",\"urls\"]\n },\n \"text/vcard\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"vcard\"]\n },\n \"text/vnd.a\": {\n \"source\": \"iana\"\n },\n \"text/vnd.abc\": {\n \"source\": \"iana\"\n },\n \"text/vnd.ascii-art\": {\n \"source\": \"iana\"\n },\n \"text/vnd.curl\": {\n \"source\": \"iana\",\n \"extensions\": [\"curl\"]\n },\n \"text/vnd.curl.dcurl\": {\n \"source\": \"apache\",\n \"extensions\": [\"dcurl\"]\n },\n \"text/vnd.curl.mcurl\": {\n \"source\": \"apache\",\n \"extensions\": [\"mcurl\"]\n },\n \"text/vnd.curl.scurl\": {\n \"source\": \"apache\",\n \"extensions\": [\"scurl\"]\n },\n \"text/vnd.debian.copyright\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\"\n },\n \"text/vnd.dmclientscript\": {\n \"source\": \"iana\"\n },\n \"text/vnd.dvb.subtitle\": {\n \"source\": \"iana\",\n \"extensions\": [\"sub\"]\n },\n \"text/vnd.esmertec.theme-descriptor\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\"\n },\n \"text/vnd.familysearch.gedcom\": {\n \"source\": \"iana\",\n \"extensions\": [\"ged\"]\n },\n \"text/vnd.ficlab.flt\": {\n \"source\": \"iana\"\n },\n \"text/vnd.fly\": {\n \"source\": \"iana\",\n \"extensions\": [\"fly\"]\n },\n \"text/vnd.fmi.flexstor\": {\n \"source\": \"iana\",\n \"extensions\": [\"flx\"]\n },\n \"text/vnd.gml\": {\n \"source\": \"iana\"\n },\n \"text/vnd.graphviz\": {\n \"source\": \"iana\",\n \"extensions\": [\"gv\"]\n },\n \"text/vnd.hans\": {\n \"source\": \"iana\"\n },\n \"text/vnd.hgl\": {\n \"source\": \"iana\"\n },\n \"text/vnd.in3d.3dml\": {\n \"source\": \"iana\",\n \"extensions\": [\"3dml\"]\n },\n \"text/vnd.in3d.spot\": {\n \"source\": \"iana\",\n \"extensions\": [\"spot\"]\n },\n \"text/vnd.iptc.newsml\": {\n \"source\": \"iana\"\n },\n \"text/vnd.iptc.nitf\": {\n \"source\": \"iana\"\n },\n \"text/vnd.latex-z\": {\n \"source\": \"iana\"\n },\n \"text/vnd.motorola.reflex\": {\n \"source\": \"iana\"\n },\n \"text/vnd.ms-mediapackage\": {\n \"source\": \"iana\"\n },\n \"text/vnd.net2phone.commcenter.command\": {\n \"source\": \"iana\"\n },\n \"text/vnd.radisys.msml-basic-layout\": {\n \"source\": \"iana\"\n },\n \"text/vnd.senx.warpscript\": {\n \"source\": \"iana\"\n },\n \"text/vnd.si.uricatalogue\": {\n \"source\": \"iana\"\n },\n \"text/vnd.sosi\": {\n \"source\": \"iana\"\n },\n \"text/vnd.sun.j2me.app-descriptor\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"extensions\": [\"jad\"]\n },\n \"text/vnd.trolltech.linguist\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\"\n },\n \"text/vnd.wap.si\": {\n \"source\": \"iana\"\n },\n \"text/vnd.wap.sl\": {\n \"source\": \"iana\"\n },\n \"text/vnd.wap.wml\": {\n \"source\": \"iana\",\n \"extensions\": [\"wml\"]\n },\n \"text/vnd.wap.wmlscript\": {\n \"source\": \"iana\",\n \"extensions\": [\"wmls\"]\n },\n \"text/vtt\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"vtt\"]\n },\n \"text/x-asm\": {\n \"source\": \"apache\",\n \"extensions\": [\"s\",\"asm\"]\n },\n \"text/x-c\": {\n \"source\": \"apache\",\n \"extensions\": [\"c\",\"cc\",\"cxx\",\"cpp\",\"h\",\"hh\",\"dic\"]\n },\n \"text/x-component\": {\n \"source\": \"nginx\",\n \"extensions\": [\"htc\"]\n },\n \"text/x-fortran\": {\n \"source\": \"apache\",\n \"extensions\": [\"f\",\"for\",\"f77\",\"f90\"]\n },\n \"text/x-gwt-rpc\": {\n \"compressible\": true\n },\n \"text/x-handlebars-template\": {\n \"extensions\": [\"hbs\"]\n },\n \"text/x-java-source\": {\n \"source\": \"apache\",\n \"extensions\": [\"java\"]\n },\n \"text/x-jquery-tmpl\": {\n \"compressible\": true\n },\n \"text/x-lua\": {\n \"extensions\": [\"lua\"]\n },\n \"text/x-markdown\": {\n \"compressible\": true,\n \"extensions\": [\"mkd\"]\n },\n \"text/x-nfo\": {\n \"source\": \"apache\",\n \"extensions\": [\"nfo\"]\n },\n \"text/x-opml\": {\n \"source\": \"apache\",\n \"extensions\": [\"opml\"]\n },\n \"text/x-org\": {\n \"compressible\": true,\n \"extensions\": [\"org\"]\n },\n \"text/x-pascal\": {\n \"source\": \"apache\",\n \"extensions\": [\"p\",\"pas\"]\n },\n \"text/x-processing\": {\n \"compressible\": true,\n \"extensions\": [\"pde\"]\n },\n \"text/x-sass\": {\n \"extensions\": [\"sass\"]\n },\n \"text/x-scss\": {\n \"extensions\": [\"scss\"]\n },\n \"text/x-setext\": {\n \"source\": \"apache\",\n \"extensions\": [\"etx\"]\n },\n \"text/x-sfv\": {\n \"source\": \"apache\",\n \"extensions\": [\"sfv\"]\n },\n \"text/x-suse-ymp\": {\n \"compressible\": true,\n \"extensions\": [\"ymp\"]\n },\n \"text/x-uuencode\": {\n \"source\": \"apache\",\n \"extensions\": [\"uu\"]\n },\n \"text/x-vcalendar\": {\n \"source\": \"apache\",\n \"extensions\": [\"vcs\"]\n },\n \"text/x-vcard\": {\n \"source\": \"apache\",\n \"extensions\": [\"vcf\"]\n },\n \"text/xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xml\"]\n },\n \"text/xml-external-parsed-entity\": {\n \"source\": \"iana\"\n },\n \"text/yaml\": {\n \"compressible\": true,\n \"extensions\": [\"yaml\",\"yml\"]\n },\n \"video/1d-interleaved-parityfec\": {\n \"source\": \"iana\"\n },\n \"video/3gpp\": {\n \"source\": \"iana\",\n \"extensions\": [\"3gp\",\"3gpp\"]\n },\n \"video/3gpp-tt\": {\n \"source\": \"iana\"\n },\n \"video/3gpp2\": {\n \"source\": \"iana\",\n \"extensions\": [\"3g2\"]\n },\n \"video/av1\": {\n \"source\": \"iana\"\n },\n \"video/bmpeg\": {\n \"source\": \"iana\"\n },\n \"video/bt656\": {\n \"source\": \"iana\"\n },\n \"video/celb\": {\n \"source\": \"iana\"\n },\n \"video/dv\": {\n \"source\": \"iana\"\n },\n \"video/encaprtp\": {\n \"source\": \"iana\"\n },\n \"video/ffv1\": {\n \"source\": \"iana\"\n },\n \"video/flexfec\": {\n \"source\": \"iana\"\n },\n \"video/h261\": {\n \"source\": \"iana\",\n \"extensions\": [\"h261\"]\n },\n \"video/h263\": {\n \"source\": \"iana\",\n \"extensions\": [\"h263\"]\n },\n \"video/h263-1998\": {\n \"source\": \"iana\"\n },\n \"video/h263-2000\": {\n \"source\": \"iana\"\n },\n \"video/h264\": {\n \"source\": \"iana\",\n \"extensions\": [\"h264\"]\n },\n \"video/h264-rcdo\": {\n \"source\": \"iana\"\n },\n \"video/h264-svc\": {\n \"source\": \"iana\"\n },\n \"video/h265\": {\n \"source\": \"iana\"\n },\n \"video/iso.segment\": {\n \"source\": \"iana\",\n \"extensions\": [\"m4s\"]\n },\n \"video/jpeg\": {\n \"source\": \"iana\",\n \"extensions\": [\"jpgv\"]\n },\n \"video/jpeg2000\": {\n \"source\": \"iana\"\n },\n \"video/jpm\": {\n \"source\": \"apache\",\n \"extensions\": [\"jpm\",\"jpgm\"]\n },\n \"video/jxsv\": {\n \"source\": \"iana\"\n },\n \"video/mj2\": {\n \"source\": \"iana\",\n \"extensions\": [\"mj2\",\"mjp2\"]\n },\n \"video/mp1s\": {\n \"source\": \"iana\"\n },\n \"video/mp2p\": {\n \"source\": \"iana\"\n },\n \"video/mp2t\": {\n \"source\": \"iana\",\n \"extensions\": [\"ts\"]\n },\n \"video/mp4\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"mp4\",\"mp4v\",\"mpg4\"]\n },\n \"video/mp4v-es\": {\n \"source\": \"iana\"\n },\n \"video/mpeg\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"mpeg\",\"mpg\",\"mpe\",\"m1v\",\"m2v\"]\n },\n \"video/mpeg4-generic\": {\n \"source\": \"iana\"\n },\n \"video/mpv\": {\n \"source\": \"iana\"\n },\n \"video/nv\": {\n \"source\": \"iana\"\n },\n \"video/ogg\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"ogv\"]\n },\n \"video/parityfec\": {\n \"source\": \"iana\"\n },\n \"video/pointer\": {\n \"source\": \"iana\"\n },\n \"video/quicktime\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"qt\",\"mov\"]\n },\n \"video/raptorfec\": {\n \"source\": \"iana\"\n },\n \"video/raw\": {\n \"source\": \"iana\"\n },\n \"video/rtp-enc-aescm128\": {\n \"source\": \"iana\"\n },\n \"video/rtploopback\": {\n \"source\": \"iana\"\n },\n \"video/rtx\": {\n \"source\": \"iana\"\n },\n \"video/scip\": {\n \"source\": \"iana\"\n },\n \"video/smpte291\": {\n \"source\": \"iana\"\n },\n \"video/smpte292m\": {\n \"source\": \"iana\"\n },\n \"video/ulpfec\": {\n \"source\": \"iana\"\n },\n \"video/vc1\": {\n \"source\": \"iana\"\n },\n \"video/vc2\": {\n \"source\": \"iana\"\n },\n \"video/vnd.cctv\": {\n \"source\": \"iana\"\n },\n \"video/vnd.dece.hd\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvh\",\"uvvh\"]\n },\n \"video/vnd.dece.mobile\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvm\",\"uvvm\"]\n },\n \"video/vnd.dece.mp4\": {\n \"source\": \"iana\"\n },\n \"video/vnd.dece.pd\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvp\",\"uvvp\"]\n },\n \"video/vnd.dece.sd\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvs\",\"uvvs\"]\n },\n \"video/vnd.dece.video\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvv\",\"uvvv\"]\n },\n \"video/vnd.directv.mpeg\": {\n \"source\": \"iana\"\n },\n \"video/vnd.directv.mpeg-tts\": {\n \"source\": \"iana\"\n },\n \"video/vnd.dlna.mpeg-tts\": {\n \"source\": \"iana\"\n },\n \"video/vnd.dvb.file\": {\n \"source\": \"iana\",\n \"extensions\": [\"dvb\"]\n },\n \"video/vnd.fvt\": {\n \"source\": \"iana\",\n \"extensions\": [\"fvt\"]\n },\n \"video/vnd.hns.video\": {\n \"source\": \"iana\"\n },\n \"video/vnd.iptvforum.1dparityfec-1010\": {\n \"source\": \"iana\"\n },\n \"video/vnd.iptvforum.1dparityfec-2005\": {\n \"source\": \"iana\"\n },\n \"video/vnd.iptvforum.2dparityfec-1010\": {\n \"source\": \"iana\"\n },\n \"video/vnd.iptvforum.2dparityfec-2005\": {\n \"source\": \"iana\"\n },\n \"video/vnd.iptvforum.ttsavc\": {\n \"source\": \"iana\"\n },\n \"video/vnd.iptvforum.ttsmpeg2\": {\n \"source\": \"iana\"\n },\n \"video/vnd.motorola.video\": {\n \"source\": \"iana\"\n },\n \"video/vnd.motorola.videop\": {\n \"source\": \"iana\"\n },\n \"video/vnd.mpegurl\": {\n \"source\": \"iana\",\n \"extensions\": [\"mxu\",\"m4u\"]\n },\n \"video/vnd.ms-playready.media.pyv\": {\n \"source\": \"iana\",\n \"extensions\": [\"pyv\"]\n },\n \"video/vnd.nokia.interleaved-multimedia\": {\n \"source\": \"iana\"\n },\n \"video/vnd.nokia.mp4vr\": {\n \"source\": \"iana\"\n },\n \"video/vnd.nokia.videovoip\": {\n \"source\": \"iana\"\n },\n \"video/vnd.objectvideo\": {\n \"source\": \"iana\"\n },\n \"video/vnd.radgamettools.bink\": {\n \"source\": \"iana\"\n },\n \"video/vnd.radgamettools.smacker\": {\n \"source\": \"iana\"\n },\n \"video/vnd.sealed.mpeg1\": {\n \"source\": \"iana\"\n },\n \"video/vnd.sealed.mpeg4\": {\n \"source\": \"iana\"\n },\n \"video/vnd.sealed.swf\": {\n \"source\": \"iana\"\n },\n \"video/vnd.sealedmedia.softseal.mov\": {\n \"source\": \"iana\"\n },\n \"video/vnd.uvvu.mp4\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvu\",\"uvvu\"]\n },\n \"video/vnd.vivo\": {\n \"source\": \"iana\",\n \"extensions\": [\"viv\"]\n },\n \"video/vnd.youtube.yt\": {\n \"source\": \"iana\"\n },\n \"video/vp8\": {\n \"source\": \"iana\"\n },\n \"video/vp9\": {\n \"source\": \"iana\"\n },\n \"video/webm\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"webm\"]\n },\n \"video/x-f4v\": {\n \"source\": \"apache\",\n \"extensions\": [\"f4v\"]\n },\n \"video/x-fli\": {\n \"source\": \"apache\",\n \"extensions\": [\"fli\"]\n },\n \"video/x-flv\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"flv\"]\n },\n \"video/x-m4v\": {\n \"source\": \"apache\",\n \"extensions\": [\"m4v\"]\n },\n \"video/x-matroska\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"mkv\",\"mk3d\",\"mks\"]\n },\n \"video/x-mng\": {\n \"source\": \"apache\",\n \"extensions\": [\"mng\"]\n },\n \"video/x-ms-asf\": {\n \"source\": \"apache\",\n \"extensions\": [\"asf\",\"asx\"]\n },\n \"video/x-ms-vob\": {\n \"source\": \"apache\",\n \"extensions\": [\"vob\"]\n },\n \"video/x-ms-wm\": {\n \"source\": \"apache\",\n \"extensions\": [\"wm\"]\n },\n \"video/x-ms-wmv\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"wmv\"]\n },\n \"video/x-ms-wmx\": {\n \"source\": \"apache\",\n \"extensions\": [\"wmx\"]\n },\n \"video/x-ms-wvx\": {\n \"source\": \"apache\",\n \"extensions\": [\"wvx\"]\n },\n \"video/x-msvideo\": {\n \"source\": \"apache\",\n \"extensions\": [\"avi\"]\n },\n \"video/x-sgi-movie\": {\n \"source\": \"apache\",\n \"extensions\": [\"movie\"]\n },\n \"video/x-smv\": {\n \"source\": \"apache\",\n \"extensions\": [\"smv\"]\n },\n \"x-conference/x-cooltalk\": {\n \"source\": \"apache\",\n \"extensions\": [\"ice\"]\n },\n \"x-shader/x-fragment\": {\n \"compressible\": true\n },\n \"x-shader/x-vertex\": {\n \"compressible\": true\n }\n}\n","/*!\n * mime-db\n * Copyright(c) 2014 Jonathan Ong\n * Copyright(c) 2015-2022 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n/**\n * Module exports.\n */\n\nmodule.exports = require('./db.json')\n","/*!\n * mime-types\n * Copyright(c) 2014 Jonathan Ong\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict'\n\n/**\n * Module dependencies.\n * @private\n */\n\nvar db = require('mime-db')\nvar extname = require('path').extname\n\n/**\n * Module variables.\n * @private\n */\n\nvar EXTRACT_TYPE_REGEXP = /^\\s*([^;\\s]*)(?:;|\\s|$)/\nvar TEXT_TYPE_REGEXP = /^text\\//i\n\n/**\n * Module exports.\n * @public\n */\n\nexports.charset = charset\nexports.charsets = { lookup: charset }\nexports.contentType = contentType\nexports.extension = extension\nexports.extensions = Object.create(null)\nexports.lookup = lookup\nexports.types = Object.create(null)\n\n// Populate the extensions/types maps\npopulateMaps(exports.extensions, exports.types)\n\n/**\n * Get the default charset for a MIME type.\n *\n * @param {string} type\n * @return {boolean|string}\n */\n\nfunction charset (type) {\n if (!type || typeof type !== 'string') {\n return false\n }\n\n // TODO: use media-typer\n var match = EXTRACT_TYPE_REGEXP.exec(type)\n var mime = match && db[match[1].toLowerCase()]\n\n if (mime && mime.charset) {\n return mime.charset\n }\n\n // default text/* to utf-8\n if (match && TEXT_TYPE_REGEXP.test(match[1])) {\n return 'UTF-8'\n }\n\n return false\n}\n\n/**\n * Create a full Content-Type header given a MIME type or extension.\n *\n * @param {string} str\n * @return {boolean|string}\n */\n\nfunction contentType (str) {\n // TODO: should this even be in this module?\n if (!str || typeof str !== 'string') {\n return false\n }\n\n var mime = str.indexOf('/') === -1\n ? exports.lookup(str)\n : str\n\n if (!mime) {\n return false\n }\n\n // TODO: use content-type or other module\n if (mime.indexOf('charset') === -1) {\n var charset = exports.charset(mime)\n if (charset) mime += '; charset=' + charset.toLowerCase()\n }\n\n return mime\n}\n\n/**\n * Get the default extension for a MIME type.\n *\n * @param {string} type\n * @return {boolean|string}\n */\n\nfunction extension (type) {\n if (!type || typeof type !== 'string') {\n return false\n }\n\n // TODO: use media-typer\n var match = EXTRACT_TYPE_REGEXP.exec(type)\n\n // get extensions\n var exts = match && exports.extensions[match[1].toLowerCase()]\n\n if (!exts || !exts.length) {\n return false\n }\n\n return exts[0]\n}\n\n/**\n * Lookup the MIME type for a file path/extension.\n *\n * @param {string} path\n * @return {boolean|string}\n */\n\nfunction lookup (path) {\n if (!path || typeof path !== 'string') {\n return false\n }\n\n // get the extension (\"ext\" or \".ext\" or full path)\n var extension = extname('x.' + path)\n .toLowerCase()\n .substr(1)\n\n if (!extension) {\n return false\n }\n\n return exports.types[extension] || false\n}\n\n/**\n * Populate the extensions and types maps.\n * @private\n */\n\nfunction populateMaps (extensions, types) {\n // source preference (least -> most)\n var preference = ['nginx', 'apache', undefined, 'iana']\n\n Object.keys(db).forEach(function forEachMimeType (type) {\n var mime = db[type]\n var exts = mime.extensions\n\n if (!exts || !exts.length) {\n return\n }\n\n // mime -> extensions\n extensions[type] = exts\n\n // extension -> mime\n for (var i = 0; i < exts.length; i++) {\n var extension = exts[i]\n\n if (types[extension]) {\n var from = preference.indexOf(db[types[extension]].source)\n var to = preference.indexOf(mime.source)\n\n if (types[extension] !== 'application/octet-stream' &&\n (from > to || (from === to && types[extension].substr(0, 12) === 'application/'))) {\n // skip the remapping\n continue\n }\n }\n\n // set the extension -> mime\n types[extension] = type\n }\n })\n}\n","import { EOL } from 'node:os'\nimport * as mime from 'mime-types'\nimport { MIMEMessage } from '../MIMEMessage.js'\n\nconst envctx = {\n toBase64: function toBase64 (data: string) {\n return (Buffer.from(data)).toString('base64')\n },\n toBase64WebSafe: function toBase64WebSafe (data: string) {\n return (Buffer.from(data)).toString('base64')\n .replace(/\\+/g, '-')\n .replace(/\\//g, '_')\n .replace(/=+$/, '')\n },\n eol: EOL,\n validateContentType: (v: string): string | false => {\n return mime.contentType(v)\n }\n}\n\nexport function createMimeMessage (): MIMEMessage {\n return new MIMEMessage(envctx)\n}\n\nexport { MIMEMessage } from '../MIMEMessage.js'\nexport { Mailbox } from '../Mailbox.js'\nexport { MIMETextError } from '../MIMETextError.js'\nexport { MIMEMessageHeader } from '../MIMEMessageHeader.js'\nexport { MIMEMessageContent } from '../MIMEMessageContent.js'\n\nexport type * from '../MIMEMessage.js'\nexport type * from '../Mailbox.js'\nexport type * from '../MIMETextError.js'\nexport type * from '../MIMEMessageHeader.js'\nexport type * from '../MIMEMessageContent.js'\n","export class MIMETextError extends Error {\n override name = ''\n description = ''\n\n constructor (message: string, description = '') {\n super(description)\n\n this.name = message\n this.description = description\n }\n}\n","import { MIMETextError } from './MIMETextError.js'\n\nexport class Mailbox {\n reSpecCompliantAddr = /(([^<>\\r\\n]+)\\s)?<[^\\r\\n]+>/\n name = ''\n addr = ''\n type: MailboxType = 'To'\n\n constructor (input: MailboxAddrObject | string, config: MailboxConfig = { type: 'To' }) {\n this.type = config.type\n\n this.parse(input)\n }\n\n getAddrDomain (): string {\n if (this.addr.includes('@')) {\n const arr = this.addr.split('@')\n if (arr.length > 1) return arr[1]!\n }\n return ''\n }\n\n dump (): string {\n return this.name.length > 0 ? `\"${this.name}\" <${this.addr}>` : `<${this.addr}>`\n }\n\n parse (input: MailboxAddrObject | string): this {\n if (this.isMailboxAddrObject(input)) {\n this.addr = input.addr\n if (typeof input.name === 'string') this.name = input.name\n if (typeof input.type === 'string') this.type = input.type\n return this\n }\n\n if (this.isMailboxAddrText(input)) {\n const text = input.trim()\n if (text.startsWith('<') && text.endsWith('>')) {\n this.addr = text.slice(1, -1)\n return this\n }\n const arr = text.split(' <') as [string, string]\n arr[0] = /^(\"|')/.test(arr[0]) ? arr[0].slice(1) : arr[0]\n arr[0] = /(\"|')$/.test(arr[0]) ? arr[0].slice(0, -1) : arr[0]\n arr[1] = arr[1].slice(0, -1)\n this.name = arr[0]\n this.addr = arr[1]\n return this\n }\n\n if (typeof input === 'string') {\n this.addr = input\n return this\n }\n\n throw new MIMETextError('MIMETEXT_INVALID_MAILBOX', 'Couldn\\'t recognize the input.')\n }\n\n isMailboxAddrText (v: unknown): boolean {\n return typeof v === 'string' && this.reSpecCompliantAddr.test(v)\n }\n\n isMailboxAddrObject (v: unknown): v is MailboxAddrObject {\n return this.isObject(v) && Object.hasOwn(v, 'addr')\n }\n\n isObject (v: unknown): v is object {\n return (!!v) && (v.constructor === Object)\n }\n}\n\nexport interface MailboxConfig {\n type: MailboxType\n}\nexport interface MailboxAddrObject {\n addr: string\n name?: string\n type?: MailboxType\n}\nexport type MailboxType = 'To' | 'From' | 'Cc' | 'Bcc'\n","import type { EnvironmentContext } from './MIMEMessage'\nimport { MIMETextError } from './MIMETextError.js'\nimport { Mailbox } from './Mailbox.js'\n\n/*\n Headers are based on: https://www.rfc-editor.org/rfc/rfc4021#section-2.1\n (Some are ignored as they can be added later or as a custom header.)\n*/\n\nexport class MIMEMessageHeader {\n envctx: EnvironmentContext\n fields: HeaderField[] = [\n {\n name: 'Date',\n generator: () => ((new Date()).toUTCString()).replace(/GMT|UTC/gi, '+0000')\n },\n {\n name: 'From',\n required: true,\n validate: (v: unknown) => this.validateMailboxSingle(v),\n dump: (v: unknown) => this.dumpMailboxSingle(v)\n },\n {\n name: 'Sender',\n validate: (v: unknown) => this.validateMailboxSingle(v),\n dump: (v: unknown) => this.dumpMailboxSingle(v)\n },\n {\n name: 'Reply-To',\n validate: (v: unknown) => this.validateMailboxSingle(v),\n dump: (v: unknown) => this.dumpMailboxSingle(v)\n },\n {\n name: 'To',\n validate: (v: unknown) => this.validateMailboxMulti(v),\n dump: (v: unknown) => this.dumpMailboxMulti(v)\n },\n {\n name: 'Cc',\n validate: (v: unknown) => this.validateMailboxMulti(v),\n dump: (v: unknown) => this.dumpMailboxMulti(v)\n },\n {\n name: 'Bcc',\n validate: (v: unknown) => this.validateMailboxMulti(v),\n dump: (v: unknown) => this.dumpMailboxMulti(v)\n },\n {\n name: 'Message-ID',\n generator: () => {\n const randomstr = Math.random().toString(36).slice(2)\n const from = (this.fields.filter((obj) => obj.name === 'From')[0]!).value as Mailbox\n const domain = from.getAddrDomain()\n return '<' + randomstr + '@' + domain + '>'\n }\n },\n {\n name: 'Subject',\n required: true,\n dump: (v: unknown) => {\n return typeof v === 'string' ? '=?utf-8?B?' + this.envctx.toBase64(v) + '?=' : ''\n }\n },\n {\n name: 'MIME-Version',\n generator: () => '1.0'\n }\n ]\n\n constructor (envctx: EnvironmentContext) {\n this.envctx = envctx\n }\n\n dump (): string {\n let lines = ''\n\n for (const field of this.fields) {\n if (field.disabled) continue\n const isValueDefinedByUser = field.value !== undefined && field.value !== null\n if (!isValueDefinedByUser && field.required) {\n throw new MIMETextError('MIMETEXT_MISSING_HEADER', `The \"${field.name}\" header is required.`)\n }\n if (!isValueDefinedByUser && typeof field.generator !== 'function') continue\n if (!isValueDefinedByUser && typeof field.generator === 'function') field.value = field.generator()\n const strval = Object.hasOwn(field, 'dump') && typeof field.dump === 'function'\n ? field.dump(field.value)\n : typeof field.value === 'string' ? field.value : ''\n lines += `${field.name}: ${strval}${this.envctx.eol}`\n }\n\n return lines.slice(0, -1 * this.envctx.eol.length)\n }\n\n toObject (): HeadersObject {\n return this.fields.reduce((memo: HeadersObject, item) => {\n memo[item.name] = item.value\n return memo\n }, {})\n }\n\n get (name: string): string | Mailbox | Mailbox[] | undefined {\n const fieldMatcher = (obj: HeaderField): boolean => obj.name.toLowerCase() === name.toLowerCase()\n const ind = this.fields.findIndex(fieldMatcher)\n\n return ind !== -1 ? (this.fields[ind]!).value : undefined\n }\n\n set (name: string, value: string | Mailbox | Mailbox[]): HeaderField {\n const fieldMatcher = (obj: HeaderField): boolean => obj.name.toLowerCase() === name.toLowerCase()\n const isCustomHeader = !this.fields.some(fieldMatcher)\n\n if (!isCustomHeader) {\n const ind = this.fields.findIndex(fieldMatcher)\n const field = this.fields[ind]!\n if (field.validate && !field.validate(value)) {\n throw new MIMETextError('MIMETEXT_INVALID_HEADER_VALUE', `The value for the header \"${name}\" is invalid.`)\n }\n (this.fields[ind]!).value = value\n return this.fields[ind]!\n }\n\n return this.setCustom({\n name: name,\n value: value,\n custom: true,\n dump: (v: unknown) => typeof v === 'string' ? v : ''\n })\n }\n\n setCustom (obj: HeaderField): HeaderField {\n if (this.isHeaderField(obj)) {\n if (typeof obj.value !== 'string') {\n throw new MIMETextError('MIMETEXT_INVALID_HEADER_FIELD', 'Custom header must have a value.')\n }\n this.fields.push(obj)\n return obj\n }\n\n throw new MIMETextError('MIMETEXT_INVALID_HEADER_FIELD', 'Invalid input for custom header. It must be in type of HeaderField.')\n }\n\n validateMailboxSingle (v: unknown): v is Mailbox {\n return v instanceof Mailbox\n }\n\n validateMailboxMulti (v: unknown): boolean {\n return v instanceof Mailbox || this.isArrayOfMailboxes(v)\n }\n\n dumpMailboxMulti (v: unknown): string {\n const dump = (item: Mailbox): string => item.name.length === 0\n ? item.dump()\n : `=?utf-8?B?${this.envctx.toBase64(item.name)}?= <${item.addr}>`\n return this.isArrayOfMailboxes(v) ? v.map(dump).join(`,${this.envctx.eol} `) : v instanceof Mailbox ? dump(v) : ''\n }\n\n dumpMailboxSingle (v: unknown): string {\n const dump = (item: Mailbox): string => item.name.length === 0\n ? item.dump()\n : `=?utf-8?B?${this.envctx.toBase64(item.name)}?= <${item.addr}>`\n return v instanceof Mailbox ? dump(v) : ''\n }\n\n isHeaderField (v: unknown): v is HeaderField {\n const validProps = ['name', 'value', 'dump', 'required', 'disabled', 'generator', 'custom']\n if (this.isObject(v)) {\n const h = v as HeaderField\n if (Object.hasOwn(h, 'name') && typeof h.name === 'string' && h.name.length > 0) {\n if (!Object.keys(h).some((prop) => !validProps.includes(prop))) {\n return true\n }\n }\n }\n return false\n }\n\n isObject (v: unknown): v is object {\n return (!!v) && (v.constructor === Object)\n }\n\n isArrayOfMailboxes (v: unknown): v is Mailbox[] {\n return this.isArray(v) && v.every((item: unknown) => item instanceof Mailbox)\n }\n\n isArray (v: unknown): v is never[] {\n return (!!v) && (v.constructor === Array)\n }\n}\n\nexport class MIMEMessageContentHeader extends MIMEMessageHeader {\n override fields = [\n {\n name: 'Content-ID'\n },\n {\n name: 'Content-Type'\n },\n {\n name: 'Content-Transfer-Encoding'\n },\n {\n name: 'Content-Disposition'\n }\n ]\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor (envctx: EnvironmentContext) {\n super(envctx)\n }\n}\n\nexport type HeadersObject = Record\nexport interface HeaderField {\n name: string\n dump?: (v: string | Mailbox | Mailbox[] | undefined) => string\n value?: string | Mailbox | Mailbox[] | undefined\n validate?: (v: unknown) => boolean\n required?: boolean\n disabled?: boolean\n generator?: () => string\n custom?: boolean\n}\n","import type { EnvironmentContext } from './MIMEMessage'\nimport type { Mailbox } from './Mailbox'\nimport { type HeadersObject, MIMEMessageContentHeader } from './MIMEMessageHeader.js'\n\nexport class MIMEMessageContent {\n envctx: EnvironmentContext\n headers\n data\n\n constructor (envctx: EnvironmentContext, data: string, headers = {}) {\n this.envctx = envctx\n this.headers = new MIMEMessageContentHeader(this.envctx)\n this.data = data\n this.setHeaders(headers)\n }\n\n dump (): string {\n const eol = this.envctx.eol\n return this.headers.dump() + eol + eol + this.data\n }\n\n isAttachment (): boolean {\n const disposition = this.headers.get('Content-Disposition')\n return typeof disposition === 'string' && disposition.includes('attachment')\n }\n\n isInlineAttachment (): boolean {\n const disposition = this.headers.get('Content-Disposition')\n return typeof disposition === 'string' && disposition.includes('inline')\n }\n\n setHeader (name: string, value: string | Mailbox | Mailbox[]): string {\n this.headers.set(name, value)\n return name\n }\n\n getHeader (name: string): string | Mailbox | Mailbox[] | undefined {\n return this.headers.get(name)\n }\n\n setHeaders (obj: Record): string[] {\n return Object.keys(obj).map((prop) => this.setHeader(prop, obj[prop]!))\n }\n\n getHeaders (): HeadersObject {\n return this.headers.toObject()\n }\n}\n","import type { MailboxAddrObject, MailboxConfig } from './Mailbox.js'\n\nimport { MIMETextError } from './MIMETextError.js'\nimport { type HeadersObject, MIMEMessageHeader } from './MIMEMessageHeader.js'\nimport { Mailbox } from './Mailbox.js'\nimport { MIMEMessageContent } from './MIMEMessageContent.js'\n\nexport class MIMEMessage {\n envctx: EnvironmentContext\n headers: MIMEMessageHeader\n boundaries: Boundaries = { mixed: '', alt: '', related: '' }\n validTypes = ['text/html', 'text/plain']\n validContentTransferEncodings = ['7bit', '8bit', 'binary', 'quoted-printable', 'base64']\n messages: MIMEMessageContent[] = []\n\n constructor (envctx: EnvironmentContext) {\n this.envctx = envctx\n this.headers = new MIMEMessageHeader(this.envctx)\n this.messages = []\n\n this.generateBoundaries()\n }\n\n asRaw (): string {\n const eol = this.envctx.eol\n const lines = this.headers.dump()\n\n const plaintext = this.getMessageByType('text/plain')\n const html = this.getMessageByType('text/html')\n const primaryMessage = html ?? (plaintext ?? undefined)\n\n if (primaryMessage === undefined) {\n throw new MIMETextError('MIMETEXT_MISSING_BODY', 'No content added to the message.')\n }\n\n const hasAttachments = this.hasAttachments()\n const hasInlineAttachments = this.hasInlineAttachments()\n\n const structure = hasInlineAttachments && hasAttachments\n ? 'mixed+related'\n : hasAttachments\n ? 'mixed'\n : hasInlineAttachments\n ? 'related'\n : plaintext && html\n ? 'alternative'\n : ''\n\n if (structure === 'mixed+related') {\n const attachments = this.getAttachments()\n .map((a) => '--' + this.boundaries.mixed + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n const inlineAttachments = this.getInlineAttachments()\n .map((a) => '--' + this.boundaries.related + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n return lines + eol +\n 'Content-Type: multipart/mixed; boundary=' + this.boundaries.mixed + eol +\n eol +\n '--' + this.boundaries.mixed + eol +\n 'Content-Type: multipart/related; boundary=' + this.boundaries.related + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.related) + eol +\n eol +\n inlineAttachments +\n '--' + this.boundaries.related + '--' + eol +\n attachments +\n '--' + this.boundaries.mixed + '--'\n } else if (structure === 'mixed') {\n const attachments = this.getAttachments()\n .map((a) => '--' + this.boundaries.mixed + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n return lines + eol +\n 'Content-Type: multipart/mixed; boundary=' + this.boundaries.mixed + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.mixed) + eol +\n (plaintext && html ? '' : eol) +\n attachments +\n '--' + this.boundaries.mixed + '--'\n } else if (structure === 'related') {\n const inlineAttachments = this.getInlineAttachments()\n .map((a) => '--' + this.boundaries.related + eol + a.dump() + eol + eol)\n .join('')\n .slice(0, -1 * eol.length)\n return lines + eol +\n 'Content-Type: multipart/related; boundary=' + this.boundaries.related + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.related) + eol +\n eol +\n inlineAttachments +\n '--' + this.boundaries.related + '--'\n } else if (structure === 'alternative') {\n return lines + eol +\n 'Content-Type: multipart/alternative; boundary=' + this.boundaries.alt + eol +\n eol +\n this.dumpTextContent(plaintext, html, this.boundaries.alt) + eol +\n eol +\n '--' + this.boundaries.alt + '--'\n } else {\n return lines + eol + primaryMessage.dump()\n }\n }\n\n asEncoded (): string {\n return this.envctx.toBase64WebSafe(this.asRaw())\n }\n\n dumpTextContent (plaintext: MIMEMessageContent | undefined, html: MIMEMessageContent | undefined, boundary: string): string {\n const eol = this.envctx.eol\n const primaryMessage = html ?? plaintext\n\n let data = ''\n\n if (plaintext && html && !this.hasInlineAttachments() && this.hasAttachments()) {\n data = '--' + boundary + eol +\n 'Content-Type: multipart/alternative; boundary=' + this.boundaries.alt + eol +\n eol +\n '--' + this.boundaries.alt + eol +\n plaintext.dump() + eol +\n eol +\n '--' + this.boundaries.alt + eol +\n html.dump() + eol +\n eol +\n '--' + this.boundaries.alt + '--'\n } else if (plaintext && html && this.hasInlineAttachments()) {\n data = '--' + boundary + eol +\n html.dump()\n } else if (plaintext && html) {\n data = '--' + boundary + eol +\n plaintext.dump() + eol +\n eol +\n '--' + boundary + eol +\n html.dump()\n } else {\n data = '--' + boundary + eol +\n (primaryMessage!).dump()\n }\n\n return data\n }\n\n hasInlineAttachments (): boolean {\n return this.messages.some((msg) => msg.isInlineAttachment())\n }\n\n hasAttachments (): boolean {\n return this.messages.some((msg) => msg.isAttachment())\n }\n\n getAttachments (): MIMEMessageContent[] | [] {\n const matcher = (msg: MIMEMessageContent): boolean => msg.isAttachment()\n return this.messages.some(matcher) ? this.messages.filter(matcher) : []\n }\n\n getInlineAttachments (): MIMEMessageContent[] | [] {\n const matcher = (msg: MIMEMessageContent): boolean => msg.isInlineAttachment()\n return this.messages.some(matcher) ? this.messages.filter(matcher) : []\n }\n\n getMessageByType (type: string): MIMEMessageContent | undefined {\n const matcher = (msg: MIMEMessageContent): boolean => !msg.isAttachment() && !msg.isInlineAttachment() && (msg.getHeader('Content-Type') as string || '').includes(type)\n return this.messages.some(matcher) ? this.messages.filter(matcher)[0] : undefined\n }\n\n addAttachment (opts: AttachmentOptions): MIMEMessageContent {\n if (!this.isObject(opts.headers)) opts.headers = {}\n\n if (typeof opts.filename !== 'string') {\n throw new MIMETextError('MIMETEXT_MISSING_FILENAME', 'The property \"filename\" must exist while adding attachments.')\n }\n\n let type = (opts.headers['Content-Type'] ?? opts.contentType) || 'none'\n if (this.envctx.validateContentType(type) === false) {\n throw new MIMETextError('MIMETEXT_INVALID_MESSAGE_TYPE', `You specified an invalid content type \"${type}\".`)\n }\n\n const encoding = (opts.headers['Content-Transfer-Encoding'] ?? opts.encoding) ?? 'base64'\n if (!this.validContentTransferEncodings.includes(encoding)) {\n type = 'application/octet-stream'\n }\n\n const contentId = opts.headers['Content-ID']\n if (typeof contentId === 'string' && contentId.length > 2 && !contentId.startsWith('<') && !contentId.endsWith('>')) {\n opts.headers['Content-ID'] = '<' + opts.headers['Content-ID'] + '>'\n }\n\n const disposition = opts.inline ? 'inline' : 'attachment'\n\n opts.headers = Object.assign({}, opts.headers, {\n 'Content-Type': `${type}; name=\"${opts.filename}\"`,\n 'Content-Transfer-Encoding': encoding,\n 'Content-Disposition': `${disposition}; filename=\"${opts.filename}\"`\n })\n\n return this._addMessage({ data: opts.data, headers: opts.headers })\n }\n\n addMessage (opts: ContentOptions): MIMEMessageContent {\n if (!this.isObject(opts.headers)) opts.headers = {}\n\n let type = (opts.headers['Content-Type'] ?? opts.contentType) || 'none'\n if (!this.validTypes.includes(type)) {\n throw new MIMETextError('MIMETEXT_INVALID_MESSAGE_TYPE', `Valid content types are ${this.validTypes.join(', ')} but you specified \"${type}\".`)\n }\n\n const encoding = (opts.headers['Content-Transfer-Encoding'] ?? opts.encoding) ?? '7bit'\n if (!this.validContentTransferEncodings.includes(encoding)) {\n type = 'application/octet-stream'\n }\n\n const charset = opts.charset ?? 'UTF-8'\n\n opts.headers = Object.assign({}, opts.headers, {\n 'Content-Type': `${type}; charset=${charset}`,\n 'Content-Transfer-Encoding': encoding\n })\n\n return this._addMessage({ data: opts.data, headers: opts.headers })\n }\n\n private _addMessage (opts: { data: string, headers: ContentHeaders }): MIMEMessageContent {\n const msg = new MIMEMessageContent(this.envctx, opts.data, opts.headers)\n\n this.messages.push(msg)\n\n return msg\n }\n\n setSender (input: MailboxAddrObject | string, config: MailboxConfig = { type: 'From' }): Mailbox {\n const mailbox = new Mailbox(input, config)\n this.setHeader('From', mailbox)\n return mailbox\n }\n\n getSender (): Mailbox | undefined {\n return this.getHeader('From') as Mailbox\n }\n\n setRecipients (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'To' }): Mailbox[] {\n const arr = !this.isArray(input) ? [input] : input\n const recs = arr.map((_input) => new Mailbox(_input, config))\n this.setHeader(config.type, recs)\n return recs\n }\n\n getRecipients (config: MailboxConfig = { type: 'To' }): Mailbox | Mailbox[] | undefined {\n return this.getHeader(config.type) as Mailbox | Mailbox[] | undefined\n }\n\n setRecipient (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'To' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setTo (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'To' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setCc (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'Cc' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setBcc (input: MailboxAddrObject | string | MailboxAddrObject[] | string[], config: MailboxConfig = { type: 'Bcc' }): Mailbox[] {\n return this.setRecipients(input, config)\n }\n\n setSubject (value: string): string {\n this.setHeader('subject', value)\n return value\n }\n\n getSubject (): string | undefined {\n return this.getHeader('subject') as string\n }\n\n setHeader (name: string, value: string | Mailbox | Mailbox[]): string {\n this.headers.set(name, value)\n return name\n }\n\n getHeader (name: string): string | Mailbox | Mailbox[] | undefined {\n return this.headers.get(name)\n }\n\n setHeaders (obj: Record): string[] {\n return Object.keys(obj).map((prop) => this.setHeader(prop, obj[prop]!))\n }\n\n getHeaders (): HeadersObject {\n return this.headers.toObject()\n }\n\n toBase64 (v: string): string {\n return this.envctx.toBase64(v)\n }\n\n toBase64WebSafe (v: string): string {\n return this.envctx.toBase64WebSafe(v)\n }\n\n generateBoundaries (): void {\n this.boundaries = {\n mixed: Math.random().toString(36).slice(2),\n alt: Math.random().toString(36).slice(2),\n related: Math.random().toString(36).slice(2)\n }\n }\n\n isArray (v: unknown): v is unknown[] {\n return (!!v) && (v.constructor === Array)\n }\n\n isObject (v: unknown): v is object {\n return (!!v) && (v.constructor === Object)\n }\n}\n\nexport interface EnvironmentContext {\n toBase64: (v: string) => string\n toBase64WebSafe: (v: string) => string\n eol: string\n validateContentType: (v: string) => string | false\n}\n\nexport interface Boundaries {\n mixed: string\n alt: string\n related: string\n}\n\nexport type ContentTransferEncoding = '7bit' | '8bit' | 'binary' | 'quoted-printable' | 'base64'\n\nexport interface ContentHeaders {\n 'Content-Type'?: string\n 'Content-Transfer-Encoding'?: ContentTransferEncoding\n 'Content-Disposition'?: string\n 'Content-ID'?: string\n [index: string]: string | undefined\n}\n\nexport interface ContentOptions {\n data: string\n encoding?: ContentTransferEncoding\n contentType: string\n headers?: ContentHeaders\n charset?: string\n}\n\nexport interface AttachmentOptions extends ContentOptions {\n inline?: boolean\n filename: string\n}\n"]} \ No newline at end of file diff --git a/dist/node.js b/dist/node.js deleted file mode 100644 index da5e817..0000000 --- a/dist/node.js +++ /dev/null @@ -1,3 +0,0 @@ -import {e}from'./chunk-VH3IXZT5.js';export{e as MIMEMessage,d as MIMEMessageContent,c as MIMEMessageHeader,a as MIMETextError,b as Mailbox}from'./chunk-VH3IXZT5.js';import {EOL}from'node:os';import*as o from'mime-types';var p={toBase64:function(r){return Buffer.from(r).toString("base64")},toBase64WebSafe:function(r){return Buffer.from(r).toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")},eol:EOL,validateContentType:e=>o.contentType(e)};function E(){return new e(p)} -export{E as createMimeMessage};//# sourceMappingURL=node.js.map -//# sourceMappingURL=node.js.map \ No newline at end of file diff --git a/dist/node.js.map b/dist/node.js.map deleted file mode 100644 index cfc58b7..0000000 --- a/dist/node.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../src/entrypoints/node.ts"],"names":["envctx","data","EOL","v","createMimeMessage","MIMEMessage"],"mappings":"4NAIA,IAAMA,CAAAA,CAAS,CACX,QAAA,CAAU,SAAmBC,CAAAA,CAAc,CACvC,OAAQ,MAAO,CAAA,IAAA,CAAKA,CAAI,CAAA,CAAG,QAAS,CAAA,QAAQ,CAChD,CAAA,CACA,eAAiB,CAAA,SAA0BA,CAAc,CAAA,CACrD,OAAQ,MAAA,CAAO,KAAKA,CAAI,CAAA,CAAG,QAAS,CAAA,QAAQ,CACvC,CAAA,OAAA,CAAQ,KAAO,CAAA,GAAG,CAClB,CAAA,OAAA,CAAQ,KAAO,CAAA,GAAG,CAClB,CAAA,OAAA,CAAQ,KAAO,CAAA,EAAE,CAC1B,CAAA,CACA,GAAKC,CAAAA,GAAAA,CACL,mBAAsBC,CAAAA,CAAAA,EACN,CAAYA,CAAAA,WAAAA,CAAAA,CAAC,CAEjC,CAAA,CAEO,SAASC,CAAAA,EAAkC,CAC9C,OAAO,IAAIC,CAAAA,CAAYL,CAAM,CACjC","file":"node.js","sourcesContent":["import { EOL } from 'node:os'\nimport * as mime from 'mime-types'\nimport { MIMEMessage } from '../MIMEMessage.js'\n\nconst envctx = {\n toBase64: function toBase64 (data: string) {\n return (Buffer.from(data)).toString('base64')\n },\n toBase64WebSafe: function toBase64WebSafe (data: string) {\n return (Buffer.from(data)).toString('base64')\n .replace(/\\+/g, '-')\n .replace(/\\//g, '_')\n .replace(/=+$/, '')\n },\n eol: EOL,\n validateContentType: (v: string): string | false => {\n return mime.contentType(v)\n }\n}\n\nexport function createMimeMessage (): MIMEMessage {\n return new MIMEMessage(envctx)\n}\n\nexport { MIMEMessage } from '../MIMEMessage.js'\nexport { Mailbox } from '../Mailbox.js'\nexport { MIMETextError } from '../MIMETextError.js'\nexport { MIMEMessageHeader } from '../MIMEMessageHeader.js'\nexport { MIMEMessageContent } from '../MIMEMessageContent.js'\n\nexport type * from '../MIMEMessage.js'\nexport type * from '../Mailbox.js'\nexport type * from '../MIMETextError.js'\nexport type * from '../MIMEMessageHeader.js'\nexport type * from '../MIMEMessageContent.js'\n"]} \ No newline at end of file diff --git a/docs/.nojekyll b/docs/.nojekyll deleted file mode 100644 index e2ac661..0000000 --- a/docs/.nojekyll +++ /dev/null @@ -1 +0,0 @@ -TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false. \ No newline at end of file diff --git a/docs/assets/highlight.css b/docs/assets/highlight.css deleted file mode 100644 index ab60764..0000000 --- a/docs/assets/highlight.css +++ /dev/null @@ -1,85 +0,0 @@ -:root { - --light-hl-0: #795E26; - --dark-hl-0: #DCDCAA; - --light-hl-1: #000000; - --dark-hl-1: #D4D4D4; - --light-hl-2: #A31515; - --dark-hl-2: #CE9178; - --light-hl-3: #008000; - --dark-hl-3: #6A9955; - --light-hl-4: #AF00DB; - --dark-hl-4: #C586C0; - --light-hl-5: #001080; - --dark-hl-5: #9CDCFE; - --light-hl-6: #0000FF; - --dark-hl-6: #569CD6; - --light-hl-7: #0070C1; - --dark-hl-7: #4FC1FF; - --light-hl-8: #267F99; - --dark-hl-8: #4EC9B0; - --light-code-background: #FFFFFF; - --dark-code-background: #1E1E1E; -} - -@media (prefers-color-scheme: light) { :root { - --hl-0: var(--light-hl-0); - --hl-1: var(--light-hl-1); - --hl-2: var(--light-hl-2); - --hl-3: var(--light-hl-3); - --hl-4: var(--light-hl-4); - --hl-5: var(--light-hl-5); - --hl-6: var(--light-hl-6); - --hl-7: var(--light-hl-7); - --hl-8: var(--light-hl-8); - --code-background: var(--light-code-background); -} } - -@media (prefers-color-scheme: dark) { :root { - --hl-0: var(--dark-hl-0); - --hl-1: var(--dark-hl-1); - --hl-2: var(--dark-hl-2); - --hl-3: var(--dark-hl-3); - --hl-4: var(--dark-hl-4); - --hl-5: var(--dark-hl-5); - --hl-6: var(--dark-hl-6); - --hl-7: var(--dark-hl-7); - --hl-8: var(--dark-hl-8); - --code-background: var(--dark-code-background); -} } - -:root[data-theme='light'] { - --hl-0: var(--light-hl-0); - --hl-1: var(--light-hl-1); - --hl-2: var(--light-hl-2); - --hl-3: var(--light-hl-3); - --hl-4: var(--light-hl-4); - --hl-5: var(--light-hl-5); - --hl-6: var(--light-hl-6); - --hl-7: var(--light-hl-7); - --hl-8: var(--light-hl-8); - --code-background: var(--light-code-background); -} - -:root[data-theme='dark'] { - --hl-0: var(--dark-hl-0); - --hl-1: var(--dark-hl-1); - --hl-2: var(--dark-hl-2); - --hl-3: var(--dark-hl-3); - --hl-4: var(--dark-hl-4); - --hl-5: var(--dark-hl-5); - --hl-6: var(--dark-hl-6); - --hl-7: var(--dark-hl-7); - --hl-8: var(--dark-hl-8); - --code-background: var(--dark-code-background); -} - -.hl-0 { color: var(--hl-0); } -.hl-1 { color: var(--hl-1); } -.hl-2 { color: var(--hl-2); } -.hl-3 { color: var(--hl-3); } -.hl-4 { color: var(--hl-4); } -.hl-5 { color: var(--hl-5); } -.hl-6 { color: var(--hl-6); } -.hl-7 { color: var(--hl-7); } -.hl-8 { color: var(--hl-8); } -pre, code { background: var(--code-background); } diff --git a/docs/assets/icons.js b/docs/assets/icons.js deleted file mode 100644 index b79c9e8..0000000 --- a/docs/assets/icons.js +++ /dev/null @@ -1,15 +0,0 @@ -(function(svg) { - svg.innerHTML = ``; - svg.style.display = 'none'; - if (location.protocol === 'file:') { - if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', updateUseElements); - else updateUseElements() - function updateUseElements() { - document.querySelectorAll('use').forEach(el => { - if (el.getAttribute('href').includes('#icon-')) { - el.setAttribute('href', el.getAttribute('href').replace(/.*#/, '#')); - } - }); - } - } -})(document.body.appendChild(document.createElementNS('http://www.w3.org/2000/svg', 'svg'))) \ No newline at end of file diff --git a/docs/assets/icons.svg b/docs/assets/icons.svg deleted file mode 100644 index 7dead61..0000000 --- a/docs/assets/icons.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/assets/main.js b/docs/assets/main.js deleted file mode 100644 index 1daeb69..0000000 --- a/docs/assets/main.js +++ /dev/null @@ -1,59 +0,0 @@ -"use strict"; -"use strict";(()=>{var Ce=Object.create;var ne=Object.defineProperty;var Pe=Object.getOwnPropertyDescriptor;var Oe=Object.getOwnPropertyNames;var _e=Object.getPrototypeOf,Re=Object.prototype.hasOwnProperty;var Me=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Fe=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Oe(e))!Re.call(t,i)&&i!==n&&ne(t,i,{get:()=>e[i],enumerable:!(r=Pe(e,i))||r.enumerable});return t};var De=(t,e,n)=>(n=t!=null?Ce(_e(t)):{},Fe(e||!t||!t.__esModule?ne(n,"default",{value:t,enumerable:!0}):n,t));var ae=Me((se,oe)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i0){var d=t.utils.clone(n)||{};d.position=[a,u],d.index=s.length,s.push(new t.Token(r.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. -`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r1&&(oe&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ol?d+=2:a==l&&(n+=r[u+1]*i[d+1],u+=2,d+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),y=s.str.charAt(1),p;y in s.node.edges?p=s.node.edges[y]:(p=new t.TokenSet,s.node.edges[y]=p),s.str.length==1&&(p.final=!0),i.push({node:p,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof se=="object"?oe.exports=n():e.lunr=n()}(this,function(){return t})})()});var re=[];function G(t,e){re.push({selector:e,constructor:t})}var U=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible()),document.body.style.display||(this.scrollToHash(),this.updateIndexVisibility())}createComponents(e){re.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r,app:this}),r.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}showPage(){document.body.style.display&&(document.body.style.removeProperty("display"),this.scrollToHash(),this.updateIndexVisibility())}scrollToHash(){if(location.hash){let e=document.getElementById(location.hash.substring(1));if(!e)return;e.scrollIntoView({behavior:"instant",block:"start"})}}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),n=e?.parentElement;for(;n&&!n.classList.contains(".tsd-navigation");)n instanceof HTMLDetailsElement&&(n.open=!0),n=n.parentElement;if(e&&!e.checkVisibility()){let r=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=r}}updateIndexVisibility(){let e=document.querySelector(".tsd-index-content"),n=e?.open;e&&(e.open=!0),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let i=Array.from(r.querySelectorAll(".tsd-index-link")).every(s=>s.offsetParent==null);r.style.display=i?"none":"block"}),e&&(e.open=n)}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let n=e.parentElement;for(;n&&n.tagName!=="SECTION";)n=n.parentElement;if(n&&n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let r=document.createElement("p");r.classList.add("warning"),r.textContent="This member is normally hidden due to your filter settings.",n.prepend(r)}}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let n;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent="Copied!",e.classList.add("visible"),clearTimeout(n),n=setTimeout(()=>{e.classList.remove("visible"),n=setTimeout(()=>{e.textContent="Copy"},100)},1e3)})})}};var ie=(t,e=100)=>{let n;return()=>{clearTimeout(n),n=setTimeout(()=>t(),e)}};var de=De(ae());async function le(t,e){if(!window.searchData)return;let n=await fetch(window.searchData),r=new Blob([await n.arrayBuffer()]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();t.data=i,t.index=de.Index.load(i.index),e.classList.remove("loading"),e.classList.add("ready")}function he(){let t=document.getElementById("tsd-search");if(!t)return;let e={base:t.dataset.base+"/"},n=document.getElementById("tsd-search-script");t.classList.add("loading"),n&&(n.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),n.addEventListener("load",()=>{le(e,t)}),le(e,t));let r=document.querySelector("#tsd-search input"),i=document.querySelector("#tsd-search .results");if(!r||!i)throw new Error("The input field or the result list wrapper was not found");let s=!1;i.addEventListener("mousedown",()=>s=!0),i.addEventListener("mouseup",()=>{s=!1,t.classList.remove("has-focus")}),r.addEventListener("focus",()=>t.classList.add("has-focus")),r.addEventListener("blur",()=>{s||(s=!1,t.classList.remove("has-focus"))}),Ae(t,i,r,e)}function Ae(t,e,n,r){n.addEventListener("input",ie(()=>{Ne(t,e,n,r)},200));let i=!1;n.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Ve(e,n):s.key=="Escape"?n.blur():s.key=="ArrowUp"?ue(e,-1):s.key==="ArrowDown"?ue(e,1):i=!1}),n.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!n.matches(":focus")&&s.key==="/"&&(n.focus(),s.preventDefault())})}function Ne(t,e,n,r){if(!r.index||!r.data)return;e.textContent="";let i=n.value.trim(),s;if(i){let o=i.split(" ").map(a=>a.length?`*${a}*`:"").join(" ");s=r.index.search(o)}else s=[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o`,d=ce(l.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(d+=` (score: ${s[o].score.toFixed(2)})`),l.parent&&(d=` - ${ce(l.parent,i)}.${d}`);let y=document.createElement("li");y.classList.value=l.classes??"";let p=document.createElement("a");p.href=r.base+l.url,p.innerHTML=u+d,y.append(p),e.appendChild(y)}}function ue(t,e){let n=t.querySelector(".current");if(!n)n=t.querySelector(e==1?"li:first-child":"li:last-child"),n&&n.classList.add("current");else{let r=n;if(e===1)do r=r.nextElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);else do r=r.previousElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);r&&(n.classList.remove("current"),r.classList.add("current"))}}function Ve(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),e.blur()}}function ce(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(K(t.substring(s,o)),`${K(t.substring(o,o+r.length))}`),s=o+r.length,o=n.indexOf(r,s);return i.push(K(t.substring(s))),i.join("")}var He={"&":"&","<":"<",">":">","'":"'",'"':"""};function K(t){return t.replace(/[&<>"'"]/g,e=>He[e])}var I=class{constructor(e){this.el=e.el,this.app=e.app}};var F="mousedown",fe="mousemove",H="mouseup",J={x:0,y:0},pe=!1,ee=!1,Be=!1,D=!1,me=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(me?"is-mobile":"not-mobile");me&&"ontouchstart"in document.documentElement&&(Be=!0,F="touchstart",fe="touchmove",H="touchend");document.addEventListener(F,t=>{ee=!0,D=!1;let e=F=="touchstart"?t.targetTouches[0]:t;J.y=e.pageY||0,J.x=e.pageX||0});document.addEventListener(fe,t=>{if(ee&&!D){let e=F=="touchstart"?t.targetTouches[0]:t,n=J.x-(e.pageX||0),r=J.y-(e.pageY||0);D=Math.sqrt(n*n+r*r)>10}});document.addEventListener(H,()=>{ee=!1});document.addEventListener("click",t=>{pe&&(t.preventDefault(),t.stopImmediatePropagation(),pe=!1)});var X=class extends I{constructor(e){super(e),this.className=this.el.dataset.toggle||"",this.el.addEventListener(H,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(F,n=>this.onDocumentPointerDown(n)),document.addEventListener(H,n=>this.onDocumentPointerUp(n))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(e){D||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!D&&this.active&&e.target.closest(".col-sidebar")){let n=e.target.closest("a");if(n){let r=window.location.href;r.indexOf("#")!=-1&&(r=r.substring(0,r.indexOf("#"))),n.href.substring(0,r.length)==r&&setTimeout(()=>this.setActive(!1),250)}}}};var te;try{te=localStorage}catch{te={getItem(){return null},setItem(){}}}var Q=te;var ye=document.head.appendChild(document.createElement("style"));ye.dataset.for="filters";var Y=class extends I{constructor(e){super(e),this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),ye.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } -`,this.app.updateIndexVisibility()}fromLocalStorage(){let e=Q.getItem(this.key);return e?e==="true":this.el.checked}setLocalStorage(e){Q.setItem(this.key,e.toString()),this.value=e,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),this.app.updateIndexVisibility()}};var Z=class extends I{constructor(e){super(e),this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.dataset.key??this.summary.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`;let n=Q.getItem(this.key);this.el.open=n?n==="true":this.el.open,this.el.addEventListener("toggle",()=>this.update());let r=this.summary.querySelector("a");r&&r.addEventListener("click",()=>{location.assign(r.href)}),this.update()}update(){this.icon.style.transform=`rotate(${this.el.open?0:-90}deg)`,Q.setItem(this.key,this.el.open.toString())}};function ge(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,ve(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),ve(t.value)})}function ve(t){document.documentElement.dataset.theme=t}var Le;function be(){let t=document.getElementById("tsd-nav-script");t&&(t.addEventListener("load",xe),xe())}async function xe(){let t=document.getElementById("tsd-nav-container");if(!t||!window.navigationData)return;let n=await(await fetch(window.navigationData)).arrayBuffer(),r=new Blob([n]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();Le=t.dataset.base+"/",t.innerHTML="";for(let s of i)we(s,t,[]);window.app.createComponents(t),window.app.showPage(),window.app.ensureActivePageVisible()}function we(t,e,n){let r=e.appendChild(document.createElement("li"));if(t.children){let i=[...n,t.text],s=r.appendChild(document.createElement("details"));s.className=t.class?`${t.class} tsd-index-accordion`:"tsd-index-accordion",s.dataset.key=i.join("$");let o=s.appendChild(document.createElement("summary"));o.className="tsd-accordion-summary",o.innerHTML='',Ee(t,o);let a=s.appendChild(document.createElement("div"));a.className="tsd-accordion-details";let l=a.appendChild(document.createElement("ul"));l.className="tsd-nested-navigation";for(let u of t.children)we(u,l,i)}else Ee(t,r,t.class)}function Ee(t,e,n){if(t.path){let r=e.appendChild(document.createElement("a"));r.href=Le+t.path,n&&(r.className=n),location.pathname===r.pathname&&r.classList.add("current"),t.kind&&(r.innerHTML=``),r.appendChild(document.createElement("span")).textContent=t.text}else e.appendChild(document.createElement("span")).textContent=t.text}G(X,"a[data-toggle]");G(Z,".tsd-index-accordion");G(Y,".tsd-filter-item input[type=checkbox]");var Se=document.getElementById("tsd-theme");Se&&ge(Se);var je=new U;Object.defineProperty(window,"app",{value:je});he();be();})(); -/*! Bundled license information: - -lunr/lunr.js: - (** - * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 - * Copyright (C) 2020 Oliver Nightingale - * @license MIT - *) - (*! - * lunr.utils - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.Set - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.tokenizer - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.Pipeline - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.Vector - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.stemmer - * Copyright (C) 2020 Oliver Nightingale - * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt - *) - (*! - * lunr.stopWordFilter - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.trimmer - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.TokenSet - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.Index - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.Builder - * Copyright (C) 2020 Oliver Nightingale - *) -*/ diff --git a/docs/assets/navigation.js b/docs/assets/navigation.js deleted file mode 100644 index b11026f..0000000 --- a/docs/assets/navigation.js +++ /dev/null @@ -1 +0,0 @@ -window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAE63WQW/aMBgG4P+SXdFWGO1Wbl3FtB1QL9yqHkxswGuwkWO2TlP/+wIBE3+x/X0I31Dy5nGCY795/ldY8WaLSbEw+k8tTDEotsyumwMbzXeVqD8dT3xc203VnH2ViheT0aAo17LiRqhi8uyQB2tZud4IZZ+2VmpVp7kPoXw7wHh4P/58M34fOPub3inOjBQY6gVj2qNWthn2h2BcGEzshRGV9vC9MKLODVP1UpipKjWXakXjA1fFxpmq39JotZ+Ow8XNwfQQwQtievvvfZei4gjrJ9Ne/bT4JUrsRmE2Zs5+zqYzUddsJRDRTxK843TQ2fMFdL19zovHcJcRRrp0CJI9b35OjdEUt5uNmkxWC/2GaS6FOA+cG9J7FsojdjMFS4mtZZhFzPnfLfr+esmYVxrBrJjJjeitiuVOlYeNy7m9sF8Zd+P3lw69YoH9sTmYq2dOVLaOcWCWfnFatm6BYsZegXTmTnF8vj5xZJYuAdqVPeK0fB0SInP2R8LP0R0h/tre8MyrOuMs5egLqOXoCmhe1xNQy9ERe/OyflCaB+5tf5TUEMEVWFasrk9KJ+GLw9FX4vKLecfgZSxcHAjexolDUG0aGlh1PdBlkhhccj7Tnk0Bie8A2fxLZsnKk9aLgtfo9g75DoDgOZOSYt8BUPNzBBF9YD+XElMdDdV+NiUHOxqSnVDKSuytUOxFCS7cWyNmGyPMT/yryjb7qT9HMAv4m/svw9sR/rnSgb0ExgXboIN1zmMUqQwOKKUNXv4DVU5mXJ8SAAA=" \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js deleted file mode 100644 index 9132942..0000000 --- a/docs/assets/search.js +++ /dev/null @@ -1 +0,0 @@ -window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file diff --git a/docs/assets/style.css b/docs/assets/style.css deleted file mode 100644 index 98a4377..0000000 --- a/docs/assets/style.css +++ /dev/null @@ -1,1414 +0,0 @@ -:root { - /* Light */ - --light-color-background: #f2f4f8; - --light-color-background-secondary: #eff0f1; - --light-color-warning-text: #222; - --light-color-background-warning: #e6e600; - --light-color-icon-background: var(--light-color-background); - --light-color-accent: #c5c7c9; - --light-color-active-menu-item: var(--light-color-accent); - --light-color-text: #222; - --light-color-text-aside: #6e6e6e; - --light-color-link: #1f70c2; - - --light-color-ts-keyword: #056bd6; - --light-color-ts-project: #b111c9; - --light-color-ts-module: var(--light-color-ts-project); - --light-color-ts-namespace: var(--light-color-ts-project); - --light-color-ts-enum: #7e6f15; - --light-color-ts-enum-member: var(--light-color-ts-enum); - --light-color-ts-variable: #4760ec; - --light-color-ts-function: #572be7; - --light-color-ts-class: #1f70c2; - --light-color-ts-interface: #108024; - --light-color-ts-constructor: var(--light-color-ts-class); - --light-color-ts-property: var(--light-color-ts-variable); - --light-color-ts-method: var(--light-color-ts-function); - --light-color-ts-call-signature: var(--light-color-ts-method); - --light-color-ts-index-signature: var(--light-color-ts-property); - --light-color-ts-constructor-signature: var(--light-color-ts-constructor); - --light-color-ts-parameter: var(--light-color-ts-variable); - /* type literal not included as links will never be generated to it */ - --light-color-ts-type-parameter: #a55c0e; - --light-color-ts-accessor: var(--light-color-ts-property); - --light-color-ts-get-signature: var(--light-color-ts-accessor); - --light-color-ts-set-signature: var(--light-color-ts-accessor); - --light-color-ts-type-alias: #d51270; - /* reference not included as links will be colored with the kind that it points to */ - - --light-external-icon: url("data:image/svg+xml;utf8,"); - --light-color-scheme: light; - - /* Dark */ - --dark-color-background: #2b2e33; - --dark-color-background-secondary: #1e2024; - --dark-color-background-warning: #bebe00; - --dark-color-warning-text: #222; - --dark-color-icon-background: var(--dark-color-background-secondary); - --dark-color-accent: #9096a2; - --dark-color-active-menu-item: #5d5d6a; - --dark-color-text: #f5f5f5; - --dark-color-text-aside: #dddddd; - --dark-color-link: #00aff4; - - --dark-color-ts-keyword: #3399ff; - --dark-color-ts-project: #e358ff; - --dark-color-ts-module: var(--dark-color-ts-project); - --dark-color-ts-namespace: var(--dark-color-ts-project); - --dark-color-ts-enum: #f4d93e; - --dark-color-ts-enum-member: var(--dark-color-ts-enum); - --dark-color-ts-variable: #798dff; - --dark-color-ts-function: #a280ff; - --dark-color-ts-class: #8ac4ff; - --dark-color-ts-interface: #6cff87; - --dark-color-ts-constructor: var(--dark-color-ts-class); - --dark-color-ts-property: var(--dark-color-ts-variable); - --dark-color-ts-method: var(--dark-color-ts-function); - --dark-color-ts-call-signature: var(--dark-color-ts-method); - --dark-color-ts-index-signature: var(--dark-color-ts-property); - --dark-color-ts-constructor-signature: var(--dark-color-ts-constructor); - --dark-color-ts-parameter: var(--dark-color-ts-variable); - /* type literal not included as links will never be generated to it */ - --dark-color-ts-type-parameter: #e07d13; - --dark-color-ts-accessor: var(--dark-color-ts-property); - --dark-color-ts-get-signature: var(--dark-color-ts-accessor); - --dark-color-ts-set-signature: var(--dark-color-ts-accessor); - --dark-color-ts-type-alias: #ff6492; - /* reference not included as links will be colored with the kind that it points to */ - - --dark-external-icon: url("data:image/svg+xml;utf8,"); - --dark-color-scheme: dark; -} - -@media (prefers-color-scheme: light) { - :root { - --color-background: var(--light-color-background); - --color-background-secondary: var(--light-color-background-secondary); - --color-background-warning: var(--light-color-background-warning); - --color-warning-text: var(--light-color-warning-text); - --color-icon-background: var(--light-color-icon-background); - --color-accent: var(--light-color-accent); - --color-active-menu-item: var(--light-color-active-menu-item); - --color-text: var(--light-color-text); - --color-text-aside: var(--light-color-text-aside); - --color-link: var(--light-color-link); - - --color-ts-keyword: var(--light-color-ts-keyword); - --color-ts-module: var(--light-color-ts-module); - --color-ts-namespace: var(--light-color-ts-namespace); - --color-ts-enum: var(--light-color-ts-enum); - --color-ts-enum-member: var(--light-color-ts-enum-member); - --color-ts-variable: var(--light-color-ts-variable); - --color-ts-function: var(--light-color-ts-function); - --color-ts-class: var(--light-color-ts-class); - --color-ts-interface: var(--light-color-ts-interface); - --color-ts-constructor: var(--light-color-ts-constructor); - --color-ts-property: var(--light-color-ts-property); - --color-ts-method: var(--light-color-ts-method); - --color-ts-call-signature: var(--light-color-ts-call-signature); - --color-ts-index-signature: var(--light-color-ts-index-signature); - --color-ts-constructor-signature: var( - --light-color-ts-constructor-signature - ); - --color-ts-parameter: var(--light-color-ts-parameter); - --color-ts-type-parameter: var(--light-color-ts-type-parameter); - --color-ts-accessor: var(--light-color-ts-accessor); - --color-ts-get-signature: var(--light-color-ts-get-signature); - --color-ts-set-signature: var(--light-color-ts-set-signature); - --color-ts-type-alias: var(--light-color-ts-type-alias); - - --external-icon: var(--light-external-icon); - --color-scheme: var(--light-color-scheme); - } -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--dark-color-background); - --color-background-secondary: var(--dark-color-background-secondary); - --color-background-warning: var(--dark-color-background-warning); - --color-warning-text: var(--dark-color-warning-text); - --color-icon-background: var(--dark-color-icon-background); - --color-accent: var(--dark-color-accent); - --color-active-menu-item: var(--dark-color-active-menu-item); - --color-text: var(--dark-color-text); - --color-text-aside: var(--dark-color-text-aside); - --color-link: var(--dark-color-link); - - --color-ts-keyword: var(--dark-color-ts-keyword); - --color-ts-module: var(--dark-color-ts-module); - --color-ts-namespace: var(--dark-color-ts-namespace); - --color-ts-enum: var(--dark-color-ts-enum); - --color-ts-enum-member: var(--dark-color-ts-enum-member); - --color-ts-variable: var(--dark-color-ts-variable); - --color-ts-function: var(--dark-color-ts-function); - --color-ts-class: var(--dark-color-ts-class); - --color-ts-interface: var(--dark-color-ts-interface); - --color-ts-constructor: var(--dark-color-ts-constructor); - --color-ts-property: var(--dark-color-ts-property); - --color-ts-method: var(--dark-color-ts-method); - --color-ts-call-signature: var(--dark-color-ts-call-signature); - --color-ts-index-signature: var(--dark-color-ts-index-signature); - --color-ts-constructor-signature: var( - --dark-color-ts-constructor-signature - ); - --color-ts-parameter: var(--dark-color-ts-parameter); - --color-ts-type-parameter: var(--dark-color-ts-type-parameter); - --color-ts-accessor: var(--dark-color-ts-accessor); - --color-ts-get-signature: var(--dark-color-ts-get-signature); - --color-ts-set-signature: var(--dark-color-ts-set-signature); - --color-ts-type-alias: var(--dark-color-ts-type-alias); - - --external-icon: var(--dark-external-icon); - --color-scheme: var(--dark-color-scheme); - } -} - -html { - color-scheme: var(--color-scheme); -} - -body { - margin: 0; -} - -:root[data-theme="light"] { - --color-background: var(--light-color-background); - --color-background-secondary: var(--light-color-background-secondary); - --color-background-warning: var(--light-color-background-warning); - --color-warning-text: var(--light-color-warning-text); - --color-icon-background: var(--light-color-icon-background); - --color-accent: var(--light-color-accent); - --color-active-menu-item: var(--light-color-active-menu-item); - --color-text: var(--light-color-text); - --color-text-aside: var(--light-color-text-aside); - --color-link: var(--light-color-link); - - --color-ts-keyword: var(--light-color-ts-keyword); - --color-ts-module: var(--light-color-ts-module); - --color-ts-namespace: var(--light-color-ts-namespace); - --color-ts-enum: var(--light-color-ts-enum); - --color-ts-enum-member: var(--light-color-ts-enum-member); - --color-ts-variable: var(--light-color-ts-variable); - --color-ts-function: var(--light-color-ts-function); - --color-ts-class: var(--light-color-ts-class); - --color-ts-interface: var(--light-color-ts-interface); - --color-ts-constructor: var(--light-color-ts-constructor); - --color-ts-property: var(--light-color-ts-property); - --color-ts-method: var(--light-color-ts-method); - --color-ts-call-signature: var(--light-color-ts-call-signature); - --color-ts-index-signature: var(--light-color-ts-index-signature); - --color-ts-constructor-signature: var( - --light-color-ts-constructor-signature - ); - --color-ts-parameter: var(--light-color-ts-parameter); - --color-ts-type-parameter: var(--light-color-ts-type-parameter); - --color-ts-accessor: var(--light-color-ts-accessor); - --color-ts-get-signature: var(--light-color-ts-get-signature); - --color-ts-set-signature: var(--light-color-ts-set-signature); - --color-ts-type-alias: var(--light-color-ts-type-alias); - - --external-icon: var(--light-external-icon); - --color-scheme: var(--light-color-scheme); -} - -:root[data-theme="dark"] { - --color-background: var(--dark-color-background); - --color-background-secondary: var(--dark-color-background-secondary); - --color-background-warning: var(--dark-color-background-warning); - --color-warning-text: var(--dark-color-warning-text); - --color-icon-background: var(--dark-color-icon-background); - --color-accent: var(--dark-color-accent); - --color-active-menu-item: var(--dark-color-active-menu-item); - --color-text: var(--dark-color-text); - --color-text-aside: var(--dark-color-text-aside); - --color-link: var(--dark-color-link); - - --color-ts-keyword: var(--dark-color-ts-keyword); - --color-ts-module: var(--dark-color-ts-module); - --color-ts-namespace: var(--dark-color-ts-namespace); - --color-ts-enum: var(--dark-color-ts-enum); - --color-ts-enum-member: var(--dark-color-ts-enum-member); - --color-ts-variable: var(--dark-color-ts-variable); - --color-ts-function: var(--dark-color-ts-function); - --color-ts-class: var(--dark-color-ts-class); - --color-ts-interface: var(--dark-color-ts-interface); - --color-ts-constructor: var(--dark-color-ts-constructor); - --color-ts-property: var(--dark-color-ts-property); - --color-ts-method: var(--dark-color-ts-method); - --color-ts-call-signature: var(--dark-color-ts-call-signature); - --color-ts-index-signature: var(--dark-color-ts-index-signature); - --color-ts-constructor-signature: var( - --dark-color-ts-constructor-signature - ); - --color-ts-parameter: var(--dark-color-ts-parameter); - --color-ts-type-parameter: var(--dark-color-ts-type-parameter); - --color-ts-accessor: var(--dark-color-ts-accessor); - --color-ts-get-signature: var(--dark-color-ts-get-signature); - --color-ts-set-signature: var(--dark-color-ts-set-signature); - --color-ts-type-alias: var(--dark-color-ts-type-alias); - - --external-icon: var(--dark-external-icon); - --color-scheme: var(--dark-color-scheme); -} - -.always-visible, -.always-visible .tsd-signatures { - display: inherit !important; -} - -h1, -h2, -h3, -h4, -h5, -h6 { - line-height: 1.2; -} - -h1 > a:not(.link), -h2 > a:not(.link), -h3 > a:not(.link), -h4 > a:not(.link), -h5 > a:not(.link), -h6 > a:not(.link) { - text-decoration: none; - color: var(--color-text); -} - -h1 { - font-size: 1.875rem; - margin: 0.67rem 0; -} - -h2 { - font-size: 1.5rem; - margin: 0.83rem 0; -} - -h3 { - font-size: 1.25rem; - margin: 1rem 0; -} - -h4 { - font-size: 1.05rem; - margin: 1.33rem 0; -} - -h5 { - font-size: 1rem; - margin: 1.5rem 0; -} - -h6 { - font-size: 0.875rem; - margin: 2.33rem 0; -} - -.uppercase { - text-transform: uppercase; -} - -dl, -menu, -ol, -ul { - margin: 1em 0; -} - -dd { - margin: 0 0 0 40px; -} - -.container { - max-width: 1700px; - padding: 0 2rem; -} - -/* Footer */ -.tsd-generator { - border-top: 1px solid var(--color-accent); - padding-top: 1rem; - padding-bottom: 1rem; - max-height: 3.5rem; -} - -.tsd-generator > p { - margin-top: 0; - margin-bottom: 0; - padding: 0 1rem; -} - -.container-main { - margin: 0 auto; - /* toolbar, footer, margin */ - min-height: calc(100vh - 41px - 56px - 4rem); -} - -@keyframes fade-in { - from { - opacity: 0; - } - to { - opacity: 1; - } -} -@keyframes fade-out { - from { - opacity: 1; - visibility: visible; - } - to { - opacity: 0; - } -} -@keyframes fade-in-delayed { - 0% { - opacity: 0; - } - 33% { - opacity: 0; - } - 100% { - opacity: 1; - } -} -@keyframes fade-out-delayed { - 0% { - opacity: 1; - visibility: visible; - } - 66% { - opacity: 0; - } - 100% { - opacity: 0; - } -} -@keyframes pop-in-from-right { - from { - transform: translate(100%, 0); - } - to { - transform: translate(0, 0); - } -} -@keyframes pop-out-to-right { - from { - transform: translate(0, 0); - visibility: visible; - } - to { - transform: translate(100%, 0); - } -} -body { - background: var(--color-background); - font-family: "Segoe UI", sans-serif; - font-size: 16px; - color: var(--color-text); -} - -a { - color: var(--color-link); - text-decoration: none; -} -a:hover { - text-decoration: underline; -} -a.external[target="_blank"] { - background-image: var(--external-icon); - background-position: top 3px right; - background-repeat: no-repeat; - padding-right: 13px; -} - -code, -pre { - font-family: Menlo, Monaco, Consolas, "Courier New", monospace; - padding: 0.2em; - margin: 0; - font-size: 0.875rem; - border-radius: 0.8em; -} - -pre { - position: relative; - white-space: pre; - white-space: pre-wrap; - word-wrap: break-word; - padding: 10px; - border: 1px solid var(--color-accent); -} -pre code { - padding: 0; - font-size: 100%; -} -pre > button { - position: absolute; - top: 10px; - right: 10px; - opacity: 0; - transition: opacity 0.1s; - box-sizing: border-box; -} -pre:hover > button, -pre > button.visible { - opacity: 1; -} - -blockquote { - margin: 1em 0; - padding-left: 1em; - border-left: 4px solid gray; -} - -.tsd-typography { - line-height: 1.333em; -} -.tsd-typography ul { - list-style: square; - padding: 0 0 0 20px; - margin: 0; -} -.tsd-typography .tsd-index-panel h3, -.tsd-index-panel .tsd-typography h3, -.tsd-typography h4, -.tsd-typography h5, -.tsd-typography h6 { - font-size: 1em; -} -.tsd-typography h5, -.tsd-typography h6 { - font-weight: normal; -} -.tsd-typography p, -.tsd-typography ul, -.tsd-typography ol { - margin: 1em 0; -} -.tsd-typography table { - border-collapse: collapse; - border: none; -} -.tsd-typography td, -.tsd-typography th { - padding: 6px 13px; - border: 1px solid var(--color-accent); -} -.tsd-typography thead, -.tsd-typography tr:nth-child(even) { - background-color: var(--color-background-secondary); -} - -.tsd-breadcrumb { - margin: 0; - padding: 0; - color: var(--color-text-aside); -} -.tsd-breadcrumb a { - color: var(--color-text-aside); - text-decoration: none; -} -.tsd-breadcrumb a:hover { - text-decoration: underline; -} -.tsd-breadcrumb li { - display: inline; -} -.tsd-breadcrumb li:after { - content: " / "; -} - -.tsd-comment-tags { - display: flex; - flex-direction: column; -} -dl.tsd-comment-tag-group { - display: flex; - align-items: center; - overflow: hidden; - margin: 0.5em 0; -} -dl.tsd-comment-tag-group dt { - display: flex; - margin-right: 0.5em; - font-size: 0.875em; - font-weight: normal; -} -dl.tsd-comment-tag-group dd { - margin: 0; -} -code.tsd-tag { - padding: 0.25em 0.4em; - border: 0.1em solid var(--color-accent); - margin-right: 0.25em; - font-size: 70%; -} -h1 code.tsd-tag:first-of-type { - margin-left: 0.25em; -} - -dl.tsd-comment-tag-group dd:before, -dl.tsd-comment-tag-group dd:after { - content: " "; -} -dl.tsd-comment-tag-group dd pre, -dl.tsd-comment-tag-group dd:after { - clear: both; -} -dl.tsd-comment-tag-group p { - margin: 0; -} - -.tsd-panel.tsd-comment .lead { - font-size: 1.1em; - line-height: 1.333em; - margin-bottom: 2em; -} -.tsd-panel.tsd-comment .lead:last-child { - margin-bottom: 0; -} - -.tsd-filter-visibility h4 { - font-size: 1rem; - padding-top: 0.75rem; - padding-bottom: 0.5rem; - margin: 0; -} -.tsd-filter-item:not(:last-child) { - margin-bottom: 0.5rem; -} -.tsd-filter-input { - display: flex; - width: fit-content; - width: -moz-fit-content; - align-items: center; - user-select: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - cursor: pointer; -} -.tsd-filter-input input[type="checkbox"] { - cursor: pointer; - position: absolute; - width: 1.5em; - height: 1.5em; - opacity: 0; -} -.tsd-filter-input input[type="checkbox"]:disabled { - pointer-events: none; -} -.tsd-filter-input svg { - cursor: pointer; - width: 1.5em; - height: 1.5em; - margin-right: 0.5em; - border-radius: 0.33em; - /* Leaving this at full opacity breaks event listeners on Firefox. - Don't remove unless you know what you're doing. */ - opacity: 0.99; -} -.tsd-filter-input input[type="checkbox"]:focus + svg { - transform: scale(0.95); -} -.tsd-filter-input input[type="checkbox"]:focus:not(:focus-visible) + svg { - transform: scale(1); -} -.tsd-checkbox-background { - fill: var(--color-accent); -} -input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { - stroke: var(--color-text); -} -.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-background { - fill: var(--color-background); - stroke: var(--color-accent); - stroke-width: 0.25rem; -} -.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-checkmark { - stroke: var(--color-accent); -} - -.tsd-theme-toggle { - padding-top: 0.75rem; -} -.tsd-theme-toggle > h4 { - display: inline; - vertical-align: middle; - margin-right: 0.75rem; -} - -.tsd-hierarchy { - list-style: square; - margin: 0; -} -.tsd-hierarchy .target { - font-weight: bold; -} - -.tsd-full-hierarchy:not(:last-child) { - margin-bottom: 1em; - padding-bottom: 1em; - border-bottom: 1px solid var(--color-accent); -} -.tsd-full-hierarchy, -.tsd-full-hierarchy ul { - list-style: none; - margin: 0; - padding: 0; -} -.tsd-full-hierarchy ul { - padding-left: 1.5rem; -} -.tsd-full-hierarchy a { - padding: 0.25rem 0 !important; - font-size: 1rem; - display: inline-flex; - align-items: center; - color: var(--color-text); -} - -.tsd-panel-group.tsd-index-group { - margin-bottom: 0; -} -.tsd-index-panel .tsd-index-list { - list-style: none; - line-height: 1.333em; - margin: 0; - padding: 0.25rem 0 0 0; - overflow: hidden; - display: grid; - grid-template-columns: repeat(3, 1fr); - column-gap: 1rem; - grid-template-rows: auto; -} -@media (max-width: 1024px) { - .tsd-index-panel .tsd-index-list { - grid-template-columns: repeat(2, 1fr); - } -} -@media (max-width: 768px) { - .tsd-index-panel .tsd-index-list { - grid-template-columns: repeat(1, 1fr); - } -} -.tsd-index-panel .tsd-index-list li { - -webkit-page-break-inside: avoid; - -moz-page-break-inside: avoid; - -ms-page-break-inside: avoid; - -o-page-break-inside: avoid; - page-break-inside: avoid; -} - -.tsd-flag { - display: inline-block; - padding: 0.25em 0.4em; - border-radius: 4px; - color: var(--color-comment-tag-text); - background-color: var(--color-comment-tag); - text-indent: 0; - font-size: 75%; - line-height: 1; - font-weight: normal; -} - -.tsd-anchor { - position: relative; - top: -100px; -} - -.tsd-member { - position: relative; -} -.tsd-member .tsd-anchor + h3 { - display: flex; - align-items: center; - margin-top: 0; - margin-bottom: 0; - border-bottom: none; -} - -.tsd-navigation.settings { - margin: 1rem 0; -} -.tsd-navigation > a, -.tsd-navigation .tsd-accordion-summary { - width: calc(100% - 0.25rem); - display: flex; - align-items: center; -} -.tsd-navigation a, -.tsd-navigation summary > span, -.tsd-page-navigation a { - display: flex; - width: calc(100% - 0.25rem); - align-items: center; - padding: 0.25rem; - color: var(--color-text); - text-decoration: none; - box-sizing: border-box; -} -.tsd-navigation a.current, -.tsd-page-navigation a.current { - background: var(--color-active-menu-item); -} -.tsd-navigation a:hover, -.tsd-page-navigation a:hover { - text-decoration: underline; -} -.tsd-navigation ul, -.tsd-page-navigation ul { - margin-top: 0; - margin-bottom: 0; - padding: 0; - list-style: none; -} -.tsd-navigation li, -.tsd-page-navigation li { - padding: 0; - max-width: 100%; -} -.tsd-nested-navigation { - margin-left: 3rem; -} -.tsd-nested-navigation > li > details { - margin-left: -1.5rem; -} -.tsd-small-nested-navigation { - margin-left: 1.5rem; -} -.tsd-small-nested-navigation > li > details { - margin-left: -1.5rem; -} - -.tsd-page-navigation ul { - padding-left: 1.75rem; -} - -#tsd-sidebar-links a { - margin-top: 0; - margin-bottom: 0.5rem; - line-height: 1.25rem; -} -#tsd-sidebar-links a:last-of-type { - margin-bottom: 0; -} - -a.tsd-index-link { - padding: 0.25rem 0 !important; - font-size: 1rem; - line-height: 1.25rem; - display: inline-flex; - align-items: center; - color: var(--color-text); -} -.tsd-accordion-summary { - list-style-type: none; /* hide marker on non-safari */ - outline: none; /* broken on safari, so just hide it */ -} -.tsd-accordion-summary::-webkit-details-marker { - display: none; /* hide marker on safari */ -} -.tsd-accordion-summary, -.tsd-accordion-summary a { - user-select: none; - -moz-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; - - cursor: pointer; -} -.tsd-accordion-summary a { - width: calc(100% - 1.5rem); -} -.tsd-accordion-summary > * { - margin-top: 0; - margin-bottom: 0; - padding-top: 0; - padding-bottom: 0; -} -.tsd-index-accordion .tsd-accordion-summary > svg { - margin-left: 0.25rem; -} -.tsd-index-content > :not(:first-child) { - margin-top: 0.75rem; -} -.tsd-index-heading { - margin-top: 1.5rem; - margin-bottom: 0.75rem; -} - -.tsd-kind-icon { - margin-right: 0.5rem; - width: 1.25rem; - height: 1.25rem; - min-width: 1.25rem; - min-height: 1.25rem; -} -.tsd-kind-icon path { - transform-origin: center; - transform: scale(1.1); -} -.tsd-signature > .tsd-kind-icon { - margin-right: 0.8rem; -} - -.tsd-panel { - margin-bottom: 2.5rem; -} -.tsd-panel.tsd-member { - margin-bottom: 4rem; -} -.tsd-panel:empty { - display: none; -} -.tsd-panel > h1, -.tsd-panel > h2, -.tsd-panel > h3 { - margin: 1.5rem -1.5rem 0.75rem -1.5rem; - padding: 0 1.5rem 0.75rem 1.5rem; -} -.tsd-panel > h1.tsd-before-signature, -.tsd-panel > h2.tsd-before-signature, -.tsd-panel > h3.tsd-before-signature { - margin-bottom: 0; - border-bottom: none; -} - -.tsd-panel-group { - margin: 4rem 0; -} -.tsd-panel-group.tsd-index-group { - margin: 2rem 0; -} -.tsd-panel-group.tsd-index-group details { - margin: 2rem 0; -} - -#tsd-search { - transition: background-color 0.2s; -} -#tsd-search .title { - position: relative; - z-index: 2; -} -#tsd-search .field { - position: absolute; - left: 0; - top: 0; - right: 2.5rem; - height: 100%; -} -#tsd-search .field input { - box-sizing: border-box; - position: relative; - top: -50px; - z-index: 1; - width: 100%; - padding: 0 10px; - opacity: 0; - outline: 0; - border: 0; - background: transparent; - color: var(--color-text); -} -#tsd-search .field label { - position: absolute; - overflow: hidden; - right: -40px; -} -#tsd-search .field input, -#tsd-search .title, -#tsd-toolbar-links a { - transition: opacity 0.2s; -} -#tsd-search .results { - position: absolute; - visibility: hidden; - top: 40px; - width: 100%; - margin: 0; - padding: 0; - list-style: none; - box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); -} -#tsd-search .results li { - background-color: var(--color-background); - line-height: initial; - padding: 4px; -} -#tsd-search .results li:nth-child(even) { - background-color: var(--color-background-secondary); -} -#tsd-search .results li.state { - display: none; -} -#tsd-search .results li.current:not(.no-results), -#tsd-search .results li:hover:not(.no-results) { - background-color: var(--color-accent); -} -#tsd-search .results a { - display: flex; - align-items: center; - padding: 0.25rem; - box-sizing: border-box; -} -#tsd-search .results a:before { - top: 10px; -} -#tsd-search .results span.parent { - color: var(--color-text-aside); - font-weight: normal; -} -#tsd-search.has-focus { - background-color: var(--color-accent); -} -#tsd-search.has-focus .field input { - top: 0; - opacity: 1; -} -#tsd-search.has-focus .title, -#tsd-search.has-focus #tsd-toolbar-links a { - z-index: 0; - opacity: 0; -} -#tsd-search.has-focus .results { - visibility: visible; -} -#tsd-search.loading .results li.state.loading { - display: block; -} -#tsd-search.failure .results li.state.failure { - display: block; -} - -#tsd-toolbar-links { - position: absolute; - top: 0; - right: 2rem; - height: 100%; - display: flex; - align-items: center; - justify-content: flex-end; -} -#tsd-toolbar-links a { - margin-left: 1.5rem; -} -#tsd-toolbar-links a:hover { - text-decoration: underline; -} - -.tsd-signature { - margin: 0 0 1rem 0; - padding: 1rem 0.5rem; - border: 1px solid var(--color-accent); - font-family: Menlo, Monaco, Consolas, "Courier New", monospace; - font-size: 14px; - overflow-x: auto; -} - -.tsd-signature-keyword { - color: var(--color-ts-keyword); - font-weight: normal; -} - -.tsd-signature-symbol { - color: var(--color-text-aside); - font-weight: normal; -} - -.tsd-signature-type { - font-style: italic; - font-weight: normal; -} - -.tsd-signatures { - padding: 0; - margin: 0 0 1em 0; - list-style-type: none; -} -.tsd-signatures .tsd-signature { - margin: 0; - border-color: var(--color-accent); - border-width: 1px 0; - transition: background-color 0.1s; -} -.tsd-description .tsd-signatures .tsd-signature { - border-width: 1px; -} - -ul.tsd-parameter-list, -ul.tsd-type-parameter-list { - list-style: square; - margin: 0; - padding-left: 20px; -} -ul.tsd-parameter-list > li.tsd-parameter-signature, -ul.tsd-type-parameter-list > li.tsd-parameter-signature { - list-style: none; - margin-left: -20px; -} -ul.tsd-parameter-list h5, -ul.tsd-type-parameter-list h5 { - font-size: 16px; - margin: 1em 0 0.5em 0; -} -.tsd-sources { - margin-top: 1rem; - font-size: 0.875em; -} -.tsd-sources a { - color: var(--color-text-aside); - text-decoration: underline; -} -.tsd-sources ul { - list-style: none; - padding: 0; -} - -.tsd-page-toolbar { - position: sticky; - z-index: 1; - top: 0; - left: 0; - width: 100%; - color: var(--color-text); - background: var(--color-background-secondary); - border-bottom: 1px var(--color-accent) solid; - transition: transform 0.3s ease-in-out; -} -.tsd-page-toolbar a { - color: var(--color-text); - text-decoration: none; -} -.tsd-page-toolbar a.title { - font-weight: bold; -} -.tsd-page-toolbar a.title:hover { - text-decoration: underline; -} -.tsd-page-toolbar .tsd-toolbar-contents { - display: flex; - justify-content: space-between; - height: 2.5rem; - margin: 0 auto; -} -.tsd-page-toolbar .table-cell { - position: relative; - white-space: nowrap; - line-height: 40px; -} -.tsd-page-toolbar .table-cell:first-child { - width: 100%; -} -.tsd-page-toolbar .tsd-toolbar-icon { - box-sizing: border-box; - line-height: 0; - padding: 12px 0; -} - -.tsd-widget { - display: inline-block; - overflow: hidden; - opacity: 0.8; - height: 40px; - transition: - opacity 0.1s, - background-color 0.2s; - vertical-align: bottom; - cursor: pointer; -} -.tsd-widget:hover { - opacity: 0.9; -} -.tsd-widget.active { - opacity: 1; - background-color: var(--color-accent); -} -.tsd-widget.no-caption { - width: 40px; -} -.tsd-widget.no-caption:before { - margin: 0; -} - -.tsd-widget.options, -.tsd-widget.menu { - display: none; -} -input[type="checkbox"] + .tsd-widget:before { - background-position: -120px 0; -} -input[type="checkbox"]:checked + .tsd-widget:before { - background-position: -160px 0; -} - -img { - max-width: 100%; -} - -.tsd-anchor-icon { - display: inline-flex; - align-items: center; - margin-left: 0.5rem; - vertical-align: middle; - color: var(--color-text); -} - -.tsd-anchor-icon svg { - width: 1em; - height: 1em; - visibility: hidden; -} - -.tsd-anchor-link:hover > .tsd-anchor-icon svg { - visibility: visible; -} - -.deprecated { - text-decoration: line-through !important; -} - -.warning { - padding: 1rem; - color: var(--color-warning-text); - background: var(--color-background-warning); -} - -.tsd-kind-project { - color: var(--color-ts-project); -} -.tsd-kind-module { - color: var(--color-ts-module); -} -.tsd-kind-namespace { - color: var(--color-ts-namespace); -} -.tsd-kind-enum { - color: var(--color-ts-enum); -} -.tsd-kind-enum-member { - color: var(--color-ts-enum-member); -} -.tsd-kind-variable { - color: var(--color-ts-variable); -} -.tsd-kind-function { - color: var(--color-ts-function); -} -.tsd-kind-class { - color: var(--color-ts-class); -} -.tsd-kind-interface { - color: var(--color-ts-interface); -} -.tsd-kind-constructor { - color: var(--color-ts-constructor); -} -.tsd-kind-property { - color: var(--color-ts-property); -} -.tsd-kind-method { - color: var(--color-ts-method); -} -.tsd-kind-call-signature { - color: var(--color-ts-call-signature); -} -.tsd-kind-index-signature { - color: var(--color-ts-index-signature); -} -.tsd-kind-constructor-signature { - color: var(--color-ts-constructor-signature); -} -.tsd-kind-parameter { - color: var(--color-ts-parameter); -} -.tsd-kind-type-literal { - color: var(--color-ts-type-literal); -} -.tsd-kind-type-parameter { - color: var(--color-ts-type-parameter); -} -.tsd-kind-accessor { - color: var(--color-ts-accessor); -} -.tsd-kind-get-signature { - color: var(--color-ts-get-signature); -} -.tsd-kind-set-signature { - color: var(--color-ts-set-signature); -} -.tsd-kind-type-alias { - color: var(--color-ts-type-alias); -} - -/* if we have a kind icon, don't color the text by kind */ -.tsd-kind-icon ~ span { - color: var(--color-text); -} - -* { - scrollbar-width: thin; - scrollbar-color: var(--color-accent) var(--color-icon-background); -} - -*::-webkit-scrollbar { - width: 0.75rem; -} - -*::-webkit-scrollbar-track { - background: var(--color-icon-background); -} - -*::-webkit-scrollbar-thumb { - background-color: var(--color-accent); - border-radius: 999rem; - border: 0.25rem solid var(--color-icon-background); -} - -/* mobile */ -@media (max-width: 769px) { - .tsd-widget.options, - .tsd-widget.menu { - display: inline-block; - } - - .container-main { - display: flex; - } - html .col-content { - float: none; - max-width: 100%; - width: 100%; - } - html .col-sidebar { - position: fixed !important; - overflow-y: auto; - -webkit-overflow-scrolling: touch; - z-index: 1024; - top: 0 !important; - bottom: 0 !important; - left: auto !important; - right: 0 !important; - padding: 1.5rem 1.5rem 0 0; - width: 75vw; - visibility: hidden; - background-color: var(--color-background); - transform: translate(100%, 0); - } - html .col-sidebar > *:last-child { - padding-bottom: 20px; - } - html .overlay { - content: ""; - display: block; - position: fixed; - z-index: 1023; - top: 0; - left: 0; - right: 0; - bottom: 0; - background-color: rgba(0, 0, 0, 0.75); - visibility: hidden; - } - - .to-has-menu .overlay { - animation: fade-in 0.4s; - } - - .to-has-menu .col-sidebar { - animation: pop-in-from-right 0.4s; - } - - .from-has-menu .overlay { - animation: fade-out 0.4s; - } - - .from-has-menu .col-sidebar { - animation: pop-out-to-right 0.4s; - } - - .has-menu body { - overflow: hidden; - } - .has-menu .overlay { - visibility: visible; - } - .has-menu .col-sidebar { - visibility: visible; - transform: translate(0, 0); - display: flex; - flex-direction: column; - gap: 1.5rem; - max-height: 100vh; - padding: 1rem 2rem; - } - .has-menu .tsd-navigation { - max-height: 100%; - } -} - -/* one sidebar */ -@media (min-width: 770px) { - .container-main { - display: grid; - grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); - grid-template-areas: "sidebar content"; - margin: 2rem auto; - } - - .col-sidebar { - grid-area: sidebar; - } - .col-content { - grid-area: content; - padding: 0 1rem; - } -} -@media (min-width: 770px) and (max-width: 1399px) { - .col-sidebar { - max-height: calc(100vh - 2rem - 42px); - overflow: auto; - position: sticky; - top: 42px; - padding-top: 1rem; - } - .site-menu { - margin-top: 1rem; - } -} - -/* two sidebars */ -@media (min-width: 1200px) { - .container-main { - grid-template-columns: minmax(0, 1fr) minmax(0, 2.5fr) minmax(0, 20rem); - grid-template-areas: "sidebar content toc"; - } - - .col-sidebar { - display: contents; - } - - .page-menu { - grid-area: toc; - padding-left: 1rem; - } - .site-menu { - grid-area: sidebar; - } - - .site-menu { - margin-top: 1rem 0; - } - - .page-menu, - .site-menu { - max-height: calc(100vh - 2rem - 42px); - overflow: auto; - position: sticky; - top: 42px; - } -} diff --git a/docs/classes/node.MIMEMessage.html b/docs/classes/node.MIMEMessage.html deleted file mode 100644 index c1124d7..0000000 --- a/docs/classes/node.MIMEMessage.html +++ /dev/null @@ -1,37 +0,0 @@ -MIMEMessage | mimetext - v3.0.22

Class MIMEMessage

Constructors

Properties

boundaries: Boundaries = ...
messages: MIMEMessageContent[] = []
validContentTransferEncodings: string[] = ...
validTypes: string[] = ...

Methods

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/node.MIMEMessageContent.html b/docs/classes/node.MIMEMessageContent.html deleted file mode 100644 index 2de7f91..0000000 --- a/docs/classes/node.MIMEMessageContent.html +++ /dev/null @@ -1,12 +0,0 @@ -MIMEMessageContent | mimetext - v3.0.22

Class MIMEMessageContent

Constructors

Properties

data: string

Methods

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/node.MIMEMessageContentHeader.html b/docs/classes/node.MIMEMessageContentHeader.html deleted file mode 100644 index 38b31d5..0000000 --- a/docs/classes/node.MIMEMessageContentHeader.html +++ /dev/null @@ -1,17 +0,0 @@ -MIMEMessageContentHeader | mimetext - v3.0.22

Class MIMEMessageContentHeader

Hierarchy (view full)

Constructors

Properties

fields: {
    name: string;
}[] = ...

Type declaration

  • name: string

Methods

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/node.MIMEMessageHeader.html b/docs/classes/node.MIMEMessageHeader.html deleted file mode 100644 index a87234c..0000000 --- a/docs/classes/node.MIMEMessageHeader.html +++ /dev/null @@ -1,17 +0,0 @@ -MIMEMessageHeader | mimetext - v3.0.22

Class MIMEMessageHeader

Hierarchy (view full)

Constructors

Properties

fields: HeaderField[] = ...

Methods

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/node.MIMETextError.html b/docs/classes/node.MIMETextError.html deleted file mode 100644 index bb0bb97..0000000 --- a/docs/classes/node.MIMETextError.html +++ /dev/null @@ -1,13 +0,0 @@ -MIMETextError | mimetext - v3.0.22

Class MIMETextError

Hierarchy

  • Error
    • MIMETextError

Constructors

Properties

cause?: unknown
description: string = ''
message: string
name: string = ''
stack?: string
prepareStackTrace?: ((err, stackTraces) => any)

Optional override for formatting stack traces

-

Type declaration

    • (err, stackTraces): any
    • Parameters

      • err: Error
      • stackTraces: CallSite[]

      Returns any

stackTraceLimit: number

Methods

  • Create .stack property on a target object

    -

    Parameters

    • targetObject: object
    • Optional constructorOpt: Function

    Returns void

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/node.Mailbox.html b/docs/classes/node.Mailbox.html deleted file mode 100644 index c7f6053..0000000 --- a/docs/classes/node.Mailbox.html +++ /dev/null @@ -1,12 +0,0 @@ -Mailbox | mimetext - v3.0.22

Class Mailbox

Constructors

Properties

addr: string = ''
name: string = ''
reSpecCompliantAddr: RegExp = ...
type: MailboxType = 'To'

Methods

  • Parameters

    • v: unknown

    Returns boolean

  • Parameters

    • v: unknown

    Returns v is object

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/browser.createMimeMessage.html b/docs/functions/browser.createMimeMessage.html deleted file mode 100644 index b6163f1..0000000 --- a/docs/functions/browser.createMimeMessage.html +++ /dev/null @@ -1 +0,0 @@ -createMimeMessage | mimetext - v3.0.22

Function createMimeMessage

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/gas.createMimeMessage.html b/docs/functions/gas.createMimeMessage.html deleted file mode 100644 index 4a1dd7c..0000000 --- a/docs/functions/gas.createMimeMessage.html +++ /dev/null @@ -1 +0,0 @@ -createMimeMessage | mimetext - v3.0.22

Function createMimeMessage

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/node.createMimeMessage.html b/docs/functions/node.createMimeMessage.html deleted file mode 100644 index 6f50634..0000000 --- a/docs/functions/node.createMimeMessage.html +++ /dev/null @@ -1 +0,0 @@ -createMimeMessage | mimetext - v3.0.22

Function createMimeMessage

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/hierarchy.html b/docs/hierarchy.html deleted file mode 100644 index 131ce0c..0000000 --- a/docs/hierarchy.html +++ /dev/null @@ -1 +0,0 @@ -mimetext - v3.0.22

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/index.html b/docs/index.html deleted file mode 100644 index 41f4340..0000000 --- a/docs/index.html +++ /dev/null @@ -1,37 +0,0 @@ -mimetext - v3.0.22

mimetext - v3.0.22

MIMEText

RFC-2822, RFC-2045 and RFC-2049 compliant raw email message generator. Refer to https://muratgozel.github.io/MIMEText/ for full api docs.

-

It has full typings. Optimized to run on node, browser and google apps script environments. Compatible with commonjs and esm.

-

Install

npm i mimetext
-
-

Use

Import the appropriate version for your environment. Use mimetext/browser for browser, mimetext/gas for google apps script and mimetext for node environments.

-
// es
import {createMimeMessage} from 'mimetext'
// or const {createMimeMessage} = require('mimetext') for commonjs

// create a simple plain text email
const msg = createMimeMessage()
msg.setSender({name: 'Lorem Ipsum', addr: 'lorem@ipsum.com'})
msg.setRecipient('foobor@test.com')
msg.setSubject('🚀 Issue 49!')
msg.addMessage({
contentType: 'text/plain',
data: `Hi,
I'm a simple text.`
})
const raw = msg.asRaw()
/*
Date: Sun, 24 Oct 2021 04:50:32 +0000
From: "Lorem Ipsum" <lorem@ipsum.com>
To: <foobor@test.com>
Message-ID: <is6jcakaj6p-1635051032602@ipsum.com>
Subject: =?utf-8?B?8J+agCBJc3N1ZSA0OSE=?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8

Hi,
I'm a simple text.
*/ -
-

Different Ways Of Adding Recipients

There are more than one method and format to add recipients:

-
// adds recipient to To field by default
msg.setRecipient('Firstname Lastname <first@last.com>')
// you can specify To, Cc, Bcc
msg.setRecipient('Firstname Lastname <first@last.com>', {type: 'Cc'})
// as object, only addr is required
msg.setRecipient({addr: 'first@last.com', name: 'Firstname Lastname', type: 'Bcc'})
// shortcut methods
msg.setTo('first@last.com')
msg.setCc('first@last.com')
msg.setBcc('first@last.com')
// multiple recipient at once
msg.setRecipients('test@mail.com', 'Firstname Lastname <first@last.com>', {addr: 'multiple@mail.com'})

// similarly you can set the sender
msg.setSender('First Last <sender@mail.com>')
msg.setSender({name: 'First Last', addr: 'sender@mail.com'}) -
-

HTML Message With Plain Text Fallback And Attachments

You can set html and plain text messages both and recipients mail client will render however they think appropriate.

-

The example below demonstrates more sophisticated email content including inline attachments and regular attachments.

-
const msg = createMimeMessage()
msg.setSender('sender@mail.com')
msg.setRecipients('recipient@mail.com')
msg.setSubject('Testing MimeText 🐬 (Plain Text + HTML With Mixed Attachments)')
msg.addMessage({
contentType: 'text/plain',
data: 'Hello there,' + EOL + EOL +
'This is a test email sent by MimeText test suite.'
})
// specify inline attachment's content id inside img src tag. <img src="cid:[ID]">
msg.addMessage({
contentType: 'text/html',
data: 'Hello there,<br><br>' +
'This is a test email sent by <b>MimeText</b> test suite.<br><br>' +
'The term MimeText above supposed to be bold. Are you able to see it?<br><br>' +
'Below, there should be a small image that contains little black dots:<br><br>' +
'<img src="cid:dots123456"><br><br>' +
'Best regards.'
})
msg.addAttachment({
filename: 'sample.jpg',
contentType: 'image/jpg',
data: '...base64 encoded data...'
})
msg.addAttachment({
filename: 'sample.txt',
contentType: 'text/plain',
data: '...base64 encoded data...'
})
// this is inline attachment!
msg.addAttachment({
inline: true,
filename: 'dots.jpg',
contentType: 'image/jpg',
data: '...base64 encoded data...',
headers: {'Content-ID': 'dots123456'}
})
const raw = msg.asRaw()
/*
Date: Sun, 26 Mar 2023 13:27:15 +0000
From: <sender@mail.com>
To: <recipient@mail.com>
Message-ID: <vrye3zjqd@gozel.com.tr>
Subject: =?utf-8?B?VGVzdGluZyBNaW1lVGV4dCDwn5CsIChQbGFpbiBUZXh0ICsgSFRNTCBXaXRoIE1peGVkIEF0dGFjaG1lbnRzKQ==?=
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=giev1zqo579

--giev1zqo579
Content-Type: multipart/related; boundary=hl6rtnn5jq

--hl6rtnn5jq
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit

Hello there,<br><br>This is a test email sent by <b>MimeText</b> test suite.<br><br>The term MimeText above supposed to be bold. Are you able to see it?<br><br>Below, there should be a small image that contains little black dots:<br><br><img src="cid:dots123456"><br><br>Best regards.

--hl6rtnn5jq
Content-ID: <dots123456>
Content-Type: image/jpg; name="dots.jpg"
Content-Transfer-Encoding: base64
Content-Disposition: inline; filename="dots.jpg"

/9j/4AAQSkZJRgABAgEASABIAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQ...........BPwAp/9k=
--hl6rtnn5jq--
--giev1zqo579
Content-Type: image/jpg; name="sample.jpg"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="sample.jpg"

/9j/4AAQSkZJRgABAg...........befPb4N8Hn4A/9k=

--giev1zqo579
Content-Type: text/plain; name="sample.txt"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="sample.txt"

SGVsbG8gdGhlcmUu
--giev1zqo579--
*/ -
-

Encoding The Output

If you ever need to get base64-websafe encoded version of the raw data, you can use asEncoded() method.

-
// it first gets the raw version and then encodes it.
msg.asEncoded() -
-

Use Cases

MIMEText is useful for email sending platforms and end-user apps whose email clients require raw email messages.

-

Below you can find some examples for Amazon SES or Google Gmail.

-

Amazon SES with AWS-SDK

ses client v1:

-
// install with npm i @aws-sdk/client-ses

// init aws sdk
const { SESClient, SendRawEmailCommand } = require('@aws-sdk/client-ses')
const ses = new SESClient({ region: 'YOUR_REGION' })
const { Buffer } = require('node:buffer')

// init mimetext
const { createMimeMessage } = require('mimetext')
const message = createMimeMessage()

// create email message
message.setSender('sender@email.com')
message.setTo('person1@email.com')
message.setSubject('Weekly Newsletter 49 Ready 🚀')
message.addAttachment({
filename: 'bill.pdf',
contentType: 'application/pdf',
data: '...base64 encoded data...'
})
message.addMessage({
contentType: 'text/html',
data: 'Hello <b>John</b>.'
})

// send email with aws sdk
const params = {
Destinations: message.getRecipients({type: 'to'}).map(mailbox => mailbox.addr),
RawMessage: {
Data: Buffer.from(message.asRaw(), 'utf8') // the raw message data needs to be sent as uint8array
},
Source: message.getSender().addr
}
const result = await ses.send(new SendRawEmailCommand(params))
// result.MessageId -
-

ses client v2:

-
// install with npm i @aws-sdk/client-sesv2

// init aws sdk
const { SESv2Client, SendEmailCommand } = require('@aws-sdk/client-ses')
const ses = new SESv2Client({ region: 'YOUR_REGION' })
const { Buffer } = require('node:buffer')

// init mimetext
const { createMimeMessage } = require('mimetext')
const message = createMimeMessage()

// create email message
message.setSender('sender@email.com')
message.setTo('person1@email.com')
message.setSubject('Weekly Newsletter 49 Ready 🚀')
message.addAttachment({
filename: 'bill.pdf',
contentType: 'application/pdf',
data: '...base64 encoded data...'
})
message.addMessage({
contentType: 'text/html',
data: 'Hello <b>John</b>.'
})

const params = {
FromEmailAddress: message.getSender().addr,
Destination: {
ToAddresses: message.getRecipients().map((box) => box.addr)
},
Content: {
Raw: {
Data: Buffer.from(message.asRaw(), 'utf8')
}
}
}
const result = await ses.send(new SendEmailCommand(params))
// result.MessageId -
-

Google Gmail with googleapis-sdk

// init google api sdk
const {google} = require('googleapis')

// create email message
const {createMimeMessage} = require('mimetext')
const message = createMimeMessage()
message.setSender('sender@email.com')
message.setTo('person1@email.com')
message.setSubject('Weekly Newsletter 49 Ready 🚀')
message.addAttachment({
filename: 'bill.pdf',
contentType: 'application/pdf',
data: '...base64 encoded data...'
})
message.addMessage({
contentType: 'text/html',
data: 'Hello <b>John</b>.'
})

// send email
google.auth
.getClient({scopes: ['https://www.googleapis.com/auth/gmail.send']})
.then(function(client) {
client.subject = 'sender@email.com'

const gmail = google.gmail({ version: 'v1', auth: client })

gmail.users.messages
.send({
userId: 'me',
requestBody: {
raw: message.asEncoded()
}
})
.then(function(result) {
// result.id
})
.catch(function(err) {

})
}) -
-

Error Handling

Most of the methods raises MIMETextError in case of invalid input. You can catch them and handle them accordingly.

-
try {
message.setTo({prop: 'invalid'})
} catch (e) {
e instanceof MIMETextError === true
} -
-

Contributing

If you're interested in contributing, read the CONTRIBUTING.md first, please.

-
-

Version management of this repository done by releaser 🚀

-
-

Thanks for watching 🐬

-

Support me on Patreon

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/node.AttachmentOptions.html b/docs/interfaces/node.AttachmentOptions.html deleted file mode 100644 index 4a00fda..0000000 --- a/docs/interfaces/node.AttachmentOptions.html +++ /dev/null @@ -1,8 +0,0 @@ -AttachmentOptions | mimetext - v3.0.22

Interface AttachmentOptions

interface AttachmentOptions {
    charset?: string;
    contentType: string;
    data: string;
    encoding?: ContentTransferEncoding;
    filename: string;
    headers?: ContentHeaders;
    inline?: boolean;
}

Hierarchy (view full)

Properties

charset?: string
contentType: string
data: string
filename: string
headers?: ContentHeaders
inline?: boolean

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/node.Boundaries.html b/docs/interfaces/node.Boundaries.html deleted file mode 100644 index e5657fe..0000000 --- a/docs/interfaces/node.Boundaries.html +++ /dev/null @@ -1,4 +0,0 @@ -Boundaries | mimetext - v3.0.22

Interface Boundaries

interface Boundaries {
    alt: string;
    mixed: string;
    related: string;
}

Properties

Properties

alt: string
mixed: string
related: string

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/node.ContentHeaders.html b/docs/interfaces/node.ContentHeaders.html deleted file mode 100644 index 81ea13e..0000000 --- a/docs/interfaces/node.ContentHeaders.html +++ /dev/null @@ -1,5 +0,0 @@ -ContentHeaders | mimetext - v3.0.22

Interface ContentHeaders

interface ContentHeaders {
    Content-Disposition?: string;
    Content-ID?: string;
    Content-Transfer-Encoding?: ContentTransferEncoding;
    Content-Type?: string;
    [index: string]: string | undefined;
}

Indexable

[index: string]: string | undefined

Properties

Content-Disposition?: string
Content-ID?: string
Content-Transfer-Encoding?: ContentTransferEncoding
Content-Type?: string

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/node.ContentOptions.html b/docs/interfaces/node.ContentOptions.html deleted file mode 100644 index aed71c1..0000000 --- a/docs/interfaces/node.ContentOptions.html +++ /dev/null @@ -1,6 +0,0 @@ -ContentOptions | mimetext - v3.0.22

Interface ContentOptions

interface ContentOptions {
    charset?: string;
    contentType: string;
    data: string;
    encoding?: ContentTransferEncoding;
    headers?: ContentHeaders;
}

Hierarchy (view full)

Properties

charset?: string
contentType: string
data: string
headers?: ContentHeaders

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/node.EnvironmentContext.html b/docs/interfaces/node.EnvironmentContext.html deleted file mode 100644 index c3b22d1..0000000 --- a/docs/interfaces/node.EnvironmentContext.html +++ /dev/null @@ -1,5 +0,0 @@ -EnvironmentContext | mimetext - v3.0.22

Interface EnvironmentContext

interface EnvironmentContext {
    eol: string;
    toBase64: ((v) => string);
    toBase64WebSafe: ((v) => string);
    validateContentType: ((v) => string | false);
}

Properties

eol: string
toBase64: ((v) => string)

Type declaration

    • (v): string
    • Parameters

      • v: string

      Returns string

toBase64WebSafe: ((v) => string)

Type declaration

    • (v): string
    • Parameters

      • v: string

      Returns string

validateContentType: ((v) => string | false)

Type declaration

    • (v): string | false
    • Parameters

      • v: string

      Returns string | false

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/node.HeaderField.html b/docs/interfaces/node.HeaderField.html deleted file mode 100644 index 06f9190..0000000 --- a/docs/interfaces/node.HeaderField.html +++ /dev/null @@ -1,9 +0,0 @@ -HeaderField | mimetext - v3.0.22

Interface HeaderField

interface HeaderField {
    custom?: boolean;
    disabled?: boolean;
    dump?: ((v) => string);
    generator?: (() => string);
    name: string;
    required?: boolean;
    validate?: ((v) => boolean);
    value?: string | Mailbox | Mailbox[];
}

Properties

custom?: boolean
disabled?: boolean
dump?: ((v) => string)

Type declaration

    • (v): string
    • Parameters

      Returns string

generator?: (() => string)

Type declaration

    • (): string
    • Returns string

name: string
required?: boolean
validate?: ((v) => boolean)

Type declaration

    • (v): boolean
    • Parameters

      • v: unknown

      Returns boolean

value?: string | Mailbox | Mailbox[]

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/node.MailboxAddrObject.html b/docs/interfaces/node.MailboxAddrObject.html deleted file mode 100644 index c278d69..0000000 --- a/docs/interfaces/node.MailboxAddrObject.html +++ /dev/null @@ -1,4 +0,0 @@ -MailboxAddrObject | mimetext - v3.0.22

Interface MailboxAddrObject

interface MailboxAddrObject {
    addr: string;
    name?: string;
    type?: MailboxType;
}

Properties

Properties

addr: string
name?: string

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/node.MailboxConfig.html b/docs/interfaces/node.MailboxConfig.html deleted file mode 100644 index 5dab22c..0000000 --- a/docs/interfaces/node.MailboxConfig.html +++ /dev/null @@ -1,2 +0,0 @@ -MailboxConfig | mimetext - v3.0.22

Interface MailboxConfig

interface MailboxConfig {
    type: MailboxType;
}

Properties

Properties

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/modules/browser.html b/docs/modules/browser.html deleted file mode 100644 index 1517db5..0000000 --- a/docs/modules/browser.html +++ /dev/null @@ -1,19 +0,0 @@ -browser | mimetext - v3.0.22

Module browser

References

Re-exports AttachmentOptions
Re-exports Boundaries
Re-exports ContentHeaders
Re-exports ContentOptions
Re-exports ContentTransferEncoding
Re-exports EnvironmentContext
Re-exports HeaderField
Re-exports HeadersObject
Re-exports MIMEMessage
Re-exports MIMEMessageContent
Re-exports MIMEMessageContentHeader
Re-exports MIMEMessageHeader
Re-exports MIMETextError
Re-exports Mailbox
Re-exports MailboxAddrObject
Re-exports MailboxConfig
Re-exports MailboxType

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/modules/gas.html b/docs/modules/gas.html deleted file mode 100644 index 48ebe88..0000000 --- a/docs/modules/gas.html +++ /dev/null @@ -1,19 +0,0 @@ -gas | mimetext - v3.0.22

Module gas

References

Re-exports AttachmentOptions
Re-exports Boundaries
Re-exports ContentHeaders
Re-exports ContentOptions
Re-exports ContentTransferEncoding
Re-exports EnvironmentContext
Re-exports HeaderField
Re-exports HeadersObject
Re-exports MIMEMessage
Re-exports MIMEMessageContent
Re-exports MIMEMessageContentHeader
Re-exports MIMEMessageHeader
Re-exports MIMETextError
Re-exports Mailbox
Re-exports MailboxAddrObject
Re-exports MailboxConfig
Re-exports MailboxType

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/modules/node.html b/docs/modules/node.html deleted file mode 100644 index 78f521e..0000000 --- a/docs/modules/node.html +++ /dev/null @@ -1,19 +0,0 @@ -node | mimetext - v3.0.22

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/node.ContentTransferEncoding.html b/docs/types/node.ContentTransferEncoding.html deleted file mode 100644 index 807da4f..0000000 --- a/docs/types/node.ContentTransferEncoding.html +++ /dev/null @@ -1 +0,0 @@ -ContentTransferEncoding | mimetext - v3.0.22

Type alias ContentTransferEncoding

ContentTransferEncoding: "7bit" | "8bit" | "binary" | "quoted-printable" | "base64"

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/node.HeadersObject.html b/docs/types/node.HeadersObject.html deleted file mode 100644 index 567773b..0000000 --- a/docs/types/node.HeadersObject.html +++ /dev/null @@ -1 +0,0 @@ -HeadersObject | mimetext - v3.0.22

Type alias HeadersObject

HeadersObject: Record<string, string | Mailbox | Mailbox[] | undefined>

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/node.MailboxType.html b/docs/types/node.MailboxType.html deleted file mode 100644 index a240548..0000000 --- a/docs/types/node.MailboxType.html +++ /dev/null @@ -1 +0,0 @@ -MailboxType | mimetext - v3.0.22

Type alias MailboxType

MailboxType: "To" | "From" | "Cc" | "Bcc"

Generated using TypeDoc

\ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..22c3c3e --- /dev/null +++ b/package-lock.json @@ -0,0 +1,16149 @@ +{ + "name": "mimetext", + "version": "v3.0.24", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "mimetext", + "version": "v3.0.24", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.26.0", + "@babel/runtime-corejs3": "^7.26.0", + "js-base64": "^3.7.7", + "mime-types": "^2.1.35" + }, + "devDependencies": { + "@aws-sdk/client-ses": "^3.716.0", + "@aws-sdk/client-sesv2": "^3.716.0", + "@babel/cli": "^7.26.4", + "@babel/core": "^7.26.0", + "@babel/plugin-transform-runtime": "^7.25.9", + "@babel/preset-env": "^7.26.0", + "@babel/preset-typescript": "^7.26.0", + "@eslint/js": "^9.17.0", + "@jest/globals": "^29.7.0", + "@rollup/plugin-babel": "^6.0.4", + "@rollup/plugin-commonjs": "^28.0.2", + "@rollup/plugin-node-resolve": "^16.0.0", + "@rollup/plugin-terser": "^0.4.4", + "@rollup/plugin-typescript": "^12.1.2", + "@swc/core": "^1.10.4", + "@swc/jest": "^0.2.37", + "@types/google-apps-script": "^1.0.89", + "@types/mime-types": "^2.1.4", + "@types/node": "^22.10.3", + "commitizen": "^4.3.1", + "core-js": "3.30", + "cz-conventional-changelog": "^3.3.0", + "dotenv": "^16.4.7", + "eslint": "^9.17.0", + "globals": "^15.14.0", + "husky": "^9.1.7", + "jest": "^29.7.0", + "prettier": "^3.4.2", + "rollup": "^4.29.1", + "semantic-release": "^24.2.0", + "typescript": "^5.7.2", + "typescript-eslint": "^8.19.0" + }, + "funding": { + "type": "patreon", + "url": "https://patreon.com/muratgozel" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@aws-crypto/sha256-browser": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-5.2.0.tgz", + "integrity": "sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-js": "^5.2.0", + "@aws-crypto/supports-web-crypto": "^5.2.0", + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-crypto/sha256-js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-5.2.0.tgz", + "integrity": "sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-crypto/supports-web-crypto": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-5.2.0.tgz", + "integrity": "sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-crypto/util": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-5.2.0.tgz", + "integrity": "sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.222.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-crypto/util/node_modules/@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-crypto/util/node_modules/@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-crypto/util/node_modules/@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-ses": { + "version": "3.716.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-ses/-/client-ses-3.716.0.tgz", + "integrity": "sha512-lYsg2x3Z6R5ngBX1EqFKR6jf77ewbGg+aZV6V4ucVCghaGGcGnGisRP4FAep3IgkrZuByEYeJaA6cTli98qaOQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.716.0", + "@aws-sdk/client-sts": "3.716.0", + "@aws-sdk/core": "3.716.0", + "@aws-sdk/credential-provider-node": "3.716.0", + "@aws-sdk/middleware-host-header": "3.714.0", + "@aws-sdk/middleware-logger": "3.714.0", + "@aws-sdk/middleware-recursion-detection": "3.714.0", + "@aws-sdk/middleware-user-agent": "3.716.0", + "@aws-sdk/region-config-resolver": "3.714.0", + "@aws-sdk/types": "3.714.0", + "@aws-sdk/util-endpoints": "3.714.0", + "@aws-sdk/util-user-agent-browser": "3.714.0", + "@aws-sdk/util-user-agent-node": "3.716.0", + "@smithy/config-resolver": "^3.0.13", + "@smithy/core": "^2.5.5", + "@smithy/fetch-http-handler": "^4.1.2", + "@smithy/hash-node": "^3.0.11", + "@smithy/invalid-dependency": "^3.0.11", + "@smithy/middleware-content-length": "^3.0.13", + "@smithy/middleware-endpoint": "^3.2.6", + "@smithy/middleware-retry": "^3.0.31", + "@smithy/middleware-serde": "^3.0.11", + "@smithy/middleware-stack": "^3.0.11", + "@smithy/node-config-provider": "^3.1.12", + "@smithy/node-http-handler": "^3.3.2", + "@smithy/protocol-http": "^4.1.8", + "@smithy/smithy-client": "^3.5.1", + "@smithy/types": "^3.7.2", + "@smithy/url-parser": "^3.0.11", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.31", + "@smithy/util-defaults-mode-node": "^3.0.31", + "@smithy/util-endpoints": "^2.1.7", + "@smithy/util-middleware": "^3.0.11", + "@smithy/util-retry": "^3.0.11", + "@smithy/util-utf8": "^3.0.0", + "@smithy/util-waiter": "^3.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-sesv2": { + "version": "3.716.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sesv2/-/client-sesv2-3.716.0.tgz", + "integrity": "sha512-mHVu6siDbdt2mMMbzRWmyzHbnViadxia8yt3zrNsZU0EN7FDfun46wTaf8+bfoRoCTx8W5OkX/Sl+NsB+IO8SQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.716.0", + "@aws-sdk/client-sts": "3.716.0", + "@aws-sdk/core": "3.716.0", + "@aws-sdk/credential-provider-node": "3.716.0", + "@aws-sdk/middleware-host-header": "3.714.0", + "@aws-sdk/middleware-logger": "3.714.0", + "@aws-sdk/middleware-recursion-detection": "3.714.0", + "@aws-sdk/middleware-user-agent": "3.716.0", + "@aws-sdk/region-config-resolver": "3.714.0", + "@aws-sdk/signature-v4-multi-region": "3.716.0", + "@aws-sdk/types": "3.714.0", + "@aws-sdk/util-endpoints": "3.714.0", + "@aws-sdk/util-user-agent-browser": "3.714.0", + "@aws-sdk/util-user-agent-node": "3.716.0", + "@smithy/config-resolver": "^3.0.13", + "@smithy/core": "^2.5.5", + "@smithy/fetch-http-handler": "^4.1.2", + "@smithy/hash-node": "^3.0.11", + "@smithy/invalid-dependency": "^3.0.11", + "@smithy/middleware-content-length": "^3.0.13", + "@smithy/middleware-endpoint": "^3.2.6", + "@smithy/middleware-retry": "^3.0.31", + "@smithy/middleware-serde": "^3.0.11", + "@smithy/middleware-stack": "^3.0.11", + "@smithy/node-config-provider": "^3.1.12", + "@smithy/node-http-handler": "^3.3.2", + "@smithy/protocol-http": "^4.1.8", + "@smithy/smithy-client": "^3.5.1", + "@smithy/types": "^3.7.2", + "@smithy/url-parser": "^3.0.11", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.31", + "@smithy/util-defaults-mode-node": "^3.0.31", + "@smithy/util-endpoints": "^2.1.7", + "@smithy/util-middleware": "^3.0.11", + "@smithy/util-retry": "^3.0.11", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-sso": { + "version": "3.716.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.716.0.tgz", + "integrity": "sha512-5Nb0jJXce2TclbjG7WVPufwhgV1TRydz1QnsuBtKU0AdViEpr787YrZhPpGnNIM1Dx+R1H/tmAHZnOoohS6D8g==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.716.0", + "@aws-sdk/middleware-host-header": "3.714.0", + "@aws-sdk/middleware-logger": "3.714.0", + "@aws-sdk/middleware-recursion-detection": "3.714.0", + "@aws-sdk/middleware-user-agent": "3.716.0", + "@aws-sdk/region-config-resolver": "3.714.0", + "@aws-sdk/types": "3.714.0", + "@aws-sdk/util-endpoints": "3.714.0", + "@aws-sdk/util-user-agent-browser": "3.714.0", + "@aws-sdk/util-user-agent-node": "3.716.0", + "@smithy/config-resolver": "^3.0.13", + "@smithy/core": "^2.5.5", + "@smithy/fetch-http-handler": "^4.1.2", + "@smithy/hash-node": "^3.0.11", + "@smithy/invalid-dependency": "^3.0.11", + "@smithy/middleware-content-length": "^3.0.13", + "@smithy/middleware-endpoint": "^3.2.6", + "@smithy/middleware-retry": "^3.0.31", + "@smithy/middleware-serde": "^3.0.11", + "@smithy/middleware-stack": "^3.0.11", + "@smithy/node-config-provider": "^3.1.12", + "@smithy/node-http-handler": "^3.3.2", + "@smithy/protocol-http": "^4.1.8", + "@smithy/smithy-client": "^3.5.1", + "@smithy/types": "^3.7.2", + "@smithy/url-parser": "^3.0.11", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.31", + "@smithy/util-defaults-mode-node": "^3.0.31", + "@smithy/util-endpoints": "^2.1.7", + "@smithy/util-middleware": "^3.0.11", + "@smithy/util-retry": "^3.0.11", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-sso-oidc": { + "version": "3.716.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.716.0.tgz", + "integrity": "sha512-lA4IB9FzR2KjH7EVCo+mHGFKqdViVyeBQEIX9oVratL/l7P0bMS1fMwgfHOc3ACazqNxBxDES7x08ZCp32y6Lw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.716.0", + "@aws-sdk/credential-provider-node": "3.716.0", + "@aws-sdk/middleware-host-header": "3.714.0", + "@aws-sdk/middleware-logger": "3.714.0", + "@aws-sdk/middleware-recursion-detection": "3.714.0", + "@aws-sdk/middleware-user-agent": "3.716.0", + "@aws-sdk/region-config-resolver": "3.714.0", + "@aws-sdk/types": "3.714.0", + "@aws-sdk/util-endpoints": "3.714.0", + "@aws-sdk/util-user-agent-browser": "3.714.0", + "@aws-sdk/util-user-agent-node": "3.716.0", + "@smithy/config-resolver": "^3.0.13", + "@smithy/core": "^2.5.5", + "@smithy/fetch-http-handler": "^4.1.2", + "@smithy/hash-node": "^3.0.11", + "@smithy/invalid-dependency": "^3.0.11", + "@smithy/middleware-content-length": "^3.0.13", + "@smithy/middleware-endpoint": "^3.2.6", + "@smithy/middleware-retry": "^3.0.31", + "@smithy/middleware-serde": "^3.0.11", + "@smithy/middleware-stack": "^3.0.11", + "@smithy/node-config-provider": "^3.1.12", + "@smithy/node-http-handler": "^3.3.2", + "@smithy/protocol-http": "^4.1.8", + "@smithy/smithy-client": "^3.5.1", + "@smithy/types": "^3.7.2", + "@smithy/url-parser": "^3.0.11", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.31", + "@smithy/util-defaults-mode-node": "^3.0.31", + "@smithy/util-endpoints": "^2.1.7", + "@smithy/util-middleware": "^3.0.11", + "@smithy/util-retry": "^3.0.11", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-sts": "^3.716.0" + } + }, + "node_modules/@aws-sdk/client-sts": { + "version": "3.716.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.716.0.tgz", + "integrity": "sha512-i4SVNsrdXudp8T4bkm7Fi3YWlRnvXCSwvNDqf6nLqSJxqr4CN3VlBELueDyjBK7TAt453/qSif+eNx+bHmwo4Q==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.716.0", + "@aws-sdk/core": "3.716.0", + "@aws-sdk/credential-provider-node": "3.716.0", + "@aws-sdk/middleware-host-header": "3.714.0", + "@aws-sdk/middleware-logger": "3.714.0", + "@aws-sdk/middleware-recursion-detection": "3.714.0", + "@aws-sdk/middleware-user-agent": "3.716.0", + "@aws-sdk/region-config-resolver": "3.714.0", + "@aws-sdk/types": "3.714.0", + "@aws-sdk/util-endpoints": "3.714.0", + "@aws-sdk/util-user-agent-browser": "3.714.0", + "@aws-sdk/util-user-agent-node": "3.716.0", + "@smithy/config-resolver": "^3.0.13", + "@smithy/core": "^2.5.5", + "@smithy/fetch-http-handler": "^4.1.2", + "@smithy/hash-node": "^3.0.11", + "@smithy/invalid-dependency": "^3.0.11", + "@smithy/middleware-content-length": "^3.0.13", + "@smithy/middleware-endpoint": "^3.2.6", + "@smithy/middleware-retry": "^3.0.31", + "@smithy/middleware-serde": "^3.0.11", + "@smithy/middleware-stack": "^3.0.11", + "@smithy/node-config-provider": "^3.1.12", + "@smithy/node-http-handler": "^3.3.2", + "@smithy/protocol-http": "^4.1.8", + "@smithy/smithy-client": "^3.5.1", + "@smithy/types": "^3.7.2", + "@smithy/url-parser": "^3.0.11", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.31", + "@smithy/util-defaults-mode-node": "^3.0.31", + "@smithy/util-endpoints": "^2.1.7", + "@smithy/util-middleware": "^3.0.11", + "@smithy/util-retry": "^3.0.11", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/core": { + "version": "3.716.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.716.0.tgz", + "integrity": "sha512-5DkUiTrbyzO8/W4g7UFEqRFpuhgizayHI/Zbh0wtFMcot8801nJV+MP/YMhdjimlvAr/OqYB08FbGsPyWppMTw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.714.0", + "@smithy/core": "^2.5.5", + "@smithy/node-config-provider": "^3.1.12", + "@smithy/property-provider": "^3.1.11", + "@smithy/protocol-http": "^4.1.8", + "@smithy/signature-v4": "^4.2.4", + "@smithy/smithy-client": "^3.5.1", + "@smithy/types": "^3.7.2", + "@smithy/util-middleware": "^3.0.11", + "fast-xml-parser": "4.4.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-env": { + "version": "3.716.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.716.0.tgz", + "integrity": "sha512-JI2KQUnn2arICwP9F3CnqP1W3nAbm4+meQg/yOhp9X0DMzQiHrHRd4HIrK2vyVgi2/6hGhONY5uLF26yRTA7nQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.716.0", + "@aws-sdk/types": "3.714.0", + "@smithy/property-provider": "^3.1.11", + "@smithy/types": "^3.7.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-http": { + "version": "3.716.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.716.0.tgz", + "integrity": "sha512-CZ04pl2z7igQPysQyH2xKZHM3fLwkemxQbKOlje3TmiS1NwXvcKvERhp9PE/H23kOL7beTM19NMRog/Fka/rlw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.716.0", + "@aws-sdk/types": "3.714.0", + "@smithy/fetch-http-handler": "^4.1.2", + "@smithy/node-http-handler": "^3.3.2", + "@smithy/property-provider": "^3.1.11", + "@smithy/protocol-http": "^4.1.8", + "@smithy/smithy-client": "^3.5.1", + "@smithy/types": "^3.7.2", + "@smithy/util-stream": "^3.3.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.716.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.716.0.tgz", + "integrity": "sha512-P37We2GtZvdROxiwP0zrpEL81/HuYK1qlYxp5VCj3uV+G4mG8UQN2gMIU/baYrpOQqa0h81RfyQGRFUjVaDVqw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.716.0", + "@aws-sdk/credential-provider-env": "3.716.0", + "@aws-sdk/credential-provider-http": "3.716.0", + "@aws-sdk/credential-provider-process": "3.716.0", + "@aws-sdk/credential-provider-sso": "3.716.0", + "@aws-sdk/credential-provider-web-identity": "3.716.0", + "@aws-sdk/types": "3.714.0", + "@smithy/credential-provider-imds": "^3.2.8", + "@smithy/property-provider": "^3.1.11", + "@smithy/shared-ini-file-loader": "^3.1.12", + "@smithy/types": "^3.7.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-sts": "^3.716.0" + } + }, + "node_modules/@aws-sdk/credential-provider-node": { + "version": "3.716.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.716.0.tgz", + "integrity": "sha512-FGQPK2uKfS53dVvoskN/s/t6m0Po24BGd1PzJdzHBFCOjxbZLM6+8mDMXeyi2hCLVVQOUcuW41kOgmJ0+zMbww==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.716.0", + "@aws-sdk/credential-provider-http": "3.716.0", + "@aws-sdk/credential-provider-ini": "3.716.0", + "@aws-sdk/credential-provider-process": "3.716.0", + "@aws-sdk/credential-provider-sso": "3.716.0", + "@aws-sdk/credential-provider-web-identity": "3.716.0", + "@aws-sdk/types": "3.714.0", + "@smithy/credential-provider-imds": "^3.2.8", + "@smithy/property-provider": "^3.1.11", + "@smithy/shared-ini-file-loader": "^3.1.12", + "@smithy/types": "^3.7.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-process": { + "version": "3.716.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.716.0.tgz", + "integrity": "sha512-0spcu2MWVVHSTHH3WE2E//ttUJPwXRM3BCp+WyI41xLzpNu1Fd8zjOrDpEo0SnGUzsSiRTIJWgkuu/tqv9NJ2A==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.716.0", + "@aws-sdk/types": "3.714.0", + "@smithy/property-provider": "^3.1.11", + "@smithy/shared-ini-file-loader": "^3.1.12", + "@smithy/types": "^3.7.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.716.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.716.0.tgz", + "integrity": "sha512-J2IA3WuCpRGGoZm6VHZVFCnrxXP+41iUWb9Ct/1spljegTa1XjiaZ5Jf3+Ubj7WKiyvP9/dgz1L0bu2bYEjliw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/client-sso": "3.716.0", + "@aws-sdk/core": "3.716.0", + "@aws-sdk/token-providers": "3.714.0", + "@aws-sdk/types": "3.714.0", + "@smithy/property-provider": "^3.1.11", + "@smithy/shared-ini-file-loader": "^3.1.12", + "@smithy/types": "^3.7.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.716.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.716.0.tgz", + "integrity": "sha512-vzgpWKs2gGXZGdbMKRFrMW4PqEFWkGvwWH2T7ZwQv9m+8lQ7P4Dk2uimqu0f37HZAbpn8HFMqRh4CaySjU354A==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.716.0", + "@aws-sdk/types": "3.714.0", + "@smithy/property-provider": "^3.1.11", + "@smithy/types": "^3.7.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-sts": "^3.716.0" + } + }, + "node_modules/@aws-sdk/middleware-host-header": { + "version": "3.714.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.714.0.tgz", + "integrity": "sha512-6l68kjNrh5QC8FGX3I3geBDavWN5Tg1RLHJ2HLA8ByGBtJyCwnz3hEkKfaxn0bBx0hF9DzbfjEOUF6cDqy2Kjg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.714.0", + "@smithy/protocol-http": "^4.1.8", + "@smithy/types": "^3.7.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/middleware-logger": { + "version": "3.714.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.714.0.tgz", + "integrity": "sha512-RkqHlMvQWUaRklU1bMfUuBvdWwxgUtEqpADaHXlGVj3vtEY2UgBjy+57CveC4MByqKIunNvVHBBbjrGVtwY7Lg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.714.0", + "@smithy/types": "^3.7.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/middleware-recursion-detection": { + "version": "3.714.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.714.0.tgz", + "integrity": "sha512-AVU5ixnh93nqtsfgNc284oXsXaadyHGPHpql/jwgaaqQfEXjS/1/j3j9E/vpacfTTz2Vzo7hAOjnvrOXSEVDaA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.714.0", + "@smithy/protocol-http": "^4.1.8", + "@smithy/types": "^3.7.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/middleware-sdk-s3": { + "version": "3.716.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.716.0.tgz", + "integrity": "sha512-Qzz5OfRA/5brqfvq+JHTInwS1EuJ1+tC6qMtwKWJN3czMnVJVdnnsPTf+G5IM/1yYaGEIjY8rC1ExQLcc8ApFQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.716.0", + "@aws-sdk/types": "3.714.0", + "@aws-sdk/util-arn-parser": "3.693.0", + "@smithy/core": "^2.5.5", + "@smithy/node-config-provider": "^3.1.12", + "@smithy/protocol-http": "^4.1.8", + "@smithy/signature-v4": "^4.2.4", + "@smithy/smithy-client": "^3.5.1", + "@smithy/types": "^3.7.2", + "@smithy/util-config-provider": "^3.0.0", + "@smithy/util-middleware": "^3.0.11", + "@smithy/util-stream": "^3.3.2", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.716.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.716.0.tgz", + "integrity": "sha512-FpAtT6nNKrYdkDZndutEraiRMf+TgDzAGvniqRtZ/YTPA+gIsWrsn+TwMKINR81lFC3nQfb9deS5CFtxd021Ew==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.716.0", + "@aws-sdk/types": "3.714.0", + "@aws-sdk/util-endpoints": "3.714.0", + "@smithy/core": "^2.5.5", + "@smithy/protocol-http": "^4.1.8", + "@smithy/types": "^3.7.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/region-config-resolver": { + "version": "3.714.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.714.0.tgz", + "integrity": "sha512-HJzsQxgMOAzZrbf/YIqEx30or4tZK1oNAk6Wm6xecUQx+23JXIaePRu1YFUOLBBERQ4QBPpISFurZWBMZ5ibAw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.714.0", + "@smithy/node-config-provider": "^3.1.12", + "@smithy/types": "^3.7.2", + "@smithy/util-config-provider": "^3.0.0", + "@smithy/util-middleware": "^3.0.11", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/signature-v4-multi-region": { + "version": "3.716.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.716.0.tgz", + "integrity": "sha512-k0goWotZKKz+kV6Ln0qeAMSeSVi4NipuIIz5R8A0uCF2zBK4CXWdZR7KeaIoLBhJwQnHj1UU7E+2MK74KIUBzA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/middleware-sdk-s3": "3.716.0", + "@aws-sdk/types": "3.714.0", + "@smithy/protocol-http": "^4.1.8", + "@smithy/signature-v4": "^4.2.4", + "@smithy/types": "^3.7.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/token-providers": { + "version": "3.714.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.714.0.tgz", + "integrity": "sha512-vKN064aLE3kl+Zl16Ony3jltHnMddMBT7JRkP1L+lLywhA0PcAKxpdvComul/sTBWnbnwLnaS5NsDUhcWySH8A==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.714.0", + "@smithy/property-provider": "^3.1.11", + "@smithy/shared-ini-file-loader": "^3.1.12", + "@smithy/types": "^3.7.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-sso-oidc": "^3.714.0" + } + }, + "node_modules/@aws-sdk/types": { + "version": "3.714.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.714.0.tgz", + "integrity": "sha512-ZjpP2gYbSFlxxaUDa1Il5AVvfggvUPbjzzB/l3q0gIE5Thd6xKW+yzEpt2mLZ5s5UaYSABZbF94g8NUOF4CVGA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.7.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/util-arn-parser": { + "version": "3.693.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.693.0.tgz", + "integrity": "sha512-WC8x6ca+NRrtpAH64rWu+ryDZI3HuLwlEr8EU6/dbC/pt+r/zC0PBoC15VEygUaBA+isppCikQpGyEDu0Yj7gQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/util-endpoints": { + "version": "3.714.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.714.0.tgz", + "integrity": "sha512-Xv+Z2lhe7w7ZZRsgBwBMZgGTVmS+dkkj2S13uNHAx9lhB5ovM8PhK5G/j28xYf6vIibeuHkRAbb7/ozdZIGR+A==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.714.0", + "@smithy/types": "^3.7.2", + "@smithy/util-endpoints": "^2.1.7", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/util-locate-window": { + "version": "3.693.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.693.0.tgz", + "integrity": "sha512-ttrag6haJLWABhLqtg1Uf+4LgHWIMOVSYL+VYZmAp2v4PUGOwWmWQH0Zk8RM7YuQcLfH/EoR72/Yxz6A4FKcuw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/util-user-agent-browser": { + "version": "3.714.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.714.0.tgz", + "integrity": "sha512-OdJJ03cP9/MgIVToPJPCPUImbpZzTcwdIgbXC0tUQPJhbD7b7cB4LdnkhNHko+MptpOrCq4CPY/33EpOjRdofw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.714.0", + "@smithy/types": "^3.7.2", + "bowser": "^2.11.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.716.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.716.0.tgz", + "integrity": "sha512-3PqaXmQbxrtHKAsPCdp7kn5FrQktj8j3YyuNsqFZ8rWZeEQ88GWlsvE61PTsr2peYCKzpFqYVddef2x1axHU0w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/middleware-user-agent": "3.716.0", + "@aws-sdk/types": "3.714.0", + "@smithy/node-config-provider": "^3.1.12", + "@smithy/types": "^3.7.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } + } + }, + "node_modules/@babel/cli": { + "version": "7.26.4", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.26.4.tgz", + "integrity": "sha512-+mORf3ezU3p3qr+82WvJSnQNE1GAYeoCfEv4fik6B5/2cvKZ75AX8oawWQdXtM9MmndooQj15Jr9kelRFWsuRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.25", + "commander": "^6.2.0", + "convert-source-map": "^2.0.0", + "fs-readdir-recursive": "^1.1.0", + "glob": "^7.2.0", + "make-dir": "^2.1.0", + "slash": "^2.0.0" + }, + "bin": { + "babel": "bin/babel.js", + "babel-external-helpers": "bin/babel-external-helpers.js" + }, + "engines": { + "node": ">=6.9.0" + }, + "optionalDependencies": { + "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents.3", + "chokidar": "^3.6.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.3.tgz", + "integrity": "sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.0.tgz", + "integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.26.0", + "@babel/generator": "^7.26.0", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helpers": "^7.26.0", + "@babel/parser": "^7.26.0", + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.26.0", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.3.tgz", + "integrity": "sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.26.3", + "@babel/types": "^7.26.3", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz", + "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz", + "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.9.tgz", + "integrity": "sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/traverse": "^7.25.9", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.26.3.tgz", + "integrity": "sha512-G7ZRb40uUgdKOQqPLjfD12ZmGA54PzqDFUv2BKImnC9QIfGhIHKvVML0oN8IUiDq4iRqpq74ABpvOaerfWdong==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "regexpu-core": "^6.2.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.3.tgz", + "integrity": "sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz", + "integrity": "sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", + "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz", + "integrity": "sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz", + "integrity": "sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.9.tgz", + "integrity": "sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-wrap-function": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.9.tgz", + "integrity": "sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz", + "integrity": "sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.9.tgz", + "integrity": "sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.0.tgz", + "integrity": "sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.25.9", + "@babel/types": "^7.26.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.3.tgz", + "integrity": "sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.26.3" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz", + "integrity": "sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.9.tgz", + "integrity": "sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.9.tgz", + "integrity": "sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz", + "integrity": "sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/plugin-transform-optional-chaining": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.9.tgz", + "integrity": "sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz", + "integrity": "sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", + "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz", + "integrity": "sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz", + "integrity": "sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz", + "integrity": "sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.9.tgz", + "integrity": "sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-remap-async-to-generator": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz", + "integrity": "sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-remap-async-to-generator": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.25.9.tgz", + "integrity": "sha512-toHc9fzab0ZfenFpsyYinOX0J/5dgJVA2fm64xPewu7CoYHWEivIWKxkK2rMi4r3yQqLnVmheMXRdG+k239CgA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.9.tgz", + "integrity": "sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz", + "integrity": "sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.26.0.tgz", + "integrity": "sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz", + "integrity": "sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9", + "@babel/traverse": "^7.25.9", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-classes/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz", + "integrity": "sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/template": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz", + "integrity": "sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz", + "integrity": "sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz", + "integrity": "sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.9.tgz", + "integrity": "sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz", + "integrity": "sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.26.3.tgz", + "integrity": "sha512-7CAHcQ58z2chuXPWblnn1K6rLDnDWieghSOEmqQsrBenH0P9InCUtOJYD89pvngljmZlJcz3fcmgYsXFNGa1ZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz", + "integrity": "sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.25.9.tgz", + "integrity": "sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz", + "integrity": "sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz", + "integrity": "sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz", + "integrity": "sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz", + "integrity": "sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz", + "integrity": "sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz", + "integrity": "sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.26.3.tgz", + "integrity": "sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz", + "integrity": "sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz", + "integrity": "sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz", + "integrity": "sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz", + "integrity": "sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.25.9.tgz", + "integrity": "sha512-ENfftpLZw5EItALAD4WsY/KUWvhUlZndm5GC7G3evUsVeSJB6p0pBeLQUnRnBCBx7zV0RKQjR9kCuwrsIrjWog==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz", + "integrity": "sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz", + "integrity": "sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-transform-parameters": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz", + "integrity": "sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz", + "integrity": "sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz", + "integrity": "sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.9.tgz", + "integrity": "sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz", + "integrity": "sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz", + "integrity": "sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz", + "integrity": "sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.9.tgz", + "integrity": "sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "regenerator-transform": "^0.15.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regexp-modifiers": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.26.0.tgz", + "integrity": "sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz", + "integrity": "sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.25.9.tgz", + "integrity": "sha512-nZp7GlEl+yULJrClz0SwHPqir3lc0zsPrDHQUcxGspSL7AKrexNSEfTbfqnDNJUO13bgKyfuOLMF8Xqtu8j3YQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.6", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz", + "integrity": "sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz", + "integrity": "sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz", + "integrity": "sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.25.9.tgz", + "integrity": "sha512-o97AE4syN71M/lxrCtQByzphAdlYluKPDBzDVzMmfCobUjjhAryZV0AIpRPrxN0eAkxXO6ZLEScmt+PNhj2OTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.25.9.tgz", + "integrity": "sha512-v61XqUMiueJROUv66BVIOi0Fv/CUuZuZMl5NkRoCVxLAnMexZ0A3kMe7vvZ0nulxMuMp0Mk6S5hNh48yki08ZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.26.3.tgz", + "integrity": "sha512-6+5hpdr6mETwSKjmJUdYw0EIkATiQhnELWlE3kJFBwSg/BGIVwVaVbX+gOXBCdc7Ln1RXZxyWGecIXhUfnl7oA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/plugin-syntax-typescript": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz", + "integrity": "sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz", + "integrity": "sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz", + "integrity": "sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz", + "integrity": "sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.26.0.tgz", + "integrity": "sha512-H84Fxq0CQJNdPFT2DrfnylZ3cf5K43rGfWK4LJGPpjKHiZlk0/RzwEus3PDDZZg+/Er7lCA03MVacueUuXdzfw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.26.0", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.9", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.9", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.9", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.25.9", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.9", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-import-assertions": "^7.26.0", + "@babel/plugin-syntax-import-attributes": "^7.26.0", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.25.9", + "@babel/plugin-transform-async-generator-functions": "^7.25.9", + "@babel/plugin-transform-async-to-generator": "^7.25.9", + "@babel/plugin-transform-block-scoped-functions": "^7.25.9", + "@babel/plugin-transform-block-scoping": "^7.25.9", + "@babel/plugin-transform-class-properties": "^7.25.9", + "@babel/plugin-transform-class-static-block": "^7.26.0", + "@babel/plugin-transform-classes": "^7.25.9", + "@babel/plugin-transform-computed-properties": "^7.25.9", + "@babel/plugin-transform-destructuring": "^7.25.9", + "@babel/plugin-transform-dotall-regex": "^7.25.9", + "@babel/plugin-transform-duplicate-keys": "^7.25.9", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.9", + "@babel/plugin-transform-dynamic-import": "^7.25.9", + "@babel/plugin-transform-exponentiation-operator": "^7.25.9", + "@babel/plugin-transform-export-namespace-from": "^7.25.9", + "@babel/plugin-transform-for-of": "^7.25.9", + "@babel/plugin-transform-function-name": "^7.25.9", + "@babel/plugin-transform-json-strings": "^7.25.9", + "@babel/plugin-transform-literals": "^7.25.9", + "@babel/plugin-transform-logical-assignment-operators": "^7.25.9", + "@babel/plugin-transform-member-expression-literals": "^7.25.9", + "@babel/plugin-transform-modules-amd": "^7.25.9", + "@babel/plugin-transform-modules-commonjs": "^7.25.9", + "@babel/plugin-transform-modules-systemjs": "^7.25.9", + "@babel/plugin-transform-modules-umd": "^7.25.9", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.25.9", + "@babel/plugin-transform-new-target": "^7.25.9", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.25.9", + "@babel/plugin-transform-numeric-separator": "^7.25.9", + "@babel/plugin-transform-object-rest-spread": "^7.25.9", + "@babel/plugin-transform-object-super": "^7.25.9", + "@babel/plugin-transform-optional-catch-binding": "^7.25.9", + "@babel/plugin-transform-optional-chaining": "^7.25.9", + "@babel/plugin-transform-parameters": "^7.25.9", + "@babel/plugin-transform-private-methods": "^7.25.9", + "@babel/plugin-transform-private-property-in-object": "^7.25.9", + "@babel/plugin-transform-property-literals": "^7.25.9", + "@babel/plugin-transform-regenerator": "^7.25.9", + "@babel/plugin-transform-regexp-modifiers": "^7.26.0", + "@babel/plugin-transform-reserved-words": "^7.25.9", + "@babel/plugin-transform-shorthand-properties": "^7.25.9", + "@babel/plugin-transform-spread": "^7.25.9", + "@babel/plugin-transform-sticky-regex": "^7.25.9", + "@babel/plugin-transform-template-literals": "^7.25.9", + "@babel/plugin-transform-typeof-symbol": "^7.25.9", + "@babel/plugin-transform-unicode-escapes": "^7.25.9", + "@babel/plugin-transform-unicode-property-regex": "^7.25.9", + "@babel/plugin-transform-unicode-regex": "^7.25.9", + "@babel/plugin-transform-unicode-sets-regex": "^7.25.9", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.6", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "core-js-compat": "^3.38.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.26.0.tgz", + "integrity": "sha512-NMk1IGZ5I/oHhoXEElcm+xUnL/szL6xflkFZmoEU9xj1qSJXpiS7rsspYo92B4DRCDvZn2erT5LdsCeXAKNCkg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "@babel/plugin-syntax-jsx": "^7.25.9", + "@babel/plugin-transform-modules-commonjs": "^7.25.9", + "@babel/plugin-transform-typescript": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.0.tgz", + "integrity": "sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==", + "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/runtime-corejs3": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.26.0.tgz", + "integrity": "sha512-YXHu5lN8kJCb1LOb9PgV6pvak43X2h4HvRApcN5SdWeaItQOzfn1hgP6jasD6KWQyJDBxrVmA9o9OivlnNJK/w==", + "license": "MIT", + "dependencies": { + "core-js-pure": "^3.30.2", + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz", + "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.26.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.4.tgz", + "integrity": "sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.3", + "@babel/parser": "^7.26.3", + "@babel/template": "^7.25.9", + "@babel/types": "^7.26.3", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/types": { + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.3.tgz", + "integrity": "sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@commitlint/config-validator": { + "version": "19.5.0", + "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-19.5.0.tgz", + "integrity": "sha512-CHtj92H5rdhKt17RmgALhfQt95VayrUo2tSqY9g2w+laAXyk7K/Ef6uPm9tn5qSIwSmrLjKaXK9eiNuxmQrDBw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@commitlint/types": "^19.5.0", + "ajv": "^8.11.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/execute-rule": { + "version": "19.5.0", + "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-19.5.0.tgz", + "integrity": "sha512-aqyGgytXhl2ejlk+/rfgtwpPexYyri4t8/n4ku6rRJoRhGZpLFMqrZ+YaubeGysCP6oz4mMA34YSTaSOKEeNrg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/load": { + "version": "19.6.1", + "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-19.6.1.tgz", + "integrity": "sha512-kE4mRKWWNju2QpsCWt428XBvUH55OET2N4QKQ0bF85qS/XbsRGG1MiTByDNlEVpEPceMkDr46LNH95DtRwcsfA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@commitlint/config-validator": "^19.5.0", + "@commitlint/execute-rule": "^19.5.0", + "@commitlint/resolve-extends": "^19.5.0", + "@commitlint/types": "^19.5.0", + "chalk": "^5.3.0", + "cosmiconfig": "^9.0.0", + "cosmiconfig-typescript-loader": "^6.1.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2", + "lodash.uniq": "^4.5.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/load/node_modules/chalk": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", + "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@commitlint/resolve-extends": { + "version": "19.5.0", + "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-19.5.0.tgz", + "integrity": "sha512-CU/GscZhCUsJwcKTJS9Ndh3AKGZTNFIOoQB2n8CmFnizE0VnEuJoum+COW+C1lNABEeqk6ssfc1Kkalm4bDklA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@commitlint/config-validator": "^19.5.0", + "@commitlint/types": "^19.5.0", + "global-directory": "^4.0.1", + "import-meta-resolve": "^4.0.0", + "lodash.mergewith": "^4.6.2", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/types": { + "version": "19.5.0", + "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-19.5.0.tgz", + "integrity": "sha512-DSHae2obMSMkAtTBSOulg5X7/z+rGLxcXQIkg3OmWvY6wifojge5uVMydfhUvs7yQj+V7jNmRZ2Xzl8GJyqRgg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@types/conventional-commits-parser": "^5.0.0", + "chalk": "^5.3.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/types/node_modules/chalk": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", + "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", + "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.1.tgz", + "integrity": "sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.5", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.9.1.tgz", + "integrity": "sha512-GuUdqkyyzQI5RMIWkHhvTWLCyLo1jNK3vzkSyaExH5kHPDHcuL2VOpHjmMY+y3+NC69qAKToBqldTBgYeLSr9Q==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.2.0.tgz", + "integrity": "sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "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" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@eslint/js": { + "version": "9.17.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.17.0.tgz", + "integrity": "sha512-Sxc4hqcs1kTu0iID3kcZDW3JHq2a77HO9P8CP6YEA/FpH3Ll8UXE2r/86Rz9YJLKme39S9vU5OWNjC6Xl0Cr3w==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.5.tgz", + "integrity": "sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.4.tgz", + "integrity": "sha512-zSkKow6H5Kdm0ZUQUB2kV5JIXqoG0+uH5YADhaEHswm664N9Db8dXSi0nMJpacpMf+MyyglF1vnZohpEg5yUtg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", + "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.3.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.1.tgz", + "integrity": "sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "license": "ISC", + "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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", + "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/console/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", + "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/reporters": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.7.0", + "jest-config": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-resolve-dependencies": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "jest-watcher": "^29.7.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/core/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/create-cache-key-function": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz", + "integrity": "sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/environment": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "expect": "^29.7.0", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", + "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "jest-get-type": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", + "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/types": "^29.6.3", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", + "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/reporters/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-result": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", + "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", + "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/test-result": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-sequencer/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/transform": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/transform/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", + "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nicolo-ribaudo/chokidar-2": { + "version": "2.1.8-no-fsevents.3", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz", + "integrity": "sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@octokit/auth-token": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.1.tgz", + "integrity": "sha512-rh3G3wDO8J9wSjfI436JUKzHIxq8NaiL0tVeB2aXmG6p/9859aUOAjA9pmSPNGGZxfwmaJ9ozOJImuNVJdpvbA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/core": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.2.tgz", + "integrity": "sha512-hEb7Ma4cGJGEUNOAVmyfdB/3WirWMg5hDuNFVejGEDFqupeOysLc2sG6HJxY2etBp5YQu5Wtxwi020jS9xlUwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/auth-token": "^5.0.0", + "@octokit/graphql": "^8.0.0", + "@octokit/request": "^9.0.0", + "@octokit/request-error": "^6.0.1", + "@octokit/types": "^13.0.0", + "before-after-hook": "^3.0.2", + "universal-user-agent": "^7.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/endpoint": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.2.tgz", + "integrity": "sha512-XybpFv9Ms4hX5OCHMZqyODYqGTZ3H6K6Vva+M9LR7ib/xr1y1ZnlChYv9H680y77Vd/i/k+thXApeRASBQkzhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/types": "^13.6.2", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/graphql": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.1.2.tgz", + "integrity": "sha512-bdlj/CJVjpaz06NBpfHhp4kGJaRZfz7AzC+6EwUImRtrwIw8dIgJ63Xg0OzV9pRn3rIzrt5c2sa++BL0JJ8GLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/request": "^9.1.4", + "@octokit/types": "^13.6.2", + "universal-user-agent": "^7.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/openapi-types": { + "version": "22.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-22.2.0.tgz", + "integrity": "sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@octokit/plugin-paginate-rest": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.3.6.tgz", + "integrity": "sha512-zcvqqf/+TicbTCa/Z+3w4eBJcAxCFymtc0UAIsR3dEVoNilWld4oXdscQ3laXamTszUZdusw97K8+DrbFiOwjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/types": "^13.6.2" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": ">=6" + } + }, + "node_modules/@octokit/plugin-retry": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-7.1.2.tgz", + "integrity": "sha512-XOWnPpH2kJ5VTwozsxGurw+svB2e61aWlmk5EVIYZPwFK5F9h4cyPyj9CIKRyMXMHSwpIsI3mPOdpMmrRhe7UQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/request-error": "^6.0.0", + "@octokit/types": "^13.0.0", + "bottleneck": "^2.15.3" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": ">=6" + } + }, + "node_modules/@octokit/plugin-throttling": { + "version": "9.3.2", + "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-9.3.2.tgz", + "integrity": "sha512-FqpvcTpIWFpMMwIeSoypoJXysSAQ3R+ALJhXXSG1HTP3YZOIeLmcNcimKaXxTcws+Sh6yoRl13SJ5r8sXc1Fhw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/types": "^13.0.0", + "bottleneck": "^2.15.3" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": "^6.0.0" + } + }, + "node_modules/@octokit/request": { + "version": "9.1.4", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.1.4.tgz", + "integrity": "sha512-tMbOwGm6wDII6vygP3wUVqFTw3Aoo0FnVQyhihh8vVq12uO3P+vQZeo2CKMpWtPSogpACD0yyZAlVlQnjW71DA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/endpoint": "^10.0.0", + "@octokit/request-error": "^6.0.1", + "@octokit/types": "^13.6.2", + "fast-content-type-parse": "^2.0.0", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/request-error": { + "version": "6.1.6", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.6.tgz", + "integrity": "sha512-pqnVKYo/at0NuOjinrgcQYpEbv4snvP3bKMRqHaD9kIsk9u1LCpb2smHZi8/qJfgeNqLo5hNW4Z7FezNdEo0xg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/types": "^13.6.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/types": { + "version": "13.6.2", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.6.2.tgz", + "integrity": "sha512-WpbZfZUcZU77DrSW4wbsSgTPfKcp286q3ItaIgvSbBpZJlu6mnYXAkjZz6LVZPXkEvLIM8McanyZejKTYUHipA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^22.2.0" + } + }, + "node_modules/@pnpm/config.env-replace": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz", + "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.22.0" + } + }, + "node_modules/@pnpm/network.ca-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz", + "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "4.2.10" + }, + "engines": { + "node": ">=12.22.0" + } + }, + "node_modules/@pnpm/network.ca-file/node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true, + "license": "ISC" + }, + "node_modules/@pnpm/npm-conf": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-2.3.1.tgz", + "integrity": "sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@pnpm/config.env-replace": "^1.1.0", + "@pnpm/network.ca-file": "^1.0.1", + "config-chain": "^1.1.11" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@rollup/plugin-babel": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-6.0.4.tgz", + "integrity": "sha512-YF7Y52kFdFT/xVSuVdjkV5ZdX/3YtmX0QulG+x0taQOtJdHYzVU61aSSkAgVJ7NOv6qPkIYiJSgSWWN/DM5sGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.18.6", + "@rollup/pluginutils": "^5.0.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "@types/babel__core": "^7.1.9", + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "@types/babel__core": { + "optional": true + }, + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-commonjs": { + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-28.0.2.tgz", + "integrity": "sha512-BEFI2EDqzl+vA1rl97IDRZ61AIwGH093d9nz8+dThxJNH8oSoB7MjWvPCX3dkaK1/RCJ/1v/R1XB15FuSs0fQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "commondir": "^1.0.1", + "estree-walker": "^2.0.2", + "fdir": "^6.2.0", + "is-reference": "1.2.1", + "magic-string": "^0.30.3", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=16.0.0 || 14 >= 14.17" + }, + "peerDependencies": { + "rollup": "^2.68.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-node-resolve": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-16.0.0.tgz", + "integrity": "sha512-0FPvAeVUT/zdWoO0jnb/V5BlBsUSNfkIOtFHzMO4H9MOklrmQFY6FduVHKucNb/aTFxvnGhj4MNj/T1oNdDfNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "@types/resolve": "1.20.2", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.22.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.78.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-terser": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.4.tgz", + "integrity": "sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "serialize-javascript": "^6.0.1", + "smob": "^1.0.0", + "terser": "^5.17.4" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-typescript": { + "version": "12.1.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-12.1.2.tgz", + "integrity": "sha512-cdtSp154H5sv637uMr1a8OTWB0L1SWDSm1rDGiyfcGcvQ6cuTs4MDk2BVEBGysUWago4OJN4EQZqOTl/QY3Jgg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.1.0", + "resolve": "^1.22.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.14.0||^3.0.0||^4.0.0", + "tslib": "*", + "typescript": ">=3.7.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + }, + "tslib": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.4.tgz", + "integrity": "sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.29.1.tgz", + "integrity": "sha512-ssKhA8RNltTZLpG6/QNkCSge+7mBQGUqJRisZ2MDQcEGaK93QESEgWK2iOpIDZ7k9zPVkG5AS3ksvD5ZWxmItw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.29.1.tgz", + "integrity": "sha512-CaRfrV0cd+NIIcVVN/jx+hVLN+VRqnuzLRmfmlzpOzB87ajixsN/+9L5xNmkaUUvEbI5BmIKS+XTwXsHEb65Ew==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.29.1.tgz", + "integrity": "sha512-2ORr7T31Y0Mnk6qNuwtyNmy14MunTAMx06VAPI6/Ju52W10zk1i7i5U3vlDRWjhOI5quBcrvhkCHyF76bI7kEw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.29.1.tgz", + "integrity": "sha512-j/Ej1oanzPjmN0tirRd5K2/nncAhS9W6ICzgxV+9Y5ZsP0hiGhHJXZ2JQ53iSSjj8m6cRY6oB1GMzNn2EUt6Ng==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.29.1.tgz", + "integrity": "sha512-91C//G6Dm/cv724tpt7nTyP+JdN12iqeXGFM1SqnljCmi5yTXriH7B1r8AD9dAZByHpKAumqP1Qy2vVNIdLZqw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.29.1.tgz", + "integrity": "sha512-hEioiEQ9Dec2nIRoeHUP6hr1PSkXzQaCUyqBDQ9I9ik4gCXQZjJMIVzoNLBRGet+hIUb3CISMh9KXuCcWVW/8w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.29.1.tgz", + "integrity": "sha512-Py5vFd5HWYN9zxBv3WMrLAXY3yYJ6Q/aVERoeUFwiDGiMOWsMs7FokXihSOaT/PMWUty/Pj60XDQndK3eAfE6A==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.29.1.tgz", + "integrity": "sha512-RiWpGgbayf7LUcuSNIbahr0ys2YnEERD4gYdISA06wa0i8RALrnzflh9Wxii7zQJEB2/Eh74dX4y/sHKLWp5uQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.29.1.tgz", + "integrity": "sha512-Z80O+taYxTQITWMjm/YqNoe9d10OX6kDh8X5/rFCMuPqsKsSyDilvfg+vd3iXIqtfmp+cnfL1UrYirkaF8SBZA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.29.1.tgz", + "integrity": "sha512-fOHRtF9gahwJk3QVp01a/GqS4hBEZCV1oKglVVq13kcK3NeVlS4BwIFzOHDbmKzt3i0OuHG4zfRP0YoG5OF/rA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.29.1.tgz", + "integrity": "sha512-5a7q3tnlbcg0OodyxcAdrrCxFi0DgXJSoOuidFUzHZ2GixZXQs6Tc3CHmlvqKAmOs5eRde+JJxeIf9DonkmYkw==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.29.1.tgz", + "integrity": "sha512-9b4Mg5Yfz6mRnlSPIdROcfw1BU22FQxmfjlp/CShWwO3LilKQuMISMTtAu/bxmmrE6A902W2cZJuzx8+gJ8e9w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.29.1.tgz", + "integrity": "sha512-G5pn0NChlbRM8OJWpJFMX4/i8OEU538uiSv0P6roZcbpe/WfhEO+AT8SHVKfp8qhDQzaz7Q+1/ixMy7hBRidnQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.29.1.tgz", + "integrity": "sha512-WM9lIkNdkhVwiArmLxFXpWndFGuOka4oJOZh8EP3Vb8q5lzdSCBuhjavJsw68Q9AKDGeOOIHYzYm4ZFvmWez5g==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.29.1.tgz", + "integrity": "sha512-87xYCwb0cPGZFoGiErT1eDcssByaLX4fc0z2nRM6eMtV9njAfEE6OW3UniAoDhX4Iq5xQVpE6qO9aJbCFumKYQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.29.1.tgz", + "integrity": "sha512-xufkSNppNOdVRCEC4WKvlR1FBDyqCSCpQeMMgv9ZyXqqtKBfkw1yfGMTUTs9Qsl6WQbJnsGboWCp7pJGkeMhKA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.29.1.tgz", + "integrity": "sha512-F2OiJ42m77lSkizZQLuC+jiZ2cgueWQL5YC9tjo3AgaEw+KJmVxHGSyQfDUoYR9cci0lAywv2Clmckzulcq6ig==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.29.1.tgz", + "integrity": "sha512-rYRe5S0FcjlOBZQHgbTKNrqxCBUmgDJem/VQTCcTnA2KCabYSWQDrytOzX7avb79cAAweNmMUb/Zw18RNd4mng==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.29.1.tgz", + "integrity": "sha512-+10CMg9vt1MoHj6x1pxyjPSMjHTIlqs8/tBztXvPAx24SKs9jwVnKqHJumlH/IzhaPUaj3T6T6wfZr8okdXaIg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@sec-ant/readable-stream": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", + "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@semantic-release/commit-analyzer": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-13.0.0.tgz", + "integrity": "sha512-KtXWczvTAB1ZFZ6B4O+w8HkfYm/OgQb1dUGNFZtDgQ0csggrmkq8sTxhd+lwGF8kMb59/RnG9o4Tn7M/I8dQ9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "conventional-changelog-angular": "^8.0.0", + "conventional-changelog-writer": "^8.0.0", + "conventional-commits-filter": "^5.0.0", + "conventional-commits-parser": "^6.0.0", + "debug": "^4.0.0", + "import-from-esm": "^1.0.3", + "lodash-es": "^4.17.21", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=20.8.1" + }, + "peerDependencies": { + "semantic-release": ">=20.1.0" + } + }, + "node_modules/@semantic-release/error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-4.0.0.tgz", + "integrity": "sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@semantic-release/github": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-11.0.1.tgz", + "integrity": "sha512-Z9cr0LgU/zgucbT9cksH0/pX9zmVda9hkDPcgIE0uvjMQ8w/mElDivGjx1w1pEQ+MuQJ5CBq3VCF16S6G4VH3A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/core": "^6.0.0", + "@octokit/plugin-paginate-rest": "^11.0.0", + "@octokit/plugin-retry": "^7.0.0", + "@octokit/plugin-throttling": "^9.0.0", + "@semantic-release/error": "^4.0.0", + "aggregate-error": "^5.0.0", + "debug": "^4.3.4", + "dir-glob": "^3.0.1", + "globby": "^14.0.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.0", + "issue-parser": "^7.0.0", + "lodash-es": "^4.17.21", + "mime": "^4.0.0", + "p-filter": "^4.0.0", + "url-join": "^5.0.0" + }, + "engines": { + "node": ">=20.8.1" + }, + "peerDependencies": { + "semantic-release": ">=24.1.0" + } + }, + "node_modules/@semantic-release/npm": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-12.0.1.tgz", + "integrity": "sha512-/6nntGSUGK2aTOI0rHPwY3ZjgY9FkXmEHbW9Kr+62NVOsyqpKKeP0lrCH+tphv+EsNdJNmqqwijTEnVWUMQ2Nw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@semantic-release/error": "^4.0.0", + "aggregate-error": "^5.0.0", + "execa": "^9.0.0", + "fs-extra": "^11.0.0", + "lodash-es": "^4.17.21", + "nerf-dart": "^1.0.0", + "normalize-url": "^8.0.0", + "npm": "^10.5.0", + "rc": "^1.2.8", + "read-pkg": "^9.0.0", + "registry-auth-token": "^5.0.0", + "semver": "^7.1.2", + "tempy": "^3.0.0" + }, + "engines": { + "node": ">=20.8.1" + }, + "peerDependencies": { + "semantic-release": ">=20.1.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/@sindresorhus/merge-streams": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", + "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/npm/node_modules/execa": { + "version": "9.5.2", + "resolved": "https://registry.npmjs.org/execa/-/execa-9.5.2.tgz", + "integrity": "sha512-EHlpxMCpHWSAh1dgS6bVeoLAXGnJNdR93aabr4QCGbzOM73o5XmRfM/e5FUqsw3aagP8S8XEWUWFAxnRBnAF0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sindresorhus/merge-streams": "^4.0.0", + "cross-spawn": "^7.0.3", + "figures": "^6.1.0", + "get-stream": "^9.0.0", + "human-signals": "^8.0.0", + "is-plain-obj": "^4.1.0", + "is-stream": "^4.0.1", + "npm-run-path": "^6.0.0", + "pretty-ms": "^9.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^4.0.0", + "yoctocolors": "^2.0.0" + }, + "engines": { + "node": "^18.19.0 || >=20.5.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/@semantic-release/npm/node_modules/figures": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz", + "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-unicode-supported": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/npm/node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@semantic-release/npm/node_modules/get-stream": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", + "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sec-ant/readable-stream": "^0.4.1", + "is-stream": "^4.0.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/npm/node_modules/human-signals": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.0.tgz", + "integrity": "sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@semantic-release/npm/node_modules/is-stream": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", + "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/npm/node_modules/is-unicode-supported": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", + "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/npm/node_modules/npm-run-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz", + "integrity": "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^4.0.0", + "unicorn-magic": "^0.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/npm/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/npm/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@semantic-release/npm/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@semantic-release/npm/node_modules/strip-final-newline": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-4.0.0.tgz", + "integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/npm/node_modules/unicorn-magic": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", + "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/release-notes-generator": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-14.0.2.tgz", + "integrity": "sha512-ur2l2tVLBfX3fSEO2rCy2X6Kzg5S7BHGqdwTHvJrpWp4mOEN7W4K/2kWAjvfAlwMenEKjMnDIhBbxxjnP0S9hw==", + "dev": true, + "license": "MIT", + "dependencies": { + "conventional-changelog-angular": "^8.0.0", + "conventional-changelog-writer": "^8.0.0", + "conventional-commits-filter": "^5.0.0", + "conventional-commits-parser": "^6.0.0", + "debug": "^4.0.0", + "get-stream": "^7.0.0", + "import-from-esm": "^1.0.3", + "into-stream": "^7.0.0", + "lodash-es": "^4.17.21", + "read-package-up": "^11.0.0" + }, + "engines": { + "node": ">=20.8.1" + }, + "peerDependencies": { + "semantic-release": ">=20.1.0" + } + }, + "node_modules/@semantic-release/release-notes-generator/node_modules/get-stream": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-7.0.1.tgz", + "integrity": "sha512-3M8C1EOFN6r8AMUhwUAACIoXZJEOufDU5+0gFFN5uNs6XYOralD2Pqkl7m046va6x77FwposWXbAhPPIOus7mQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@sindresorhus/is": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", + "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/@sindresorhus/merge-streams": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", + "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@sinonjs/commons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, + "node_modules/@smithy/abort-controller": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-3.1.9.tgz", + "integrity": "sha512-yiW0WI30zj8ZKoSYNx90no7ugVn3khlyH/z5W8qtKBtVE6awRALbhSG+2SAHA1r6bO/6M9utxYKVZ3PCJ1rWxw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.7.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/config-resolver": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-3.0.13.tgz", + "integrity": "sha512-Gr/qwzyPaTL1tZcq8WQyHhTZREER5R1Wytmz4WnVGL4onA3dNk6Btll55c8Vr58pLdvWZmtG8oZxJTw3t3q7Jg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/node-config-provider": "^3.1.12", + "@smithy/types": "^3.7.2", + "@smithy/util-config-provider": "^3.0.0", + "@smithy/util-middleware": "^3.0.11", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/core": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@smithy/core/-/core-2.5.6.tgz", + "integrity": "sha512-w494xO+CPwG/5B/N2l0obHv2Fi9U4DAY+sTi1GWT3BVvGpZetJjJXAynIO9IHp4zS1PinGhXtRSZydUXbJO4ag==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/middleware-serde": "^3.0.11", + "@smithy/protocol-http": "^4.1.8", + "@smithy/types": "^3.7.2", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-middleware": "^3.0.11", + "@smithy/util-stream": "^3.3.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/credential-provider-imds": { + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-3.2.8.tgz", + "integrity": "sha512-ZCY2yD0BY+K9iMXkkbnjo+08T2h8/34oHd0Jmh6BZUSZwaaGlGCyBT/3wnS7u7Xl33/EEfN4B6nQr3Gx5bYxgw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/node-config-provider": "^3.1.12", + "@smithy/property-provider": "^3.1.11", + "@smithy/types": "^3.7.2", + "@smithy/url-parser": "^3.0.11", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/fetch-http-handler": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-4.1.2.tgz", + "integrity": "sha512-R7rU7Ae3ItU4rC0c5mB2sP5mJNbCfoDc8I5XlYjIZnquyUwec7fEo78F6DA3SmgJgkU1qTMcZJuGblxZsl10ZA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/protocol-http": "^4.1.8", + "@smithy/querystring-builder": "^3.0.11", + "@smithy/types": "^3.7.2", + "@smithy/util-base64": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/hash-node": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-3.0.11.tgz", + "integrity": "sha512-emP23rwYyZhQBvklqTtwetkQlqbNYirDiEEwXl2v0GYWMnCzxst7ZaRAnWuy28njp5kAH54lvkdG37MblZzaHA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.7.2", + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/invalid-dependency": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-3.0.11.tgz", + "integrity": "sha512-NuQmVPEJjUX6c+UELyVz8kUx8Q539EDeNwbRyu4IIF8MeV7hUtq1FB3SHVyki2u++5XLMFqngeMKk7ccspnNyQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.7.2", + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/middleware-content-length": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-3.0.13.tgz", + "integrity": "sha512-zfMhzojhFpIX3P5ug7jxTjfUcIPcGjcQYzB9t+rv0g1TX7B0QdwONW+ATouaLoD7h7LOw/ZlXfkq4xJ/g2TrIw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/protocol-http": "^4.1.8", + "@smithy/types": "^3.7.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/middleware-endpoint": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-3.2.7.tgz", + "integrity": "sha512-GTxSKf280aJBANGN97MomUQhW1VNxZ6w7HAj/pvZM5MUHbMPOGnWOp1PRYKi4czMaHNj9bdiA+ZarmT3Wkdqiw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/core": "^2.5.6", + "@smithy/middleware-serde": "^3.0.11", + "@smithy/node-config-provider": "^3.1.12", + "@smithy/shared-ini-file-loader": "^3.1.12", + "@smithy/types": "^3.7.2", + "@smithy/url-parser": "^3.0.11", + "@smithy/util-middleware": "^3.0.11", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/middleware-retry": { + "version": "3.0.32", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-3.0.32.tgz", + "integrity": "sha512-v8gVA9HqibuZkFuFpfkC/EcHE8no/3Mv3JvRUGly63Axt4yyas1WDVOasFSdiqm2hZVpY7/k8mRT1Wd5k7r3Yw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/node-config-provider": "^3.1.12", + "@smithy/protocol-http": "^4.1.8", + "@smithy/service-error-classification": "^3.0.11", + "@smithy/smithy-client": "^3.5.2", + "@smithy/types": "^3.7.2", + "@smithy/util-middleware": "^3.0.11", + "@smithy/util-retry": "^3.0.11", + "tslib": "^2.6.2", + "uuid": "^9.0.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/middleware-serde": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-3.0.11.tgz", + "integrity": "sha512-KzPAeySp/fOoQA82TpnwItvX8BBURecpx6ZMu75EZDkAcnPtO6vf7q4aH5QHs/F1s3/snQaSFbbUMcFFZ086Mw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.7.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/middleware-stack": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-3.0.11.tgz", + "integrity": "sha512-1HGo9a6/ikgOMrTrWL/WiN9N8GSVYpuRQO5kjstAq4CvV59bjqnh7TbdXGQ4vxLD3xlSjfBjq5t1SOELePsLnA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.7.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/node-config-provider": { + "version": "3.1.12", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.12.tgz", + "integrity": "sha512-O9LVEu5J/u/FuNlZs+L7Ikn3lz7VB9hb0GtPT9MQeiBmtK8RSY3ULmsZgXhe6VAlgTw0YO+paQx4p8xdbs43vQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/property-provider": "^3.1.11", + "@smithy/shared-ini-file-loader": "^3.1.12", + "@smithy/types": "^3.7.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/node-http-handler": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.3.3.tgz", + "integrity": "sha512-BrpZOaZ4RCbcJ2igiSNG16S+kgAc65l/2hmxWdmhyoGWHTLlzQzr06PXavJp9OBlPEG/sHlqdxjWmjzV66+BSQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/abort-controller": "^3.1.9", + "@smithy/protocol-http": "^4.1.8", + "@smithy/querystring-builder": "^3.0.11", + "@smithy/types": "^3.7.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/property-provider": { + "version": "3.1.11", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.11.tgz", + "integrity": "sha512-I/+TMc4XTQ3QAjXfOcUWbSS073oOEAxgx4aZy8jHaf8JQnRkq2SZWw8+PfDtBvLUjcGMdxl+YwtzWe6i5uhL/A==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.7.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/protocol-http": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.8.tgz", + "integrity": "sha512-hmgIAVyxw1LySOwkgMIUN0kjN8TG9Nc85LJeEmEE/cNEe2rkHDUWhnJf2gxcSRFLWsyqWsrZGw40ROjUogg+Iw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.7.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/querystring-builder": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-3.0.11.tgz", + "integrity": "sha512-u+5HV/9uJaeLj5XTb6+IEF/dokWWkEqJ0XiaRRogyREmKGUgZnNecLucADLdauWFKUNbQfulHFEZEdjwEBjXRg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.7.2", + "@smithy/util-uri-escape": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/querystring-parser": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-3.0.11.tgz", + "integrity": "sha512-Je3kFvCsFMnso1ilPwA7GtlbPaTixa3WwC+K21kmMZHsBEOZYQaqxcMqeFFoU7/slFjKDIpiiPydvdJm8Q/MCw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.7.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/service-error-classification": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.11.tgz", + "integrity": "sha512-QnYDPkyewrJzCyaeI2Rmp7pDwbUETe+hU8ADkXmgNusO1bgHBH7ovXJiYmba8t0fNfJx75fE8dlM6SEmZxheog==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.7.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/shared-ini-file-loader": { + "version": "3.1.12", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.12.tgz", + "integrity": "sha512-1xKSGI+U9KKdbG2qDvIR9dGrw3CNx+baqJfyr0igKEpjbHL5stsqAesYBzHChYHlelWtb87VnLWlhvfCz13H8Q==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.7.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/signature-v4": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-4.2.4.tgz", + "integrity": "sha512-5JWeMQYg81TgU4cG+OexAWdvDTs5JDdbEZx+Qr1iPbvo91QFGzjy0IkXAKaXUHqmKUJgSHK0ZxnCkgZpzkeNTA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/is-array-buffer": "^3.0.0", + "@smithy/protocol-http": "^4.1.8", + "@smithy/types": "^3.7.2", + "@smithy/util-hex-encoding": "^3.0.0", + "@smithy/util-middleware": "^3.0.11", + "@smithy/util-uri-escape": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/smithy-client": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.5.2.tgz", + "integrity": "sha512-h7xn+1wlpbXyLrtvo/teHR1SFGIIrQ3imzG0nz43zVLAJgvfC1Mtdwa1pFhoIOYrt/TiNjt4pD0gSYQEdZSBtg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/core": "^2.5.6", + "@smithy/middleware-endpoint": "^3.2.7", + "@smithy/middleware-stack": "^3.0.11", + "@smithy/protocol-http": "^4.1.8", + "@smithy/types": "^3.7.2", + "@smithy/util-stream": "^3.3.3", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/types": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.7.2.tgz", + "integrity": "sha512-bNwBYYmN8Eh9RyjS1p2gW6MIhSO2rl7X9QeLM8iTdcGRP+eDiIWDt66c9IysCc22gefKszZv+ubV9qZc7hdESg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/url-parser": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-3.0.11.tgz", + "integrity": "sha512-TmlqXkSk8ZPhfc+SQutjmFr5FjC0av3GZP4B/10caK1SbRwe/v+Wzu/R6xEKxoNqL+8nY18s1byiy6HqPG37Aw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/querystring-parser": "^3.0.11", + "@smithy/types": "^3.7.2", + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/util-base64": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-3.0.0.tgz", + "integrity": "sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-body-length-browser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-3.0.0.tgz", + "integrity": "sha512-cbjJs2A1mLYmqmyVl80uoLTJhAcfzMOyPgjwAYusWKMdLeNtzmMz9YxNl3/jRLoxSS3wkqkf0jwNdtXWtyEBaQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/util-body-length-node": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-3.0.0.tgz", + "integrity": "sha512-Tj7pZ4bUloNUP6PzwhN7K386tmSmEET9QtQg0TgdNOnxhZvCssHji+oZTUIuzxECRfG8rdm2PMw2WCFs6eIYkA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-config-provider": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-3.0.0.tgz", + "integrity": "sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-browser": { + "version": "3.0.32", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.32.tgz", + "integrity": "sha512-FAGsnm/xJ19SZeoqGyo9CosqjUlm+XJTmygDMktebvDKw3bKiIiZ40O1MA6Z52KLmekYU2GO7BEK7u6e7ZORKw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/property-provider": "^3.1.11", + "@smithy/smithy-client": "^3.5.2", + "@smithy/types": "^3.7.2", + "bowser": "^2.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-node": { + "version": "3.0.32", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.32.tgz", + "integrity": "sha512-2CzKhkPFCVdd15f3+0D1rldNlvJME8pVRBtVVsea2hy7lcOn0bGB0dTVUwzgfM4LW/aU4IOg3jWf25ZWaxbOiw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/config-resolver": "^3.0.13", + "@smithy/credential-provider-imds": "^3.2.8", + "@smithy/node-config-provider": "^3.1.12", + "@smithy/property-provider": "^3.1.11", + "@smithy/smithy-client": "^3.5.2", + "@smithy/types": "^3.7.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@smithy/util-endpoints": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-2.1.7.tgz", + "integrity": "sha512-tSfcqKcN/Oo2STEYCABVuKgJ76nyyr6skGl9t15hs+YaiU06sgMkN7QYjo0BbVw+KT26zok3IzbdSOksQ4YzVw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/node-config-provider": "^3.1.12", + "@smithy/types": "^3.7.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-hex-encoding": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz", + "integrity": "sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-middleware": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.11.tgz", + "integrity": "sha512-dWpyc1e1R6VoXrwLoLDd57U1z6CwNSdkM69Ie4+6uYh2GC7Vg51Qtan7ITzczuVpqezdDTKJGJB95fFvvjU/ow==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.7.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-retry": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-3.0.11.tgz", + "integrity": "sha512-hJUC6W7A3DQgaee3Hp9ZFcOxVDZzmBIRBPlUAk8/fSOEl7pE/aX7Dci0JycNOnm9Mfr0KV2XjIlUOcGWXQUdVQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/service-error-classification": "^3.0.11", + "@smithy/types": "^3.7.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-stream": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.3.3.tgz", + "integrity": "sha512-bOm0YMMxRjbI3X6QkWwADPFkh2AH2xBMQIB1IQgCsCRqXXpSJatgjUR3oxHthpYwFkw3WPkOt8VgMpJxC0rFqg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/fetch-http-handler": "^4.1.2", + "@smithy/node-http-handler": "^3.3.3", + "@smithy/types": "^3.7.2", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-hex-encoding": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-uri-escape": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz", + "integrity": "sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-waiter": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-3.2.0.tgz", + "integrity": "sha512-PpjSboaDUE6yl+1qlg3Si57++e84oXdWGbuFUSAciXsVfEZJJJupR2Nb0QuXHiunt2vGR+1PTizOMvnUPaG2Qg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/abort-controller": "^3.1.9", + "@smithy/types": "^3.7.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@swc/core": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.10.4.tgz", + "integrity": "sha512-ut3zfiTLORMxhr6y/GBxkHmzcGuVpwJYX4qyXWuBKkpw/0g0S5iO1/wW7RnLnZbAi8wS/n0atRZoaZlXWBkeJg==", + "dev": true, + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "@swc/counter": "^0.1.3", + "@swc/types": "^0.1.17" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/swc" + }, + "optionalDependencies": { + "@swc/core-darwin-arm64": "1.10.4", + "@swc/core-darwin-x64": "1.10.4", + "@swc/core-linux-arm-gnueabihf": "1.10.4", + "@swc/core-linux-arm64-gnu": "1.10.4", + "@swc/core-linux-arm64-musl": "1.10.4", + "@swc/core-linux-x64-gnu": "1.10.4", + "@swc/core-linux-x64-musl": "1.10.4", + "@swc/core-win32-arm64-msvc": "1.10.4", + "@swc/core-win32-ia32-msvc": "1.10.4", + "@swc/core-win32-x64-msvc": "1.10.4" + }, + "peerDependencies": { + "@swc/helpers": "*" + }, + "peerDependenciesMeta": { + "@swc/helpers": { + "optional": true + } + } + }, + "node_modules/@swc/core-darwin-arm64": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.10.4.tgz", + "integrity": "sha512-sV/eurLhkjn/197y48bxKP19oqcLydSel42Qsy2zepBltqUx+/zZ8+/IS0Bi7kaWVFxerbW1IPB09uq8Zuvm3g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-darwin-x64": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.10.4.tgz", + "integrity": "sha512-gjYNU6vrAUO4+FuovEo9ofnVosTFXkF0VDuo1MKPItz6e2pxc2ale4FGzLw0Nf7JB1sX4a8h06CN16/pLJ8Q2w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm-gnueabihf": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.10.4.tgz", + "integrity": "sha512-zd7fXH5w8s+Sfvn2oO464KDWl+ZX1MJiVmE4Pdk46N3PEaNwE0koTfgx2vQRqRG4vBBobzVvzICC3618WcefOA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-gnu": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.10.4.tgz", + "integrity": "sha512-+UGfoHDxsMZgFD3tABKLeEZHqLNOkxStu+qCG7atGBhS4Slri6h6zijVvf4yI5X3kbXdvc44XV/hrP/Klnui2A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-musl": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.10.4.tgz", + "integrity": "sha512-cDDj2/uYsOH0pgAnDkovLZvKJpFmBMyXkxEG6Q4yw99HbzO6QzZ5HDGWGWVq/6dLgYKlnnmpjZCPPQIu01mXEg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-gnu": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.10.4.tgz", + "integrity": "sha512-qJXh9D6Kf5xSdGWPINpLGixAbB5JX8JcbEJpRamhlDBoOcQC79dYfOMEIxWPhTS1DGLyFakAx2FX/b2VmQmj0g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-musl": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.10.4.tgz", + "integrity": "sha512-A76lIAeyQnHCVt0RL/pG+0er8Qk9+acGJqSZOZm67Ve3B0oqMd871kPtaHBM0BW3OZAhoILgfHW3Op9Q3mx3Cw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-arm64-msvc": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.10.4.tgz", + "integrity": "sha512-e6j5kBu4fIY7fFxFxnZI0MlEovRvp50Lg59Fw+DVbtqHk3C85dckcy5xKP+UoXeuEmFceauQDczUcGs19SRGSQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-ia32-msvc": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.10.4.tgz", + "integrity": "sha512-RSYHfdKgNXV/amY5Tqk1EWVsyQnhlsM//jeqMLw5Fy9rfxP592W9UTumNikNRPdjI8wKKzNMXDb1U29tQjN0dg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-x64-msvc": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.10.4.tgz", + "integrity": "sha512-1ujYpaqfqNPYdwKBlvJnOqcl+Syn3UrQ4XE0Txz6zMYgyh6cdU6a3pxqLqIUSJ12MtXRA9ZUhEz1ekU3LfLWXw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/counter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/@swc/jest": { + "version": "0.2.37", + "resolved": "https://registry.npmjs.org/@swc/jest/-/jest-0.2.37.tgz", + "integrity": "sha512-CR2BHhmXKGxTiFr21DYPRHQunLkX3mNIFGFkxBGji6r9uyIR5zftTOVYj1e0sFNMV2H7mf/+vpaglqaryBtqfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/create-cache-key-function": "^29.7.0", + "@swc/counter": "^0.1.3", + "jsonc-parser": "^3.2.0" + }, + "engines": { + "npm": ">= 7.0.0" + }, + "peerDependencies": { + "@swc/core": "*" + } + }, + "node_modules/@swc/types": { + "version": "0.1.17", + "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.17.tgz", + "integrity": "sha512-V5gRru+aD8YVyCOMAjMpWR1Ui577DD5KSJsHP8RAxopAH22jFz6GZd/qxqjO6MJHQhcsjvjOFXyDhyLQUnMveQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@swc/counter": "^0.1.3" + } + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", + "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/conventional-commits-parser": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@types/conventional-commits-parser/-/conventional-commits-parser-5.0.1.tgz", + "integrity": "sha512-7uz5EHdzz2TqoMfV7ee61Egf5y6NkcO4FB/1iCCQnbeiI1F3xzv3vK5dBCXUCLQgGYS+mUeigK1iKQzvED+QnQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/google-apps-script": { + "version": "1.0.89", + "resolved": "https://registry.npmjs.org/@types/google-apps-script/-/google-apps-script-1.0.89.tgz", + "integrity": "sha512-Vbvuyno3JnmFDwt4gOLSZKg3/EKLyViVhGqDt1oowY19M1x7Tl1sxOMSnAPdVGH5X/k2pcDWAh+poNaU8Jxwkw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/mime-types": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@types/mime-types/-/mime-types-2.1.4.tgz", + "integrity": "sha512-lfU4b34HOri+kAY5UheuFMWPDOI+OPceBSHZKp69gEyTL/mmJ4cnU6Y/rlme3UL3GyOn6Y42hyIEw0/q8sWx5w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "22.10.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.3.tgz", + "integrity": "sha512-DifAyw4BkrufCILvD3ucnuN8eydUfc/C1GlyrnI+LK6543w5/L3VeVgf05o3B4fqSXP1dKYLOZsKfutpxPzZrw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.20.0" + } + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/resolve": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", + "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/semver": { + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/yargs": { + "version": "17.0.33", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", + "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.19.0.tgz", + "integrity": "sha512-NggSaEZCdSrFddbctrVjkVZvFC6KGfKfNK0CU7mNK/iKHGKbzT4Wmgm08dKpcZECBu9f5FypndoMyRHkdqfT1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "8.19.0", + "@typescript-eslint/type-utils": "8.19.0", + "@typescript-eslint/utils": "8.19.0", + "@typescript-eslint/visitor-keys": "8.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.19.0.tgz", + "integrity": "sha512-6M8taKyOETY1TKHp0x8ndycipTVgmp4xtg5QpEZzXxDhNvvHOJi5rLRkLr8SK3jTgD5l4fTlvBiRdfsuWydxBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/scope-manager": "8.19.0", + "@typescript-eslint/types": "8.19.0", + "@typescript-eslint/typescript-estree": "8.19.0", + "@typescript-eslint/visitor-keys": "8.19.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.19.0.tgz", + "integrity": "sha512-hkoJiKQS3GQ13TSMEiuNmSCvhz7ujyqD1x3ShbaETATHrck+9RaDdUbt+osXaUuns9OFwrDTTrjtwsU8gJyyRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.19.0", + "@typescript-eslint/visitor-keys": "8.19.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.19.0.tgz", + "integrity": "sha512-TZs0I0OSbd5Aza4qAMpp1cdCYVnER94IziudE3JU328YUHgWu9gwiwhag+fuLeJ2LkWLXI+F/182TbG+JaBdTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "8.19.0", + "@typescript-eslint/utils": "8.19.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.19.0.tgz", + "integrity": "sha512-8XQ4Ss7G9WX8oaYvD4OOLCjIQYgRQxO+qCiR2V2s2GxI9AUpo7riNwo6jDhKtTcaJjT8PY54j2Yb33kWtSJsmA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.19.0.tgz", + "integrity": "sha512-WW9PpDaLIFW9LCbucMSdYUuGeFUz1OkWYS/5fwZwTA+l2RwlWFdJvReQqMUMBw4yJWJOfqd7An9uwut2Oj8sLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.19.0", + "@typescript-eslint/visitor-keys": "8.19.0", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <5.8.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.19.0.tgz", + "integrity": "sha512-PTBG+0oEMPH9jCZlfg07LCB2nYI0I317yyvXGfxnvGvw4SHIOuRnQ3kadyyXY6tGdChusIHIbM5zfIbp4M6tCg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "8.19.0", + "@typescript-eslint/types": "8.19.0", + "@typescript-eslint/typescript-estree": "8.19.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.19.0.tgz", + "integrity": "sha512-mCFtBbFBJDCNCWUl5y6sZSCHXw1DEFEk3c/M3nRK2a4XUB8StGFtmcEMizdjKuBzB6e/smJAAWYug3VrdLMr1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.19.0", + "eslint-visitor-keys": "^4.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/acorn": { + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/agent-base": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", + "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/aggregate-error": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz", + "integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==", + "dev": true, + "license": "MIT", + "dependencies": { + "clean-stack": "^5.2.0", + "indent-string": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true, + "license": "MIT" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/argv-formatter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/argv-formatter/-/argv-formatter-1.0.0.tgz", + "integrity": "sha512-F2+Hkm9xFaRg+GkaNnbwXNDV5O6pnCFEmqyhvfC/Ic5LbgOWjJh3L+mN/s91rxVL3znE7DYVpW0GJFT+4YBgWw==", + "dev": true, + "license": "MIT" + }, + "node_modules/array-ify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", + "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", + "dev": true, + "license": "MIT" + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/babel-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/transform": "^29.7.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-jest/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "license": "BSD-3-Clause", + "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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "license": "BSD-3-Clause", + "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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.12", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.12.tgz", + "integrity": "sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.3", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.10.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", + "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.2", + "core-js-compat": "^3.38.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.3.tgz", + "integrity": "sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.3" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz", + "integrity": "sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@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" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", + "dev": true, + "license": "MIT", + "dependencies": { + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/before-after-hook": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz", + "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bottleneck": { + "version": "2.19.5", + "resolved": "https://registry.npmjs.org/bottleneck/-/bottleneck-2.19.5.tgz", + "integrity": "sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==", + "dev": true, + "license": "MIT" + }, + "node_modules/bowser": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", + "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==", + "dev": true, + "license": "MIT" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.24.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.3.tgz", + "integrity": "sha512-1CPmv8iobE2fyRMV97dAcMVegvvWKxmq94hkLiAkUGwKVTyDLw33K+ZxiFrREKmmps4rIw6grcCFCnTMSZ/YiA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001688", + "electron-to-chromium": "^1.5.73", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.1" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/cachedir": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz", + "integrity": "sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001690", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001690.tgz", + "integrity": "sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true, + "license": "MIT" + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "optional": true, + "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" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cjs-module-lexer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.1.tgz", + "integrity": "sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==", + "dev": true, + "license": "MIT" + }, + "node_modules/clean-stack": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz", + "integrity": "sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "5.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clean-stack/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-highlight": { + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.11.tgz", + "integrity": "sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==", + "dev": true, + "license": "ISC", + "dependencies": { + "chalk": "^4.0.0", + "highlight.js": "^10.7.1", + "mz": "^2.4.0", + "parse5": "^5.1.1", + "parse5-htmlparser2-tree-adapter": "^6.0.0", + "yargs": "^16.0.0" + }, + "bin": { + "highlight": "bin/highlight" + }, + "engines": { + "node": ">=8.0.0", + "npm": ">=5.0.0" + } + }, + "node_modules/cli-highlight/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/cli-highlight/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cli-highlight/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-table3": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.5.tgz", + "integrity": "sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "@colors/colors": "1.5.0" + } + }, + "node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 10" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/commitizen": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/commitizen/-/commitizen-4.3.1.tgz", + "integrity": "sha512-gwAPAVTy/j5YcOOebcCRIijn+mSjWJC+IYKivTu6aG8Ei/scoXgfsMRnuAk6b0GRste2J4NGxVdMN3ZpfNaVaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "cachedir": "2.3.0", + "cz-conventional-changelog": "3.3.0", + "dedent": "0.7.0", + "detect-indent": "6.1.0", + "find-node-modules": "^2.1.2", + "find-root": "1.1.0", + "fs-extra": "9.1.0", + "glob": "7.2.3", + "inquirer": "8.2.5", + "is-utf8": "^0.2.1", + "lodash": "4.17.21", + "minimist": "1.2.7", + "strip-bom": "4.0.0", + "strip-json-comments": "3.1.1" + }, + "bin": { + "commitizen": "bin/commitizen", + "cz": "bin/git-cz", + "git-cz": "bin/git-cz" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true, + "license": "MIT" + }, + "node_modules/compare-func": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", + "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-ify": "^1.0.0", + "dot-prop": "^5.1.0" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "node_modules/config-chain/node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true, + "license": "ISC" + }, + "node_modules/conventional-changelog-angular": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-8.0.0.tgz", + "integrity": "sha512-CLf+zr6St0wIxos4bmaKHRXWAcsCXrJU6F4VdNDrGRK3B8LDLKoX3zuMV5GhtbGkVR/LohZ6MT6im43vZLSjmA==", + "dev": true, + "license": "ISC", + "dependencies": { + "compare-func": "^2.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/conventional-changelog-writer": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-8.0.0.tgz", + "integrity": "sha512-TQcoYGRatlAnT2qEWDON/XSfnVG38JzA7E0wcGScu7RElQBkg9WWgZd1peCWFcWDh1xfb2CfsrcvOn1bbSzztA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/semver": "^7.5.5", + "conventional-commits-filter": "^5.0.0", + "handlebars": "^4.7.7", + "meow": "^13.0.0", + "semver": "^7.5.2" + }, + "bin": { + "conventional-changelog-writer": "dist/cli/index.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/conventional-changelog-writer/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-commit-types": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/conventional-commit-types/-/conventional-commit-types-3.0.0.tgz", + "integrity": "sha512-SmmCYnOniSsAa9GqWOeLqc179lfr5TRu5b4QFDkbsrJ5TZjPJx85wtOr3zn+1dbeNiXDKGPbZ72IKbPhLXh/Lg==", + "dev": true, + "license": "ISC" + }, + "node_modules/conventional-commits-filter": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-5.0.0.tgz", + "integrity": "sha512-tQMagCOC59EVgNZcC5zl7XqO30Wki9i9J3acbUvkaosCT6JX3EeFwJD7Qqp4MCikRnzS18WXV3BLIQ66ytu6+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/conventional-commits-parser": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-6.0.0.tgz", + "integrity": "sha512-TbsINLp48XeMXR8EvGjTnKGsZqBemisPoyWESlpRyR8lif0lcwzqz+NMtYSj1ooF/WYjSuu7wX0CtdeeMEQAmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "meow": "^13.0.0" + }, + "bin": { + "conventional-commits-parser": "dist/cli/index.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/convert-hrtime": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/convert-hrtime/-/convert-hrtime-5.0.0.tgz", + "integrity": "sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/core-js": { + "version": "3.30.2", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.2.tgz", + "integrity": "sha512-uBJiDmwqsbJCWHAwjrx3cvjbMXP7xD72Dmsn5LOJpiRmE3WbBbN5rCqQ2Qh6Ek6/eOrjlWngEynBWo4VxerQhg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat": { + "version": "3.39.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.39.0.tgz", + "integrity": "sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.24.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-pure": { + "version": "3.39.0", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.39.0.tgz", + "integrity": "sha512-7fEcWwKI4rJinnK+wLTezeg2smbFFdSBP6E2kQZNbnzM2s1rpKQ6aaRteZSSg7FLU3P0HGGVo/gbpfanU36urg==", + "hasInstallScript": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/cosmiconfig": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", + "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.1", + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/cosmiconfig-typescript-loader": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-6.1.0.tgz", + "integrity": "sha512-tJ1w35ZRUiM5FeTzT7DtYWAFFv37ZLqSRkGi2oeCK1gPhvaWjkAtfXvLmvE1pRfxxp9aQo6ba/Pvg1dKj05D4g==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "jiti": "^2.4.1" + }, + "engines": { + "node": ">=v18" + }, + "peerDependencies": { + "@types/node": "*", + "cosmiconfig": ">=9", + "typescript": ">=5" + } + }, + "node_modules/create-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", + "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "prompts": "^2.0.1" + }, + "bin": { + "create-jest": "bin/create-jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypto-random-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz", + "integrity": "sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^1.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/crypto-random-string/node_modules/type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cz-conventional-changelog": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/cz-conventional-changelog/-/cz-conventional-changelog-3.3.0.tgz", + "integrity": "sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^2.4.1", + "commitizen": "^4.0.3", + "conventional-commit-types": "^3.0.0", + "lodash.map": "^4.5.1", + "longest": "^2.0.1", + "word-wrap": "^1.0.3" + }, + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@commitlint/load": ">6.1.1" + } + }, + "node_modules/cz-conventional-changelog/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cz-conventional-changelog/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cz-conventional-changelog/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/cz-conventional-changelog/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true, + "license": "MIT" + }, + "node_modules/cz-conventional-changelog/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/cz-conventional-changelog/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/cz-conventional-changelog/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "dev": true, + "license": "MIT" + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/detect-indent": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-obj": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dotenv": { + "version": "16.4.7", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", + "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "readable-stream": "^2.0.2" + } + }, + "node_modules/duplexer2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/duplexer2/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/duplexer2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.76", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.76.tgz", + "integrity": "sha512-CjVQyG7n7Sr+eBXE86HIulnL5N8xZY1sgmOPGuq/F0Rr0FJq63lg0kEtOIDfZBk44FnDLf6FUJ+dsJcuiUDdDQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/emojilib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/emojilib/-/emojilib-2.4.0.tgz", + "integrity": "sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==", + "dev": true, + "license": "MIT" + }, + "node_modules/env-ci": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/env-ci/-/env-ci-11.1.0.tgz", + "integrity": "sha512-Z8dnwSDbV1XYM9SBF2J0GcNVvmfmfh3a49qddGIROhBoVro6MZVTji15z/sJbQ2ko2ei8n988EU1wzoLU/tF+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "execa": "^8.0.0", + "java-properties": "^1.0.2" + }, + "engines": { + "node": "^18.17 || >=20.6.1" + } + }, + "node_modules/env-ci/node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/env-ci/node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/env-ci/node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/env-ci/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/env-ci/node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/env-ci/node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/env-ci/node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/env-ci/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/env-ci/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/env-ci/node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/environment": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", + "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "9.17.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.17.0.tgz", + "integrity": "sha512-evtlNcpJg+cZLcnVKwsai8fExnqjGPicK7gnUtlNuzu+Fv9bI0aLpND5T44VLQtoMEnI57LoXO9XAkIXwohKrA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.19.0", + "@eslint/core": "^0.9.0", + "@eslint/eslintrc": "^3.2.0", + "@eslint/js": "9.17.0", + "@eslint/plugin-kit": "^0.2.3", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.1", + "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.2.0", + "eslint-visitor-keys": "^4.2.0", + "espree": "^10.3.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-scope": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz", + "integrity": "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "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" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/eslint/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/eslint/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/espree": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", + "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.14.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true, + "license": "MIT" + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "homedir-polyfill": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/expect-utils": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "license": "MIT", + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/fast-content-type-parse": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-2.0.0.tgz", + "integrity": "sha512-fCqg/6Sps8tqk8p+kqyKqYfOF0VjPNYrqpLiqNl0RBKmD80B080AJWVV6EkSkscjToNExcXg1+Mfzftrx6+iSA==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.3.tgz", + "integrity": "sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==", + "dev": true, + "license": "BSD-3-Clause", + "optional": true + }, + "node_modules/fast-xml-parser": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz", + "integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + }, + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + } + ], + "license": "MIT", + "dependencies": { + "strnum": "^1.0.5" + }, + "bin": { + "fxparser": "src/cli/cli.js" + } + }, + "node_modules/fastq": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.18.0.tgz", + "integrity": "sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/fdir": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.2.tgz", + "integrity": "sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/figures/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-node-modules": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/find-node-modules/-/find-node-modules-2.1.3.tgz", + "integrity": "sha512-UC2I2+nx1ZuOBclWVNdcnbDR5dlrOdVb7xNjmT/lHE+LsgztWks3dG7boJ37yTS/venXw84B/mAW9uHVoC5QRg==", + "dev": true, + "license": "MIT", + "dependencies": { + "findup-sync": "^4.0.0", + "merge": "^2.1.1" + } + }, + "node_modules/find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", + "dev": true, + "license": "MIT" + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-up-simple": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/find-up-simple/-/find-up-simple-1.0.0.tgz", + "integrity": "sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-versions": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-6.0.0.tgz", + "integrity": "sha512-2kCCtc+JvcZ86IGAz3Z2Y0A1baIz9fL31pH/0S1IqZr9Iwnjq8izfPtrCyQKO6TLMPELLsQMre7VDqeIKCsHkA==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver-regex": "^4.0.5", + "super-regex": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/findup-sync": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-4.0.0.tgz", + "integrity": "sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^4.0.2", + "resolve-dir": "^1.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.2.tgz", + "integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==", + "dev": true, + "license": "ISC" + }, + "node_modules/from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "node_modules/from2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/from2/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/from2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fs-readdir-recursive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", + "dev": true, + "license": "MIT" + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function-timeout": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/function-timeout/-/function-timeout-1.0.2.tgz", + "integrity": "sha512-939eZS4gJ3htTHAldmyyuzlrD58P03fHG49v2JfFXbV6OhvZKRC9j2yAtdHw/zrp2zXHuv05zMIy40F0ge7spA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/git-log-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/git-log-parser/-/git-log-parser-1.2.1.tgz", + "integrity": "sha512-PI+sPDvHXNPl5WNOErAK05s3j0lgwUzMN6o8cyQrDaKfT3qd7TmNJKeXX+SknI5I0QhG5fVPAEwSY4tRGDtYoQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "argv-formatter": "~1.0.0", + "spawn-error-forwarder": "~1.0.0", + "split2": "~1.0.0", + "stream-combiner2": "~1.1.1", + "through2": "~2.0.0", + "traverse": "0.6.8" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/global-directory": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/global-directory/-/global-directory-4.0.1.tgz", + "integrity": "sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "ini": "4.1.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "license": "MIT", + "dependencies": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/global-prefix/node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true, + "license": "ISC" + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/globals": { + "version": "15.14.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.14.0.tgz", + "integrity": "sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.2.tgz", + "integrity": "sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sindresorhus/merge-streams": "^2.1.0", + "fast-glob": "^3.3.2", + "ignore": "^5.2.4", + "path-type": "^5.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby/node_modules/path-type": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", + "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby/node_modules/slash": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true, + "license": "MIT" + }, + "node_modules/handlebars": { + "version": "4.7.8", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", + "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.2", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/highlight.js": { + "version": "10.7.3", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", + "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": "*" + } + }, + "node_modules/homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "parse-passwd": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hook-std": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hook-std/-/hook-std-3.0.0.tgz", + "integrity": "sha512-jHRQzjSDzMtFy34AGj1DN+vq54WVuhSvKgrHf0OMiFQTwDD4L/qqofVEWjLOBMTn5+lCD3fPg32W9yOfnEJTTw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/hosted-git-info": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.0.2.tgz", + "integrity": "sha512-sYKnA7eGln5ov8T8gnYlkSOxFJvywzEx9BueN6xo/GKO8PGiI6uK6xx+DIGe45T3bdVjLAQDQW1aicT8z8JwQg==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true, + "license": "MIT" + }, + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/husky": { + "version": "9.1.7", + "resolved": "https://registry.npmjs.org/husky/-/husky-9.1.7.tgz", + "integrity": "sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==", + "dev": true, + "license": "MIT", + "bin": { + "husky": "bin.js" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/typicode" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/import-from-esm": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/import-from-esm/-/import-from-esm-1.3.4.tgz", + "integrity": "sha512-7EyUlPFC0HOlBDpUFGfYstsU7XHxZJKAAMzCT8wZ0hMW7b+hG51LIKTDcsgtz8Pu6YC0HqRVbX+rVUtsGMUKvg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.4", + "import-meta-resolve": "^4.0.0" + }, + "engines": { + "node": ">=16.20" + } + }, + "node_modules/import-local": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", + "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-meta-resolve": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz", + "integrity": "sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", + "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/index-to-position": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-0.1.2.tgz", + "integrity": "sha512-MWDKS3AS1bGCHLBA2VLImJz42f7bJh8wQsTGCzI3j519/CASStoDONUBVz2I/VID0MpiX3SGSnbOD2xUalbE5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/ini": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.1.tgz", + "integrity": "sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==", + "dev": true, + "license": "ISC", + "optional": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/inquirer": { + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.5.tgz", + "integrity": "sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/into-stream": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-7.0.0.tgz", + "integrity": "sha512-2dYz766i9HprMBasCMvHMuazJ7u4WzhJwo5kb3iPSiW/iRYV6uPari3zHoqZlnuaR7V1bEiNMxikhp37rdBXbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "from2": "^2.3.0", + "p-is-promise": "^3.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-reference": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", + "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/issue-parser": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/issue-parser/-/issue-parser-7.0.1.tgz", + "integrity": "sha512-3YZcUUR2Wt1WsapF+S/WiA2WmlW0cWAoPccMqne7AxEBhCdFeTPjfv/Axb8V2gyCgY3nRw+ksZ3xSUX+R47iAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash.capitalize": "^4.2.1", + "lodash.escaperegexp": "^4.1.2", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.uniqby": "^4.7.0" + }, + "engines": { + "node": "^18.17 || >=20.6.1" + } + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", + "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/istanbul-lib-report/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/java-properties": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/java-properties/-/java-properties-1.0.2.tgz", + "integrity": "sha512-qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", + "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/types": "^29.6.3", + "import-local": "^3.0.2", + "jest-cli": "^29.7.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-changed-files": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", + "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "execa": "^5.0.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-circus": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", + "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.7.0", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.7.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-circus/node_modules/dedent": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz", + "integrity": "sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/jest-circus/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-cli": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", + "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "create-jest": "^29.7.0", + "exit": "^0.1.2", + "import-local": "^3.0.2", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-config": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", + "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-jest": "^29.7.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-config/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-docblock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", + "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-each": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", + "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "jest-util": "^29.7.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-environment-node": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-leak-detector": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", + "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", + "dev": true, + "license": "MIT", + "dependencies": { + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-mock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", + "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", + "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", + "dev": true, + "license": "MIT", + "dependencies": { + "jest-regex-util": "^29.6.3", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runner": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", + "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/environment": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-leak-detector": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-resolve": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-util": "^29.7.0", + "jest-watcher": "^29.7.0", + "jest-worker": "^29.7.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runtime": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", + "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/globals": "^29.7.0", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runtime/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-snapshot": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.7.0", + "semver": "^7.5.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-util/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/jest-validate": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watcher": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", + "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.7.0", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/jiti": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz", + "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==", + "dev": true, + "license": "MIT", + "optional": true, + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/js-base64": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-3.7.7.tgz", + "integrity": "sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw==", + "license": "BSD-3-Clause" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonc-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", + "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true, + "license": "MIT" + }, + "node_modules/load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/load-json-file/node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dev": true, + "license": "MIT", + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/load-json-file/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/load-json-file/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.capitalize": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/lodash.capitalize/-/lodash.capitalize-4.2.1.tgz", + "integrity": "sha512-kZzYOKspf8XVX5AvmQF94gQW0lejFVgb80G85bU4ZWzoJ6C03PQg3coYAUpSTpQWelrZELd3XWgHzw4Ck5kaIw==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.escaperegexp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz", + "integrity": "sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.map": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", + "integrity": "sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.mergewith": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz", + "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/lodash.uniqby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz", + "integrity": "sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==", + "dev": true, + "license": "MIT" + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/longest": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-2.0.1.tgz", + "integrity": "sha512-Ajzxb8CM6WAnFjgiloPsI3bF+WCxcvhdIG3KNA2KN962+tdBsHcuQ4k4qX/EcS/2CRkcc0iAkR956Nib6aXU/Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/marked": { + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/marked/-/marked-12.0.2.tgz", + "integrity": "sha512-qXUm7e/YKFoqFPYPa3Ukg9xlI5cyAtGmyEIzMfW//m6kXwCy2Ps9DYf5ioijFKQ8qyuscrHoY04iJGctu2Kg0Q==", + "dev": true, + "license": "MIT", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/marked-terminal": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-7.2.1.tgz", + "integrity": "sha512-rQ1MoMFXZICWNsKMiiHwP/Z+92PLKskTPXj+e7uwXmuMPkNn7iTqC+IvDekVm1MPeC9wYQeLxeFaOvudRR/XbQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^7.0.0", + "ansi-regex": "^6.1.0", + "chalk": "^5.3.0", + "cli-highlight": "^2.1.11", + "cli-table3": "^0.6.5", + "node-emoji": "^2.1.3", + "supports-hyperlinks": "^3.1.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "marked": ">=1 <15" + } + }, + "node_modules/marked-terminal/node_modules/ansi-escapes": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.0.0.tgz", + "integrity": "sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "environment": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/marked-terminal/node_modules/chalk": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", + "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/meow": { + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-13.2.0.tgz", + "integrity": "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/merge/-/merge-2.1.1.tgz", + "integrity": "sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==", + "dev": true, + "license": "MIT" + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true, + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/mime": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/mime/-/mime-4.0.6.tgz", + "integrity": "sha512-4rGt7rvQHBbaSOF9POGkk1ocRP16Md1x36Xma8sz8h8/vfCUI2OtEIeCqe4Ofes853x4xDoPiFLIT47J5fI/7A==", + "dev": true, + "funding": [ + "https://github.com/sponsors/broofa" + ], + "license": "MIT", + "bin": { + "mime": "bin/cli.js" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true, + "license": "ISC" + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true, + "license": "MIT" + }, + "node_modules/nerf-dart": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/nerf-dart/-/nerf-dart-1.0.0.tgz", + "integrity": "sha512-EZSPZB70jiVsivaBLYDCyntd5eH8NTSMOn3rB+HxwdmKThGELLdYv8qVIMWvZEFy9w8ZZpW9h9OB32l1rGtj7g==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-emoji": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-2.2.0.tgz", + "integrity": "sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sindresorhus/is": "^4.6.0", + "char-regex": "^1.0.2", + "emojilib": "^2.4.0", + "skin-tone": "^2.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", + "dev": true, + "license": "MIT" + }, + "node_modules/normalize-package-data": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.2.tgz", + "integrity": "sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^7.0.0", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/normalize-package-data/node_modules/hosted-git-info": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", + "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/normalize-package-data/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.1.tgz", + "integrity": "sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/npm/-/npm-10.9.2.tgz", + "integrity": "sha512-iriPEPIkoMYUy3F6f3wwSZAU93E0Eg6cHwIR6jzzOXWSy+SD/rOODEs74cVONHKSx2obXtuUoyidVEhISrisgQ==", + "bundleDependencies": [ + "@isaacs/string-locale-compare", + "@npmcli/arborist", + "@npmcli/config", + "@npmcli/fs", + "@npmcli/map-workspaces", + "@npmcli/package-json", + "@npmcli/promise-spawn", + "@npmcli/redact", + "@npmcli/run-script", + "@sigstore/tuf", + "abbrev", + "archy", + "cacache", + "chalk", + "ci-info", + "cli-columns", + "fastest-levenshtein", + "fs-minipass", + "glob", + "graceful-fs", + "hosted-git-info", + "ini", + "init-package-json", + "is-cidr", + "json-parse-even-better-errors", + "libnpmaccess", + "libnpmdiff", + "libnpmexec", + "libnpmfund", + "libnpmhook", + "libnpmorg", + "libnpmpack", + "libnpmpublish", + "libnpmsearch", + "libnpmteam", + "libnpmversion", + "make-fetch-happen", + "minimatch", + "minipass", + "minipass-pipeline", + "ms", + "node-gyp", + "nopt", + "normalize-package-data", + "npm-audit-report", + "npm-install-checks", + "npm-package-arg", + "npm-pick-manifest", + "npm-profile", + "npm-registry-fetch", + "npm-user-validate", + "p-map", + "pacote", + "parse-conflict-json", + "proc-log", + "qrcode-terminal", + "read", + "semver", + "spdx-expression-parse", + "ssri", + "supports-color", + "tar", + "text-table", + "tiny-relative-date", + "treeverse", + "validate-npm-package-name", + "which", + "write-file-atomic" + ], + "dev": true, + "license": "Artistic-2.0", + "workspaces": [ + "docs", + "smoke-tests", + "mock-globals", + "mock-registry", + "workspaces/*" + ], + "dependencies": { + "@isaacs/string-locale-compare": "^1.1.0", + "@npmcli/arborist": "^8.0.0", + "@npmcli/config": "^9.0.0", + "@npmcli/fs": "^4.0.0", + "@npmcli/map-workspaces": "^4.0.2", + "@npmcli/package-json": "^6.1.0", + "@npmcli/promise-spawn": "^8.0.2", + "@npmcli/redact": "^3.0.0", + "@npmcli/run-script": "^9.0.1", + "@sigstore/tuf": "^3.0.0", + "abbrev": "^3.0.0", + "archy": "~1.0.0", + "cacache": "^19.0.1", + "chalk": "^5.3.0", + "ci-info": "^4.1.0", + "cli-columns": "^4.0.0", + "fastest-levenshtein": "^1.0.16", + "fs-minipass": "^3.0.3", + "glob": "^10.4.5", + "graceful-fs": "^4.2.11", + "hosted-git-info": "^8.0.2", + "ini": "^5.0.0", + "init-package-json": "^7.0.2", + "is-cidr": "^5.1.0", + "json-parse-even-better-errors": "^4.0.0", + "libnpmaccess": "^9.0.0", + "libnpmdiff": "^7.0.0", + "libnpmexec": "^9.0.0", + "libnpmfund": "^6.0.0", + "libnpmhook": "^11.0.0", + "libnpmorg": "^7.0.0", + "libnpmpack": "^8.0.0", + "libnpmpublish": "^10.0.1", + "libnpmsearch": "^8.0.0", + "libnpmteam": "^7.0.0", + "libnpmversion": "^7.0.0", + "make-fetch-happen": "^14.0.3", + "minimatch": "^9.0.5", + "minipass": "^7.1.1", + "minipass-pipeline": "^1.2.4", + "ms": "^2.1.2", + "node-gyp": "^11.0.0", + "nopt": "^8.0.0", + "normalize-package-data": "^7.0.0", + "npm-audit-report": "^6.0.0", + "npm-install-checks": "^7.1.1", + "npm-package-arg": "^12.0.0", + "npm-pick-manifest": "^10.0.0", + "npm-profile": "^11.0.1", + "npm-registry-fetch": "^18.0.2", + "npm-user-validate": "^3.0.0", + "p-map": "^4.0.0", + "pacote": "^19.0.1", + "parse-conflict-json": "^4.0.0", + "proc-log": "^5.0.0", + "qrcode-terminal": "^0.12.0", + "read": "^4.0.0", + "semver": "^7.6.3", + "spdx-expression-parse": "^4.0.0", + "ssri": "^12.0.0", + "supports-color": "^9.4.0", + "tar": "^6.2.1", + "text-table": "~0.2.0", + "tiny-relative-date": "^1.3.0", + "treeverse": "^3.0.0", + "validate-npm-package-name": "^6.0.0", + "which": "^5.0.0", + "write-file-atomic": "^6.0.0" + }, + "bin": { + "npm": "bin/npm-cli.js", + "npx": "bin/npx-cli.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/@isaacs/cliui": { + "version": "8.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/npm/node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/npm/node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm/node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/npm/node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.4" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/npm/node_modules/@isaacs/string-locale-compare": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/@npmcli/agent": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "agent-base": "^7.1.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.1", + "lru-cache": "^10.0.1", + "socks-proxy-agent": "^8.0.3" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/@npmcli/arborist": { + "version": "8.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@isaacs/string-locale-compare": "^1.1.0", + "@npmcli/fs": "^4.0.0", + "@npmcli/installed-package-contents": "^3.0.0", + "@npmcli/map-workspaces": "^4.0.1", + "@npmcli/metavuln-calculator": "^8.0.0", + "@npmcli/name-from-folder": "^3.0.0", + "@npmcli/node-gyp": "^4.0.0", + "@npmcli/package-json": "^6.0.1", + "@npmcli/query": "^4.0.0", + "@npmcli/redact": "^3.0.0", + "@npmcli/run-script": "^9.0.1", + "bin-links": "^5.0.0", + "cacache": "^19.0.1", + "common-ancestor-path": "^1.0.1", + "hosted-git-info": "^8.0.0", + "json-parse-even-better-errors": "^4.0.0", + "json-stringify-nice": "^1.1.4", + "lru-cache": "^10.2.2", + "minimatch": "^9.0.4", + "nopt": "^8.0.0", + "npm-install-checks": "^7.1.0", + "npm-package-arg": "^12.0.0", + "npm-pick-manifest": "^10.0.0", + "npm-registry-fetch": "^18.0.1", + "pacote": "^19.0.0", + "parse-conflict-json": "^4.0.0", + "proc-log": "^5.0.0", + "proggy": "^3.0.0", + "promise-all-reject-late": "^1.0.0", + "promise-call-limit": "^3.0.1", + "read-package-json-fast": "^4.0.0", + "semver": "^7.3.7", + "ssri": "^12.0.0", + "treeverse": "^3.0.0", + "walk-up-path": "^3.0.1" + }, + "bin": { + "arborist": "bin/index.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/@npmcli/config": { + "version": "9.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/map-workspaces": "^4.0.1", + "@npmcli/package-json": "^6.0.1", + "ci-info": "^4.0.0", + "ini": "^5.0.0", + "nopt": "^8.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "walk-up-path": "^3.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/@npmcli/fs": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/@npmcli/git": { + "version": "6.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/promise-spawn": "^8.0.0", + "ini": "^5.0.0", + "lru-cache": "^10.0.1", + "npm-pick-manifest": "^10.0.0", + "proc-log": "^5.0.0", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/@npmcli/installed-package-contents": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-bundled": "^4.0.0", + "npm-normalize-package-bin": "^4.0.0" + }, + "bin": { + "installed-package-contents": "bin/index.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/@npmcli/map-workspaces": { + "version": "4.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/name-from-folder": "^3.0.0", + "@npmcli/package-json": "^6.0.0", + "glob": "^10.2.2", + "minimatch": "^9.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/@npmcli/metavuln-calculator": { + "version": "8.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "cacache": "^19.0.0", + "json-parse-even-better-errors": "^4.0.0", + "pacote": "^20.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/@npmcli/metavuln-calculator/node_modules/pacote": { + "version": "20.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/git": "^6.0.0", + "@npmcli/installed-package-contents": "^3.0.0", + "@npmcli/package-json": "^6.0.0", + "@npmcli/promise-spawn": "^8.0.0", + "@npmcli/run-script": "^9.0.0", + "cacache": "^19.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^7.0.2", + "npm-package-arg": "^12.0.0", + "npm-packlist": "^9.0.0", + "npm-pick-manifest": "^10.0.0", + "npm-registry-fetch": "^18.0.0", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1", + "sigstore": "^3.0.0", + "ssri": "^12.0.0", + "tar": "^6.1.11" + }, + "bin": { + "pacote": "bin/index.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/@npmcli/name-from-folder": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/@npmcli/node-gyp": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/@npmcli/package-json": { + "version": "6.1.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/git": "^6.0.0", + "glob": "^10.2.2", + "hosted-git-info": "^8.0.0", + "json-parse-even-better-errors": "^4.0.0", + "normalize-package-data": "^7.0.0", + "proc-log": "^5.0.0", + "semver": "^7.5.3" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/@npmcli/promise-spawn": { + "version": "8.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "which": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/@npmcli/query": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "postcss-selector-parser": "^6.1.2" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/@npmcli/redact": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/@npmcli/run-script": { + "version": "9.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/node-gyp": "^4.0.0", + "@npmcli/package-json": "^6.0.0", + "@npmcli/promise-spawn": "^8.0.0", + "node-gyp": "^11.0.0", + "proc-log": "^5.0.0", + "which": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/npm/node_modules/@sigstore/protobuf-specs": { + "version": "0.3.2", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/@sigstore/tuf": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/protobuf-specs": "^0.3.2", + "tuf-js": "^3.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/@tufjs/canonical-json": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/abbrev": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/agent-base": { + "version": "7.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/npm/node_modules/aggregate-error": { + "version": "3.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/ansi-regex": { + "version": "5.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/ansi-styles": { + "version": "6.2.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/npm/node_modules/aproba": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/archy": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/balanced-match": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/bin-links": { + "version": "5.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "cmd-shim": "^7.0.0", + "npm-normalize-package-bin": "^4.0.0", + "proc-log": "^5.0.0", + "read-cmd-shim": "^5.0.0", + "write-file-atomic": "^6.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/binary-extensions": { + "version": "2.3.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm/node_modules/brace-expansion": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/npm/node_modules/cacache": { + "version": "19.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/fs": "^4.0.0", + "fs-minipass": "^3.0.0", + "glob": "^10.2.2", + "lru-cache": "^10.0.1", + "minipass": "^7.0.3", + "minipass-collect": "^2.0.1", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^7.0.2", + "ssri": "^12.0.0", + "tar": "^7.4.3", + "unique-filename": "^4.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/cacache/node_modules/chownr": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/npm/node_modules/cacache/node_modules/minizlib": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "minipass": "^7.0.4", + "rimraf": "^5.0.5" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/npm/node_modules/cacache/node_modules/mkdirp": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/cacache/node_modules/p-map": { + "version": "7.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm/node_modules/cacache/node_modules/tar": { + "version": "7.4.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/npm/node_modules/cacache/node_modules/yallist": { + "version": "5.0.0", + "dev": true, + "inBundle": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/npm/node_modules/chalk": { + "version": "5.3.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/npm/node_modules/chownr": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/ci-info": { + "version": "4.1.0", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/cidr-regex": { + "version": "4.1.1", + "dev": true, + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "ip-regex": "^5.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/npm/node_modules/clean-stack": { + "version": "2.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/cli-columns": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/npm/node_modules/cmd-shim": { + "version": "7.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/npm/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/common-ancestor-path": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/cross-spawn": { + "version": "7.0.6", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/cross-spawn/node_modules/which": { + "version": "2.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/cssesc": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/debug": { + "version": "4.3.7", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/npm/node_modules/diff": { + "version": "5.2.0", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/npm/node_modules/eastasianwidth": { + "version": "0.2.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/emoji-regex": { + "version": "8.0.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/encoding": { + "version": "0.1.13", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/npm/node_modules/env-paths": { + "version": "2.2.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/err-code": { + "version": "2.0.3", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/exponential-backoff": { + "version": "3.1.1", + "dev": true, + "inBundle": true, + "license": "Apache-2.0" + }, + "node_modules/npm/node_modules/fastest-levenshtein": { + "version": "1.0.16", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 4.9.1" + } + }, + "node_modules/npm/node_modules/foreground-child": { + "version": "3.3.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/fs-minipass": { + "version": "3.0.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/glob": { + "version": "10.4.5", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/graceful-fs": { + "version": "4.2.11", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/hosted-git-info": { + "version": "8.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/http-cache-semantics": { + "version": "4.1.1", + "dev": true, + "inBundle": true, + "license": "BSD-2-Clause" + }, + "node_modules/npm/node_modules/http-proxy-agent": { + "version": "7.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/npm/node_modules/https-proxy-agent": { + "version": "7.0.5", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/npm/node_modules/iconv-lite": { + "version": "0.6.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/ignore-walk": { + "version": "7.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "minimatch": "^9.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/imurmurhash": { + "version": "0.1.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/npm/node_modules/indent-string": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/ini": { + "version": "5.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/init-package-json": { + "version": "7.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/package-json": "^6.0.0", + "npm-package-arg": "^12.0.0", + "promzard": "^2.0.0", + "read": "^4.0.0", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4", + "validate-npm-package-name": "^6.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/ip-address": { + "version": "9.0.5", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "jsbn": "1.1.0", + "sprintf-js": "^1.1.3" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/npm/node_modules/ip-regex": { + "version": "5.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm/node_modules/is-cidr": { + "version": "5.1.0", + "dev": true, + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "cidr-regex": "^4.1.1" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/npm/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/isexe": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/jackspeak": { + "version": "3.4.3", + "dev": true, + "inBundle": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/npm/node_modules/jsbn": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/json-parse-even-better-errors": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/json-stringify-nice": { + "version": "1.1.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/jsonparse": { + "version": "1.3.1", + "dev": true, + "engines": [ + "node >= 0.2.0" + ], + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/just-diff": { + "version": "6.0.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/just-diff-apply": { + "version": "5.5.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/libnpmaccess": { + "version": "9.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-package-arg": "^12.0.0", + "npm-registry-fetch": "^18.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/libnpmdiff": { + "version": "7.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/arborist": "^8.0.0", + "@npmcli/installed-package-contents": "^3.0.0", + "binary-extensions": "^2.3.0", + "diff": "^5.1.0", + "minimatch": "^9.0.4", + "npm-package-arg": "^12.0.0", + "pacote": "^19.0.0", + "tar": "^6.2.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/libnpmexec": { + "version": "9.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/arborist": "^8.0.0", + "@npmcli/run-script": "^9.0.1", + "ci-info": "^4.0.0", + "npm-package-arg": "^12.0.0", + "pacote": "^19.0.0", + "proc-log": "^5.0.0", + "read": "^4.0.0", + "read-package-json-fast": "^4.0.0", + "semver": "^7.3.7", + "walk-up-path": "^3.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/libnpmfund": { + "version": "6.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/arborist": "^8.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/libnpmhook": { + "version": "11.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "npm-registry-fetch": "^18.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/libnpmorg": { + "version": "7.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "npm-registry-fetch": "^18.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/libnpmpack": { + "version": "8.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/arborist": "^8.0.0", + "@npmcli/run-script": "^9.0.1", + "npm-package-arg": "^12.0.0", + "pacote": "^19.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/libnpmpublish": { + "version": "10.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "ci-info": "^4.0.0", + "normalize-package-data": "^7.0.0", + "npm-package-arg": "^12.0.0", + "npm-registry-fetch": "^18.0.1", + "proc-log": "^5.0.0", + "semver": "^7.3.7", + "sigstore": "^3.0.0", + "ssri": "^12.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/libnpmsearch": { + "version": "8.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-registry-fetch": "^18.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/libnpmteam": { + "version": "7.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "npm-registry-fetch": "^18.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/libnpmversion": { + "version": "7.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/git": "^6.0.1", + "@npmcli/run-script": "^9.0.1", + "json-parse-even-better-errors": "^4.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.7" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/lru-cache": { + "version": "10.4.3", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/make-fetch-happen": { + "version": "14.0.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/agent": "^3.0.0", + "cacache": "^19.0.1", + "http-cache-semantics": "^4.1.1", + "minipass": "^7.0.2", + "minipass-fetch": "^4.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^1.0.0", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1", + "ssri": "^12.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/make-fetch-happen/node_modules/negotiator": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/npm/node_modules/minimatch": { + "version": "9.0.5", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/minipass": { + "version": "7.1.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/npm/node_modules/minipass-collect": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/npm/node_modules/minipass-fetch": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "minipass": "^7.0.3", + "minipass-sized": "^1.0.3", + "minizlib": "^3.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/npm/node_modules/minipass-fetch/node_modules/minizlib": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "minipass": "^7.0.4", + "rimraf": "^5.0.5" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/npm/node_modules/minipass-flush": { + "version": "1.0.5", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/minipass-flush/node_modules/minipass": { + "version": "3.3.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/minipass-pipeline": { + "version": "1.2.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/minipass-pipeline/node_modules/minipass": { + "version": "3.3.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/minipass-sized": { + "version": "1.0.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/minipass-sized/node_modules/minipass": { + "version": "3.3.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/minizlib": { + "version": "2.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/mkdirp": { + "version": "1.0.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/ms": { + "version": "2.1.3", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/mute-stream": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/node-gyp": { + "version": "11.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "glob": "^10.3.10", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^14.0.3", + "nopt": "^8.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "tar": "^7.4.3", + "which": "^5.0.0" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/chownr": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/minizlib": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "minipass": "^7.0.4", + "rimraf": "^5.0.5" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/mkdirp": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/tar": { + "version": "7.4.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/yallist": { + "version": "5.0.0", + "dev": true, + "inBundle": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/npm/node_modules/nopt": { + "version": "8.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "abbrev": "^2.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/nopt/node_modules/abbrev": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/normalize-package-data": { + "version": "7.0.0", + "dev": true, + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^8.0.0", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/npm-audit-report": { + "version": "6.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/npm-bundled": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-normalize-package-bin": "^4.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/npm-install-checks": { + "version": "7.1.1", + "dev": true, + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "semver": "^7.1.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/npm-normalize-package-bin": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/npm-package-arg": { + "version": "12.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "hosted-git-info": "^8.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^6.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/npm-packlist": { + "version": "9.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "ignore-walk": "^7.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/npm-pick-manifest": { + "version": "10.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-install-checks": "^7.1.0", + "npm-normalize-package-bin": "^4.0.0", + "npm-package-arg": "^12.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/npm-profile": { + "version": "11.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-registry-fetch": "^18.0.0", + "proc-log": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/npm-registry-fetch": { + "version": "18.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/redact": "^3.0.0", + "jsonparse": "^1.3.1", + "make-fetch-happen": "^14.0.0", + "minipass": "^7.0.2", + "minipass-fetch": "^4.0.0", + "minizlib": "^3.0.1", + "npm-package-arg": "^12.0.0", + "proc-log": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/npm-registry-fetch/node_modules/minizlib": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "minipass": "^7.0.4", + "rimraf": "^5.0.5" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/npm/node_modules/npm-user-validate": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "BSD-2-Clause", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/p-map": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm/node_modules/package-json-from-dist": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "BlueOak-1.0.0" + }, + "node_modules/npm/node_modules/pacote": { + "version": "19.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/git": "^6.0.0", + "@npmcli/installed-package-contents": "^3.0.0", + "@npmcli/package-json": "^6.0.0", + "@npmcli/promise-spawn": "^8.0.0", + "@npmcli/run-script": "^9.0.0", + "cacache": "^19.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^7.0.2", + "npm-package-arg": "^12.0.0", + "npm-packlist": "^9.0.0", + "npm-pick-manifest": "^10.0.0", + "npm-registry-fetch": "^18.0.0", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1", + "sigstore": "^3.0.0", + "ssri": "^12.0.0", + "tar": "^6.1.11" + }, + "bin": { + "pacote": "bin/index.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/parse-conflict-json": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "json-parse-even-better-errors": "^4.0.0", + "just-diff": "^6.0.0", + "just-diff-apply": "^5.2.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/path-key": { + "version": "3.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/path-scurry": { + "version": "1.11.1", + "dev": true, + "inBundle": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/postcss-selector-parser": { + "version": "6.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/proc-log": { + "version": "5.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/proggy": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/promise-all-reject-late": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/promise-call-limit": { + "version": "3.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/promise-inflight": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/promise-retry": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/promzard": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "read": "^4.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/qrcode-terminal": { + "version": "0.12.0", + "dev": true, + "inBundle": true, + "bin": { + "qrcode-terminal": "bin/qrcode-terminal.js" + } + }, + "node_modules/npm/node_modules/read": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "mute-stream": "^2.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/read-cmd-shim": { + "version": "5.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/read-package-json-fast": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "json-parse-even-better-errors": "^4.0.0", + "npm-normalize-package-bin": "^4.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/retry": { + "version": "0.12.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/npm/node_modules/rimraf": { + "version": "5.0.10", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "glob": "^10.3.7" + }, + "bin": { + "rimraf": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/safer-buffer": { + "version": "2.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/npm/node_modules/semver": { + "version": "7.6.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/shebang-command": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/shebang-regex": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/signal-exit": { + "version": "4.1.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/sigstore": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^3.0.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.3.2", + "@sigstore/sign": "^3.0.0", + "@sigstore/tuf": "^3.0.0", + "@sigstore/verify": "^2.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/sigstore/node_modules/@sigstore/bundle": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/protobuf-specs": "^0.3.2" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/sigstore/node_modules/@sigstore/core": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/sigstore/node_modules/@sigstore/sign": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^3.0.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.3.2", + "make-fetch-happen": "^14.0.1", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/sigstore/node_modules/@sigstore/verify": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^3.0.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.3.2" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/smart-buffer": { + "version": "4.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/npm/node_modules/socks": { + "version": "2.8.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ip-address": "^9.0.5", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/npm/node_modules/socks-proxy-agent": { + "version": "8.0.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.1", + "debug": "^4.3.4", + "socks": "^2.8.3" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/npm/node_modules/spdx-correct": { + "version": "3.2.0", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/npm/node_modules/spdx-correct/node_modules/spdx-expression-parse": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/npm/node_modules/spdx-exceptions": { + "version": "2.5.0", + "dev": true, + "inBundle": true, + "license": "CC-BY-3.0" + }, + "node_modules/npm/node_modules/spdx-expression-parse": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/npm/node_modules/spdx-license-ids": { + "version": "3.0.20", + "dev": true, + "inBundle": true, + "license": "CC0-1.0" + }, + "node_modules/npm/node_modules/sprintf-js": { + "version": "1.1.3", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause" + }, + "node_modules/npm/node_modules/ssri": { + "version": "12.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/string-width": { + "version": "4.2.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/strip-ansi": { + "version": "6.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/supports-color": { + "version": "9.4.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/npm/node_modules/tar": { + "version": "6.2.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/tar/node_modules/fs-minipass": { + "version": "2.1.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/text-table": { + "version": "0.2.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/tiny-relative-date": { + "version": "1.3.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/treeverse": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/tuf-js": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "@tufjs/models": "3.0.1", + "debug": "^4.3.6", + "make-fetch-happen": "^14.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/tuf-js/node_modules/@tufjs/models": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "@tufjs/canonical-json": "2.0.0", + "minimatch": "^9.0.5" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/unique-filename": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "unique-slug": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/unique-slug": { + "version": "5.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/util-deprecate": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/validate-npm-package-license": { + "version": "3.0.4", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/npm/node_modules/validate-npm-package-name": { + "version": "6.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/walk-up-path": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/which": { + "version": "5.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/which/node_modules/isexe": { + "version": "3.1.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=16" + } + }, + "node_modules/npm/node_modules/wrap-ansi": { + "version": "8.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/npm/node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/npm/node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/npm/node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/npm/node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "9.2.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/wrap-ansi/node_modules/string-width": { + "version": "5.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm/node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/npm/node_modules/write-file-atomic": { + "version": "6.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "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.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-each-series": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-3.0.0.tgz", + "integrity": "sha512-lastgtAdoH9YaLyDa5i5z64q+kzOcQHsQ5SsZJD3q0VEyI8mq872S3geuNbRUQLVAE9siMfgKrpj7MloKFHruw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-filter": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-filter/-/p-filter-4.1.0.tgz", + "integrity": "sha512-37/tPdZ3oJwHaS3gNJdenCDB3Tz26i9sjhnguBtvN0vYlRIiDNnvTWkuh+0hETV9rLPdJ3rlL3yVOYPIAnM8rw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-map": "^7.0.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-is-promise": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-3.0.0.tgz", + "integrity": "sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz", + "integrity": "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-reduce": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-3.0.0.tgz", + "integrity": "sha512-xsrIUgI0Kn6iyDYm9StOpOeK29XM1aboGji26+QEortiFST1hGZaUQOLhtEbqHErPpGW/aSz6allwK2qcptp0Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-ms": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-4.0.0.tgz", + "integrity": "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parse5": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", + "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", + "dev": true, + "license": "MIT" + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", + "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", + "dev": true, + "license": "MIT", + "dependencies": { + "parse5": "^6.0.1" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-conf": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-2.1.0.tgz", + "integrity": "sha512-C+VUP+8jis7EsQZIhDYmS5qlNtjv2yP4SNtjXK9AP1ZcTRlnSfuumaTnRfYZnYgUUYVIKqL0fRvmUGDV2fmp6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^2.0.0", + "load-json-file": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-conf/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-conf/node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-conf/node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-conf/node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-conf/node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-conf/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.4.2.tgz", + "integrity": "sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/pretty-ms": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.2.0.tgz", + "integrity": "sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg==", + "dev": true, + "license": "MIT", + "dependencies": { + "parse-ms": "^4.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true, + "license": "MIT" + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", + "dev": true, + "license": "ISC" + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/pure-rand": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz", + "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ], + "license": "MIT" + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rc/node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true, + "license": "ISC" + }, + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true, + "license": "MIT" + }, + "node_modules/read-package-up": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/read-package-up/-/read-package-up-11.0.0.tgz", + "integrity": "sha512-MbgfoNPANMdb4oRBNg5eqLbB2t2r+o5Ua1pNt8BqGp4I0FJZhuVSOj3PaBPni4azWuSzEdNn2evevzVmEk1ohQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up-simple": "^1.0.0", + "read-pkg": "^9.0.0", + "type-fest": "^4.6.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-package-up/node_modules/type-fest": { + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.31.0.tgz", + "integrity": "sha512-yCxltHW07Nkhv/1F6wWBr8kz+5BGMfP+RbRSYFnegVb0qV/UMT0G0ElBloPVerqn4M2ZV80Ir1FtCcYv1cT6vQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-9.0.1.tgz", + "integrity": "sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/normalize-package-data": "^2.4.3", + "normalize-package-data": "^6.0.0", + "parse-json": "^8.0.0", + "type-fest": "^4.6.0", + "unicorn-magic": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg/node_modules/parse-json": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.1.0.tgz", + "integrity": "sha512-rum1bPifK5SSar35Z6EKZuYPJx85pkNaFrxBK3mwdfSJ1/WKbYrjoW/zTPSjRRamfmVX1ACBIdFAO0VRErW/EA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.22.13", + "index-to-position": "^0.1.2", + "type-fest": "^4.7.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg/node_modules/type-fest": { + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.31.0.tgz", + "integrity": "sha512-yCxltHW07Nkhv/1F6wWBr8kz+5BGMfP+RbRSYFnegVb0qV/UMT0G0ElBloPVerqn4M2ZV80Ir1FtCcYv1cT6vQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/readdirp/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true, + "license": "MIT" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", + "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", + "dev": true, + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "license": "MIT" + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regexpu-core": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.2.0.tgz", + "integrity": "sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==", + "dev": true, + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.2.0", + "regjsgen": "^0.8.0", + "regjsparser": "^0.12.0", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/registry-auth-token": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.0.3.tgz", + "integrity": "sha512-1bpc9IyC+e+CNFRaWyn77tk4xGG4PPUyfakSmA6F6cvUDjrm58dfyJ3II+9yb10EDkHoy1LaPSmHaWLOH3m6HA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@pnpm/npm-conf": "^2.1.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/regjsparser": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.12.0.tgz", + "integrity": "sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "jsesc": "~3.0.2" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve.exports": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz", + "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rollup": { + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.29.1.tgz", + "integrity": "sha512-RaJ45M/kmJUzSWDs1Nnd5DdV4eerC98idtUOVr6FfKcgxqvjwHmxc5upLF9qZU9EpsVzzhleFahrT3shLuJzIw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.6" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.29.1", + "@rollup/rollup-android-arm64": "4.29.1", + "@rollup/rollup-darwin-arm64": "4.29.1", + "@rollup/rollup-darwin-x64": "4.29.1", + "@rollup/rollup-freebsd-arm64": "4.29.1", + "@rollup/rollup-freebsd-x64": "4.29.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.29.1", + "@rollup/rollup-linux-arm-musleabihf": "4.29.1", + "@rollup/rollup-linux-arm64-gnu": "4.29.1", + "@rollup/rollup-linux-arm64-musl": "4.29.1", + "@rollup/rollup-linux-loongarch64-gnu": "4.29.1", + "@rollup/rollup-linux-powerpc64le-gnu": "4.29.1", + "@rollup/rollup-linux-riscv64-gnu": "4.29.1", + "@rollup/rollup-linux-s390x-gnu": "4.29.1", + "@rollup/rollup-linux-x64-gnu": "4.29.1", + "@rollup/rollup-linux-x64-musl": "4.29.1", + "@rollup/rollup-win32-arm64-msvc": "4.29.1", + "@rollup/rollup-win32-ia32-msvc": "4.29.1", + "@rollup/rollup-win32-x64-msvc": "4.29.1", + "fsevents": "~2.3.2" + } + }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/semantic-release": { + "version": "24.2.0", + "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-24.2.0.tgz", + "integrity": "sha512-fQfn6e/aYToRtVJYKqneFM1Rg3KP2gh3wSWtpYsLlz6uaPKlISrTzvYAFn+mYWo07F0X1Cz5ucU89AVE8X1mbg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@semantic-release/commit-analyzer": "^13.0.0-beta.1", + "@semantic-release/error": "^4.0.0", + "@semantic-release/github": "^11.0.0", + "@semantic-release/npm": "^12.0.0", + "@semantic-release/release-notes-generator": "^14.0.0-beta.1", + "aggregate-error": "^5.0.0", + "cosmiconfig": "^9.0.0", + "debug": "^4.0.0", + "env-ci": "^11.0.0", + "execa": "^9.0.0", + "figures": "^6.0.0", + "find-versions": "^6.0.0", + "get-stream": "^6.0.0", + "git-log-parser": "^1.2.0", + "hook-std": "^3.0.0", + "hosted-git-info": "^8.0.0", + "import-from-esm": "^1.3.1", + "lodash-es": "^4.17.21", + "marked": "^12.0.0", + "marked-terminal": "^7.0.0", + "micromatch": "^4.0.2", + "p-each-series": "^3.0.0", + "p-reduce": "^3.0.0", + "read-package-up": "^11.0.0", + "resolve-from": "^5.0.0", + "semver": "^7.3.2", + "semver-diff": "^4.0.0", + "signale": "^1.2.1", + "yargs": "^17.5.1" + }, + "bin": { + "semantic-release": "bin/semantic-release.js" + }, + "engines": { + "node": ">=20.8.1" + } + }, + "node_modules/semantic-release/node_modules/@sindresorhus/merge-streams": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", + "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semantic-release/node_modules/execa": { + "version": "9.5.2", + "resolved": "https://registry.npmjs.org/execa/-/execa-9.5.2.tgz", + "integrity": "sha512-EHlpxMCpHWSAh1dgS6bVeoLAXGnJNdR93aabr4QCGbzOM73o5XmRfM/e5FUqsw3aagP8S8XEWUWFAxnRBnAF0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sindresorhus/merge-streams": "^4.0.0", + "cross-spawn": "^7.0.3", + "figures": "^6.1.0", + "get-stream": "^9.0.0", + "human-signals": "^8.0.0", + "is-plain-obj": "^4.1.0", + "is-stream": "^4.0.1", + "npm-run-path": "^6.0.0", + "pretty-ms": "^9.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^4.0.0", + "yoctocolors": "^2.0.0" + }, + "engines": { + "node": "^18.19.0 || >=20.5.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/semantic-release/node_modules/execa/node_modules/get-stream": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", + "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sec-ant/readable-stream": "^0.4.1", + "is-stream": "^4.0.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semantic-release/node_modules/figures": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz", + "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-unicode-supported": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semantic-release/node_modules/human-signals": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.0.tgz", + "integrity": "sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/semantic-release/node_modules/is-stream": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", + "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semantic-release/node_modules/is-unicode-supported": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", + "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semantic-release/node_modules/npm-run-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz", + "integrity": "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^4.0.0", + "unicorn-magic": "^0.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semantic-release/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semantic-release/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semantic-release/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/semantic-release/node_modules/strip-final-newline": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-4.0.0.tgz", + "integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semantic-release/node_modules/unicorn-magic": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", + "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/semver-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-4.0.0.tgz", + "integrity": "sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semver-diff/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver-regex": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-4.0.5.tgz", + "integrity": "sha512-hunMQrEy1T6Jr2uEVjrAIqjwWcQTgOAcIM52C8MY1EZSD3DDNft04XzvYKPqjED65bNVVko0YI38nYeEHCX3yw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/signale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/signale/-/signale-1.4.0.tgz", + "integrity": "sha512-iuh+gPf28RkltuJC7W5MRi6XAjTDCAPC/prJUpQoG4vIP3MJZ+GTydVnodXA7pwvTKb2cA0m9OFZW/cdWy/I/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^2.3.2", + "figures": "^2.0.0", + "pkg-conf": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/signale/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/signale/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/signale/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/signale/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true, + "license": "MIT" + }, + "node_modules/signale/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/signale/node_modules/figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/signale/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/signale/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true, + "license": "MIT" + }, + "node_modules/skin-tone": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/skin-tone/-/skin-tone-2.0.0.tgz", + "integrity": "sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "unicode-emoji-modifier-base": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/smob": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/smob/-/smob-1.5.0.tgz", + "integrity": "sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==", + "dev": true, + "license": "MIT" + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/spawn-error-forwarder": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/spawn-error-forwarder/-/spawn-error-forwarder-1.0.0.tgz", + "integrity": "sha512-gRjMgK5uFjbCvdibeGJuy3I5OYz6VLoVdsOJdA6wV0WlfQVLFueoqMxwwYD9RODdgb6oUIvlRlsyFSiQkMKu0g==", + "dev": true, + "license": "MIT" + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "dev": true, + "license": "CC-BY-3.0" + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.20", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz", + "integrity": "sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/split2": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-1.0.0.tgz", + "integrity": "sha512-NKywug4u4pX/AZBB1FCPzZ6/7O+Xhz1qMVbzTvvKvikjO99oPN87SkK08mEY9P63/5lWjK+wgOOgApnTg5r6qg==", + "dev": true, + "license": "ISC", + "dependencies": { + "through2": "~2.0.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/stream-combiner2": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", + "integrity": "sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "duplexer2": "~0.1.0", + "readable-stream": "^2.0.2" + } + }, + "node_modules/stream-combiner2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/stream-combiner2/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/stream-combiner2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==", + "dev": true, + "license": "MIT" + }, + "node_modules/super-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/super-regex/-/super-regex-1.0.0.tgz", + "integrity": "sha512-CY8u7DtbvucKuquCmOFEKhr9Besln7n9uN8eFbwcoGYWXOMW07u2o8njWaiXt11ylS3qoGF55pILjRmPlbodyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-timeout": "^1.0.1", + "time-span": "^5.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.1.0.tgz", + "integrity": "sha512-2rn0BZ+/f7puLOHZm1HOJfwBggfaHXUpPUSSG/SWM4TWp5KCfmNYwnC3hruy2rZlMnmWZ+QAGpZfchu3f3695A==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/temp-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-3.0.0.tgz", + "integrity": "sha512-nHc6S/bwIilKHNRgK/3jlhDoIHcp45YgyiwcAk46Tr0LfEqGBVpmiAyuiuxeVE44m3mXnEeVhaipLOEWmH+Njw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.16" + } + }, + "node_modules/tempy": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-3.1.0.tgz", + "integrity": "sha512-7jDLIdD2Zp0bDe5r3D2qtkd1QOCacylBuL7oa4udvN6v2pqr4+LcCr67C8DR1zkpaZ8XosF5m1yQSabKAW6f2g==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-stream": "^3.0.0", + "temp-dir": "^3.0.0", + "type-fest": "^2.12.2", + "unique-string": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tempy/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tempy/node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terser": { + "version": "5.37.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.37.0.tgz", + "integrity": "sha512-B8wRRkmre4ERucLM/uXx4MOV5cbnOlVAqUst+1+iLKPI0dOgFO28f84ptoQt9HEI537PMzfYa/d+GEPKTRXmYA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/terser/node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "license": "ISC", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true, + "license": "MIT" + }, + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/through2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/through2/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/through2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/time-span": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/time-span/-/time-span-5.1.0.tgz", + "integrity": "sha512-75voc/9G4rDIJleOo4jPvN4/YC4GRZrY8yy1uU4lwrB3XEQbWve8zXoO5No4eFrGcTAMYyoY67p8jRQdtA1HbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "convert-hrtime": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/traverse": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.8.tgz", + "integrity": "sha512-aXJDbk6SnumuaZSANd21XAo15ucCDE38H4fkqiGsc3MhCK+wOlZvLP9cB/TvpHT0mOyWgC4Z8EwRlzqYSUzdsA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ts-api-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.3.tgz", + "integrity": "sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.2.tgz", + "integrity": "sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typescript-eslint": { + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.19.0.tgz", + "integrity": "sha512-Ni8sUkVWYK4KAcTtPjQ/UTiRk6jcsuDhPpxULapUDi8A/l8TSBk+t1GtJA1RsCzIJg0q6+J7bf35AwQigENWRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/eslint-plugin": "8.19.0", + "@typescript-eslint/parser": "8.19.0", + "@typescript-eslint/utils": "8.19.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" + } + }, + "node_modules/uglify-js": { + "version": "3.19.3", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz", + "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==", + "dev": true, + "license": "BSD-2-Clause", + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/undici-types": { + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", + "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", + "dev": true, + "license": "MIT" + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-emoji-modifier-base": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz", + "integrity": "sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", + "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicorn-magic": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", + "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/unique-string": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz", + "integrity": "sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "crypto-random-string": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/universal-user-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", + "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==", + "dev": true, + "license": "ISC" + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", + "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url-join": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-5.0.0.tgz", + "integrity": "sha512-n2huDr9h9yzd6exQVnH/jU5mr+Pfx08LRXXZhkLLetAMESRj+anQsTAh940iMrIetKAmry9coFuZQ2jY8/p3WA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "dev": true, + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-to-istanbul": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", + "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", + "dev": true, + "license": "ISC", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "license": "MIT", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "license": "MIT", + "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.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yoctocolors": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.1.tgz", + "integrity": "sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/package.json b/package.json index 032f2e3..147044c 100644 --- a/package.json +++ b/package.json @@ -1,66 +1,78 @@ { "name": "mimetext", "version": "v3.0.24", - "description": "RFC 2822 compliant raw email message generator written in node.js", + "description": "RFC-5322 compliant, fully typed and documented email message generator for javascript runtimes.", "type": "module", "exports": { ".": { "import": { - "types": "./dist/node.d.ts", - "default": "./dist/node.js" + "types": "./dist/entrypoints/node.d.ts", + "default": "./dist/mimetext.node.es.js" }, "require": { - "types": "./dist/node.d.cts", - "default": "./dist/node.cjs" + "types": "./dist/entrypoints/node.d.ts", + "default": "./dist/mimetext.node.cjs.js" } }, "./browser": { "import": { - "types": "./dist/browser.d.ts", - "default": "./dist/browser.js" + "types": "./dist/entrypoints/browser.d.ts", + "default": "./dist/mimetext.browser.es.js" }, "require": { - "types": "./dist/browser.d.cts", - "default": "./dist/browser.cjs" + "types": "./dist/entrypoints/browser.d.ts", + "default": "./dist/mimetext.browser.cjs.js" } }, "./node": { "import": { - "types": "./dist/node.d.ts", - "default": "./dist/node.js" + "types": "./dist/entrypoints/node.d.ts", + "default": "./dist/mimetext.node.es.js" }, "require": { - "types": "./dist/node.d.cts", - "default": "./dist/node.cjs" + "types": "./dist/entrypoints/node.d.ts", + "default": "./dist/mimetext.node.cjs.js" } }, "./gas": { "import": { - "types": "./dist/gas.d.ts", - "default": "./dist/gas.js" + "types": "./dist/entrypoints/gas.d.ts", + "default": "./dist/mimetext.gas.iife.js" }, "require": { - "types": "./dist/gas.d.cts", - "default": "./dist/gas.cjs" + "types": "./dist/entrypoints/gas.d.ts", + "default": "./dist/mimetext.gas.iife.js" } } }, - "types": "./dist/node.d.ts", - "main": "./dist/node.js", + "main": "./dist/mimetext.node.es.js", "scripts": { "lint": "eslint src", "format:check": "prettier src --check", "format": "prettier $(git diff --cached --name-only --diff-filter=ACMR src | sed 's| |\\\\ |g') --write --ignore-unknown", - "build": "NODE_ENV=production tsup", + "build": "rollup --config rollup.config.js", "test": "NODE_OPTIONS=--experimental-vm-modules jest --testPathIgnorePatterns tests/MIMEText.spec.js", "prepare": "husky || true", "commit": "cz" }, + "browserslist": [ + "defaults", + "> 0.1%", + "ie 10", + "not ie 9", + "not dead" + ], "repository": { "type": "git", "url": "git+https://github.com/muratgozel/MIMEText.git" }, "keywords": [ + "rfc-5322", + "rfc-2045", + "rfc-2046", + "rfc-2047", + "rfc-2048", + "rfc-2049", "rfc-2822", "mime-message", "email-message" @@ -87,22 +99,21 @@ "@babel/core": "^7.26.0", "@babel/plugin-transform-runtime": "^7.25.9", "@babel/preset-env": "^7.26.0", + "@babel/preset-typescript": "^7.26.0", "@eslint/js": "^9.17.0", "@jest/globals": "^29.7.0", "@rollup/plugin-babel": "^6.0.4", "@rollup/plugin-commonjs": "^28.0.2", - "@rollup/plugin-json": "^6.1.0", "@rollup/plugin-node-resolve": "^16.0.0", "@rollup/plugin-terser": "^0.4.4", + "@rollup/plugin-typescript": "^12.1.2", "@swc/core": "^1.10.4", "@swc/jest": "^0.2.37", - "@tsconfig/node20": "^20.1.4", - "@tsconfig/strictest": "^2.0.5", "@types/google-apps-script": "^1.0.89", "@types/mime-types": "^2.1.4", "@types/node": "^22.10.3", "commitizen": "^4.3.1", - "core-js": "^3.39.0", + "core-js": "3.30", "cz-conventional-changelog": "^3.3.0", "dotenv": "^16.4.7", "eslint": "^9.17.0", @@ -112,7 +123,6 @@ "prettier": "^3.4.2", "rollup": "^4.29.1", "semantic-release": "^24.2.0", - "tsup": "^8.3.5", "typescript": "^5.7.2", "typescript-eslint": "^8.19.0" }, @@ -121,8 +131,5 @@ "@babel/runtime-corejs3": "^7.26.0", "js-base64": "^3.7.7", "mime-types": "^2.1.35" - }, - "overrides": { - "xml2js": "0.5.0" } -} \ No newline at end of file +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml deleted file mode 100644 index 4fc7f02..0000000 --- a/pnpm-lock.yaml +++ /dev/null @@ -1,9097 +0,0 @@ -lockfileVersion: '9.0' - -settings: - autoInstallPeers: true - excludeLinksFromLockfile: false - -importers: - - .: - dependencies: - '@babel/runtime': - specifier: ^7.26.0 - version: 7.26.0 - '@babel/runtime-corejs3': - specifier: ^7.26.0 - version: 7.26.0 - js-base64: - specifier: ^3.7.7 - version: 3.7.7 - mime-types: - specifier: ^2.1.35 - version: 2.1.35 - devDependencies: - '@aws-sdk/client-ses': - specifier: ^3.716.0 - version: 3.716.0 - '@aws-sdk/client-sesv2': - specifier: ^3.716.0 - version: 3.716.0 - '@babel/cli': - specifier: ^7.26.4 - version: 7.26.4(@babel/core@7.26.0) - '@babel/core': - specifier: ^7.26.0 - version: 7.26.0 - '@babel/plugin-transform-runtime': - specifier: ^7.25.9 - version: 7.25.9(@babel/core@7.26.0) - '@babel/preset-env': - specifier: ^7.26.0 - version: 7.26.0(@babel/core@7.26.0) - '@eslint/js': - specifier: ^9.17.0 - version: 9.17.0 - '@jest/globals': - specifier: ^29.7.0 - version: 29.7.0 - '@rollup/plugin-babel': - specifier: ^6.0.4 - version: 6.0.4(@babel/core@7.26.0)(@types/babel__core@7.20.5)(rollup@4.29.1) - '@rollup/plugin-commonjs': - specifier: ^28.0.2 - version: 28.0.2(rollup@4.29.1) - '@rollup/plugin-json': - specifier: ^6.1.0 - version: 6.1.0(rollup@4.29.1) - '@rollup/plugin-node-resolve': - specifier: ^16.0.0 - version: 16.0.0(rollup@4.29.1) - '@rollup/plugin-terser': - specifier: ^0.4.4 - version: 0.4.4(rollup@4.29.1) - '@swc/core': - specifier: ^1.10.4 - version: 1.10.4 - '@swc/jest': - specifier: ^0.2.37 - version: 0.2.37(@swc/core@1.10.4) - '@tsconfig/node20': - specifier: ^20.1.4 - version: 20.1.4 - '@tsconfig/strictest': - specifier: ^2.0.5 - version: 2.0.5 - '@types/google-apps-script': - specifier: ^1.0.89 - version: 1.0.89 - '@types/mime-types': - specifier: ^2.1.4 - version: 2.1.4 - '@types/node': - specifier: ^22.10.3 - version: 22.10.3 - commitizen: - specifier: ^4.3.1 - version: 4.3.1(@types/node@22.10.3)(typescript@5.7.2) - core-js: - specifier: ^3.39.0 - version: 3.39.0 - cz-conventional-changelog: - specifier: ^3.3.0 - version: 3.3.0(@types/node@22.10.3)(typescript@5.7.2) - dotenv: - specifier: ^16.4.7 - version: 16.4.7 - eslint: - specifier: ^9.17.0 - version: 9.17.0(jiti@2.4.2) - globals: - specifier: ^15.14.0 - version: 15.14.0 - husky: - specifier: ^9.1.7 - version: 9.1.7 - jest: - specifier: ^29.7.0 - version: 29.7.0(@types/node@22.10.3) - prettier: - specifier: ^3.4.2 - version: 3.4.2 - rollup: - specifier: ^4.29.1 - version: 4.29.1 - semantic-release: - specifier: ^24.2.0 - version: 24.2.0(typescript@5.7.2) - tsup: - specifier: ^8.3.5 - version: 8.3.5(@swc/core@1.10.4)(jiti@2.4.2)(typescript@5.7.2) - typescript: - specifier: ^5.7.2 - version: 5.7.2 - typescript-eslint: - specifier: ^8.19.0 - version: 8.19.0(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2) - -packages: - - '@ampproject/remapping@2.3.0': - resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} - engines: {node: '>=6.0.0'} - - '@aws-crypto/sha256-browser@5.2.0': - resolution: {integrity: sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==} - - '@aws-crypto/sha256-js@5.2.0': - resolution: {integrity: sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==} - engines: {node: '>=16.0.0'} - - '@aws-crypto/supports-web-crypto@5.2.0': - resolution: {integrity: sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==} - - '@aws-crypto/util@5.2.0': - resolution: {integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==} - - '@aws-sdk/client-ses@3.716.0': - resolution: {integrity: sha512-lYsg2x3Z6R5ngBX1EqFKR6jf77ewbGg+aZV6V4ucVCghaGGcGnGisRP4FAep3IgkrZuByEYeJaA6cTli98qaOQ==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/client-sesv2@3.716.0': - resolution: {integrity: sha512-mHVu6siDbdt2mMMbzRWmyzHbnViadxia8yt3zrNsZU0EN7FDfun46wTaf8+bfoRoCTx8W5OkX/Sl+NsB+IO8SQ==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/client-sso-oidc@3.716.0': - resolution: {integrity: sha512-lA4IB9FzR2KjH7EVCo+mHGFKqdViVyeBQEIX9oVratL/l7P0bMS1fMwgfHOc3ACazqNxBxDES7x08ZCp32y6Lw==} - engines: {node: '>=16.0.0'} - peerDependencies: - '@aws-sdk/client-sts': ^3.716.0 - - '@aws-sdk/client-sso@3.716.0': - resolution: {integrity: sha512-5Nb0jJXce2TclbjG7WVPufwhgV1TRydz1QnsuBtKU0AdViEpr787YrZhPpGnNIM1Dx+R1H/tmAHZnOoohS6D8g==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/client-sts@3.716.0': - resolution: {integrity: sha512-i4SVNsrdXudp8T4bkm7Fi3YWlRnvXCSwvNDqf6nLqSJxqr4CN3VlBELueDyjBK7TAt453/qSif+eNx+bHmwo4Q==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/core@3.716.0': - resolution: {integrity: sha512-5DkUiTrbyzO8/W4g7UFEqRFpuhgizayHI/Zbh0wtFMcot8801nJV+MP/YMhdjimlvAr/OqYB08FbGsPyWppMTw==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/credential-provider-env@3.716.0': - resolution: {integrity: sha512-JI2KQUnn2arICwP9F3CnqP1W3nAbm4+meQg/yOhp9X0DMzQiHrHRd4HIrK2vyVgi2/6hGhONY5uLF26yRTA7nQ==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/credential-provider-http@3.716.0': - resolution: {integrity: sha512-CZ04pl2z7igQPysQyH2xKZHM3fLwkemxQbKOlje3TmiS1NwXvcKvERhp9PE/H23kOL7beTM19NMRog/Fka/rlw==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/credential-provider-ini@3.716.0': - resolution: {integrity: sha512-P37We2GtZvdROxiwP0zrpEL81/HuYK1qlYxp5VCj3uV+G4mG8UQN2gMIU/baYrpOQqa0h81RfyQGRFUjVaDVqw==} - engines: {node: '>=16.0.0'} - peerDependencies: - '@aws-sdk/client-sts': ^3.716.0 - - '@aws-sdk/credential-provider-node@3.716.0': - resolution: {integrity: sha512-FGQPK2uKfS53dVvoskN/s/t6m0Po24BGd1PzJdzHBFCOjxbZLM6+8mDMXeyi2hCLVVQOUcuW41kOgmJ0+zMbww==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/credential-provider-process@3.716.0': - resolution: {integrity: sha512-0spcu2MWVVHSTHH3WE2E//ttUJPwXRM3BCp+WyI41xLzpNu1Fd8zjOrDpEo0SnGUzsSiRTIJWgkuu/tqv9NJ2A==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/credential-provider-sso@3.716.0': - resolution: {integrity: sha512-J2IA3WuCpRGGoZm6VHZVFCnrxXP+41iUWb9Ct/1spljegTa1XjiaZ5Jf3+Ubj7WKiyvP9/dgz1L0bu2bYEjliw==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/credential-provider-web-identity@3.716.0': - resolution: {integrity: sha512-vzgpWKs2gGXZGdbMKRFrMW4PqEFWkGvwWH2T7ZwQv9m+8lQ7P4Dk2uimqu0f37HZAbpn8HFMqRh4CaySjU354A==} - engines: {node: '>=16.0.0'} - peerDependencies: - '@aws-sdk/client-sts': ^3.716.0 - - '@aws-sdk/middleware-host-header@3.714.0': - resolution: {integrity: sha512-6l68kjNrh5QC8FGX3I3geBDavWN5Tg1RLHJ2HLA8ByGBtJyCwnz3hEkKfaxn0bBx0hF9DzbfjEOUF6cDqy2Kjg==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/middleware-logger@3.714.0': - resolution: {integrity: sha512-RkqHlMvQWUaRklU1bMfUuBvdWwxgUtEqpADaHXlGVj3vtEY2UgBjy+57CveC4MByqKIunNvVHBBbjrGVtwY7Lg==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/middleware-recursion-detection@3.714.0': - resolution: {integrity: sha512-AVU5ixnh93nqtsfgNc284oXsXaadyHGPHpql/jwgaaqQfEXjS/1/j3j9E/vpacfTTz2Vzo7hAOjnvrOXSEVDaA==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/middleware-sdk-s3@3.716.0': - resolution: {integrity: sha512-Qzz5OfRA/5brqfvq+JHTInwS1EuJ1+tC6qMtwKWJN3czMnVJVdnnsPTf+G5IM/1yYaGEIjY8rC1ExQLcc8ApFQ==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/middleware-user-agent@3.716.0': - resolution: {integrity: sha512-FpAtT6nNKrYdkDZndutEraiRMf+TgDzAGvniqRtZ/YTPA+gIsWrsn+TwMKINR81lFC3nQfb9deS5CFtxd021Ew==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/region-config-resolver@3.714.0': - resolution: {integrity: sha512-HJzsQxgMOAzZrbf/YIqEx30or4tZK1oNAk6Wm6xecUQx+23JXIaePRu1YFUOLBBERQ4QBPpISFurZWBMZ5ibAw==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/signature-v4-multi-region@3.716.0': - resolution: {integrity: sha512-k0goWotZKKz+kV6Ln0qeAMSeSVi4NipuIIz5R8A0uCF2zBK4CXWdZR7KeaIoLBhJwQnHj1UU7E+2MK74KIUBzA==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/token-providers@3.714.0': - resolution: {integrity: sha512-vKN064aLE3kl+Zl16Ony3jltHnMddMBT7JRkP1L+lLywhA0PcAKxpdvComul/sTBWnbnwLnaS5NsDUhcWySH8A==} - engines: {node: '>=16.0.0'} - peerDependencies: - '@aws-sdk/client-sso-oidc': ^3.714.0 - - '@aws-sdk/types@3.714.0': - resolution: {integrity: sha512-ZjpP2gYbSFlxxaUDa1Il5AVvfggvUPbjzzB/l3q0gIE5Thd6xKW+yzEpt2mLZ5s5UaYSABZbF94g8NUOF4CVGA==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/util-arn-parser@3.693.0': - resolution: {integrity: sha512-WC8x6ca+NRrtpAH64rWu+ryDZI3HuLwlEr8EU6/dbC/pt+r/zC0PBoC15VEygUaBA+isppCikQpGyEDu0Yj7gQ==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/util-endpoints@3.714.0': - resolution: {integrity: sha512-Xv+Z2lhe7w7ZZRsgBwBMZgGTVmS+dkkj2S13uNHAx9lhB5ovM8PhK5G/j28xYf6vIibeuHkRAbb7/ozdZIGR+A==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/util-locate-window@3.693.0': - resolution: {integrity: sha512-ttrag6haJLWABhLqtg1Uf+4LgHWIMOVSYL+VYZmAp2v4PUGOwWmWQH0Zk8RM7YuQcLfH/EoR72/Yxz6A4FKcuw==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/util-user-agent-browser@3.714.0': - resolution: {integrity: sha512-OdJJ03cP9/MgIVToPJPCPUImbpZzTcwdIgbXC0tUQPJhbD7b7cB4LdnkhNHko+MptpOrCq4CPY/33EpOjRdofw==} - - '@aws-sdk/util-user-agent-node@3.716.0': - resolution: {integrity: sha512-3PqaXmQbxrtHKAsPCdp7kn5FrQktj8j3YyuNsqFZ8rWZeEQ88GWlsvE61PTsr2peYCKzpFqYVddef2x1axHU0w==} - engines: {node: '>=16.0.0'} - peerDependencies: - aws-crt: '>=1.0.0' - peerDependenciesMeta: - aws-crt: - optional: true - - '@babel/cli@7.26.4': - resolution: {integrity: sha512-+mORf3ezU3p3qr+82WvJSnQNE1GAYeoCfEv4fik6B5/2cvKZ75AX8oawWQdXtM9MmndooQj15Jr9kelRFWsuRw==} - engines: {node: '>=6.9.0'} - hasBin: true - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/code-frame@7.26.2': - resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} - engines: {node: '>=6.9.0'} - - '@babel/compat-data@7.26.3': - resolution: {integrity: sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g==} - engines: {node: '>=6.9.0'} - - '@babel/core@7.26.0': - resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==} - engines: {node: '>=6.9.0'} - - '@babel/generator@7.26.3': - resolution: {integrity: sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-annotate-as-pure@7.25.9': - resolution: {integrity: sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==} - engines: {node: '>=6.9.0'} - - '@babel/helper-compilation-targets@7.25.9': - resolution: {integrity: sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-create-class-features-plugin@7.25.9': - resolution: {integrity: sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-create-regexp-features-plugin@7.26.3': - resolution: {integrity: sha512-G7ZRb40uUgdKOQqPLjfD12ZmGA54PzqDFUv2BKImnC9QIfGhIHKvVML0oN8IUiDq4iRqpq74ABpvOaerfWdong==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-define-polyfill-provider@0.6.3': - resolution: {integrity: sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - - '@babel/helper-member-expression-to-functions@7.25.9': - resolution: {integrity: sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-module-imports@7.25.9': - resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-module-transforms@7.26.0': - resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-optimise-call-expression@7.25.9': - resolution: {integrity: sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-plugin-utils@7.25.9': - resolution: {integrity: sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-remap-async-to-generator@7.25.9': - resolution: {integrity: sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-replace-supers@7.25.9': - resolution: {integrity: sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-skip-transparent-expression-wrappers@7.25.9': - resolution: {integrity: sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-string-parser@7.25.9': - resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-validator-identifier@7.25.9': - resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-validator-option@7.25.9': - resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-wrap-function@7.25.9': - resolution: {integrity: sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==} - engines: {node: '>=6.9.0'} - - '@babel/helpers@7.26.0': - resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==} - engines: {node: '>=6.9.0'} - - '@babel/parser@7.26.3': - resolution: {integrity: sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==} - engines: {node: '>=6.0.0'} - hasBin: true - - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9': - resolution: {integrity: sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.9': - resolution: {integrity: sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9': - resolution: {integrity: sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.9': - resolution: {integrity: sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.13.0 - - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.9': - resolution: {integrity: sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2': - resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-async-generators@7.8.4': - resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-bigint@7.8.3': - resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-class-properties@7.12.13': - resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-class-static-block@7.14.5': - resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-import-assertions@7.26.0': - resolution: {integrity: sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-import-attributes@7.26.0': - resolution: {integrity: sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-import-meta@7.10.4': - resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-json-strings@7.8.3': - resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-jsx@7.25.9': - resolution: {integrity: sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-logical-assignment-operators@7.10.4': - resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3': - resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-numeric-separator@7.10.4': - resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-object-rest-spread@7.8.3': - resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-optional-catch-binding@7.8.3': - resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-optional-chaining@7.8.3': - resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-private-property-in-object@7.14.5': - resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-top-level-await@7.14.5': - resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-typescript@7.25.9': - resolution: {integrity: sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-unicode-sets-regex@7.18.6': - resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-transform-arrow-functions@7.25.9': - resolution: {integrity: sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-async-generator-functions@7.25.9': - resolution: {integrity: sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-async-to-generator@7.25.9': - resolution: {integrity: sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-block-scoped-functions@7.25.9': - resolution: {integrity: sha512-toHc9fzab0ZfenFpsyYinOX0J/5dgJVA2fm64xPewu7CoYHWEivIWKxkK2rMi4r3yQqLnVmheMXRdG+k239CgA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-block-scoping@7.25.9': - resolution: {integrity: sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-class-properties@7.25.9': - resolution: {integrity: sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-class-static-block@7.26.0': - resolution: {integrity: sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.12.0 - - '@babel/plugin-transform-classes@7.25.9': - resolution: {integrity: sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-computed-properties@7.25.9': - resolution: {integrity: sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-destructuring@7.25.9': - resolution: {integrity: sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-dotall-regex@7.25.9': - resolution: {integrity: sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-duplicate-keys@7.25.9': - resolution: {integrity: sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9': - resolution: {integrity: sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-transform-dynamic-import@7.25.9': - resolution: {integrity: sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-exponentiation-operator@7.26.3': - resolution: {integrity: sha512-7CAHcQ58z2chuXPWblnn1K6rLDnDWieghSOEmqQsrBenH0P9InCUtOJYD89pvngljmZlJcz3fcmgYsXFNGa1ZQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-export-namespace-from@7.25.9': - resolution: {integrity: sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-for-of@7.25.9': - resolution: {integrity: sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-function-name@7.25.9': - resolution: {integrity: sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-json-strings@7.25.9': - resolution: {integrity: sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-literals@7.25.9': - resolution: {integrity: sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-logical-assignment-operators@7.25.9': - resolution: {integrity: sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-member-expression-literals@7.25.9': - resolution: {integrity: sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-modules-amd@7.25.9': - resolution: {integrity: sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-modules-commonjs@7.26.3': - resolution: {integrity: sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-modules-systemjs@7.25.9': - resolution: {integrity: sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-modules-umd@7.25.9': - resolution: {integrity: sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-named-capturing-groups-regex@7.25.9': - resolution: {integrity: sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-transform-new-target@7.25.9': - resolution: {integrity: sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-nullish-coalescing-operator@7.25.9': - resolution: {integrity: sha512-ENfftpLZw5EItALAD4WsY/KUWvhUlZndm5GC7G3evUsVeSJB6p0pBeLQUnRnBCBx7zV0RKQjR9kCuwrsIrjWog==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-numeric-separator@7.25.9': - resolution: {integrity: sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-object-rest-spread@7.25.9': - resolution: {integrity: sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-object-super@7.25.9': - resolution: {integrity: sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-optional-catch-binding@7.25.9': - resolution: {integrity: sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-optional-chaining@7.25.9': - resolution: {integrity: sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-parameters@7.25.9': - resolution: {integrity: sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-private-methods@7.25.9': - resolution: {integrity: sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-private-property-in-object@7.25.9': - resolution: {integrity: sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-property-literals@7.25.9': - resolution: {integrity: sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-regenerator@7.25.9': - resolution: {integrity: sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-regexp-modifiers@7.26.0': - resolution: {integrity: sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-transform-reserved-words@7.25.9': - resolution: {integrity: sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-runtime@7.25.9': - resolution: {integrity: sha512-nZp7GlEl+yULJrClz0SwHPqir3lc0zsPrDHQUcxGspSL7AKrexNSEfTbfqnDNJUO13bgKyfuOLMF8Xqtu8j3YQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-shorthand-properties@7.25.9': - resolution: {integrity: sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-spread@7.25.9': - resolution: {integrity: sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-sticky-regex@7.25.9': - resolution: {integrity: sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-template-literals@7.25.9': - resolution: {integrity: sha512-o97AE4syN71M/lxrCtQByzphAdlYluKPDBzDVzMmfCobUjjhAryZV0AIpRPrxN0eAkxXO6ZLEScmt+PNhj2OTw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-typeof-symbol@7.25.9': - resolution: {integrity: sha512-v61XqUMiueJROUv66BVIOi0Fv/CUuZuZMl5NkRoCVxLAnMexZ0A3kMe7vvZ0nulxMuMp0Mk6S5hNh48yki08ZA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-unicode-escapes@7.25.9': - resolution: {integrity: sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-unicode-property-regex@7.25.9': - resolution: {integrity: sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-unicode-regex@7.25.9': - resolution: {integrity: sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-unicode-sets-regex@7.25.9': - resolution: {integrity: sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/preset-env@7.26.0': - resolution: {integrity: sha512-H84Fxq0CQJNdPFT2DrfnylZ3cf5K43rGfWK4LJGPpjKHiZlk0/RzwEus3PDDZZg+/Er7lCA03MVacueUuXdzfw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/preset-modules@0.1.6-no-external-plugins': - resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} - peerDependencies: - '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 - - '@babel/runtime-corejs3@7.26.0': - resolution: {integrity: sha512-YXHu5lN8kJCb1LOb9PgV6pvak43X2h4HvRApcN5SdWeaItQOzfn1hgP6jasD6KWQyJDBxrVmA9o9OivlnNJK/w==} - engines: {node: '>=6.9.0'} - - '@babel/runtime@7.26.0': - resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==} - engines: {node: '>=6.9.0'} - - '@babel/template@7.25.9': - resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==} - engines: {node: '>=6.9.0'} - - '@babel/traverse@7.26.4': - resolution: {integrity: sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==} - engines: {node: '>=6.9.0'} - - '@babel/types@7.26.3': - resolution: {integrity: sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==} - engines: {node: '>=6.9.0'} - - '@bcoe/v8-coverage@0.2.3': - resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - - '@colors/colors@1.5.0': - resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} - engines: {node: '>=0.1.90'} - - '@commitlint/config-validator@19.5.0': - resolution: {integrity: sha512-CHtj92H5rdhKt17RmgALhfQt95VayrUo2tSqY9g2w+laAXyk7K/Ef6uPm9tn5qSIwSmrLjKaXK9eiNuxmQrDBw==} - engines: {node: '>=v18'} - - '@commitlint/execute-rule@19.5.0': - resolution: {integrity: sha512-aqyGgytXhl2ejlk+/rfgtwpPexYyri4t8/n4ku6rRJoRhGZpLFMqrZ+YaubeGysCP6oz4mMA34YSTaSOKEeNrg==} - engines: {node: '>=v18'} - - '@commitlint/load@19.6.1': - resolution: {integrity: sha512-kE4mRKWWNju2QpsCWt428XBvUH55OET2N4QKQ0bF85qS/XbsRGG1MiTByDNlEVpEPceMkDr46LNH95DtRwcsfA==} - engines: {node: '>=v18'} - - '@commitlint/resolve-extends@19.5.0': - resolution: {integrity: sha512-CU/GscZhCUsJwcKTJS9Ndh3AKGZTNFIOoQB2n8CmFnizE0VnEuJoum+COW+C1lNABEeqk6ssfc1Kkalm4bDklA==} - engines: {node: '>=v18'} - - '@commitlint/types@19.5.0': - resolution: {integrity: sha512-DSHae2obMSMkAtTBSOulg5X7/z+rGLxcXQIkg3OmWvY6wifojge5uVMydfhUvs7yQj+V7jNmRZ2Xzl8GJyqRgg==} - engines: {node: '>=v18'} - - '@esbuild/aix-ppc64@0.24.2': - resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [aix] - - '@esbuild/android-arm64@0.24.2': - resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [android] - - '@esbuild/android-arm@0.24.2': - resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==} - engines: {node: '>=18'} - cpu: [arm] - os: [android] - - '@esbuild/android-x64@0.24.2': - resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==} - engines: {node: '>=18'} - cpu: [x64] - os: [android] - - '@esbuild/darwin-arm64@0.24.2': - resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==} - engines: {node: '>=18'} - cpu: [arm64] - os: [darwin] - - '@esbuild/darwin-x64@0.24.2': - resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==} - engines: {node: '>=18'} - cpu: [x64] - os: [darwin] - - '@esbuild/freebsd-arm64@0.24.2': - resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [freebsd] - - '@esbuild/freebsd-x64@0.24.2': - resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==} - engines: {node: '>=18'} - cpu: [x64] - os: [freebsd] - - '@esbuild/linux-arm64@0.24.2': - resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [linux] - - '@esbuild/linux-arm@0.24.2': - resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==} - engines: {node: '>=18'} - cpu: [arm] - os: [linux] - - '@esbuild/linux-ia32@0.24.2': - resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==} - engines: {node: '>=18'} - cpu: [ia32] - os: [linux] - - '@esbuild/linux-loong64@0.24.2': - resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==} - engines: {node: '>=18'} - cpu: [loong64] - os: [linux] - - '@esbuild/linux-mips64el@0.24.2': - resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==} - engines: {node: '>=18'} - cpu: [mips64el] - os: [linux] - - '@esbuild/linux-ppc64@0.24.2': - resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [linux] - - '@esbuild/linux-riscv64@0.24.2': - resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==} - engines: {node: '>=18'} - cpu: [riscv64] - os: [linux] - - '@esbuild/linux-s390x@0.24.2': - resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==} - engines: {node: '>=18'} - cpu: [s390x] - os: [linux] - - '@esbuild/linux-x64@0.24.2': - resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==} - engines: {node: '>=18'} - cpu: [x64] - os: [linux] - - '@esbuild/netbsd-arm64@0.24.2': - resolution: {integrity: sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [netbsd] - - '@esbuild/netbsd-x64@0.24.2': - resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==} - engines: {node: '>=18'} - cpu: [x64] - os: [netbsd] - - '@esbuild/openbsd-arm64@0.24.2': - resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openbsd] - - '@esbuild/openbsd-x64@0.24.2': - resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==} - engines: {node: '>=18'} - cpu: [x64] - os: [openbsd] - - '@esbuild/sunos-x64@0.24.2': - resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==} - engines: {node: '>=18'} - cpu: [x64] - os: [sunos] - - '@esbuild/win32-arm64@0.24.2': - resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==} - engines: {node: '>=18'} - cpu: [arm64] - os: [win32] - - '@esbuild/win32-ia32@0.24.2': - resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==} - engines: {node: '>=18'} - cpu: [ia32] - os: [win32] - - '@esbuild/win32-x64@0.24.2': - resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==} - engines: {node: '>=18'} - cpu: [x64] - os: [win32] - - '@eslint-community/eslint-utils@4.4.1': - resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - - '@eslint-community/regexpp@4.12.1': - resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - - '@eslint/config-array@0.19.1': - resolution: {integrity: sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/core@0.9.1': - resolution: {integrity: sha512-GuUdqkyyzQI5RMIWkHhvTWLCyLo1jNK3vzkSyaExH5kHPDHcuL2VOpHjmMY+y3+NC69qAKToBqldTBgYeLSr9Q==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/eslintrc@3.2.0': - resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/js@9.17.0': - resolution: {integrity: sha512-Sxc4hqcs1kTu0iID3kcZDW3JHq2a77HO9P8CP6YEA/FpH3Ll8UXE2r/86Rz9YJLKme39S9vU5OWNjC6Xl0Cr3w==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/object-schema@2.1.5': - resolution: {integrity: sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/plugin-kit@0.2.4': - resolution: {integrity: sha512-zSkKow6H5Kdm0ZUQUB2kV5JIXqoG0+uH5YADhaEHswm664N9Db8dXSi0nMJpacpMf+MyyglF1vnZohpEg5yUtg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@humanfs/core@0.19.1': - resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} - engines: {node: '>=18.18.0'} - - '@humanfs/node@0.16.6': - resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} - engines: {node: '>=18.18.0'} - - '@humanwhocodes/module-importer@1.0.1': - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} - - '@humanwhocodes/retry@0.3.1': - resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} - engines: {node: '>=18.18'} - - '@humanwhocodes/retry@0.4.1': - resolution: {integrity: sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==} - engines: {node: '>=18.18'} - - '@isaacs/cliui@8.0.2': - resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} - engines: {node: '>=12'} - - '@istanbuljs/load-nyc-config@1.1.0': - resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} - engines: {node: '>=8'} - - '@istanbuljs/schema@0.1.3': - resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} - engines: {node: '>=8'} - - '@jest/console@29.7.0': - resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/core@29.7.0': - resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - - '@jest/create-cache-key-function@29.7.0': - resolution: {integrity: sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/environment@29.7.0': - resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/expect-utils@29.7.0': - resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/expect@29.7.0': - resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/fake-timers@29.7.0': - resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/globals@29.7.0': - resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/reporters@29.7.0': - resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - - '@jest/schemas@29.6.3': - resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/source-map@29.6.3': - resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/test-result@29.7.0': - resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/test-sequencer@29.7.0': - resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/transform@29.7.0': - resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/types@29.6.3': - resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jridgewell/gen-mapping@0.3.8': - resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} - engines: {node: '>=6.0.0'} - - '@jridgewell/resolve-uri@3.1.2': - resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} - engines: {node: '>=6.0.0'} - - '@jridgewell/set-array@1.2.1': - resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} - engines: {node: '>=6.0.0'} - - '@jridgewell/source-map@0.3.6': - resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} - - '@jridgewell/sourcemap-codec@1.5.0': - resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} - - '@jridgewell/trace-mapping@0.3.25': - resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} - - '@nicolo-ribaudo/chokidar-2@2.1.8-no-fsevents.3': - resolution: {integrity: sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==} - - '@nodelib/fs.scandir@2.1.5': - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} - - '@nodelib/fs.stat@2.0.5': - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} - - '@nodelib/fs.walk@1.2.8': - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} - - '@octokit/auth-token@5.1.1': - resolution: {integrity: sha512-rh3G3wDO8J9wSjfI436JUKzHIxq8NaiL0tVeB2aXmG6p/9859aUOAjA9pmSPNGGZxfwmaJ9ozOJImuNVJdpvbA==} - engines: {node: '>= 18'} - - '@octokit/core@6.1.2': - resolution: {integrity: sha512-hEb7Ma4cGJGEUNOAVmyfdB/3WirWMg5hDuNFVejGEDFqupeOysLc2sG6HJxY2etBp5YQu5Wtxwi020jS9xlUwg==} - engines: {node: '>= 18'} - - '@octokit/endpoint@10.1.2': - resolution: {integrity: sha512-XybpFv9Ms4hX5OCHMZqyODYqGTZ3H6K6Vva+M9LR7ib/xr1y1ZnlChYv9H680y77Vd/i/k+thXApeRASBQkzhA==} - engines: {node: '>= 18'} - - '@octokit/graphql@8.1.2': - resolution: {integrity: sha512-bdlj/CJVjpaz06NBpfHhp4kGJaRZfz7AzC+6EwUImRtrwIw8dIgJ63Xg0OzV9pRn3rIzrt5c2sa++BL0JJ8GLw==} - engines: {node: '>= 18'} - - '@octokit/openapi-types@22.2.0': - resolution: {integrity: sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg==} - - '@octokit/plugin-paginate-rest@11.3.6': - resolution: {integrity: sha512-zcvqqf/+TicbTCa/Z+3w4eBJcAxCFymtc0UAIsR3dEVoNilWld4oXdscQ3laXamTszUZdusw97K8+DrbFiOwjw==} - engines: {node: '>= 18'} - peerDependencies: - '@octokit/core': '>=6' - - '@octokit/plugin-retry@7.1.2': - resolution: {integrity: sha512-XOWnPpH2kJ5VTwozsxGurw+svB2e61aWlmk5EVIYZPwFK5F9h4cyPyj9CIKRyMXMHSwpIsI3mPOdpMmrRhe7UQ==} - engines: {node: '>= 18'} - peerDependencies: - '@octokit/core': '>=6' - - '@octokit/plugin-throttling@9.3.2': - resolution: {integrity: sha512-FqpvcTpIWFpMMwIeSoypoJXysSAQ3R+ALJhXXSG1HTP3YZOIeLmcNcimKaXxTcws+Sh6yoRl13SJ5r8sXc1Fhw==} - engines: {node: '>= 18'} - peerDependencies: - '@octokit/core': ^6.0.0 - - '@octokit/request-error@6.1.6': - resolution: {integrity: sha512-pqnVKYo/at0NuOjinrgcQYpEbv4snvP3bKMRqHaD9kIsk9u1LCpb2smHZi8/qJfgeNqLo5hNW4Z7FezNdEo0xg==} - engines: {node: '>= 18'} - - '@octokit/request@9.1.4': - resolution: {integrity: sha512-tMbOwGm6wDII6vygP3wUVqFTw3Aoo0FnVQyhihh8vVq12uO3P+vQZeo2CKMpWtPSogpACD0yyZAlVlQnjW71DA==} - engines: {node: '>= 18'} - - '@octokit/types@13.6.2': - resolution: {integrity: sha512-WpbZfZUcZU77DrSW4wbsSgTPfKcp286q3ItaIgvSbBpZJlu6mnYXAkjZz6LVZPXkEvLIM8McanyZejKTYUHipA==} - - '@pkgjs/parseargs@0.11.0': - resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} - engines: {node: '>=14'} - - '@pnpm/config.env-replace@1.1.0': - resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} - engines: {node: '>=12.22.0'} - - '@pnpm/network.ca-file@1.0.2': - resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==} - engines: {node: '>=12.22.0'} - - '@pnpm/npm-conf@2.3.1': - resolution: {integrity: sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==} - engines: {node: '>=12'} - - '@rollup/plugin-babel@6.0.4': - resolution: {integrity: sha512-YF7Y52kFdFT/xVSuVdjkV5ZdX/3YtmX0QulG+x0taQOtJdHYzVU61aSSkAgVJ7NOv6qPkIYiJSgSWWN/DM5sGw==} - engines: {node: '>=14.0.0'} - peerDependencies: - '@babel/core': ^7.0.0 - '@types/babel__core': ^7.1.9 - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - '@types/babel__core': - optional: true - rollup: - optional: true - - '@rollup/plugin-commonjs@28.0.2': - resolution: {integrity: sha512-BEFI2EDqzl+vA1rl97IDRZ61AIwGH093d9nz8+dThxJNH8oSoB7MjWvPCX3dkaK1/RCJ/1v/R1XB15FuSs0fQw==} - engines: {node: '>=16.0.0 || 14 >= 14.17'} - peerDependencies: - rollup: ^2.68.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - - '@rollup/plugin-json@6.1.0': - resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - - '@rollup/plugin-node-resolve@16.0.0': - resolution: {integrity: sha512-0FPvAeVUT/zdWoO0jnb/V5BlBsUSNfkIOtFHzMO4H9MOklrmQFY6FduVHKucNb/aTFxvnGhj4MNj/T1oNdDfNg==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^2.78.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - - '@rollup/plugin-terser@0.4.4': - resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - - '@rollup/pluginutils@5.1.4': - resolution: {integrity: sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - - '@rollup/rollup-android-arm-eabi@4.29.1': - resolution: {integrity: sha512-ssKhA8RNltTZLpG6/QNkCSge+7mBQGUqJRisZ2MDQcEGaK93QESEgWK2iOpIDZ7k9zPVkG5AS3ksvD5ZWxmItw==} - cpu: [arm] - os: [android] - - '@rollup/rollup-android-arm64@4.29.1': - resolution: {integrity: sha512-CaRfrV0cd+NIIcVVN/jx+hVLN+VRqnuzLRmfmlzpOzB87ajixsN/+9L5xNmkaUUvEbI5BmIKS+XTwXsHEb65Ew==} - cpu: [arm64] - os: [android] - - '@rollup/rollup-darwin-arm64@4.29.1': - resolution: {integrity: sha512-2ORr7T31Y0Mnk6qNuwtyNmy14MunTAMx06VAPI6/Ju52W10zk1i7i5U3vlDRWjhOI5quBcrvhkCHyF76bI7kEw==} - cpu: [arm64] - os: [darwin] - - '@rollup/rollup-darwin-x64@4.29.1': - resolution: {integrity: sha512-j/Ej1oanzPjmN0tirRd5K2/nncAhS9W6ICzgxV+9Y5ZsP0hiGhHJXZ2JQ53iSSjj8m6cRY6oB1GMzNn2EUt6Ng==} - cpu: [x64] - os: [darwin] - - '@rollup/rollup-freebsd-arm64@4.29.1': - resolution: {integrity: sha512-91C//G6Dm/cv724tpt7nTyP+JdN12iqeXGFM1SqnljCmi5yTXriH7B1r8AD9dAZByHpKAumqP1Qy2vVNIdLZqw==} - cpu: [arm64] - os: [freebsd] - - '@rollup/rollup-freebsd-x64@4.29.1': - resolution: {integrity: sha512-hEioiEQ9Dec2nIRoeHUP6hr1PSkXzQaCUyqBDQ9I9ik4gCXQZjJMIVzoNLBRGet+hIUb3CISMh9KXuCcWVW/8w==} - cpu: [x64] - os: [freebsd] - - '@rollup/rollup-linux-arm-gnueabihf@4.29.1': - resolution: {integrity: sha512-Py5vFd5HWYN9zxBv3WMrLAXY3yYJ6Q/aVERoeUFwiDGiMOWsMs7FokXihSOaT/PMWUty/Pj60XDQndK3eAfE6A==} - cpu: [arm] - os: [linux] - - '@rollup/rollup-linux-arm-musleabihf@4.29.1': - resolution: {integrity: sha512-RiWpGgbayf7LUcuSNIbahr0ys2YnEERD4gYdISA06wa0i8RALrnzflh9Wxii7zQJEB2/Eh74dX4y/sHKLWp5uQ==} - cpu: [arm] - os: [linux] - - '@rollup/rollup-linux-arm64-gnu@4.29.1': - resolution: {integrity: sha512-Z80O+taYxTQITWMjm/YqNoe9d10OX6kDh8X5/rFCMuPqsKsSyDilvfg+vd3iXIqtfmp+cnfL1UrYirkaF8SBZA==} - cpu: [arm64] - os: [linux] - - '@rollup/rollup-linux-arm64-musl@4.29.1': - resolution: {integrity: sha512-fOHRtF9gahwJk3QVp01a/GqS4hBEZCV1oKglVVq13kcK3NeVlS4BwIFzOHDbmKzt3i0OuHG4zfRP0YoG5OF/rA==} - cpu: [arm64] - os: [linux] - - '@rollup/rollup-linux-loongarch64-gnu@4.29.1': - resolution: {integrity: sha512-5a7q3tnlbcg0OodyxcAdrrCxFi0DgXJSoOuidFUzHZ2GixZXQs6Tc3CHmlvqKAmOs5eRde+JJxeIf9DonkmYkw==} - cpu: [loong64] - os: [linux] - - '@rollup/rollup-linux-powerpc64le-gnu@4.29.1': - resolution: {integrity: sha512-9b4Mg5Yfz6mRnlSPIdROcfw1BU22FQxmfjlp/CShWwO3LilKQuMISMTtAu/bxmmrE6A902W2cZJuzx8+gJ8e9w==} - cpu: [ppc64] - os: [linux] - - '@rollup/rollup-linux-riscv64-gnu@4.29.1': - resolution: {integrity: sha512-G5pn0NChlbRM8OJWpJFMX4/i8OEU538uiSv0P6roZcbpe/WfhEO+AT8SHVKfp8qhDQzaz7Q+1/ixMy7hBRidnQ==} - cpu: [riscv64] - os: [linux] - - '@rollup/rollup-linux-s390x-gnu@4.29.1': - resolution: {integrity: sha512-WM9lIkNdkhVwiArmLxFXpWndFGuOka4oJOZh8EP3Vb8q5lzdSCBuhjavJsw68Q9AKDGeOOIHYzYm4ZFvmWez5g==} - cpu: [s390x] - os: [linux] - - '@rollup/rollup-linux-x64-gnu@4.29.1': - resolution: {integrity: sha512-87xYCwb0cPGZFoGiErT1eDcssByaLX4fc0z2nRM6eMtV9njAfEE6OW3UniAoDhX4Iq5xQVpE6qO9aJbCFumKYQ==} - cpu: [x64] - os: [linux] - - '@rollup/rollup-linux-x64-musl@4.29.1': - resolution: {integrity: sha512-xufkSNppNOdVRCEC4WKvlR1FBDyqCSCpQeMMgv9ZyXqqtKBfkw1yfGMTUTs9Qsl6WQbJnsGboWCp7pJGkeMhKA==} - cpu: [x64] - os: [linux] - - '@rollup/rollup-win32-arm64-msvc@4.29.1': - resolution: {integrity: sha512-F2OiJ42m77lSkizZQLuC+jiZ2cgueWQL5YC9tjo3AgaEw+KJmVxHGSyQfDUoYR9cci0lAywv2Clmckzulcq6ig==} - cpu: [arm64] - os: [win32] - - '@rollup/rollup-win32-ia32-msvc@4.29.1': - resolution: {integrity: sha512-rYRe5S0FcjlOBZQHgbTKNrqxCBUmgDJem/VQTCcTnA2KCabYSWQDrytOzX7avb79cAAweNmMUb/Zw18RNd4mng==} - cpu: [ia32] - os: [win32] - - '@rollup/rollup-win32-x64-msvc@4.29.1': - resolution: {integrity: sha512-+10CMg9vt1MoHj6x1pxyjPSMjHTIlqs8/tBztXvPAx24SKs9jwVnKqHJumlH/IzhaPUaj3T6T6wfZr8okdXaIg==} - cpu: [x64] - os: [win32] - - '@sec-ant/readable-stream@0.4.1': - resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} - - '@semantic-release/commit-analyzer@13.0.0': - resolution: {integrity: sha512-KtXWczvTAB1ZFZ6B4O+w8HkfYm/OgQb1dUGNFZtDgQ0csggrmkq8sTxhd+lwGF8kMb59/RnG9o4Tn7M/I8dQ9Q==} - engines: {node: '>=20.8.1'} - peerDependencies: - semantic-release: '>=20.1.0' - - '@semantic-release/error@4.0.0': - resolution: {integrity: sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==} - engines: {node: '>=18'} - - '@semantic-release/github@11.0.1': - resolution: {integrity: sha512-Z9cr0LgU/zgucbT9cksH0/pX9zmVda9hkDPcgIE0uvjMQ8w/mElDivGjx1w1pEQ+MuQJ5CBq3VCF16S6G4VH3A==} - engines: {node: '>=20.8.1'} - peerDependencies: - semantic-release: '>=24.1.0' - - '@semantic-release/npm@12.0.1': - resolution: {integrity: sha512-/6nntGSUGK2aTOI0rHPwY3ZjgY9FkXmEHbW9Kr+62NVOsyqpKKeP0lrCH+tphv+EsNdJNmqqwijTEnVWUMQ2Nw==} - engines: {node: '>=20.8.1'} - peerDependencies: - semantic-release: '>=20.1.0' - - '@semantic-release/release-notes-generator@14.0.2': - resolution: {integrity: sha512-ur2l2tVLBfX3fSEO2rCy2X6Kzg5S7BHGqdwTHvJrpWp4mOEN7W4K/2kWAjvfAlwMenEKjMnDIhBbxxjnP0S9hw==} - engines: {node: '>=20.8.1'} - peerDependencies: - semantic-release: '>=20.1.0' - - '@sinclair/typebox@0.27.8': - resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - - '@sindresorhus/is@4.6.0': - resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} - engines: {node: '>=10'} - - '@sindresorhus/merge-streams@2.3.0': - resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} - engines: {node: '>=18'} - - '@sindresorhus/merge-streams@4.0.0': - resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} - engines: {node: '>=18'} - - '@sinonjs/commons@3.0.1': - resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} - - '@sinonjs/fake-timers@10.3.0': - resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} - - '@smithy/abort-controller@3.1.9': - resolution: {integrity: sha512-yiW0WI30zj8ZKoSYNx90no7ugVn3khlyH/z5W8qtKBtVE6awRALbhSG+2SAHA1r6bO/6M9utxYKVZ3PCJ1rWxw==} - engines: {node: '>=16.0.0'} - - '@smithy/config-resolver@3.0.13': - resolution: {integrity: sha512-Gr/qwzyPaTL1tZcq8WQyHhTZREER5R1Wytmz4WnVGL4onA3dNk6Btll55c8Vr58pLdvWZmtG8oZxJTw3t3q7Jg==} - engines: {node: '>=16.0.0'} - - '@smithy/core@2.5.6': - resolution: {integrity: sha512-w494xO+CPwG/5B/N2l0obHv2Fi9U4DAY+sTi1GWT3BVvGpZetJjJXAynIO9IHp4zS1PinGhXtRSZydUXbJO4ag==} - engines: {node: '>=16.0.0'} - - '@smithy/credential-provider-imds@3.2.8': - resolution: {integrity: sha512-ZCY2yD0BY+K9iMXkkbnjo+08T2h8/34oHd0Jmh6BZUSZwaaGlGCyBT/3wnS7u7Xl33/EEfN4B6nQr3Gx5bYxgw==} - engines: {node: '>=16.0.0'} - - '@smithy/fetch-http-handler@4.1.2': - resolution: {integrity: sha512-R7rU7Ae3ItU4rC0c5mB2sP5mJNbCfoDc8I5XlYjIZnquyUwec7fEo78F6DA3SmgJgkU1qTMcZJuGblxZsl10ZA==} - - '@smithy/hash-node@3.0.11': - resolution: {integrity: sha512-emP23rwYyZhQBvklqTtwetkQlqbNYirDiEEwXl2v0GYWMnCzxst7ZaRAnWuy28njp5kAH54lvkdG37MblZzaHA==} - engines: {node: '>=16.0.0'} - - '@smithy/invalid-dependency@3.0.11': - resolution: {integrity: sha512-NuQmVPEJjUX6c+UELyVz8kUx8Q539EDeNwbRyu4IIF8MeV7hUtq1FB3SHVyki2u++5XLMFqngeMKk7ccspnNyQ==} - - '@smithy/is-array-buffer@2.2.0': - resolution: {integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==} - engines: {node: '>=14.0.0'} - - '@smithy/is-array-buffer@3.0.0': - resolution: {integrity: sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==} - engines: {node: '>=16.0.0'} - - '@smithy/middleware-content-length@3.0.13': - resolution: {integrity: sha512-zfMhzojhFpIX3P5ug7jxTjfUcIPcGjcQYzB9t+rv0g1TX7B0QdwONW+ATouaLoD7h7LOw/ZlXfkq4xJ/g2TrIw==} - engines: {node: '>=16.0.0'} - - '@smithy/middleware-endpoint@3.2.7': - resolution: {integrity: sha512-GTxSKf280aJBANGN97MomUQhW1VNxZ6w7HAj/pvZM5MUHbMPOGnWOp1PRYKi4czMaHNj9bdiA+ZarmT3Wkdqiw==} - engines: {node: '>=16.0.0'} - - '@smithy/middleware-retry@3.0.32': - resolution: {integrity: sha512-v8gVA9HqibuZkFuFpfkC/EcHE8no/3Mv3JvRUGly63Axt4yyas1WDVOasFSdiqm2hZVpY7/k8mRT1Wd5k7r3Yw==} - engines: {node: '>=16.0.0'} - - '@smithy/middleware-serde@3.0.11': - resolution: {integrity: sha512-KzPAeySp/fOoQA82TpnwItvX8BBURecpx6ZMu75EZDkAcnPtO6vf7q4aH5QHs/F1s3/snQaSFbbUMcFFZ086Mw==} - engines: {node: '>=16.0.0'} - - '@smithy/middleware-stack@3.0.11': - resolution: {integrity: sha512-1HGo9a6/ikgOMrTrWL/WiN9N8GSVYpuRQO5kjstAq4CvV59bjqnh7TbdXGQ4vxLD3xlSjfBjq5t1SOELePsLnA==} - engines: {node: '>=16.0.0'} - - '@smithy/node-config-provider@3.1.12': - resolution: {integrity: sha512-O9LVEu5J/u/FuNlZs+L7Ikn3lz7VB9hb0GtPT9MQeiBmtK8RSY3ULmsZgXhe6VAlgTw0YO+paQx4p8xdbs43vQ==} - engines: {node: '>=16.0.0'} - - '@smithy/node-http-handler@3.3.3': - resolution: {integrity: sha512-BrpZOaZ4RCbcJ2igiSNG16S+kgAc65l/2hmxWdmhyoGWHTLlzQzr06PXavJp9OBlPEG/sHlqdxjWmjzV66+BSQ==} - engines: {node: '>=16.0.0'} - - '@smithy/property-provider@3.1.11': - resolution: {integrity: sha512-I/+TMc4XTQ3QAjXfOcUWbSS073oOEAxgx4aZy8jHaf8JQnRkq2SZWw8+PfDtBvLUjcGMdxl+YwtzWe6i5uhL/A==} - engines: {node: '>=16.0.0'} - - '@smithy/protocol-http@4.1.8': - resolution: {integrity: sha512-hmgIAVyxw1LySOwkgMIUN0kjN8TG9Nc85LJeEmEE/cNEe2rkHDUWhnJf2gxcSRFLWsyqWsrZGw40ROjUogg+Iw==} - engines: {node: '>=16.0.0'} - - '@smithy/querystring-builder@3.0.11': - resolution: {integrity: sha512-u+5HV/9uJaeLj5XTb6+IEF/dokWWkEqJ0XiaRRogyREmKGUgZnNecLucADLdauWFKUNbQfulHFEZEdjwEBjXRg==} - engines: {node: '>=16.0.0'} - - '@smithy/querystring-parser@3.0.11': - resolution: {integrity: sha512-Je3kFvCsFMnso1ilPwA7GtlbPaTixa3WwC+K21kmMZHsBEOZYQaqxcMqeFFoU7/slFjKDIpiiPydvdJm8Q/MCw==} - engines: {node: '>=16.0.0'} - - '@smithy/service-error-classification@3.0.11': - resolution: {integrity: sha512-QnYDPkyewrJzCyaeI2Rmp7pDwbUETe+hU8ADkXmgNusO1bgHBH7ovXJiYmba8t0fNfJx75fE8dlM6SEmZxheog==} - engines: {node: '>=16.0.0'} - - '@smithy/shared-ini-file-loader@3.1.12': - resolution: {integrity: sha512-1xKSGI+U9KKdbG2qDvIR9dGrw3CNx+baqJfyr0igKEpjbHL5stsqAesYBzHChYHlelWtb87VnLWlhvfCz13H8Q==} - engines: {node: '>=16.0.0'} - - '@smithy/signature-v4@4.2.4': - resolution: {integrity: sha512-5JWeMQYg81TgU4cG+OexAWdvDTs5JDdbEZx+Qr1iPbvo91QFGzjy0IkXAKaXUHqmKUJgSHK0ZxnCkgZpzkeNTA==} - engines: {node: '>=16.0.0'} - - '@smithy/smithy-client@3.5.2': - resolution: {integrity: sha512-h7xn+1wlpbXyLrtvo/teHR1SFGIIrQ3imzG0nz43zVLAJgvfC1Mtdwa1pFhoIOYrt/TiNjt4pD0gSYQEdZSBtg==} - engines: {node: '>=16.0.0'} - - '@smithy/types@3.7.2': - resolution: {integrity: sha512-bNwBYYmN8Eh9RyjS1p2gW6MIhSO2rl7X9QeLM8iTdcGRP+eDiIWDt66c9IysCc22gefKszZv+ubV9qZc7hdESg==} - engines: {node: '>=16.0.0'} - - '@smithy/url-parser@3.0.11': - resolution: {integrity: sha512-TmlqXkSk8ZPhfc+SQutjmFr5FjC0av3GZP4B/10caK1SbRwe/v+Wzu/R6xEKxoNqL+8nY18s1byiy6HqPG37Aw==} - - '@smithy/util-base64@3.0.0': - resolution: {integrity: sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==} - engines: {node: '>=16.0.0'} - - '@smithy/util-body-length-browser@3.0.0': - resolution: {integrity: sha512-cbjJs2A1mLYmqmyVl80uoLTJhAcfzMOyPgjwAYusWKMdLeNtzmMz9YxNl3/jRLoxSS3wkqkf0jwNdtXWtyEBaQ==} - - '@smithy/util-body-length-node@3.0.0': - resolution: {integrity: sha512-Tj7pZ4bUloNUP6PzwhN7K386tmSmEET9QtQg0TgdNOnxhZvCssHji+oZTUIuzxECRfG8rdm2PMw2WCFs6eIYkA==} - engines: {node: '>=16.0.0'} - - '@smithy/util-buffer-from@2.2.0': - resolution: {integrity: sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==} - engines: {node: '>=14.0.0'} - - '@smithy/util-buffer-from@3.0.0': - resolution: {integrity: sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==} - engines: {node: '>=16.0.0'} - - '@smithy/util-config-provider@3.0.0': - resolution: {integrity: sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ==} - engines: {node: '>=16.0.0'} - - '@smithy/util-defaults-mode-browser@3.0.32': - resolution: {integrity: sha512-FAGsnm/xJ19SZeoqGyo9CosqjUlm+XJTmygDMktebvDKw3bKiIiZ40O1MA6Z52KLmekYU2GO7BEK7u6e7ZORKw==} - engines: {node: '>= 10.0.0'} - - '@smithy/util-defaults-mode-node@3.0.32': - resolution: {integrity: sha512-2CzKhkPFCVdd15f3+0D1rldNlvJME8pVRBtVVsea2hy7lcOn0bGB0dTVUwzgfM4LW/aU4IOg3jWf25ZWaxbOiw==} - engines: {node: '>= 10.0.0'} - - '@smithy/util-endpoints@2.1.7': - resolution: {integrity: sha512-tSfcqKcN/Oo2STEYCABVuKgJ76nyyr6skGl9t15hs+YaiU06sgMkN7QYjo0BbVw+KT26zok3IzbdSOksQ4YzVw==} - engines: {node: '>=16.0.0'} - - '@smithy/util-hex-encoding@3.0.0': - resolution: {integrity: sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==} - engines: {node: '>=16.0.0'} - - '@smithy/util-middleware@3.0.11': - resolution: {integrity: sha512-dWpyc1e1R6VoXrwLoLDd57U1z6CwNSdkM69Ie4+6uYh2GC7Vg51Qtan7ITzczuVpqezdDTKJGJB95fFvvjU/ow==} - engines: {node: '>=16.0.0'} - - '@smithy/util-retry@3.0.11': - resolution: {integrity: sha512-hJUC6W7A3DQgaee3Hp9ZFcOxVDZzmBIRBPlUAk8/fSOEl7pE/aX7Dci0JycNOnm9Mfr0KV2XjIlUOcGWXQUdVQ==} - engines: {node: '>=16.0.0'} - - '@smithy/util-stream@3.3.3': - resolution: {integrity: sha512-bOm0YMMxRjbI3X6QkWwADPFkh2AH2xBMQIB1IQgCsCRqXXpSJatgjUR3oxHthpYwFkw3WPkOt8VgMpJxC0rFqg==} - engines: {node: '>=16.0.0'} - - '@smithy/util-uri-escape@3.0.0': - resolution: {integrity: sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==} - engines: {node: '>=16.0.0'} - - '@smithy/util-utf8@2.3.0': - resolution: {integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==} - engines: {node: '>=14.0.0'} - - '@smithy/util-utf8@3.0.0': - resolution: {integrity: sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==} - engines: {node: '>=16.0.0'} - - '@smithy/util-waiter@3.2.0': - resolution: {integrity: sha512-PpjSboaDUE6yl+1qlg3Si57++e84oXdWGbuFUSAciXsVfEZJJJupR2Nb0QuXHiunt2vGR+1PTizOMvnUPaG2Qg==} - engines: {node: '>=16.0.0'} - - '@swc/core-darwin-arm64@1.10.4': - resolution: {integrity: sha512-sV/eurLhkjn/197y48bxKP19oqcLydSel42Qsy2zepBltqUx+/zZ8+/IS0Bi7kaWVFxerbW1IPB09uq8Zuvm3g==} - engines: {node: '>=10'} - cpu: [arm64] - os: [darwin] - - '@swc/core-darwin-x64@1.10.4': - resolution: {integrity: sha512-gjYNU6vrAUO4+FuovEo9ofnVosTFXkF0VDuo1MKPItz6e2pxc2ale4FGzLw0Nf7JB1sX4a8h06CN16/pLJ8Q2w==} - engines: {node: '>=10'} - cpu: [x64] - os: [darwin] - - '@swc/core-linux-arm-gnueabihf@1.10.4': - resolution: {integrity: sha512-zd7fXH5w8s+Sfvn2oO464KDWl+ZX1MJiVmE4Pdk46N3PEaNwE0koTfgx2vQRqRG4vBBobzVvzICC3618WcefOA==} - engines: {node: '>=10'} - cpu: [arm] - os: [linux] - - '@swc/core-linux-arm64-gnu@1.10.4': - resolution: {integrity: sha512-+UGfoHDxsMZgFD3tABKLeEZHqLNOkxStu+qCG7atGBhS4Slri6h6zijVvf4yI5X3kbXdvc44XV/hrP/Klnui2A==} - engines: {node: '>=10'} - cpu: [arm64] - os: [linux] - - '@swc/core-linux-arm64-musl@1.10.4': - resolution: {integrity: sha512-cDDj2/uYsOH0pgAnDkovLZvKJpFmBMyXkxEG6Q4yw99HbzO6QzZ5HDGWGWVq/6dLgYKlnnmpjZCPPQIu01mXEg==} - engines: {node: '>=10'} - cpu: [arm64] - os: [linux] - - '@swc/core-linux-x64-gnu@1.10.4': - resolution: {integrity: sha512-qJXh9D6Kf5xSdGWPINpLGixAbB5JX8JcbEJpRamhlDBoOcQC79dYfOMEIxWPhTS1DGLyFakAx2FX/b2VmQmj0g==} - engines: {node: '>=10'} - cpu: [x64] - os: [linux] - - '@swc/core-linux-x64-musl@1.10.4': - resolution: {integrity: sha512-A76lIAeyQnHCVt0RL/pG+0er8Qk9+acGJqSZOZm67Ve3B0oqMd871kPtaHBM0BW3OZAhoILgfHW3Op9Q3mx3Cw==} - engines: {node: '>=10'} - cpu: [x64] - os: [linux] - - '@swc/core-win32-arm64-msvc@1.10.4': - resolution: {integrity: sha512-e6j5kBu4fIY7fFxFxnZI0MlEovRvp50Lg59Fw+DVbtqHk3C85dckcy5xKP+UoXeuEmFceauQDczUcGs19SRGSQ==} - engines: {node: '>=10'} - cpu: [arm64] - os: [win32] - - '@swc/core-win32-ia32-msvc@1.10.4': - resolution: {integrity: sha512-RSYHfdKgNXV/amY5Tqk1EWVsyQnhlsM//jeqMLw5Fy9rfxP592W9UTumNikNRPdjI8wKKzNMXDb1U29tQjN0dg==} - engines: {node: '>=10'} - cpu: [ia32] - os: [win32] - - '@swc/core-win32-x64-msvc@1.10.4': - resolution: {integrity: sha512-1ujYpaqfqNPYdwKBlvJnOqcl+Syn3UrQ4XE0Txz6zMYgyh6cdU6a3pxqLqIUSJ12MtXRA9ZUhEz1ekU3LfLWXw==} - engines: {node: '>=10'} - cpu: [x64] - os: [win32] - - '@swc/core@1.10.4': - resolution: {integrity: sha512-ut3zfiTLORMxhr6y/GBxkHmzcGuVpwJYX4qyXWuBKkpw/0g0S5iO1/wW7RnLnZbAi8wS/n0atRZoaZlXWBkeJg==} - engines: {node: '>=10'} - peerDependencies: - '@swc/helpers': '*' - peerDependenciesMeta: - '@swc/helpers': - optional: true - - '@swc/counter@0.1.3': - resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} - - '@swc/jest@0.2.37': - resolution: {integrity: sha512-CR2BHhmXKGxTiFr21DYPRHQunLkX3mNIFGFkxBGji6r9uyIR5zftTOVYj1e0sFNMV2H7mf/+vpaglqaryBtqfQ==} - engines: {npm: '>= 7.0.0'} - peerDependencies: - '@swc/core': '*' - - '@swc/types@0.1.17': - resolution: {integrity: sha512-V5gRru+aD8YVyCOMAjMpWR1Ui577DD5KSJsHP8RAxopAH22jFz6GZd/qxqjO6MJHQhcsjvjOFXyDhyLQUnMveQ==} - - '@tsconfig/node20@20.1.4': - resolution: {integrity: sha512-sqgsT69YFeLWf5NtJ4Xq/xAF8p4ZQHlmGW74Nu2tD4+g5fAsposc4ZfaaPixVu4y01BEiDCWLRDCvDM5JOsRxg==} - - '@tsconfig/strictest@2.0.5': - resolution: {integrity: sha512-ec4tjL2Rr0pkZ5hww65c+EEPYwxOi4Ryv+0MtjeaSQRJyq322Q27eOQiFbuNgw2hpL4hB1/W/HBGk3VKS43osg==} - - '@types/babel__core@7.20.5': - resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} - - '@types/babel__generator@7.6.8': - resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} - - '@types/babel__template@7.4.4': - resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} - - '@types/babel__traverse@7.20.6': - resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} - - '@types/conventional-commits-parser@5.0.1': - resolution: {integrity: sha512-7uz5EHdzz2TqoMfV7ee61Egf5y6NkcO4FB/1iCCQnbeiI1F3xzv3vK5dBCXUCLQgGYS+mUeigK1iKQzvED+QnQ==} - - '@types/estree@1.0.6': - resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} - - '@types/google-apps-script@1.0.89': - resolution: {integrity: sha512-Vbvuyno3JnmFDwt4gOLSZKg3/EKLyViVhGqDt1oowY19M1x7Tl1sxOMSnAPdVGH5X/k2pcDWAh+poNaU8Jxwkw==} - - '@types/graceful-fs@4.1.9': - resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} - - '@types/istanbul-lib-coverage@2.0.6': - resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} - - '@types/istanbul-lib-report@3.0.3': - resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} - - '@types/istanbul-reports@3.0.4': - resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} - - '@types/json-schema@7.0.15': - resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - - '@types/mime-types@2.1.4': - resolution: {integrity: sha512-lfU4b34HOri+kAY5UheuFMWPDOI+OPceBSHZKp69gEyTL/mmJ4cnU6Y/rlme3UL3GyOn6Y42hyIEw0/q8sWx5w==} - - '@types/node@22.10.3': - resolution: {integrity: sha512-DifAyw4BkrufCILvD3ucnuN8eydUfc/C1GlyrnI+LK6543w5/L3VeVgf05o3B4fqSXP1dKYLOZsKfutpxPzZrw==} - - '@types/normalize-package-data@2.4.4': - resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} - - '@types/resolve@1.20.2': - resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} - - '@types/semver@7.5.8': - resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} - - '@types/stack-utils@2.0.3': - resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} - - '@types/yargs-parser@21.0.3': - resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} - - '@types/yargs@17.0.33': - resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} - - '@typescript-eslint/eslint-plugin@8.19.0': - resolution: {integrity: sha512-NggSaEZCdSrFddbctrVjkVZvFC6KGfKfNK0CU7mNK/iKHGKbzT4Wmgm08dKpcZECBu9f5FypndoMyRHkdqfT1Q==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.8.0' - - '@typescript-eslint/parser@8.19.0': - resolution: {integrity: sha512-6M8taKyOETY1TKHp0x8ndycipTVgmp4xtg5QpEZzXxDhNvvHOJi5rLRkLr8SK3jTgD5l4fTlvBiRdfsuWydxBw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.8.0' - - '@typescript-eslint/scope-manager@8.19.0': - resolution: {integrity: sha512-hkoJiKQS3GQ13TSMEiuNmSCvhz7ujyqD1x3ShbaETATHrck+9RaDdUbt+osXaUuns9OFwrDTTrjtwsU8gJyyRA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/type-utils@8.19.0': - resolution: {integrity: sha512-TZs0I0OSbd5Aza4qAMpp1cdCYVnER94IziudE3JU328YUHgWu9gwiwhag+fuLeJ2LkWLXI+F/182TbG+JaBdTg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.8.0' - - '@typescript-eslint/types@8.19.0': - resolution: {integrity: sha512-8XQ4Ss7G9WX8oaYvD4OOLCjIQYgRQxO+qCiR2V2s2GxI9AUpo7riNwo6jDhKtTcaJjT8PY54j2Yb33kWtSJsmA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/typescript-estree@8.19.0': - resolution: {integrity: sha512-WW9PpDaLIFW9LCbucMSdYUuGeFUz1OkWYS/5fwZwTA+l2RwlWFdJvReQqMUMBw4yJWJOfqd7An9uwut2Oj8sLw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <5.8.0' - - '@typescript-eslint/utils@8.19.0': - resolution: {integrity: sha512-PTBG+0oEMPH9jCZlfg07LCB2nYI0I317yyvXGfxnvGvw4SHIOuRnQ3kadyyXY6tGdChusIHIbM5zfIbp4M6tCg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.8.0' - - '@typescript-eslint/visitor-keys@8.19.0': - resolution: {integrity: sha512-mCFtBbFBJDCNCWUl5y6sZSCHXw1DEFEk3c/M3nRK2a4XUB8StGFtmcEMizdjKuBzB6e/smJAAWYug3VrdLMr1w==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - acorn-jsx@5.3.2: - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - - acorn@8.14.0: - resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} - engines: {node: '>=0.4.0'} - hasBin: true - - agent-base@7.1.3: - resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==} - engines: {node: '>= 14'} - - aggregate-error@5.0.0: - resolution: {integrity: sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==} - engines: {node: '>=18'} - - ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - - ajv@8.17.1: - resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} - - ansi-escapes@4.3.2: - resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} - engines: {node: '>=8'} - - ansi-escapes@7.0.0: - resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==} - engines: {node: '>=18'} - - ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} - - ansi-regex@6.1.0: - resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} - engines: {node: '>=12'} - - ansi-styles@3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} - - ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} - - ansi-styles@5.2.0: - resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} - engines: {node: '>=10'} - - ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} - engines: {node: '>=12'} - - any-promise@1.3.0: - resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} - - anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} - - argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - - argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - - argv-formatter@1.0.0: - resolution: {integrity: sha512-F2+Hkm9xFaRg+GkaNnbwXNDV5O6pnCFEmqyhvfC/Ic5LbgOWjJh3L+mN/s91rxVL3znE7DYVpW0GJFT+4YBgWw==} - - array-ify@1.0.0: - resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} - - at-least-node@1.0.0: - resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} - engines: {node: '>= 4.0.0'} - - babel-jest@29.7.0: - resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@babel/core': ^7.8.0 - - babel-plugin-istanbul@6.1.1: - resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} - engines: {node: '>=8'} - - babel-plugin-jest-hoist@29.6.3: - resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - babel-plugin-polyfill-corejs2@0.4.12: - resolution: {integrity: sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - - babel-plugin-polyfill-corejs3@0.10.6: - resolution: {integrity: sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - - babel-plugin-polyfill-regenerator@0.6.3: - resolution: {integrity: sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - - babel-preset-current-node-syntax@1.1.0: - resolution: {integrity: sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==} - peerDependencies: - '@babel/core': ^7.0.0 - - babel-preset-jest@29.6.3: - resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@babel/core': ^7.0.0 - - balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - - base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - - before-after-hook@3.0.2: - resolution: {integrity: sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==} - - binary-extensions@2.3.0: - resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} - engines: {node: '>=8'} - - bl@4.1.0: - resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} - - bottleneck@2.19.5: - resolution: {integrity: sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==} - - bowser@2.11.0: - resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==} - - brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - - brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - - braces@3.0.3: - resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} - engines: {node: '>=8'} - - browserslist@4.24.3: - resolution: {integrity: sha512-1CPmv8iobE2fyRMV97dAcMVegvvWKxmq94hkLiAkUGwKVTyDLw33K+ZxiFrREKmmps4rIw6grcCFCnTMSZ/YiA==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - - bser@2.1.1: - resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} - - buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - - buffer@5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} - - bundle-require@5.1.0: - resolution: {integrity: sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - peerDependencies: - esbuild: '>=0.18' - - cac@6.7.14: - resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} - engines: {node: '>=8'} - - cachedir@2.3.0: - resolution: {integrity: sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==} - engines: {node: '>=6'} - - callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - - camelcase@5.3.1: - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} - engines: {node: '>=6'} - - camelcase@6.3.0: - resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} - engines: {node: '>=10'} - - caniuse-lite@1.0.30001690: - resolution: {integrity: sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w==} - - chalk@2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} - - chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} - - chalk@5.4.1: - resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - - char-regex@1.0.2: - resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} - engines: {node: '>=10'} - - chardet@0.7.0: - resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} - - chokidar@3.6.0: - resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} - engines: {node: '>= 8.10.0'} - - chokidar@4.0.3: - resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} - engines: {node: '>= 14.16.0'} - - ci-info@3.9.0: - resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} - engines: {node: '>=8'} - - cjs-module-lexer@1.4.1: - resolution: {integrity: sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==} - - clean-stack@5.2.0: - resolution: {integrity: sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==} - engines: {node: '>=14.16'} - - cli-cursor@3.1.0: - resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} - engines: {node: '>=8'} - - cli-highlight@2.1.11: - resolution: {integrity: sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==} - engines: {node: '>=8.0.0', npm: '>=5.0.0'} - hasBin: true - - cli-spinners@2.9.2: - resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} - engines: {node: '>=6'} - - cli-table3@0.6.5: - resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} - engines: {node: 10.* || >= 12.*} - - cli-width@3.0.0: - resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} - engines: {node: '>= 10'} - - cliui@7.0.4: - resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} - - cliui@8.0.1: - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} - engines: {node: '>=12'} - - clone@1.0.4: - resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} - engines: {node: '>=0.8'} - - co@4.6.0: - resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} - engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} - - collect-v8-coverage@1.0.2: - resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} - - color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - - color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} - - color-name@1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - - color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - - commander@2.20.3: - resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - - commander@4.1.1: - resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} - engines: {node: '>= 6'} - - commander@6.2.1: - resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} - engines: {node: '>= 6'} - - commitizen@4.3.1: - resolution: {integrity: sha512-gwAPAVTy/j5YcOOebcCRIijn+mSjWJC+IYKivTu6aG8Ei/scoXgfsMRnuAk6b0GRste2J4NGxVdMN3ZpfNaVaw==} - engines: {node: '>= 12'} - hasBin: true - - commondir@1.0.1: - resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} - - compare-func@2.0.0: - resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} - - concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - - config-chain@1.1.13: - resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} - - consola@3.3.3: - resolution: {integrity: sha512-Qil5KwghMzlqd51UXM0b6fyaGHtOC22scxrwrz4A2882LyUMwQjnvaedN1HAeXzphspQ6CpHkzMAWxBTUruDLg==} - engines: {node: ^14.18.0 || >=16.10.0} - - conventional-changelog-angular@8.0.0: - resolution: {integrity: sha512-CLf+zr6St0wIxos4bmaKHRXWAcsCXrJU6F4VdNDrGRK3B8LDLKoX3zuMV5GhtbGkVR/LohZ6MT6im43vZLSjmA==} - engines: {node: '>=18'} - - conventional-changelog-writer@8.0.0: - resolution: {integrity: sha512-TQcoYGRatlAnT2qEWDON/XSfnVG38JzA7E0wcGScu7RElQBkg9WWgZd1peCWFcWDh1xfb2CfsrcvOn1bbSzztA==} - engines: {node: '>=18'} - hasBin: true - - conventional-commit-types@3.0.0: - resolution: {integrity: sha512-SmmCYnOniSsAa9GqWOeLqc179lfr5TRu5b4QFDkbsrJ5TZjPJx85wtOr3zn+1dbeNiXDKGPbZ72IKbPhLXh/Lg==} - - conventional-commits-filter@5.0.0: - resolution: {integrity: sha512-tQMagCOC59EVgNZcC5zl7XqO30Wki9i9J3acbUvkaosCT6JX3EeFwJD7Qqp4MCikRnzS18WXV3BLIQ66ytu6+Q==} - engines: {node: '>=18'} - - conventional-commits-parser@6.0.0: - resolution: {integrity: sha512-TbsINLp48XeMXR8EvGjTnKGsZqBemisPoyWESlpRyR8lif0lcwzqz+NMtYSj1ooF/WYjSuu7wX0CtdeeMEQAmA==} - engines: {node: '>=18'} - hasBin: true - - convert-hrtime@5.0.0: - resolution: {integrity: sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg==} - engines: {node: '>=12'} - - convert-source-map@2.0.0: - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - - core-js-compat@3.39.0: - resolution: {integrity: sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw==} - - core-js-pure@3.39.0: - resolution: {integrity: sha512-7fEcWwKI4rJinnK+wLTezeg2smbFFdSBP6E2kQZNbnzM2s1rpKQ6aaRteZSSg7FLU3P0HGGVo/gbpfanU36urg==} - - core-js@3.39.0: - resolution: {integrity: sha512-raM0ew0/jJUqkJ0E6e8UDtl+y/7ktFivgWvqw8dNSQeNWoSDLvQ1H/RN3aPXB9tBd4/FhyR4RDPGhsNIMsAn7g==} - - core-util-is@1.0.3: - resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - - cosmiconfig-typescript-loader@6.1.0: - resolution: {integrity: sha512-tJ1w35ZRUiM5FeTzT7DtYWAFFv37ZLqSRkGi2oeCK1gPhvaWjkAtfXvLmvE1pRfxxp9aQo6ba/Pvg1dKj05D4g==} - engines: {node: '>=v18'} - peerDependencies: - '@types/node': '*' - cosmiconfig: '>=9' - typescript: '>=5' - - cosmiconfig@9.0.0: - resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} - engines: {node: '>=14'} - peerDependencies: - typescript: '>=4.9.5' - peerDependenciesMeta: - typescript: - optional: true - - create-jest@29.7.0: - resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true - - cross-spawn@7.0.6: - resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} - engines: {node: '>= 8'} - - crypto-random-string@4.0.0: - resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==} - engines: {node: '>=12'} - - cz-conventional-changelog@3.3.0: - resolution: {integrity: sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw==} - engines: {node: '>= 10'} - - debug@4.4.0: - resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - - dedent@0.7.0: - resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} - - dedent@1.5.3: - resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==} - peerDependencies: - babel-plugin-macros: ^3.1.0 - peerDependenciesMeta: - babel-plugin-macros: - optional: true - - deep-extend@0.6.0: - resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} - engines: {node: '>=4.0.0'} - - deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - - deepmerge@4.3.1: - resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} - engines: {node: '>=0.10.0'} - - defaults@1.0.4: - resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} - - detect-file@1.0.0: - resolution: {integrity: sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==} - engines: {node: '>=0.10.0'} - - detect-indent@6.1.0: - resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} - engines: {node: '>=8'} - - detect-newline@3.1.0: - resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} - engines: {node: '>=8'} - - diff-sequences@29.6.3: - resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} - - dot-prop@5.3.0: - resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} - engines: {node: '>=8'} - - dotenv@16.4.7: - resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==} - engines: {node: '>=12'} - - duplexer2@0.1.4: - resolution: {integrity: sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==} - - eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - - electron-to-chromium@1.5.76: - resolution: {integrity: sha512-CjVQyG7n7Sr+eBXE86HIulnL5N8xZY1sgmOPGuq/F0Rr0FJq63lg0kEtOIDfZBk44FnDLf6FUJ+dsJcuiUDdDQ==} - - emittery@0.13.1: - resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} - engines: {node: '>=12'} - - emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - - emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - - emojilib@2.4.0: - resolution: {integrity: sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==} - - env-ci@11.1.0: - resolution: {integrity: sha512-Z8dnwSDbV1XYM9SBF2J0GcNVvmfmfh3a49qddGIROhBoVro6MZVTji15z/sJbQ2ko2ei8n988EU1wzoLU/tF+g==} - engines: {node: ^18.17 || >=20.6.1} - - env-paths@2.2.1: - resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} - engines: {node: '>=6'} - - environment@1.1.0: - resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} - engines: {node: '>=18'} - - error-ex@1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} - - esbuild@0.24.2: - resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==} - engines: {node: '>=18'} - hasBin: true - - escalade@3.2.0: - resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} - engines: {node: '>=6'} - - escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} - - escape-string-regexp@2.0.0: - resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} - engines: {node: '>=8'} - - escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} - - escape-string-regexp@5.0.0: - resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} - engines: {node: '>=12'} - - eslint-scope@8.2.0: - resolution: {integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - eslint-visitor-keys@3.4.3: - resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - eslint-visitor-keys@4.2.0: - resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - eslint@9.17.0: - resolution: {integrity: sha512-evtlNcpJg+cZLcnVKwsai8fExnqjGPicK7gnUtlNuzu+Fv9bI0aLpND5T44VLQtoMEnI57LoXO9XAkIXwohKrA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - hasBin: true - peerDependencies: - jiti: '*' - peerDependenciesMeta: - jiti: - optional: true - - espree@10.3.0: - resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true - - esquery@1.6.0: - resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} - engines: {node: '>=0.10'} - - esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} - - estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} - - estree-walker@2.0.2: - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - - esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} - - execa@5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} - - execa@8.0.1: - resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} - engines: {node: '>=16.17'} - - execa@9.5.2: - resolution: {integrity: sha512-EHlpxMCpHWSAh1dgS6bVeoLAXGnJNdR93aabr4QCGbzOM73o5XmRfM/e5FUqsw3aagP8S8XEWUWFAxnRBnAF0Q==} - engines: {node: ^18.19.0 || >=20.5.0} - - exit@0.1.2: - resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} - engines: {node: '>= 0.8.0'} - - expand-tilde@2.0.2: - resolution: {integrity: sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==} - engines: {node: '>=0.10.0'} - - expect@29.7.0: - resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - external-editor@3.1.0: - resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} - engines: {node: '>=4'} - - fast-content-type-parse@2.0.0: - resolution: {integrity: sha512-fCqg/6Sps8tqk8p+kqyKqYfOF0VjPNYrqpLiqNl0RBKmD80B080AJWVV6EkSkscjToNExcXg1+Mfzftrx6+iSA==} - - fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - - fast-glob@3.3.2: - resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} - engines: {node: '>=8.6.0'} - - fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - - fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - - fast-uri@3.0.3: - resolution: {integrity: sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==} - - fast-xml-parser@4.4.1: - resolution: {integrity: sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==} - hasBin: true - - fastq@1.18.0: - resolution: {integrity: sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==} - - fb-watchman@2.0.2: - resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} - - fdir@6.4.2: - resolution: {integrity: sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ==} - peerDependencies: - picomatch: ^3 || ^4 - peerDependenciesMeta: - picomatch: - optional: true - - figures@2.0.0: - resolution: {integrity: sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==} - engines: {node: '>=4'} - - figures@3.2.0: - resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} - engines: {node: '>=8'} - - figures@6.1.0: - resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} - engines: {node: '>=18'} - - file-entry-cache@8.0.0: - resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} - engines: {node: '>=16.0.0'} - - fill-range@7.1.1: - resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} - engines: {node: '>=8'} - - find-node-modules@2.1.3: - resolution: {integrity: sha512-UC2I2+nx1ZuOBclWVNdcnbDR5dlrOdVb7xNjmT/lHE+LsgztWks3dG7boJ37yTS/venXw84B/mAW9uHVoC5QRg==} - - find-root@1.1.0: - resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} - - find-up-simple@1.0.0: - resolution: {integrity: sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==} - engines: {node: '>=18'} - - find-up@2.1.0: - resolution: {integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==} - engines: {node: '>=4'} - - find-up@4.1.0: - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} - engines: {node: '>=8'} - - find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} - - find-versions@6.0.0: - resolution: {integrity: sha512-2kCCtc+JvcZ86IGAz3Z2Y0A1baIz9fL31pH/0S1IqZr9Iwnjq8izfPtrCyQKO6TLMPELLsQMre7VDqeIKCsHkA==} - engines: {node: '>=18'} - - findup-sync@4.0.0: - resolution: {integrity: sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==} - engines: {node: '>= 8'} - - flat-cache@4.0.1: - resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} - engines: {node: '>=16'} - - flatted@3.3.2: - resolution: {integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==} - - foreground-child@3.3.0: - resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} - engines: {node: '>=14'} - - from2@2.3.0: - resolution: {integrity: sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==} - - fs-extra@11.2.0: - resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} - engines: {node: '>=14.14'} - - fs-extra@9.1.0: - resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} - engines: {node: '>=10'} - - fs-readdir-recursive@1.1.0: - resolution: {integrity: sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==} - - fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - - fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - - function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - - function-timeout@1.0.2: - resolution: {integrity: sha512-939eZS4gJ3htTHAldmyyuzlrD58P03fHG49v2JfFXbV6OhvZKRC9j2yAtdHw/zrp2zXHuv05zMIy40F0ge7spA==} - engines: {node: '>=18'} - - gensync@1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} - - get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} - - get-package-type@0.1.0: - resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} - engines: {node: '>=8.0.0'} - - get-stream@6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} - - get-stream@7.0.1: - resolution: {integrity: sha512-3M8C1EOFN6r8AMUhwUAACIoXZJEOufDU5+0gFFN5uNs6XYOralD2Pqkl7m046va6x77FwposWXbAhPPIOus7mQ==} - engines: {node: '>=16'} - - get-stream@8.0.1: - resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} - engines: {node: '>=16'} - - get-stream@9.0.1: - resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==} - engines: {node: '>=18'} - - git-log-parser@1.2.1: - resolution: {integrity: sha512-PI+sPDvHXNPl5WNOErAK05s3j0lgwUzMN6o8cyQrDaKfT3qd7TmNJKeXX+SknI5I0QhG5fVPAEwSY4tRGDtYoQ==} - - glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} - - glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} - - glob@10.4.5: - resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} - hasBin: true - - glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - deprecated: Glob versions prior to v9 are no longer supported - - global-directory@4.0.1: - resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==} - engines: {node: '>=18'} - - global-modules@1.0.0: - resolution: {integrity: sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==} - engines: {node: '>=0.10.0'} - - global-prefix@1.0.2: - resolution: {integrity: sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==} - engines: {node: '>=0.10.0'} - - globals@11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} - - globals@14.0.0: - resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} - engines: {node: '>=18'} - - globals@15.14.0: - resolution: {integrity: sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==} - engines: {node: '>=18'} - - globby@14.0.2: - resolution: {integrity: sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==} - engines: {node: '>=18'} - - graceful-fs@4.2.10: - resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} - - graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - - graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - - handlebars@4.7.8: - resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} - engines: {node: '>=0.4.7'} - hasBin: true - - has-flag@3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} - - has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - - hasown@2.0.2: - resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} - engines: {node: '>= 0.4'} - - highlight.js@10.7.3: - resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} - - homedir-polyfill@1.0.3: - resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==} - engines: {node: '>=0.10.0'} - - hook-std@3.0.0: - resolution: {integrity: sha512-jHRQzjSDzMtFy34AGj1DN+vq54WVuhSvKgrHf0OMiFQTwDD4L/qqofVEWjLOBMTn5+lCD3fPg32W9yOfnEJTTw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - hosted-git-info@7.0.2: - resolution: {integrity: sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==} - engines: {node: ^16.14.0 || >=18.0.0} - - hosted-git-info@8.0.2: - resolution: {integrity: sha512-sYKnA7eGln5ov8T8gnYlkSOxFJvywzEx9BueN6xo/GKO8PGiI6uK6xx+DIGe45T3bdVjLAQDQW1aicT8z8JwQg==} - engines: {node: ^18.17.0 || >=20.5.0} - - html-escaper@2.0.2: - resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} - - http-proxy-agent@7.0.2: - resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} - engines: {node: '>= 14'} - - https-proxy-agent@7.0.6: - resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} - engines: {node: '>= 14'} - - human-signals@2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} - - human-signals@5.0.0: - resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} - engines: {node: '>=16.17.0'} - - human-signals@8.0.0: - resolution: {integrity: sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==} - engines: {node: '>=18.18.0'} - - husky@9.1.7: - resolution: {integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==} - engines: {node: '>=18'} - hasBin: true - - iconv-lite@0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} - engines: {node: '>=0.10.0'} - - ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - - ignore@5.3.2: - resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} - engines: {node: '>= 4'} - - import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} - - import-from-esm@1.3.4: - resolution: {integrity: sha512-7EyUlPFC0HOlBDpUFGfYstsU7XHxZJKAAMzCT8wZ0hMW7b+hG51LIKTDcsgtz8Pu6YC0HqRVbX+rVUtsGMUKvg==} - engines: {node: '>=16.20'} - - import-local@3.2.0: - resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==} - engines: {node: '>=8'} - hasBin: true - - import-meta-resolve@4.1.0: - resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} - - imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} - - indent-string@5.0.0: - resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} - engines: {node: '>=12'} - - index-to-position@0.1.2: - resolution: {integrity: sha512-MWDKS3AS1bGCHLBA2VLImJz42f7bJh8wQsTGCzI3j519/CASStoDONUBVz2I/VID0MpiX3SGSnbOD2xUalbE5g==} - engines: {node: '>=18'} - - inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. - - inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - - ini@1.3.8: - resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - - ini@4.1.1: - resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - - inquirer@8.2.5: - resolution: {integrity: sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==} - engines: {node: '>=12.0.0'} - - into-stream@7.0.0: - resolution: {integrity: sha512-2dYz766i9HprMBasCMvHMuazJ7u4WzhJwo5kb3iPSiW/iRYV6uPari3zHoqZlnuaR7V1bEiNMxikhp37rdBXbw==} - engines: {node: '>=12'} - - is-arrayish@0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - - is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} - - is-core-module@2.16.1: - resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} - engines: {node: '>= 0.4'} - - is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} - - is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - - is-generator-fn@2.1.0: - resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} - engines: {node: '>=6'} - - is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} - - is-interactive@1.0.0: - resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} - engines: {node: '>=8'} - - is-module@1.0.0: - resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} - - is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - - is-obj@2.0.0: - resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} - engines: {node: '>=8'} - - is-plain-obj@4.1.0: - resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} - engines: {node: '>=12'} - - is-reference@1.2.1: - resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} - - is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} - - is-stream@3.0.0: - resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - is-stream@4.0.1: - resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==} - engines: {node: '>=18'} - - is-unicode-supported@0.1.0: - resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} - engines: {node: '>=10'} - - is-unicode-supported@2.1.0: - resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} - engines: {node: '>=18'} - - is-utf8@0.2.1: - resolution: {integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==} - - is-windows@1.0.2: - resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} - engines: {node: '>=0.10.0'} - - isarray@1.0.0: - resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} - - isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - - issue-parser@7.0.1: - resolution: {integrity: sha512-3YZcUUR2Wt1WsapF+S/WiA2WmlW0cWAoPccMqne7AxEBhCdFeTPjfv/Axb8V2gyCgY3nRw+ksZ3xSUX+R47iAg==} - engines: {node: ^18.17 || >=20.6.1} - - istanbul-lib-coverage@3.2.2: - resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} - engines: {node: '>=8'} - - istanbul-lib-instrument@5.2.1: - resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} - engines: {node: '>=8'} - - istanbul-lib-instrument@6.0.3: - resolution: {integrity: sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==} - engines: {node: '>=10'} - - istanbul-lib-report@3.0.1: - resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} - engines: {node: '>=10'} - - istanbul-lib-source-maps@4.0.1: - resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} - engines: {node: '>=10'} - - istanbul-reports@3.1.7: - resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} - engines: {node: '>=8'} - - jackspeak@3.4.3: - resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} - - java-properties@1.0.2: - resolution: {integrity: sha512-qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ==} - engines: {node: '>= 0.6.0'} - - jest-changed-files@29.7.0: - resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-circus@29.7.0: - resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-cli@29.7.0: - resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - - jest-config@29.7.0: - resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@types/node': '*' - ts-node: '>=9.0.0' - peerDependenciesMeta: - '@types/node': - optional: true - ts-node: - optional: true - - jest-diff@29.7.0: - resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-docblock@29.7.0: - resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-each@29.7.0: - resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-environment-node@29.7.0: - resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-get-type@29.6.3: - resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-haste-map@29.7.0: - resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-leak-detector@29.7.0: - resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-matcher-utils@29.7.0: - resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-message-util@29.7.0: - resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-mock@29.7.0: - resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-pnp-resolver@1.2.3: - resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} - engines: {node: '>=6'} - peerDependencies: - jest-resolve: '*' - peerDependenciesMeta: - jest-resolve: - optional: true - - jest-regex-util@29.6.3: - resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-resolve-dependencies@29.7.0: - resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-resolve@29.7.0: - resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-runner@29.7.0: - resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-runtime@29.7.0: - resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-snapshot@29.7.0: - resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-util@29.7.0: - resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-validate@29.7.0: - resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-watcher@29.7.0: - resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-worker@29.7.0: - resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest@29.7.0: - resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - - jiti@2.4.2: - resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} - hasBin: true - - joycon@3.1.1: - resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} - engines: {node: '>=10'} - - js-base64@3.7.7: - resolution: {integrity: sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw==} - - js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - - js-yaml@3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} - hasBin: true - - js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true - - jsesc@3.0.2: - resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} - engines: {node: '>=6'} - hasBin: true - - jsesc@3.1.0: - resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} - engines: {node: '>=6'} - hasBin: true - - json-buffer@3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - - json-parse-better-errors@1.0.2: - resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} - - json-parse-even-better-errors@2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - - json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - - json-schema-traverse@1.0.0: - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - - json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - - json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} - hasBin: true - - jsonc-parser@3.3.1: - resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} - - jsonfile@6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} - - keyv@4.5.4: - resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - - kleur@3.0.3: - resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} - engines: {node: '>=6'} - - leven@3.1.0: - resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} - engines: {node: '>=6'} - - levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} - - lilconfig@3.1.3: - resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} - engines: {node: '>=14'} - - lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - - load-json-file@4.0.0: - resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} - engines: {node: '>=4'} - - load-tsconfig@0.2.5: - resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - locate-path@2.0.0: - resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} - engines: {node: '>=4'} - - locate-path@5.0.0: - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} - engines: {node: '>=8'} - - locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} - - lodash-es@4.17.21: - resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} - - lodash.capitalize@4.2.1: - resolution: {integrity: sha512-kZzYOKspf8XVX5AvmQF94gQW0lejFVgb80G85bU4ZWzoJ6C03PQg3coYAUpSTpQWelrZELd3XWgHzw4Ck5kaIw==} - - lodash.debounce@4.0.8: - resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} - - lodash.escaperegexp@4.1.2: - resolution: {integrity: sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==} - - lodash.isplainobject@4.0.6: - resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} - - lodash.isstring@4.0.1: - resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} - - lodash.map@4.6.0: - resolution: {integrity: sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q==} - - lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - - lodash.mergewith@4.6.2: - resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==} - - lodash.sortby@4.7.0: - resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} - - lodash.uniq@4.5.0: - resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} - - lodash.uniqby@4.7.0: - resolution: {integrity: sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==} - - lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - - log-symbols@4.1.0: - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} - engines: {node: '>=10'} - - longest@2.0.1: - resolution: {integrity: sha512-Ajzxb8CM6WAnFjgiloPsI3bF+WCxcvhdIG3KNA2KN962+tdBsHcuQ4k4qX/EcS/2CRkcc0iAkR956Nib6aXU/Q==} - engines: {node: '>=0.10.0'} - - lru-cache@10.4.3: - resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} - - lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - - magic-string@0.30.17: - resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} - - make-dir@2.1.0: - resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} - engines: {node: '>=6'} - - make-dir@4.0.0: - resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} - engines: {node: '>=10'} - - makeerror@1.0.12: - resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} - - marked-terminal@7.2.1: - resolution: {integrity: sha512-rQ1MoMFXZICWNsKMiiHwP/Z+92PLKskTPXj+e7uwXmuMPkNn7iTqC+IvDekVm1MPeC9wYQeLxeFaOvudRR/XbQ==} - engines: {node: '>=16.0.0'} - peerDependencies: - marked: '>=1 <15' - - marked@12.0.2: - resolution: {integrity: sha512-qXUm7e/YKFoqFPYPa3Ukg9xlI5cyAtGmyEIzMfW//m6kXwCy2Ps9DYf5ioijFKQ8qyuscrHoY04iJGctu2Kg0Q==} - engines: {node: '>= 18'} - hasBin: true - - meow@13.2.0: - resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==} - engines: {node: '>=18'} - - merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - - merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - - merge@2.1.1: - resolution: {integrity: sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==} - - micromatch@4.0.8: - resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} - engines: {node: '>=8.6'} - - mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} - - mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} - - mime@4.0.6: - resolution: {integrity: sha512-4rGt7rvQHBbaSOF9POGkk1ocRP16Md1x36Xma8sz8h8/vfCUI2OtEIeCqe4Ofes853x4xDoPiFLIT47J5fI/7A==} - engines: {node: '>=16'} - hasBin: true - - mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - - mimic-fn@4.0.0: - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} - engines: {node: '>=12'} - - minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - - minimatch@9.0.5: - resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} - engines: {node: '>=16 || 14 >=14.17'} - - minimist@1.2.7: - resolution: {integrity: sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==} - - minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - - minipass@7.1.2: - resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} - engines: {node: '>=16 || 14 >=14.17'} - - ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - - mute-stream@0.0.8: - resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} - - mz@2.7.0: - resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} - - natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - - neo-async@2.6.2: - resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - - nerf-dart@1.0.0: - resolution: {integrity: sha512-EZSPZB70jiVsivaBLYDCyntd5eH8NTSMOn3rB+HxwdmKThGELLdYv8qVIMWvZEFy9w8ZZpW9h9OB32l1rGtj7g==} - - node-emoji@2.2.0: - resolution: {integrity: sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw==} - engines: {node: '>=18'} - - node-int64@0.4.0: - resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} - - node-releases@2.0.19: - resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} - - normalize-package-data@6.0.2: - resolution: {integrity: sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==} - engines: {node: ^16.14.0 || >=18.0.0} - - normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - - normalize-url@8.0.1: - resolution: {integrity: sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==} - engines: {node: '>=14.16'} - - npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} - - npm-run-path@5.3.0: - resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - npm-run-path@6.0.0: - resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==} - engines: {node: '>=18'} - - npm@10.9.2: - resolution: {integrity: sha512-iriPEPIkoMYUy3F6f3wwSZAU93E0Eg6cHwIR6jzzOXWSy+SD/rOODEs74cVONHKSx2obXtuUoyidVEhISrisgQ==} - engines: {node: ^18.17.0 || >=20.5.0} - hasBin: true - bundledDependencies: - - '@isaacs/string-locale-compare' - - '@npmcli/arborist' - - '@npmcli/config' - - '@npmcli/fs' - - '@npmcli/map-workspaces' - - '@npmcli/package-json' - - '@npmcli/promise-spawn' - - '@npmcli/redact' - - '@npmcli/run-script' - - '@sigstore/tuf' - - abbrev - - archy - - cacache - - chalk - - ci-info - - cli-columns - - fastest-levenshtein - - fs-minipass - - glob - - graceful-fs - - hosted-git-info - - ini - - init-package-json - - is-cidr - - json-parse-even-better-errors - - libnpmaccess - - libnpmdiff - - libnpmexec - - libnpmfund - - libnpmhook - - libnpmorg - - libnpmpack - - libnpmpublish - - libnpmsearch - - libnpmteam - - libnpmversion - - make-fetch-happen - - minimatch - - minipass - - minipass-pipeline - - ms - - node-gyp - - nopt - - normalize-package-data - - npm-audit-report - - npm-install-checks - - npm-package-arg - - npm-pick-manifest - - npm-profile - - npm-registry-fetch - - npm-user-validate - - p-map - - pacote - - parse-conflict-json - - proc-log - - qrcode-terminal - - read - - semver - - spdx-expression-parse - - ssri - - supports-color - - tar - - text-table - - tiny-relative-date - - treeverse - - validate-npm-package-name - - which - - write-file-atomic - - object-assign@4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} - engines: {node: '>=0.10.0'} - - once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - - onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} - - onetime@6.0.0: - resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} - engines: {node: '>=12'} - - optionator@0.9.4: - resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} - engines: {node: '>= 0.8.0'} - - ora@5.4.1: - resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} - engines: {node: '>=10'} - - os-tmpdir@1.0.2: - resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} - engines: {node: '>=0.10.0'} - - p-each-series@3.0.0: - resolution: {integrity: sha512-lastgtAdoH9YaLyDa5i5z64q+kzOcQHsQ5SsZJD3q0VEyI8mq872S3geuNbRUQLVAE9siMfgKrpj7MloKFHruw==} - engines: {node: '>=12'} - - p-filter@4.1.0: - resolution: {integrity: sha512-37/tPdZ3oJwHaS3gNJdenCDB3Tz26i9sjhnguBtvN0vYlRIiDNnvTWkuh+0hETV9rLPdJ3rlL3yVOYPIAnM8rw==} - engines: {node: '>=18'} - - p-is-promise@3.0.0: - resolution: {integrity: sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ==} - engines: {node: '>=8'} - - p-limit@1.3.0: - resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} - engines: {node: '>=4'} - - p-limit@2.3.0: - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} - engines: {node: '>=6'} - - p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} - - p-locate@2.0.0: - resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==} - engines: {node: '>=4'} - - p-locate@4.1.0: - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} - engines: {node: '>=8'} - - p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} - - p-map@7.0.3: - resolution: {integrity: sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==} - engines: {node: '>=18'} - - p-reduce@3.0.0: - resolution: {integrity: sha512-xsrIUgI0Kn6iyDYm9StOpOeK29XM1aboGji26+QEortiFST1hGZaUQOLhtEbqHErPpGW/aSz6allwK2qcptp0Q==} - engines: {node: '>=12'} - - p-try@1.0.0: - resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==} - engines: {node: '>=4'} - - p-try@2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} - - package-json-from-dist@1.0.1: - resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} - - parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} - - parse-json@4.0.0: - resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} - engines: {node: '>=4'} - - parse-json@5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} - - parse-json@8.1.0: - resolution: {integrity: sha512-rum1bPifK5SSar35Z6EKZuYPJx85pkNaFrxBK3mwdfSJ1/WKbYrjoW/zTPSjRRamfmVX1ACBIdFAO0VRErW/EA==} - engines: {node: '>=18'} - - parse-ms@4.0.0: - resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} - engines: {node: '>=18'} - - parse-passwd@1.0.0: - resolution: {integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==} - engines: {node: '>=0.10.0'} - - parse5-htmlparser2-tree-adapter@6.0.1: - resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==} - - parse5@5.1.1: - resolution: {integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==} - - parse5@6.0.1: - resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} - - path-exists@3.0.0: - resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} - engines: {node: '>=4'} - - path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - - path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - - path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - - path-key@4.0.0: - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} - engines: {node: '>=12'} - - path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - - path-scurry@1.11.1: - resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} - engines: {node: '>=16 || 14 >=14.18'} - - path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - - path-type@5.0.0: - resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} - engines: {node: '>=12'} - - picocolors@1.1.1: - resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} - - picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - - picomatch@4.0.2: - resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} - engines: {node: '>=12'} - - pify@3.0.0: - resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} - engines: {node: '>=4'} - - pify@4.0.1: - resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} - engines: {node: '>=6'} - - pirates@4.0.6: - resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} - engines: {node: '>= 6'} - - pkg-conf@2.1.0: - resolution: {integrity: sha512-C+VUP+8jis7EsQZIhDYmS5qlNtjv2yP4SNtjXK9AP1ZcTRlnSfuumaTnRfYZnYgUUYVIKqL0fRvmUGDV2fmp6g==} - engines: {node: '>=4'} - - pkg-dir@4.2.0: - resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} - engines: {node: '>=8'} - - postcss-load-config@6.0.1: - resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==} - engines: {node: '>= 18'} - peerDependencies: - jiti: '>=1.21.0' - postcss: '>=8.0.9' - tsx: ^4.8.1 - yaml: ^2.4.2 - peerDependenciesMeta: - jiti: - optional: true - postcss: - optional: true - tsx: - optional: true - yaml: - optional: true - - prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - - prettier@3.4.2: - resolution: {integrity: sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==} - engines: {node: '>=14'} - hasBin: true - - pretty-format@29.7.0: - resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - pretty-ms@9.2.0: - resolution: {integrity: sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg==} - engines: {node: '>=18'} - - process-nextick-args@2.0.1: - resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} - - prompts@2.4.2: - resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} - engines: {node: '>= 6'} - - proto-list@1.2.4: - resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} - - punycode@2.3.1: - resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} - engines: {node: '>=6'} - - pure-rand@6.1.0: - resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} - - queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - - randombytes@2.1.0: - resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} - - rc@1.2.8: - resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} - hasBin: true - - react-is@18.3.1: - resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} - - read-package-up@11.0.0: - resolution: {integrity: sha512-MbgfoNPANMdb4oRBNg5eqLbB2t2r+o5Ua1pNt8BqGp4I0FJZhuVSOj3PaBPni4azWuSzEdNn2evevzVmEk1ohQ==} - engines: {node: '>=18'} - - read-pkg@9.0.1: - resolution: {integrity: sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==} - engines: {node: '>=18'} - - readable-stream@2.3.8: - resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} - - readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} - - readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} - - readdirp@4.0.2: - resolution: {integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==} - engines: {node: '>= 14.16.0'} - - regenerate-unicode-properties@10.2.0: - resolution: {integrity: sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==} - engines: {node: '>=4'} - - regenerate@1.4.2: - resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} - - regenerator-runtime@0.14.1: - resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} - - regenerator-transform@0.15.2: - resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} - - regexpu-core@6.2.0: - resolution: {integrity: sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==} - engines: {node: '>=4'} - - registry-auth-token@5.0.3: - resolution: {integrity: sha512-1bpc9IyC+e+CNFRaWyn77tk4xGG4PPUyfakSmA6F6cvUDjrm58dfyJ3II+9yb10EDkHoy1LaPSmHaWLOH3m6HA==} - engines: {node: '>=14'} - - regjsgen@0.8.0: - resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} - - regjsparser@0.12.0: - resolution: {integrity: sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==} - hasBin: true - - require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} - - require-from-string@2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} - - resolve-cwd@3.0.0: - resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} - engines: {node: '>=8'} - - resolve-dir@1.0.1: - resolution: {integrity: sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==} - engines: {node: '>=0.10.0'} - - resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - - resolve-from@5.0.0: - resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} - engines: {node: '>=8'} - - resolve.exports@2.0.3: - resolution: {integrity: sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==} - engines: {node: '>=10'} - - resolve@1.22.10: - resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} - engines: {node: '>= 0.4'} - hasBin: true - - restore-cursor@3.1.0: - resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} - engines: {node: '>=8'} - - reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - - rollup@4.29.1: - resolution: {integrity: sha512-RaJ45M/kmJUzSWDs1Nnd5DdV4eerC98idtUOVr6FfKcgxqvjwHmxc5upLF9qZU9EpsVzzhleFahrT3shLuJzIw==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - - run-async@2.4.1: - resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} - engines: {node: '>=0.12.0'} - - run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - - rxjs@7.8.1: - resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} - - safe-buffer@5.1.2: - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} - - safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - - safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - - semantic-release@24.2.0: - resolution: {integrity: sha512-fQfn6e/aYToRtVJYKqneFM1Rg3KP2gh3wSWtpYsLlz6uaPKlISrTzvYAFn+mYWo07F0X1Cz5ucU89AVE8X1mbg==} - engines: {node: '>=20.8.1'} - hasBin: true - - semver-diff@4.0.0: - resolution: {integrity: sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==} - engines: {node: '>=12'} - - semver-regex@4.0.5: - resolution: {integrity: sha512-hunMQrEy1T6Jr2uEVjrAIqjwWcQTgOAcIM52C8MY1EZSD3DDNft04XzvYKPqjED65bNVVko0YI38nYeEHCX3yw==} - engines: {node: '>=12'} - - semver@5.7.2: - resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} - hasBin: true - - semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} - hasBin: true - - semver@7.6.3: - resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} - engines: {node: '>=10'} - hasBin: true - - serialize-javascript@6.0.2: - resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} - - shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} - - shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - - signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - - signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} - - signale@1.4.0: - resolution: {integrity: sha512-iuh+gPf28RkltuJC7W5MRi6XAjTDCAPC/prJUpQoG4vIP3MJZ+GTydVnodXA7pwvTKb2cA0m9OFZW/cdWy/I/w==} - engines: {node: '>=6'} - - sisteransi@1.0.5: - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - - skin-tone@2.0.0: - resolution: {integrity: sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==} - engines: {node: '>=8'} - - slash@2.0.0: - resolution: {integrity: sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==} - engines: {node: '>=6'} - - slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - - slash@5.1.0: - resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} - engines: {node: '>=14.16'} - - smob@1.5.0: - resolution: {integrity: sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==} - - source-map-support@0.5.13: - resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} - - source-map-support@0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} - - source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - - source-map@0.8.0-beta.0: - resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} - engines: {node: '>= 8'} - - spawn-error-forwarder@1.0.0: - resolution: {integrity: sha512-gRjMgK5uFjbCvdibeGJuy3I5OYz6VLoVdsOJdA6wV0WlfQVLFueoqMxwwYD9RODdgb6oUIvlRlsyFSiQkMKu0g==} - - spdx-correct@3.2.0: - resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} - - spdx-exceptions@2.5.0: - resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} - - spdx-expression-parse@3.0.1: - resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} - - spdx-license-ids@3.0.20: - resolution: {integrity: sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==} - - split2@1.0.0: - resolution: {integrity: sha512-NKywug4u4pX/AZBB1FCPzZ6/7O+Xhz1qMVbzTvvKvikjO99oPN87SkK08mEY9P63/5lWjK+wgOOgApnTg5r6qg==} - - sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - - stack-utils@2.0.6: - resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} - engines: {node: '>=10'} - - stream-combiner2@1.1.1: - resolution: {integrity: sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==} - - string-length@4.0.2: - resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} - engines: {node: '>=10'} - - string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} - - string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} - - string_decoder@1.1.1: - resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} - - string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - - strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - - strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} - engines: {node: '>=12'} - - strip-bom@3.0.0: - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} - engines: {node: '>=4'} - - strip-bom@4.0.0: - resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} - engines: {node: '>=8'} - - strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} - - strip-final-newline@3.0.0: - resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} - engines: {node: '>=12'} - - strip-final-newline@4.0.0: - resolution: {integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==} - engines: {node: '>=18'} - - strip-json-comments@2.0.1: - resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} - engines: {node: '>=0.10.0'} - - strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - - strnum@1.0.5: - resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} - - sucrase@3.35.0: - resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} - engines: {node: '>=16 || 14 >=14.17'} - hasBin: true - - super-regex@1.0.0: - resolution: {integrity: sha512-CY8u7DtbvucKuquCmOFEKhr9Besln7n9uN8eFbwcoGYWXOMW07u2o8njWaiXt11ylS3qoGF55pILjRmPlbodyg==} - engines: {node: '>=18'} - - supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} - - supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - - supports-color@8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} - - supports-hyperlinks@3.1.0: - resolution: {integrity: sha512-2rn0BZ+/f7puLOHZm1HOJfwBggfaHXUpPUSSG/SWM4TWp5KCfmNYwnC3hruy2rZlMnmWZ+QAGpZfchu3f3695A==} - engines: {node: '>=14.18'} - - supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - - temp-dir@3.0.0: - resolution: {integrity: sha512-nHc6S/bwIilKHNRgK/3jlhDoIHcp45YgyiwcAk46Tr0LfEqGBVpmiAyuiuxeVE44m3mXnEeVhaipLOEWmH+Njw==} - engines: {node: '>=14.16'} - - tempy@3.1.0: - resolution: {integrity: sha512-7jDLIdD2Zp0bDe5r3D2qtkd1QOCacylBuL7oa4udvN6v2pqr4+LcCr67C8DR1zkpaZ8XosF5m1yQSabKAW6f2g==} - engines: {node: '>=14.16'} - - terser@5.37.0: - resolution: {integrity: sha512-B8wRRkmre4ERucLM/uXx4MOV5cbnOlVAqUst+1+iLKPI0dOgFO28f84ptoQt9HEI537PMzfYa/d+GEPKTRXmYA==} - engines: {node: '>=10'} - hasBin: true - - test-exclude@6.0.0: - resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} - engines: {node: '>=8'} - - thenify-all@1.6.0: - resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} - engines: {node: '>=0.8'} - - thenify@3.3.1: - resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} - - through2@2.0.5: - resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} - - through@2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - - time-span@5.1.0: - resolution: {integrity: sha512-75voc/9G4rDIJleOo4jPvN4/YC4GRZrY8yy1uU4lwrB3XEQbWve8zXoO5No4eFrGcTAMYyoY67p8jRQdtA1HbA==} - engines: {node: '>=12'} - - tinyexec@0.3.2: - resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} - - tinyglobby@0.2.10: - resolution: {integrity: sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==} - engines: {node: '>=12.0.0'} - - tmp@0.0.33: - resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} - engines: {node: '>=0.6.0'} - - tmpl@1.0.5: - resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} - - to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} - - tr46@1.0.1: - resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} - - traverse@0.6.8: - resolution: {integrity: sha512-aXJDbk6SnumuaZSANd21XAo15ucCDE38H4fkqiGsc3MhCK+wOlZvLP9cB/TvpHT0mOyWgC4Z8EwRlzqYSUzdsA==} - engines: {node: '>= 0.4'} - - tree-kill@1.2.2: - resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} - hasBin: true - - ts-api-utils@1.4.3: - resolution: {integrity: sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==} - engines: {node: '>=16'} - peerDependencies: - typescript: '>=4.2.0' - - ts-interface-checker@0.1.13: - resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - - tslib@2.8.1: - resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - - tsup@8.3.5: - resolution: {integrity: sha512-Tunf6r6m6tnZsG9GYWndg0z8dEV7fD733VBFzFJ5Vcm1FtlXB8xBD/rtrBi2a3YKEV7hHtxiZtW5EAVADoe1pA==} - engines: {node: '>=18'} - hasBin: true - peerDependencies: - '@microsoft/api-extractor': ^7.36.0 - '@swc/core': ^1 - postcss: ^8.4.12 - typescript: '>=4.5.0' - peerDependenciesMeta: - '@microsoft/api-extractor': - optional: true - '@swc/core': - optional: true - postcss: - optional: true - typescript: - optional: true - - type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} - - type-detect@4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} - engines: {node: '>=4'} - - type-fest@0.21.3: - resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} - engines: {node: '>=10'} - - type-fest@1.4.0: - resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} - engines: {node: '>=10'} - - type-fest@2.19.0: - resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} - engines: {node: '>=12.20'} - - type-fest@4.31.0: - resolution: {integrity: sha512-yCxltHW07Nkhv/1F6wWBr8kz+5BGMfP+RbRSYFnegVb0qV/UMT0G0ElBloPVerqn4M2ZV80Ir1FtCcYv1cT6vQ==} - engines: {node: '>=16'} - - typescript-eslint@8.19.0: - resolution: {integrity: sha512-Ni8sUkVWYK4KAcTtPjQ/UTiRk6jcsuDhPpxULapUDi8A/l8TSBk+t1GtJA1RsCzIJg0q6+J7bf35AwQigENWRQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.8.0' - - typescript@5.7.2: - resolution: {integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==} - engines: {node: '>=14.17'} - hasBin: true - - uglify-js@3.19.3: - resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} - engines: {node: '>=0.8.0'} - hasBin: true - - undici-types@6.20.0: - resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} - - unicode-canonical-property-names-ecmascript@2.0.1: - resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} - engines: {node: '>=4'} - - unicode-emoji-modifier-base@1.0.0: - resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} - engines: {node: '>=4'} - - unicode-match-property-ecmascript@2.0.0: - resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} - engines: {node: '>=4'} - - unicode-match-property-value-ecmascript@2.2.0: - resolution: {integrity: sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==} - engines: {node: '>=4'} - - unicode-property-aliases-ecmascript@2.1.0: - resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} - engines: {node: '>=4'} - - unicorn-magic@0.1.0: - resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} - engines: {node: '>=18'} - - unicorn-magic@0.3.0: - resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} - engines: {node: '>=18'} - - unique-string@3.0.0: - resolution: {integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==} - engines: {node: '>=12'} - - universal-user-agent@7.0.2: - resolution: {integrity: sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==} - - universalify@2.0.1: - resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} - engines: {node: '>= 10.0.0'} - - update-browserslist-db@1.1.1: - resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - - uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - - url-join@5.0.0: - resolution: {integrity: sha512-n2huDr9h9yzd6exQVnH/jU5mr+Pfx08LRXXZhkLLetAMESRj+anQsTAh940iMrIetKAmry9coFuZQ2jY8/p3WA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - - uuid@9.0.1: - resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} - hasBin: true - - v8-to-istanbul@9.3.0: - resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==} - engines: {node: '>=10.12.0'} - - validate-npm-package-license@3.0.4: - resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} - - walker@1.0.8: - resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} - - wcwidth@1.0.1: - resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} - - webidl-conversions@4.0.2: - resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} - - whatwg-url@7.1.0: - resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} - - which@1.3.1: - resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} - hasBin: true - - which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true - - word-wrap@1.2.5: - resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} - engines: {node: '>=0.10.0'} - - wordwrap@1.0.0: - resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} - - wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} - - wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} - - wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - - write-file-atomic@4.0.2: - resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - - xtend@4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} - - y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} - - yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - - yargs-parser@20.2.9: - resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} - engines: {node: '>=10'} - - yargs-parser@21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} - - yargs@16.2.0: - resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} - engines: {node: '>=10'} - - yargs@17.7.2: - resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} - engines: {node: '>=12'} - - yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - - yoctocolors@2.1.1: - resolution: {integrity: sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==} - engines: {node: '>=18'} - -snapshots: - - '@ampproject/remapping@2.3.0': - dependencies: - '@jridgewell/gen-mapping': 0.3.8 - '@jridgewell/trace-mapping': 0.3.25 - - '@aws-crypto/sha256-browser@5.2.0': - dependencies: - '@aws-crypto/sha256-js': 5.2.0 - '@aws-crypto/supports-web-crypto': 5.2.0 - '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.714.0 - '@aws-sdk/util-locate-window': 3.693.0 - '@smithy/util-utf8': 2.3.0 - tslib: 2.8.1 - - '@aws-crypto/sha256-js@5.2.0': - dependencies: - '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.714.0 - tslib: 2.8.1 - - '@aws-crypto/supports-web-crypto@5.2.0': - dependencies: - tslib: 2.8.1 - - '@aws-crypto/util@5.2.0': - dependencies: - '@aws-sdk/types': 3.714.0 - '@smithy/util-utf8': 2.3.0 - tslib: 2.8.1 - - '@aws-sdk/client-ses@3.716.0': - dependencies: - '@aws-crypto/sha256-browser': 5.2.0 - '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/client-sso-oidc': 3.716.0(@aws-sdk/client-sts@3.716.0) - '@aws-sdk/client-sts': 3.716.0 - '@aws-sdk/core': 3.716.0 - '@aws-sdk/credential-provider-node': 3.716.0(@aws-sdk/client-sso-oidc@3.716.0(@aws-sdk/client-sts@3.716.0))(@aws-sdk/client-sts@3.716.0) - '@aws-sdk/middleware-host-header': 3.714.0 - '@aws-sdk/middleware-logger': 3.714.0 - '@aws-sdk/middleware-recursion-detection': 3.714.0 - '@aws-sdk/middleware-user-agent': 3.716.0 - '@aws-sdk/region-config-resolver': 3.714.0 - '@aws-sdk/types': 3.714.0 - '@aws-sdk/util-endpoints': 3.714.0 - '@aws-sdk/util-user-agent-browser': 3.714.0 - '@aws-sdk/util-user-agent-node': 3.716.0 - '@smithy/config-resolver': 3.0.13 - '@smithy/core': 2.5.6 - '@smithy/fetch-http-handler': 4.1.2 - '@smithy/hash-node': 3.0.11 - '@smithy/invalid-dependency': 3.0.11 - '@smithy/middleware-content-length': 3.0.13 - '@smithy/middleware-endpoint': 3.2.7 - '@smithy/middleware-retry': 3.0.32 - '@smithy/middleware-serde': 3.0.11 - '@smithy/middleware-stack': 3.0.11 - '@smithy/node-config-provider': 3.1.12 - '@smithy/node-http-handler': 3.3.3 - '@smithy/protocol-http': 4.1.8 - '@smithy/smithy-client': 3.5.2 - '@smithy/types': 3.7.2 - '@smithy/url-parser': 3.0.11 - '@smithy/util-base64': 3.0.0 - '@smithy/util-body-length-browser': 3.0.0 - '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.32 - '@smithy/util-defaults-mode-node': 3.0.32 - '@smithy/util-endpoints': 2.1.7 - '@smithy/util-middleware': 3.0.11 - '@smithy/util-retry': 3.0.11 - '@smithy/util-utf8': 3.0.0 - '@smithy/util-waiter': 3.2.0 - tslib: 2.8.1 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/client-sesv2@3.716.0': - dependencies: - '@aws-crypto/sha256-browser': 5.2.0 - '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/client-sso-oidc': 3.716.0(@aws-sdk/client-sts@3.716.0) - '@aws-sdk/client-sts': 3.716.0 - '@aws-sdk/core': 3.716.0 - '@aws-sdk/credential-provider-node': 3.716.0(@aws-sdk/client-sso-oidc@3.716.0(@aws-sdk/client-sts@3.716.0))(@aws-sdk/client-sts@3.716.0) - '@aws-sdk/middleware-host-header': 3.714.0 - '@aws-sdk/middleware-logger': 3.714.0 - '@aws-sdk/middleware-recursion-detection': 3.714.0 - '@aws-sdk/middleware-user-agent': 3.716.0 - '@aws-sdk/region-config-resolver': 3.714.0 - '@aws-sdk/signature-v4-multi-region': 3.716.0 - '@aws-sdk/types': 3.714.0 - '@aws-sdk/util-endpoints': 3.714.0 - '@aws-sdk/util-user-agent-browser': 3.714.0 - '@aws-sdk/util-user-agent-node': 3.716.0 - '@smithy/config-resolver': 3.0.13 - '@smithy/core': 2.5.6 - '@smithy/fetch-http-handler': 4.1.2 - '@smithy/hash-node': 3.0.11 - '@smithy/invalid-dependency': 3.0.11 - '@smithy/middleware-content-length': 3.0.13 - '@smithy/middleware-endpoint': 3.2.7 - '@smithy/middleware-retry': 3.0.32 - '@smithy/middleware-serde': 3.0.11 - '@smithy/middleware-stack': 3.0.11 - '@smithy/node-config-provider': 3.1.12 - '@smithy/node-http-handler': 3.3.3 - '@smithy/protocol-http': 4.1.8 - '@smithy/smithy-client': 3.5.2 - '@smithy/types': 3.7.2 - '@smithy/url-parser': 3.0.11 - '@smithy/util-base64': 3.0.0 - '@smithy/util-body-length-browser': 3.0.0 - '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.32 - '@smithy/util-defaults-mode-node': 3.0.32 - '@smithy/util-endpoints': 2.1.7 - '@smithy/util-middleware': 3.0.11 - '@smithy/util-retry': 3.0.11 - '@smithy/util-utf8': 3.0.0 - tslib: 2.8.1 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/client-sso-oidc@3.716.0(@aws-sdk/client-sts@3.716.0)': - dependencies: - '@aws-crypto/sha256-browser': 5.2.0 - '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/client-sts': 3.716.0 - '@aws-sdk/core': 3.716.0 - '@aws-sdk/credential-provider-node': 3.716.0(@aws-sdk/client-sso-oidc@3.716.0(@aws-sdk/client-sts@3.716.0))(@aws-sdk/client-sts@3.716.0) - '@aws-sdk/middleware-host-header': 3.714.0 - '@aws-sdk/middleware-logger': 3.714.0 - '@aws-sdk/middleware-recursion-detection': 3.714.0 - '@aws-sdk/middleware-user-agent': 3.716.0 - '@aws-sdk/region-config-resolver': 3.714.0 - '@aws-sdk/types': 3.714.0 - '@aws-sdk/util-endpoints': 3.714.0 - '@aws-sdk/util-user-agent-browser': 3.714.0 - '@aws-sdk/util-user-agent-node': 3.716.0 - '@smithy/config-resolver': 3.0.13 - '@smithy/core': 2.5.6 - '@smithy/fetch-http-handler': 4.1.2 - '@smithy/hash-node': 3.0.11 - '@smithy/invalid-dependency': 3.0.11 - '@smithy/middleware-content-length': 3.0.13 - '@smithy/middleware-endpoint': 3.2.7 - '@smithy/middleware-retry': 3.0.32 - '@smithy/middleware-serde': 3.0.11 - '@smithy/middleware-stack': 3.0.11 - '@smithy/node-config-provider': 3.1.12 - '@smithy/node-http-handler': 3.3.3 - '@smithy/protocol-http': 4.1.8 - '@smithy/smithy-client': 3.5.2 - '@smithy/types': 3.7.2 - '@smithy/url-parser': 3.0.11 - '@smithy/util-base64': 3.0.0 - '@smithy/util-body-length-browser': 3.0.0 - '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.32 - '@smithy/util-defaults-mode-node': 3.0.32 - '@smithy/util-endpoints': 2.1.7 - '@smithy/util-middleware': 3.0.11 - '@smithy/util-retry': 3.0.11 - '@smithy/util-utf8': 3.0.0 - tslib: 2.8.1 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/client-sso@3.716.0': - dependencies: - '@aws-crypto/sha256-browser': 5.2.0 - '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.716.0 - '@aws-sdk/middleware-host-header': 3.714.0 - '@aws-sdk/middleware-logger': 3.714.0 - '@aws-sdk/middleware-recursion-detection': 3.714.0 - '@aws-sdk/middleware-user-agent': 3.716.0 - '@aws-sdk/region-config-resolver': 3.714.0 - '@aws-sdk/types': 3.714.0 - '@aws-sdk/util-endpoints': 3.714.0 - '@aws-sdk/util-user-agent-browser': 3.714.0 - '@aws-sdk/util-user-agent-node': 3.716.0 - '@smithy/config-resolver': 3.0.13 - '@smithy/core': 2.5.6 - '@smithy/fetch-http-handler': 4.1.2 - '@smithy/hash-node': 3.0.11 - '@smithy/invalid-dependency': 3.0.11 - '@smithy/middleware-content-length': 3.0.13 - '@smithy/middleware-endpoint': 3.2.7 - '@smithy/middleware-retry': 3.0.32 - '@smithy/middleware-serde': 3.0.11 - '@smithy/middleware-stack': 3.0.11 - '@smithy/node-config-provider': 3.1.12 - '@smithy/node-http-handler': 3.3.3 - '@smithy/protocol-http': 4.1.8 - '@smithy/smithy-client': 3.5.2 - '@smithy/types': 3.7.2 - '@smithy/url-parser': 3.0.11 - '@smithy/util-base64': 3.0.0 - '@smithy/util-body-length-browser': 3.0.0 - '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.32 - '@smithy/util-defaults-mode-node': 3.0.32 - '@smithy/util-endpoints': 2.1.7 - '@smithy/util-middleware': 3.0.11 - '@smithy/util-retry': 3.0.11 - '@smithy/util-utf8': 3.0.0 - tslib: 2.8.1 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/client-sts@3.716.0': - dependencies: - '@aws-crypto/sha256-browser': 5.2.0 - '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/client-sso-oidc': 3.716.0(@aws-sdk/client-sts@3.716.0) - '@aws-sdk/core': 3.716.0 - '@aws-sdk/credential-provider-node': 3.716.0(@aws-sdk/client-sso-oidc@3.716.0(@aws-sdk/client-sts@3.716.0))(@aws-sdk/client-sts@3.716.0) - '@aws-sdk/middleware-host-header': 3.714.0 - '@aws-sdk/middleware-logger': 3.714.0 - '@aws-sdk/middleware-recursion-detection': 3.714.0 - '@aws-sdk/middleware-user-agent': 3.716.0 - '@aws-sdk/region-config-resolver': 3.714.0 - '@aws-sdk/types': 3.714.0 - '@aws-sdk/util-endpoints': 3.714.0 - '@aws-sdk/util-user-agent-browser': 3.714.0 - '@aws-sdk/util-user-agent-node': 3.716.0 - '@smithy/config-resolver': 3.0.13 - '@smithy/core': 2.5.6 - '@smithy/fetch-http-handler': 4.1.2 - '@smithy/hash-node': 3.0.11 - '@smithy/invalid-dependency': 3.0.11 - '@smithy/middleware-content-length': 3.0.13 - '@smithy/middleware-endpoint': 3.2.7 - '@smithy/middleware-retry': 3.0.32 - '@smithy/middleware-serde': 3.0.11 - '@smithy/middleware-stack': 3.0.11 - '@smithy/node-config-provider': 3.1.12 - '@smithy/node-http-handler': 3.3.3 - '@smithy/protocol-http': 4.1.8 - '@smithy/smithy-client': 3.5.2 - '@smithy/types': 3.7.2 - '@smithy/url-parser': 3.0.11 - '@smithy/util-base64': 3.0.0 - '@smithy/util-body-length-browser': 3.0.0 - '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.32 - '@smithy/util-defaults-mode-node': 3.0.32 - '@smithy/util-endpoints': 2.1.7 - '@smithy/util-middleware': 3.0.11 - '@smithy/util-retry': 3.0.11 - '@smithy/util-utf8': 3.0.0 - tslib: 2.8.1 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/core@3.716.0': - dependencies: - '@aws-sdk/types': 3.714.0 - '@smithy/core': 2.5.6 - '@smithy/node-config-provider': 3.1.12 - '@smithy/property-provider': 3.1.11 - '@smithy/protocol-http': 4.1.8 - '@smithy/signature-v4': 4.2.4 - '@smithy/smithy-client': 3.5.2 - '@smithy/types': 3.7.2 - '@smithy/util-middleware': 3.0.11 - fast-xml-parser: 4.4.1 - tslib: 2.8.1 - - '@aws-sdk/credential-provider-env@3.716.0': - dependencies: - '@aws-sdk/core': 3.716.0 - '@aws-sdk/types': 3.714.0 - '@smithy/property-provider': 3.1.11 - '@smithy/types': 3.7.2 - tslib: 2.8.1 - - '@aws-sdk/credential-provider-http@3.716.0': - dependencies: - '@aws-sdk/core': 3.716.0 - '@aws-sdk/types': 3.714.0 - '@smithy/fetch-http-handler': 4.1.2 - '@smithy/node-http-handler': 3.3.3 - '@smithy/property-provider': 3.1.11 - '@smithy/protocol-http': 4.1.8 - '@smithy/smithy-client': 3.5.2 - '@smithy/types': 3.7.2 - '@smithy/util-stream': 3.3.3 - tslib: 2.8.1 - - '@aws-sdk/credential-provider-ini@3.716.0(@aws-sdk/client-sso-oidc@3.716.0(@aws-sdk/client-sts@3.716.0))(@aws-sdk/client-sts@3.716.0)': - dependencies: - '@aws-sdk/client-sts': 3.716.0 - '@aws-sdk/core': 3.716.0 - '@aws-sdk/credential-provider-env': 3.716.0 - '@aws-sdk/credential-provider-http': 3.716.0 - '@aws-sdk/credential-provider-process': 3.716.0 - '@aws-sdk/credential-provider-sso': 3.716.0(@aws-sdk/client-sso-oidc@3.716.0(@aws-sdk/client-sts@3.716.0)) - '@aws-sdk/credential-provider-web-identity': 3.716.0(@aws-sdk/client-sts@3.716.0) - '@aws-sdk/types': 3.714.0 - '@smithy/credential-provider-imds': 3.2.8 - '@smithy/property-provider': 3.1.11 - '@smithy/shared-ini-file-loader': 3.1.12 - '@smithy/types': 3.7.2 - tslib: 2.8.1 - transitivePeerDependencies: - - '@aws-sdk/client-sso-oidc' - - aws-crt - - '@aws-sdk/credential-provider-node@3.716.0(@aws-sdk/client-sso-oidc@3.716.0(@aws-sdk/client-sts@3.716.0))(@aws-sdk/client-sts@3.716.0)': - dependencies: - '@aws-sdk/credential-provider-env': 3.716.0 - '@aws-sdk/credential-provider-http': 3.716.0 - '@aws-sdk/credential-provider-ini': 3.716.0(@aws-sdk/client-sso-oidc@3.716.0(@aws-sdk/client-sts@3.716.0))(@aws-sdk/client-sts@3.716.0) - '@aws-sdk/credential-provider-process': 3.716.0 - '@aws-sdk/credential-provider-sso': 3.716.0(@aws-sdk/client-sso-oidc@3.716.0(@aws-sdk/client-sts@3.716.0)) - '@aws-sdk/credential-provider-web-identity': 3.716.0(@aws-sdk/client-sts@3.716.0) - '@aws-sdk/types': 3.714.0 - '@smithy/credential-provider-imds': 3.2.8 - '@smithy/property-provider': 3.1.11 - '@smithy/shared-ini-file-loader': 3.1.12 - '@smithy/types': 3.7.2 - tslib: 2.8.1 - transitivePeerDependencies: - - '@aws-sdk/client-sso-oidc' - - '@aws-sdk/client-sts' - - aws-crt - - '@aws-sdk/credential-provider-process@3.716.0': - dependencies: - '@aws-sdk/core': 3.716.0 - '@aws-sdk/types': 3.714.0 - '@smithy/property-provider': 3.1.11 - '@smithy/shared-ini-file-loader': 3.1.12 - '@smithy/types': 3.7.2 - tslib: 2.8.1 - - '@aws-sdk/credential-provider-sso@3.716.0(@aws-sdk/client-sso-oidc@3.716.0(@aws-sdk/client-sts@3.716.0))': - dependencies: - '@aws-sdk/client-sso': 3.716.0 - '@aws-sdk/core': 3.716.0 - '@aws-sdk/token-providers': 3.714.0(@aws-sdk/client-sso-oidc@3.716.0(@aws-sdk/client-sts@3.716.0)) - '@aws-sdk/types': 3.714.0 - '@smithy/property-provider': 3.1.11 - '@smithy/shared-ini-file-loader': 3.1.12 - '@smithy/types': 3.7.2 - tslib: 2.8.1 - transitivePeerDependencies: - - '@aws-sdk/client-sso-oidc' - - aws-crt - - '@aws-sdk/credential-provider-web-identity@3.716.0(@aws-sdk/client-sts@3.716.0)': - dependencies: - '@aws-sdk/client-sts': 3.716.0 - '@aws-sdk/core': 3.716.0 - '@aws-sdk/types': 3.714.0 - '@smithy/property-provider': 3.1.11 - '@smithy/types': 3.7.2 - tslib: 2.8.1 - - '@aws-sdk/middleware-host-header@3.714.0': - dependencies: - '@aws-sdk/types': 3.714.0 - '@smithy/protocol-http': 4.1.8 - '@smithy/types': 3.7.2 - tslib: 2.8.1 - - '@aws-sdk/middleware-logger@3.714.0': - dependencies: - '@aws-sdk/types': 3.714.0 - '@smithy/types': 3.7.2 - tslib: 2.8.1 - - '@aws-sdk/middleware-recursion-detection@3.714.0': - dependencies: - '@aws-sdk/types': 3.714.0 - '@smithy/protocol-http': 4.1.8 - '@smithy/types': 3.7.2 - tslib: 2.8.1 - - '@aws-sdk/middleware-sdk-s3@3.716.0': - dependencies: - '@aws-sdk/core': 3.716.0 - '@aws-sdk/types': 3.714.0 - '@aws-sdk/util-arn-parser': 3.693.0 - '@smithy/core': 2.5.6 - '@smithy/node-config-provider': 3.1.12 - '@smithy/protocol-http': 4.1.8 - '@smithy/signature-v4': 4.2.4 - '@smithy/smithy-client': 3.5.2 - '@smithy/types': 3.7.2 - '@smithy/util-config-provider': 3.0.0 - '@smithy/util-middleware': 3.0.11 - '@smithy/util-stream': 3.3.3 - '@smithy/util-utf8': 3.0.0 - tslib: 2.8.1 - - '@aws-sdk/middleware-user-agent@3.716.0': - dependencies: - '@aws-sdk/core': 3.716.0 - '@aws-sdk/types': 3.714.0 - '@aws-sdk/util-endpoints': 3.714.0 - '@smithy/core': 2.5.6 - '@smithy/protocol-http': 4.1.8 - '@smithy/types': 3.7.2 - tslib: 2.8.1 - - '@aws-sdk/region-config-resolver@3.714.0': - dependencies: - '@aws-sdk/types': 3.714.0 - '@smithy/node-config-provider': 3.1.12 - '@smithy/types': 3.7.2 - '@smithy/util-config-provider': 3.0.0 - '@smithy/util-middleware': 3.0.11 - tslib: 2.8.1 - - '@aws-sdk/signature-v4-multi-region@3.716.0': - dependencies: - '@aws-sdk/middleware-sdk-s3': 3.716.0 - '@aws-sdk/types': 3.714.0 - '@smithy/protocol-http': 4.1.8 - '@smithy/signature-v4': 4.2.4 - '@smithy/types': 3.7.2 - tslib: 2.8.1 - - '@aws-sdk/token-providers@3.714.0(@aws-sdk/client-sso-oidc@3.716.0(@aws-sdk/client-sts@3.716.0))': - dependencies: - '@aws-sdk/client-sso-oidc': 3.716.0(@aws-sdk/client-sts@3.716.0) - '@aws-sdk/types': 3.714.0 - '@smithy/property-provider': 3.1.11 - '@smithy/shared-ini-file-loader': 3.1.12 - '@smithy/types': 3.7.2 - tslib: 2.8.1 - - '@aws-sdk/types@3.714.0': - dependencies: - '@smithy/types': 3.7.2 - tslib: 2.8.1 - - '@aws-sdk/util-arn-parser@3.693.0': - dependencies: - tslib: 2.8.1 - - '@aws-sdk/util-endpoints@3.714.0': - dependencies: - '@aws-sdk/types': 3.714.0 - '@smithy/types': 3.7.2 - '@smithy/util-endpoints': 2.1.7 - tslib: 2.8.1 - - '@aws-sdk/util-locate-window@3.693.0': - dependencies: - tslib: 2.8.1 - - '@aws-sdk/util-user-agent-browser@3.714.0': - dependencies: - '@aws-sdk/types': 3.714.0 - '@smithy/types': 3.7.2 - bowser: 2.11.0 - tslib: 2.8.1 - - '@aws-sdk/util-user-agent-node@3.716.0': - dependencies: - '@aws-sdk/middleware-user-agent': 3.716.0 - '@aws-sdk/types': 3.714.0 - '@smithy/node-config-provider': 3.1.12 - '@smithy/types': 3.7.2 - tslib: 2.8.1 - - '@babel/cli@7.26.4(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@jridgewell/trace-mapping': 0.3.25 - commander: 6.2.1 - convert-source-map: 2.0.0 - fs-readdir-recursive: 1.1.0 - glob: 7.2.3 - make-dir: 2.1.0 - slash: 2.0.0 - optionalDependencies: - '@nicolo-ribaudo/chokidar-2': 2.1.8-no-fsevents.3 - chokidar: 3.6.0 - - '@babel/code-frame@7.26.2': - dependencies: - '@babel/helper-validator-identifier': 7.25.9 - js-tokens: 4.0.0 - picocolors: 1.1.1 - - '@babel/compat-data@7.26.3': {} - - '@babel/core@7.26.0': - dependencies: - '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.3 - '@babel/helper-compilation-targets': 7.25.9 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) - '@babel/helpers': 7.26.0 - '@babel/parser': 7.26.3 - '@babel/template': 7.25.9 - '@babel/traverse': 7.26.4 - '@babel/types': 7.26.3 - convert-source-map: 2.0.0 - debug: 4.4.0 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/generator@7.26.3': - dependencies: - '@babel/parser': 7.26.3 - '@babel/types': 7.26.3 - '@jridgewell/gen-mapping': 0.3.8 - '@jridgewell/trace-mapping': 0.3.25 - jsesc: 3.1.0 - - '@babel/helper-annotate-as-pure@7.25.9': - dependencies: - '@babel/types': 7.26.3 - - '@babel/helper-compilation-targets@7.25.9': - dependencies: - '@babel/compat-data': 7.26.3 - '@babel/helper-validator-option': 7.25.9 - browserslist: 4.24.3 - lru-cache: 5.1.1 - semver: 6.3.1 - - '@babel/helper-create-class-features-plugin@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-member-expression-to-functions': 7.25.9 - '@babel/helper-optimise-call-expression': 7.25.9 - '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0) - '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - '@babel/traverse': 7.26.4 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/helper-create-regexp-features-plugin@7.26.3(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-annotate-as-pure': 7.25.9 - regexpu-core: 6.2.0 - semver: 6.3.1 - - '@babel/helper-define-polyfill-provider@0.6.3(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-compilation-targets': 7.25.9 - '@babel/helper-plugin-utils': 7.25.9 - debug: 4.4.0 - lodash.debounce: 4.0.8 - resolve: 1.22.10 - transitivePeerDependencies: - - supports-color - - '@babel/helper-member-expression-to-functions@7.25.9': - dependencies: - '@babel/traverse': 7.26.4 - '@babel/types': 7.26.3 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-imports@7.25.9': - dependencies: - '@babel/traverse': 7.26.4 - '@babel/types': 7.26.3 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-module-imports': 7.25.9 - '@babel/helper-validator-identifier': 7.25.9 - '@babel/traverse': 7.26.4 - transitivePeerDependencies: - - supports-color - - '@babel/helper-optimise-call-expression@7.25.9': - dependencies: - '@babel/types': 7.26.3 - - '@babel/helper-plugin-utils@7.25.9': {} - - '@babel/helper-remap-async-to-generator@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-wrap-function': 7.25.9 - '@babel/traverse': 7.26.4 - transitivePeerDependencies: - - supports-color - - '@babel/helper-replace-supers@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-member-expression-to-functions': 7.25.9 - '@babel/helper-optimise-call-expression': 7.25.9 - '@babel/traverse': 7.26.4 - transitivePeerDependencies: - - supports-color - - '@babel/helper-skip-transparent-expression-wrappers@7.25.9': - dependencies: - '@babel/traverse': 7.26.4 - '@babel/types': 7.26.3 - transitivePeerDependencies: - - supports-color - - '@babel/helper-string-parser@7.25.9': {} - - '@babel/helper-validator-identifier@7.25.9': {} - - '@babel/helper-validator-option@7.25.9': {} - - '@babel/helper-wrap-function@7.25.9': - dependencies: - '@babel/template': 7.25.9 - '@babel/traverse': 7.26.4 - '@babel/types': 7.26.3 - transitivePeerDependencies: - - supports-color - - '@babel/helpers@7.26.0': - dependencies: - '@babel/template': 7.25.9 - '@babel/types': 7.26.3 - - '@babel/parser@7.26.3': - dependencies: - '@babel/types': 7.26.3 - - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/traverse': 7.26.4 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.0) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/traverse': 7.26.4 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - - '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-syntax-import-assertions@7.26.0(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-syntax-import-attributes@7.26.0(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-syntax-typescript@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-arrow-functions@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-async-generator-functions@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.0) - '@babel/traverse': 7.26.4 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-async-to-generator@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-module-imports': 7.25.9 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.0) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-block-scoped-functions@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-block-scoping@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-class-properties@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-class-static-block@7.26.0(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-classes@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-compilation-targets': 7.25.9 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0) - '@babel/traverse': 7.26.4 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-computed-properties@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/template': 7.25.9 - - '@babel/plugin-transform-destructuring@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-dotall-regex@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-duplicate-keys@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-dynamic-import@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-exponentiation-operator@7.26.3(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-export-namespace-from@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-for-of@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-function-name@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-compilation-targets': 7.25.9 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/traverse': 7.26.4 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-json-strings@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-literals@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-logical-assignment-operators@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-member-expression-literals@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-modules-amd@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-commonjs@7.26.3(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-systemjs@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-validator-identifier': 7.25.9 - '@babel/traverse': 7.26.4 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-umd@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-named-capturing-groups-regex@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-new-target@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-nullish-coalescing-operator@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-numeric-separator@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-object-rest-spread@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-compilation-targets': 7.25.9 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.0) - - '@babel/plugin-transform-object-super@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-optional-catch-binding@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-optional-chaining@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-parameters@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-private-methods@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-private-property-in-object@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-property-literals@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-regenerator@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - regenerator-transform: 0.15.2 - - '@babel/plugin-transform-regexp-modifiers@7.26.0(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-reserved-words@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-runtime@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-module-imports': 7.25.9 - '@babel/helper-plugin-utils': 7.25.9 - babel-plugin-polyfill-corejs2: 0.4.12(@babel/core@7.26.0) - babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.26.0) - babel-plugin-polyfill-regenerator: 0.6.3(@babel/core@7.26.0) - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-shorthand-properties@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-spread@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-sticky-regex@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-template-literals@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-typeof-symbol@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-unicode-escapes@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-unicode-property-regex@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-unicode-regex@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-unicode-sets-regex@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/preset-env@7.26.0(@babel/core@7.26.0)': - dependencies: - '@babel/compat-data': 7.26.3 - '@babel/core': 7.26.0 - '@babel/helper-compilation-targets': 7.25.9 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-validator-option': 7.25.9 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.0) - '@babel/plugin-syntax-import-assertions': 7.26.0(@babel/core@7.26.0) - '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.0) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.26.0) - '@babel/plugin-transform-arrow-functions': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-async-generator-functions': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-async-to-generator': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-block-scoped-functions': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-block-scoping': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-class-static-block': 7.26.0(@babel/core@7.26.0) - '@babel/plugin-transform-classes': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-computed-properties': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-destructuring': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-dotall-regex': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-duplicate-keys': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-dynamic-import': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-exponentiation-operator': 7.26.3(@babel/core@7.26.0) - '@babel/plugin-transform-export-namespace-from': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-for-of': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-function-name': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-json-strings': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-literals': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-logical-assignment-operators': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-member-expression-literals': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-modules-amd': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.26.0) - '@babel/plugin-transform-modules-systemjs': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-modules-umd': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-new-target': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-nullish-coalescing-operator': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-numeric-separator': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-object-rest-spread': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-object-super': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-optional-catch-binding': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-private-methods': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-private-property-in-object': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-property-literals': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-regenerator': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-regexp-modifiers': 7.26.0(@babel/core@7.26.0) - '@babel/plugin-transform-reserved-words': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-shorthand-properties': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-spread': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-sticky-regex': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-template-literals': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-typeof-symbol': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-unicode-escapes': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-unicode-property-regex': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-unicode-regex': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-unicode-sets-regex': 7.25.9(@babel/core@7.26.0) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.26.0) - babel-plugin-polyfill-corejs2: 0.4.12(@babel/core@7.26.0) - babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.26.0) - babel-plugin-polyfill-regenerator: 0.6.3(@babel/core@7.26.0) - core-js-compat: 3.39.0 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/types': 7.26.3 - esutils: 2.0.3 - - '@babel/runtime-corejs3@7.26.0': - dependencies: - core-js-pure: 3.39.0 - regenerator-runtime: 0.14.1 - - '@babel/runtime@7.26.0': - dependencies: - regenerator-runtime: 0.14.1 - - '@babel/template@7.25.9': - dependencies: - '@babel/code-frame': 7.26.2 - '@babel/parser': 7.26.3 - '@babel/types': 7.26.3 - - '@babel/traverse@7.26.4': - dependencies: - '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.3 - '@babel/parser': 7.26.3 - '@babel/template': 7.25.9 - '@babel/types': 7.26.3 - debug: 4.4.0 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - - '@babel/types@7.26.3': - dependencies: - '@babel/helper-string-parser': 7.25.9 - '@babel/helper-validator-identifier': 7.25.9 - - '@bcoe/v8-coverage@0.2.3': {} - - '@colors/colors@1.5.0': - optional: true - - '@commitlint/config-validator@19.5.0': - dependencies: - '@commitlint/types': 19.5.0 - ajv: 8.17.1 - optional: true - - '@commitlint/execute-rule@19.5.0': - optional: true - - '@commitlint/load@19.6.1(@types/node@22.10.3)(typescript@5.7.2)': - dependencies: - '@commitlint/config-validator': 19.5.0 - '@commitlint/execute-rule': 19.5.0 - '@commitlint/resolve-extends': 19.5.0 - '@commitlint/types': 19.5.0 - chalk: 5.4.1 - cosmiconfig: 9.0.0(typescript@5.7.2) - cosmiconfig-typescript-loader: 6.1.0(@types/node@22.10.3)(cosmiconfig@9.0.0(typescript@5.7.2))(typescript@5.7.2) - lodash.isplainobject: 4.0.6 - lodash.merge: 4.6.2 - lodash.uniq: 4.5.0 - transitivePeerDependencies: - - '@types/node' - - typescript - optional: true - - '@commitlint/resolve-extends@19.5.0': - dependencies: - '@commitlint/config-validator': 19.5.0 - '@commitlint/types': 19.5.0 - global-directory: 4.0.1 - import-meta-resolve: 4.1.0 - lodash.mergewith: 4.6.2 - resolve-from: 5.0.0 - optional: true - - '@commitlint/types@19.5.0': - dependencies: - '@types/conventional-commits-parser': 5.0.1 - chalk: 5.4.1 - optional: true - - '@esbuild/aix-ppc64@0.24.2': - optional: true - - '@esbuild/android-arm64@0.24.2': - optional: true - - '@esbuild/android-arm@0.24.2': - optional: true - - '@esbuild/android-x64@0.24.2': - optional: true - - '@esbuild/darwin-arm64@0.24.2': - optional: true - - '@esbuild/darwin-x64@0.24.2': - optional: true - - '@esbuild/freebsd-arm64@0.24.2': - optional: true - - '@esbuild/freebsd-x64@0.24.2': - optional: true - - '@esbuild/linux-arm64@0.24.2': - optional: true - - '@esbuild/linux-arm@0.24.2': - optional: true - - '@esbuild/linux-ia32@0.24.2': - optional: true - - '@esbuild/linux-loong64@0.24.2': - optional: true - - '@esbuild/linux-mips64el@0.24.2': - optional: true - - '@esbuild/linux-ppc64@0.24.2': - optional: true - - '@esbuild/linux-riscv64@0.24.2': - optional: true - - '@esbuild/linux-s390x@0.24.2': - optional: true - - '@esbuild/linux-x64@0.24.2': - optional: true - - '@esbuild/netbsd-arm64@0.24.2': - optional: true - - '@esbuild/netbsd-x64@0.24.2': - optional: true - - '@esbuild/openbsd-arm64@0.24.2': - optional: true - - '@esbuild/openbsd-x64@0.24.2': - optional: true - - '@esbuild/sunos-x64@0.24.2': - optional: true - - '@esbuild/win32-arm64@0.24.2': - optional: true - - '@esbuild/win32-ia32@0.24.2': - optional: true - - '@esbuild/win32-x64@0.24.2': - optional: true - - '@eslint-community/eslint-utils@4.4.1(eslint@9.17.0(jiti@2.4.2))': - dependencies: - eslint: 9.17.0(jiti@2.4.2) - eslint-visitor-keys: 3.4.3 - - '@eslint-community/regexpp@4.12.1': {} - - '@eslint/config-array@0.19.1': - dependencies: - '@eslint/object-schema': 2.1.5 - debug: 4.4.0 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - - '@eslint/core@0.9.1': - dependencies: - '@types/json-schema': 7.0.15 - - '@eslint/eslintrc@3.2.0': - dependencies: - ajv: 6.12.6 - debug: 4.4.0 - espree: 10.3.0 - globals: 14.0.0 - ignore: 5.3.2 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - - '@eslint/js@9.17.0': {} - - '@eslint/object-schema@2.1.5': {} - - '@eslint/plugin-kit@0.2.4': - dependencies: - levn: 0.4.1 - - '@humanfs/core@0.19.1': {} - - '@humanfs/node@0.16.6': - dependencies: - '@humanfs/core': 0.19.1 - '@humanwhocodes/retry': 0.3.1 - - '@humanwhocodes/module-importer@1.0.1': {} - - '@humanwhocodes/retry@0.3.1': {} - - '@humanwhocodes/retry@0.4.1': {} - - '@isaacs/cliui@8.0.2': - dependencies: - string-width: 5.1.2 - string-width-cjs: string-width@4.2.3 - strip-ansi: 7.1.0 - strip-ansi-cjs: strip-ansi@6.0.1 - wrap-ansi: 8.1.0 - wrap-ansi-cjs: wrap-ansi@7.0.0 - - '@istanbuljs/load-nyc-config@1.1.0': - dependencies: - camelcase: 5.3.1 - find-up: 4.1.0 - get-package-type: 0.1.0 - js-yaml: 3.14.1 - resolve-from: 5.0.0 - - '@istanbuljs/schema@0.1.3': {} - - '@jest/console@29.7.0': - dependencies: - '@jest/types': 29.6.3 - '@types/node': 22.10.3 - chalk: 4.1.2 - jest-message-util: 29.7.0 - jest-util: 29.7.0 - slash: 3.0.0 - - '@jest/core@29.7.0': - dependencies: - '@jest/console': 29.7.0 - '@jest/reporters': 29.7.0 - '@jest/test-result': 29.7.0 - '@jest/transform': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 22.10.3 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - ci-info: 3.9.0 - exit: 0.1.2 - graceful-fs: 4.2.11 - jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@22.10.3) - jest-haste-map: 29.7.0 - jest-message-util: 29.7.0 - jest-regex-util: 29.6.3 - jest-resolve: 29.7.0 - jest-resolve-dependencies: 29.7.0 - jest-runner: 29.7.0 - jest-runtime: 29.7.0 - jest-snapshot: 29.7.0 - jest-util: 29.7.0 - jest-validate: 29.7.0 - jest-watcher: 29.7.0 - micromatch: 4.0.8 - pretty-format: 29.7.0 - slash: 3.0.0 - strip-ansi: 6.0.1 - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - - ts-node - - '@jest/create-cache-key-function@29.7.0': - dependencies: - '@jest/types': 29.6.3 - - '@jest/environment@29.7.0': - dependencies: - '@jest/fake-timers': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 22.10.3 - jest-mock: 29.7.0 - - '@jest/expect-utils@29.7.0': - dependencies: - jest-get-type: 29.6.3 - - '@jest/expect@29.7.0': - dependencies: - expect: 29.7.0 - jest-snapshot: 29.7.0 - transitivePeerDependencies: - - supports-color - - '@jest/fake-timers@29.7.0': - dependencies: - '@jest/types': 29.6.3 - '@sinonjs/fake-timers': 10.3.0 - '@types/node': 22.10.3 - jest-message-util: 29.7.0 - jest-mock: 29.7.0 - jest-util: 29.7.0 - - '@jest/globals@29.7.0': - dependencies: - '@jest/environment': 29.7.0 - '@jest/expect': 29.7.0 - '@jest/types': 29.6.3 - jest-mock: 29.7.0 - transitivePeerDependencies: - - supports-color - - '@jest/reporters@29.7.0': - dependencies: - '@bcoe/v8-coverage': 0.2.3 - '@jest/console': 29.7.0 - '@jest/test-result': 29.7.0 - '@jest/transform': 29.7.0 - '@jest/types': 29.6.3 - '@jridgewell/trace-mapping': 0.3.25 - '@types/node': 22.10.3 - chalk: 4.1.2 - collect-v8-coverage: 1.0.2 - exit: 0.1.2 - glob: 7.2.3 - graceful-fs: 4.2.11 - istanbul-lib-coverage: 3.2.2 - istanbul-lib-instrument: 6.0.3 - istanbul-lib-report: 3.0.1 - istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.1.7 - jest-message-util: 29.7.0 - jest-util: 29.7.0 - jest-worker: 29.7.0 - slash: 3.0.0 - string-length: 4.0.2 - strip-ansi: 6.0.1 - v8-to-istanbul: 9.3.0 - transitivePeerDependencies: - - supports-color - - '@jest/schemas@29.6.3': - dependencies: - '@sinclair/typebox': 0.27.8 - - '@jest/source-map@29.6.3': - dependencies: - '@jridgewell/trace-mapping': 0.3.25 - callsites: 3.1.0 - graceful-fs: 4.2.11 - - '@jest/test-result@29.7.0': - dependencies: - '@jest/console': 29.7.0 - '@jest/types': 29.6.3 - '@types/istanbul-lib-coverage': 2.0.6 - collect-v8-coverage: 1.0.2 - - '@jest/test-sequencer@29.7.0': - dependencies: - '@jest/test-result': 29.7.0 - graceful-fs: 4.2.11 - jest-haste-map: 29.7.0 - slash: 3.0.0 - - '@jest/transform@29.7.0': - dependencies: - '@babel/core': 7.26.0 - '@jest/types': 29.6.3 - '@jridgewell/trace-mapping': 0.3.25 - babel-plugin-istanbul: 6.1.1 - chalk: 4.1.2 - convert-source-map: 2.0.0 - fast-json-stable-stringify: 2.1.0 - graceful-fs: 4.2.11 - jest-haste-map: 29.7.0 - jest-regex-util: 29.6.3 - jest-util: 29.7.0 - micromatch: 4.0.8 - pirates: 4.0.6 - slash: 3.0.0 - write-file-atomic: 4.0.2 - transitivePeerDependencies: - - supports-color - - '@jest/types@29.6.3': - dependencies: - '@jest/schemas': 29.6.3 - '@types/istanbul-lib-coverage': 2.0.6 - '@types/istanbul-reports': 3.0.4 - '@types/node': 22.10.3 - '@types/yargs': 17.0.33 - chalk: 4.1.2 - - '@jridgewell/gen-mapping@0.3.8': - dependencies: - '@jridgewell/set-array': 1.2.1 - '@jridgewell/sourcemap-codec': 1.5.0 - '@jridgewell/trace-mapping': 0.3.25 - - '@jridgewell/resolve-uri@3.1.2': {} - - '@jridgewell/set-array@1.2.1': {} - - '@jridgewell/source-map@0.3.6': - dependencies: - '@jridgewell/gen-mapping': 0.3.8 - '@jridgewell/trace-mapping': 0.3.25 - - '@jridgewell/sourcemap-codec@1.5.0': {} - - '@jridgewell/trace-mapping@0.3.25': - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.0 - - '@nicolo-ribaudo/chokidar-2@2.1.8-no-fsevents.3': - optional: true - - '@nodelib/fs.scandir@2.1.5': - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - - '@nodelib/fs.stat@2.0.5': {} - - '@nodelib/fs.walk@1.2.8': - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.18.0 - - '@octokit/auth-token@5.1.1': {} - - '@octokit/core@6.1.2': - dependencies: - '@octokit/auth-token': 5.1.1 - '@octokit/graphql': 8.1.2 - '@octokit/request': 9.1.4 - '@octokit/request-error': 6.1.6 - '@octokit/types': 13.6.2 - before-after-hook: 3.0.2 - universal-user-agent: 7.0.2 - - '@octokit/endpoint@10.1.2': - dependencies: - '@octokit/types': 13.6.2 - universal-user-agent: 7.0.2 - - '@octokit/graphql@8.1.2': - dependencies: - '@octokit/request': 9.1.4 - '@octokit/types': 13.6.2 - universal-user-agent: 7.0.2 - - '@octokit/openapi-types@22.2.0': {} - - '@octokit/plugin-paginate-rest@11.3.6(@octokit/core@6.1.2)': - dependencies: - '@octokit/core': 6.1.2 - '@octokit/types': 13.6.2 - - '@octokit/plugin-retry@7.1.2(@octokit/core@6.1.2)': - dependencies: - '@octokit/core': 6.1.2 - '@octokit/request-error': 6.1.6 - '@octokit/types': 13.6.2 - bottleneck: 2.19.5 - - '@octokit/plugin-throttling@9.3.2(@octokit/core@6.1.2)': - dependencies: - '@octokit/core': 6.1.2 - '@octokit/types': 13.6.2 - bottleneck: 2.19.5 - - '@octokit/request-error@6.1.6': - dependencies: - '@octokit/types': 13.6.2 - - '@octokit/request@9.1.4': - dependencies: - '@octokit/endpoint': 10.1.2 - '@octokit/request-error': 6.1.6 - '@octokit/types': 13.6.2 - fast-content-type-parse: 2.0.0 - universal-user-agent: 7.0.2 - - '@octokit/types@13.6.2': - dependencies: - '@octokit/openapi-types': 22.2.0 - - '@pkgjs/parseargs@0.11.0': - optional: true - - '@pnpm/config.env-replace@1.1.0': {} - - '@pnpm/network.ca-file@1.0.2': - dependencies: - graceful-fs: 4.2.10 - - '@pnpm/npm-conf@2.3.1': - dependencies: - '@pnpm/config.env-replace': 1.1.0 - '@pnpm/network.ca-file': 1.0.2 - config-chain: 1.1.13 - - '@rollup/plugin-babel@6.0.4(@babel/core@7.26.0)(@types/babel__core@7.20.5)(rollup@4.29.1)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-module-imports': 7.25.9 - '@rollup/pluginutils': 5.1.4(rollup@4.29.1) - optionalDependencies: - '@types/babel__core': 7.20.5 - rollup: 4.29.1 - transitivePeerDependencies: - - supports-color - - '@rollup/plugin-commonjs@28.0.2(rollup@4.29.1)': - dependencies: - '@rollup/pluginutils': 5.1.4(rollup@4.29.1) - commondir: 1.0.1 - estree-walker: 2.0.2 - fdir: 6.4.2(picomatch@4.0.2) - is-reference: 1.2.1 - magic-string: 0.30.17 - picomatch: 4.0.2 - optionalDependencies: - rollup: 4.29.1 - - '@rollup/plugin-json@6.1.0(rollup@4.29.1)': - dependencies: - '@rollup/pluginutils': 5.1.4(rollup@4.29.1) - optionalDependencies: - rollup: 4.29.1 - - '@rollup/plugin-node-resolve@16.0.0(rollup@4.29.1)': - dependencies: - '@rollup/pluginutils': 5.1.4(rollup@4.29.1) - '@types/resolve': 1.20.2 - deepmerge: 4.3.1 - is-module: 1.0.0 - resolve: 1.22.10 - optionalDependencies: - rollup: 4.29.1 - - '@rollup/plugin-terser@0.4.4(rollup@4.29.1)': - dependencies: - serialize-javascript: 6.0.2 - smob: 1.5.0 - terser: 5.37.0 - optionalDependencies: - rollup: 4.29.1 - - '@rollup/pluginutils@5.1.4(rollup@4.29.1)': - dependencies: - '@types/estree': 1.0.6 - estree-walker: 2.0.2 - picomatch: 4.0.2 - optionalDependencies: - rollup: 4.29.1 - - '@rollup/rollup-android-arm-eabi@4.29.1': - optional: true - - '@rollup/rollup-android-arm64@4.29.1': - optional: true - - '@rollup/rollup-darwin-arm64@4.29.1': - optional: true - - '@rollup/rollup-darwin-x64@4.29.1': - optional: true - - '@rollup/rollup-freebsd-arm64@4.29.1': - optional: true - - '@rollup/rollup-freebsd-x64@4.29.1': - optional: true - - '@rollup/rollup-linux-arm-gnueabihf@4.29.1': - optional: true - - '@rollup/rollup-linux-arm-musleabihf@4.29.1': - optional: true - - '@rollup/rollup-linux-arm64-gnu@4.29.1': - optional: true - - '@rollup/rollup-linux-arm64-musl@4.29.1': - optional: true - - '@rollup/rollup-linux-loongarch64-gnu@4.29.1': - optional: true - - '@rollup/rollup-linux-powerpc64le-gnu@4.29.1': - optional: true - - '@rollup/rollup-linux-riscv64-gnu@4.29.1': - optional: true - - '@rollup/rollup-linux-s390x-gnu@4.29.1': - optional: true - - '@rollup/rollup-linux-x64-gnu@4.29.1': - optional: true - - '@rollup/rollup-linux-x64-musl@4.29.1': - optional: true - - '@rollup/rollup-win32-arm64-msvc@4.29.1': - optional: true - - '@rollup/rollup-win32-ia32-msvc@4.29.1': - optional: true - - '@rollup/rollup-win32-x64-msvc@4.29.1': - optional: true - - '@sec-ant/readable-stream@0.4.1': {} - - '@semantic-release/commit-analyzer@13.0.0(semantic-release@24.2.0(typescript@5.7.2))': - dependencies: - conventional-changelog-angular: 8.0.0 - conventional-changelog-writer: 8.0.0 - conventional-commits-filter: 5.0.0 - conventional-commits-parser: 6.0.0 - debug: 4.4.0 - import-from-esm: 1.3.4 - lodash-es: 4.17.21 - micromatch: 4.0.8 - semantic-release: 24.2.0(typescript@5.7.2) - transitivePeerDependencies: - - supports-color - - '@semantic-release/error@4.0.0': {} - - '@semantic-release/github@11.0.1(semantic-release@24.2.0(typescript@5.7.2))': - dependencies: - '@octokit/core': 6.1.2 - '@octokit/plugin-paginate-rest': 11.3.6(@octokit/core@6.1.2) - '@octokit/plugin-retry': 7.1.2(@octokit/core@6.1.2) - '@octokit/plugin-throttling': 9.3.2(@octokit/core@6.1.2) - '@semantic-release/error': 4.0.0 - aggregate-error: 5.0.0 - debug: 4.4.0 - dir-glob: 3.0.1 - globby: 14.0.2 - http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.6 - issue-parser: 7.0.1 - lodash-es: 4.17.21 - mime: 4.0.6 - p-filter: 4.1.0 - semantic-release: 24.2.0(typescript@5.7.2) - url-join: 5.0.0 - transitivePeerDependencies: - - supports-color - - '@semantic-release/npm@12.0.1(semantic-release@24.2.0(typescript@5.7.2))': - dependencies: - '@semantic-release/error': 4.0.0 - aggregate-error: 5.0.0 - execa: 9.5.2 - fs-extra: 11.2.0 - lodash-es: 4.17.21 - nerf-dart: 1.0.0 - normalize-url: 8.0.1 - npm: 10.9.2 - rc: 1.2.8 - read-pkg: 9.0.1 - registry-auth-token: 5.0.3 - semantic-release: 24.2.0(typescript@5.7.2) - semver: 7.6.3 - tempy: 3.1.0 - - '@semantic-release/release-notes-generator@14.0.2(semantic-release@24.2.0(typescript@5.7.2))': - dependencies: - conventional-changelog-angular: 8.0.0 - conventional-changelog-writer: 8.0.0 - conventional-commits-filter: 5.0.0 - conventional-commits-parser: 6.0.0 - debug: 4.4.0 - get-stream: 7.0.1 - import-from-esm: 1.3.4 - into-stream: 7.0.0 - lodash-es: 4.17.21 - read-package-up: 11.0.0 - semantic-release: 24.2.0(typescript@5.7.2) - transitivePeerDependencies: - - supports-color - - '@sinclair/typebox@0.27.8': {} - - '@sindresorhus/is@4.6.0': {} - - '@sindresorhus/merge-streams@2.3.0': {} - - '@sindresorhus/merge-streams@4.0.0': {} - - '@sinonjs/commons@3.0.1': - dependencies: - type-detect: 4.0.8 - - '@sinonjs/fake-timers@10.3.0': - dependencies: - '@sinonjs/commons': 3.0.1 - - '@smithy/abort-controller@3.1.9': - dependencies: - '@smithy/types': 3.7.2 - tslib: 2.8.1 - - '@smithy/config-resolver@3.0.13': - dependencies: - '@smithy/node-config-provider': 3.1.12 - '@smithy/types': 3.7.2 - '@smithy/util-config-provider': 3.0.0 - '@smithy/util-middleware': 3.0.11 - tslib: 2.8.1 - - '@smithy/core@2.5.6': - dependencies: - '@smithy/middleware-serde': 3.0.11 - '@smithy/protocol-http': 4.1.8 - '@smithy/types': 3.7.2 - '@smithy/util-body-length-browser': 3.0.0 - '@smithy/util-middleware': 3.0.11 - '@smithy/util-stream': 3.3.3 - '@smithy/util-utf8': 3.0.0 - tslib: 2.8.1 - - '@smithy/credential-provider-imds@3.2.8': - dependencies: - '@smithy/node-config-provider': 3.1.12 - '@smithy/property-provider': 3.1.11 - '@smithy/types': 3.7.2 - '@smithy/url-parser': 3.0.11 - tslib: 2.8.1 - - '@smithy/fetch-http-handler@4.1.2': - dependencies: - '@smithy/protocol-http': 4.1.8 - '@smithy/querystring-builder': 3.0.11 - '@smithy/types': 3.7.2 - '@smithy/util-base64': 3.0.0 - tslib: 2.8.1 - - '@smithy/hash-node@3.0.11': - dependencies: - '@smithy/types': 3.7.2 - '@smithy/util-buffer-from': 3.0.0 - '@smithy/util-utf8': 3.0.0 - tslib: 2.8.1 - - '@smithy/invalid-dependency@3.0.11': - dependencies: - '@smithy/types': 3.7.2 - tslib: 2.8.1 - - '@smithy/is-array-buffer@2.2.0': - dependencies: - tslib: 2.8.1 - - '@smithy/is-array-buffer@3.0.0': - dependencies: - tslib: 2.8.1 - - '@smithy/middleware-content-length@3.0.13': - dependencies: - '@smithy/protocol-http': 4.1.8 - '@smithy/types': 3.7.2 - tslib: 2.8.1 - - '@smithy/middleware-endpoint@3.2.7': - dependencies: - '@smithy/core': 2.5.6 - '@smithy/middleware-serde': 3.0.11 - '@smithy/node-config-provider': 3.1.12 - '@smithy/shared-ini-file-loader': 3.1.12 - '@smithy/types': 3.7.2 - '@smithy/url-parser': 3.0.11 - '@smithy/util-middleware': 3.0.11 - tslib: 2.8.1 - - '@smithy/middleware-retry@3.0.32': - dependencies: - '@smithy/node-config-provider': 3.1.12 - '@smithy/protocol-http': 4.1.8 - '@smithy/service-error-classification': 3.0.11 - '@smithy/smithy-client': 3.5.2 - '@smithy/types': 3.7.2 - '@smithy/util-middleware': 3.0.11 - '@smithy/util-retry': 3.0.11 - tslib: 2.8.1 - uuid: 9.0.1 - - '@smithy/middleware-serde@3.0.11': - dependencies: - '@smithy/types': 3.7.2 - tslib: 2.8.1 - - '@smithy/middleware-stack@3.0.11': - dependencies: - '@smithy/types': 3.7.2 - tslib: 2.8.1 - - '@smithy/node-config-provider@3.1.12': - dependencies: - '@smithy/property-provider': 3.1.11 - '@smithy/shared-ini-file-loader': 3.1.12 - '@smithy/types': 3.7.2 - tslib: 2.8.1 - - '@smithy/node-http-handler@3.3.3': - dependencies: - '@smithy/abort-controller': 3.1.9 - '@smithy/protocol-http': 4.1.8 - '@smithy/querystring-builder': 3.0.11 - '@smithy/types': 3.7.2 - tslib: 2.8.1 - - '@smithy/property-provider@3.1.11': - dependencies: - '@smithy/types': 3.7.2 - tslib: 2.8.1 - - '@smithy/protocol-http@4.1.8': - dependencies: - '@smithy/types': 3.7.2 - tslib: 2.8.1 - - '@smithy/querystring-builder@3.0.11': - dependencies: - '@smithy/types': 3.7.2 - '@smithy/util-uri-escape': 3.0.0 - tslib: 2.8.1 - - '@smithy/querystring-parser@3.0.11': - dependencies: - '@smithy/types': 3.7.2 - tslib: 2.8.1 - - '@smithy/service-error-classification@3.0.11': - dependencies: - '@smithy/types': 3.7.2 - - '@smithy/shared-ini-file-loader@3.1.12': - dependencies: - '@smithy/types': 3.7.2 - tslib: 2.8.1 - - '@smithy/signature-v4@4.2.4': - dependencies: - '@smithy/is-array-buffer': 3.0.0 - '@smithy/protocol-http': 4.1.8 - '@smithy/types': 3.7.2 - '@smithy/util-hex-encoding': 3.0.0 - '@smithy/util-middleware': 3.0.11 - '@smithy/util-uri-escape': 3.0.0 - '@smithy/util-utf8': 3.0.0 - tslib: 2.8.1 - - '@smithy/smithy-client@3.5.2': - dependencies: - '@smithy/core': 2.5.6 - '@smithy/middleware-endpoint': 3.2.7 - '@smithy/middleware-stack': 3.0.11 - '@smithy/protocol-http': 4.1.8 - '@smithy/types': 3.7.2 - '@smithy/util-stream': 3.3.3 - tslib: 2.8.1 - - '@smithy/types@3.7.2': - dependencies: - tslib: 2.8.1 - - '@smithy/url-parser@3.0.11': - dependencies: - '@smithy/querystring-parser': 3.0.11 - '@smithy/types': 3.7.2 - tslib: 2.8.1 - - '@smithy/util-base64@3.0.0': - dependencies: - '@smithy/util-buffer-from': 3.0.0 - '@smithy/util-utf8': 3.0.0 - tslib: 2.8.1 - - '@smithy/util-body-length-browser@3.0.0': - dependencies: - tslib: 2.8.1 - - '@smithy/util-body-length-node@3.0.0': - dependencies: - tslib: 2.8.1 - - '@smithy/util-buffer-from@2.2.0': - dependencies: - '@smithy/is-array-buffer': 2.2.0 - tslib: 2.8.1 - - '@smithy/util-buffer-from@3.0.0': - dependencies: - '@smithy/is-array-buffer': 3.0.0 - tslib: 2.8.1 - - '@smithy/util-config-provider@3.0.0': - dependencies: - tslib: 2.8.1 - - '@smithy/util-defaults-mode-browser@3.0.32': - dependencies: - '@smithy/property-provider': 3.1.11 - '@smithy/smithy-client': 3.5.2 - '@smithy/types': 3.7.2 - bowser: 2.11.0 - tslib: 2.8.1 - - '@smithy/util-defaults-mode-node@3.0.32': - dependencies: - '@smithy/config-resolver': 3.0.13 - '@smithy/credential-provider-imds': 3.2.8 - '@smithy/node-config-provider': 3.1.12 - '@smithy/property-provider': 3.1.11 - '@smithy/smithy-client': 3.5.2 - '@smithy/types': 3.7.2 - tslib: 2.8.1 - - '@smithy/util-endpoints@2.1.7': - dependencies: - '@smithy/node-config-provider': 3.1.12 - '@smithy/types': 3.7.2 - tslib: 2.8.1 - - '@smithy/util-hex-encoding@3.0.0': - dependencies: - tslib: 2.8.1 - - '@smithy/util-middleware@3.0.11': - dependencies: - '@smithy/types': 3.7.2 - tslib: 2.8.1 - - '@smithy/util-retry@3.0.11': - dependencies: - '@smithy/service-error-classification': 3.0.11 - '@smithy/types': 3.7.2 - tslib: 2.8.1 - - '@smithy/util-stream@3.3.3': - dependencies: - '@smithy/fetch-http-handler': 4.1.2 - '@smithy/node-http-handler': 3.3.3 - '@smithy/types': 3.7.2 - '@smithy/util-base64': 3.0.0 - '@smithy/util-buffer-from': 3.0.0 - '@smithy/util-hex-encoding': 3.0.0 - '@smithy/util-utf8': 3.0.0 - tslib: 2.8.1 - - '@smithy/util-uri-escape@3.0.0': - dependencies: - tslib: 2.8.1 - - '@smithy/util-utf8@2.3.0': - dependencies: - '@smithy/util-buffer-from': 2.2.0 - tslib: 2.8.1 - - '@smithy/util-utf8@3.0.0': - dependencies: - '@smithy/util-buffer-from': 3.0.0 - tslib: 2.8.1 - - '@smithy/util-waiter@3.2.0': - dependencies: - '@smithy/abort-controller': 3.1.9 - '@smithy/types': 3.7.2 - tslib: 2.8.1 - - '@swc/core-darwin-arm64@1.10.4': - optional: true - - '@swc/core-darwin-x64@1.10.4': - optional: true - - '@swc/core-linux-arm-gnueabihf@1.10.4': - optional: true - - '@swc/core-linux-arm64-gnu@1.10.4': - optional: true - - '@swc/core-linux-arm64-musl@1.10.4': - optional: true - - '@swc/core-linux-x64-gnu@1.10.4': - optional: true - - '@swc/core-linux-x64-musl@1.10.4': - optional: true - - '@swc/core-win32-arm64-msvc@1.10.4': - optional: true - - '@swc/core-win32-ia32-msvc@1.10.4': - optional: true - - '@swc/core-win32-x64-msvc@1.10.4': - optional: true - - '@swc/core@1.10.4': - dependencies: - '@swc/counter': 0.1.3 - '@swc/types': 0.1.17 - optionalDependencies: - '@swc/core-darwin-arm64': 1.10.4 - '@swc/core-darwin-x64': 1.10.4 - '@swc/core-linux-arm-gnueabihf': 1.10.4 - '@swc/core-linux-arm64-gnu': 1.10.4 - '@swc/core-linux-arm64-musl': 1.10.4 - '@swc/core-linux-x64-gnu': 1.10.4 - '@swc/core-linux-x64-musl': 1.10.4 - '@swc/core-win32-arm64-msvc': 1.10.4 - '@swc/core-win32-ia32-msvc': 1.10.4 - '@swc/core-win32-x64-msvc': 1.10.4 - - '@swc/counter@0.1.3': {} - - '@swc/jest@0.2.37(@swc/core@1.10.4)': - dependencies: - '@jest/create-cache-key-function': 29.7.0 - '@swc/core': 1.10.4 - '@swc/counter': 0.1.3 - jsonc-parser: 3.3.1 - - '@swc/types@0.1.17': - dependencies: - '@swc/counter': 0.1.3 - - '@tsconfig/node20@20.1.4': {} - - '@tsconfig/strictest@2.0.5': {} - - '@types/babel__core@7.20.5': - dependencies: - '@babel/parser': 7.26.3 - '@babel/types': 7.26.3 - '@types/babel__generator': 7.6.8 - '@types/babel__template': 7.4.4 - '@types/babel__traverse': 7.20.6 - - '@types/babel__generator@7.6.8': - dependencies: - '@babel/types': 7.26.3 - - '@types/babel__template@7.4.4': - dependencies: - '@babel/parser': 7.26.3 - '@babel/types': 7.26.3 - - '@types/babel__traverse@7.20.6': - dependencies: - '@babel/types': 7.26.3 - - '@types/conventional-commits-parser@5.0.1': - dependencies: - '@types/node': 22.10.3 - optional: true - - '@types/estree@1.0.6': {} - - '@types/google-apps-script@1.0.89': {} - - '@types/graceful-fs@4.1.9': - dependencies: - '@types/node': 22.10.3 - - '@types/istanbul-lib-coverage@2.0.6': {} - - '@types/istanbul-lib-report@3.0.3': - dependencies: - '@types/istanbul-lib-coverage': 2.0.6 - - '@types/istanbul-reports@3.0.4': - dependencies: - '@types/istanbul-lib-report': 3.0.3 - - '@types/json-schema@7.0.15': {} - - '@types/mime-types@2.1.4': {} - - '@types/node@22.10.3': - dependencies: - undici-types: 6.20.0 - - '@types/normalize-package-data@2.4.4': {} - - '@types/resolve@1.20.2': {} - - '@types/semver@7.5.8': {} - - '@types/stack-utils@2.0.3': {} - - '@types/yargs-parser@21.0.3': {} - - '@types/yargs@17.0.33': - dependencies: - '@types/yargs-parser': 21.0.3 - - '@typescript-eslint/eslint-plugin@8.19.0(@typescript-eslint/parser@8.19.0(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2))(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2)': - dependencies: - '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.19.0(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2) - '@typescript-eslint/scope-manager': 8.19.0 - '@typescript-eslint/type-utils': 8.19.0(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2) - '@typescript-eslint/utils': 8.19.0(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2) - '@typescript-eslint/visitor-keys': 8.19.0 - eslint: 9.17.0(jiti@2.4.2) - graphemer: 1.4.0 - ignore: 5.3.2 - natural-compare: 1.4.0 - ts-api-utils: 1.4.3(typescript@5.7.2) - typescript: 5.7.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/parser@8.19.0(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2)': - dependencies: - '@typescript-eslint/scope-manager': 8.19.0 - '@typescript-eslint/types': 8.19.0 - '@typescript-eslint/typescript-estree': 8.19.0(typescript@5.7.2) - '@typescript-eslint/visitor-keys': 8.19.0 - debug: 4.4.0 - eslint: 9.17.0(jiti@2.4.2) - typescript: 5.7.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/scope-manager@8.19.0': - dependencies: - '@typescript-eslint/types': 8.19.0 - '@typescript-eslint/visitor-keys': 8.19.0 - - '@typescript-eslint/type-utils@8.19.0(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2)': - dependencies: - '@typescript-eslint/typescript-estree': 8.19.0(typescript@5.7.2) - '@typescript-eslint/utils': 8.19.0(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2) - debug: 4.4.0 - eslint: 9.17.0(jiti@2.4.2) - ts-api-utils: 1.4.3(typescript@5.7.2) - typescript: 5.7.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/types@8.19.0': {} - - '@typescript-eslint/typescript-estree@8.19.0(typescript@5.7.2)': - dependencies: - '@typescript-eslint/types': 8.19.0 - '@typescript-eslint/visitor-keys': 8.19.0 - debug: 4.4.0 - fast-glob: 3.3.2 - is-glob: 4.0.3 - minimatch: 9.0.5 - semver: 7.6.3 - ts-api-utils: 1.4.3(typescript@5.7.2) - typescript: 5.7.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/utils@8.19.0(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2)': - dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.17.0(jiti@2.4.2)) - '@typescript-eslint/scope-manager': 8.19.0 - '@typescript-eslint/types': 8.19.0 - '@typescript-eslint/typescript-estree': 8.19.0(typescript@5.7.2) - eslint: 9.17.0(jiti@2.4.2) - typescript: 5.7.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/visitor-keys@8.19.0': - dependencies: - '@typescript-eslint/types': 8.19.0 - eslint-visitor-keys: 4.2.0 - - acorn-jsx@5.3.2(acorn@8.14.0): - dependencies: - acorn: 8.14.0 - - acorn@8.14.0: {} - - agent-base@7.1.3: {} - - aggregate-error@5.0.0: - dependencies: - clean-stack: 5.2.0 - indent-string: 5.0.0 - - ajv@6.12.6: - 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 - - ajv@8.17.1: - dependencies: - fast-deep-equal: 3.1.3 - fast-uri: 3.0.3 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - optional: true - - ansi-escapes@4.3.2: - dependencies: - type-fest: 0.21.3 - - ansi-escapes@7.0.0: - dependencies: - environment: 1.1.0 - - ansi-regex@5.0.1: {} - - ansi-regex@6.1.0: {} - - ansi-styles@3.2.1: - dependencies: - color-convert: 1.9.3 - - ansi-styles@4.3.0: - dependencies: - color-convert: 2.0.1 - - ansi-styles@5.2.0: {} - - ansi-styles@6.2.1: {} - - any-promise@1.3.0: {} - - anymatch@3.1.3: - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - - argparse@1.0.10: - dependencies: - sprintf-js: 1.0.3 - - argparse@2.0.1: {} - - argv-formatter@1.0.0: {} - - array-ify@1.0.0: {} - - at-least-node@1.0.0: {} - - babel-jest@29.7.0(@babel/core@7.26.0): - dependencies: - '@babel/core': 7.26.0 - '@jest/transform': 29.7.0 - '@types/babel__core': 7.20.5 - babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 29.6.3(@babel/core@7.26.0) - chalk: 4.1.2 - graceful-fs: 4.2.11 - slash: 3.0.0 - transitivePeerDependencies: - - supports-color - - babel-plugin-istanbul@6.1.1: - dependencies: - '@babel/helper-plugin-utils': 7.25.9 - '@istanbuljs/load-nyc-config': 1.1.0 - '@istanbuljs/schema': 0.1.3 - istanbul-lib-instrument: 5.2.1 - test-exclude: 6.0.0 - transitivePeerDependencies: - - supports-color - - babel-plugin-jest-hoist@29.6.3: - dependencies: - '@babel/template': 7.25.9 - '@babel/types': 7.26.3 - '@types/babel__core': 7.20.5 - '@types/babel__traverse': 7.20.6 - - babel-plugin-polyfill-corejs2@0.4.12(@babel/core@7.26.0): - dependencies: - '@babel/compat-data': 7.26.3 - '@babel/core': 7.26.0 - '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.0) - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - babel-plugin-polyfill-corejs3@0.10.6(@babel/core@7.26.0): - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.0) - core-js-compat: 3.39.0 - transitivePeerDependencies: - - supports-color - - babel-plugin-polyfill-regenerator@0.6.3(@babel/core@7.26.0): - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.0) - transitivePeerDependencies: - - supports-color - - babel-preset-current-node-syntax@1.1.0(@babel/core@7.26.0): - dependencies: - '@babel/core': 7.26.0 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.26.0) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.26.0) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.26.0) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.26.0) - '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.0) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.26.0) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.26.0) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.26.0) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.26.0) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.26.0) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.26.0) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.26.0) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.26.0) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.26.0) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.26.0) - - babel-preset-jest@29.6.3(@babel/core@7.26.0): - dependencies: - '@babel/core': 7.26.0 - babel-plugin-jest-hoist: 29.6.3 - babel-preset-current-node-syntax: 1.1.0(@babel/core@7.26.0) - - balanced-match@1.0.2: {} - - base64-js@1.5.1: {} - - before-after-hook@3.0.2: {} - - binary-extensions@2.3.0: - optional: true - - bl@4.1.0: - dependencies: - buffer: 5.7.1 - inherits: 2.0.4 - readable-stream: 3.6.2 - - bottleneck@2.19.5: {} - - bowser@2.11.0: {} - - brace-expansion@1.1.11: - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - - brace-expansion@2.0.1: - dependencies: - balanced-match: 1.0.2 - - braces@3.0.3: - dependencies: - fill-range: 7.1.1 - - browserslist@4.24.3: - dependencies: - caniuse-lite: 1.0.30001690 - electron-to-chromium: 1.5.76 - node-releases: 2.0.19 - update-browserslist-db: 1.1.1(browserslist@4.24.3) - - bser@2.1.1: - dependencies: - node-int64: 0.4.0 - - buffer-from@1.1.2: {} - - buffer@5.7.1: - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - - bundle-require@5.1.0(esbuild@0.24.2): - dependencies: - esbuild: 0.24.2 - load-tsconfig: 0.2.5 - - cac@6.7.14: {} - - cachedir@2.3.0: {} - - callsites@3.1.0: {} - - camelcase@5.3.1: {} - - camelcase@6.3.0: {} - - caniuse-lite@1.0.30001690: {} - - chalk@2.4.2: - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - - chalk@4.1.2: - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - - chalk@5.4.1: {} - - char-regex@1.0.2: {} - - chardet@0.7.0: {} - - chokidar@3.6.0: - dependencies: - anymatch: 3.1.3 - braces: 3.0.3 - 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.3 - optional: true - - chokidar@4.0.3: - dependencies: - readdirp: 4.0.2 - - ci-info@3.9.0: {} - - cjs-module-lexer@1.4.1: {} - - clean-stack@5.2.0: - dependencies: - escape-string-regexp: 5.0.0 - - cli-cursor@3.1.0: - dependencies: - restore-cursor: 3.1.0 - - cli-highlight@2.1.11: - dependencies: - chalk: 4.1.2 - highlight.js: 10.7.3 - mz: 2.7.0 - parse5: 5.1.1 - parse5-htmlparser2-tree-adapter: 6.0.1 - yargs: 16.2.0 - - cli-spinners@2.9.2: {} - - cli-table3@0.6.5: - dependencies: - string-width: 4.2.3 - optionalDependencies: - '@colors/colors': 1.5.0 - - cli-width@3.0.0: {} - - cliui@7.0.4: - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 - - cliui@8.0.1: - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 - - clone@1.0.4: {} - - co@4.6.0: {} - - collect-v8-coverage@1.0.2: {} - - color-convert@1.9.3: - dependencies: - color-name: 1.1.3 - - color-convert@2.0.1: - dependencies: - color-name: 1.1.4 - - color-name@1.1.3: {} - - color-name@1.1.4: {} - - commander@2.20.3: {} - - commander@4.1.1: {} - - commander@6.2.1: {} - - commitizen@4.3.1(@types/node@22.10.3)(typescript@5.7.2): - dependencies: - cachedir: 2.3.0 - cz-conventional-changelog: 3.3.0(@types/node@22.10.3)(typescript@5.7.2) - dedent: 0.7.0 - detect-indent: 6.1.0 - find-node-modules: 2.1.3 - find-root: 1.1.0 - fs-extra: 9.1.0 - glob: 7.2.3 - inquirer: 8.2.5 - is-utf8: 0.2.1 - lodash: 4.17.21 - minimist: 1.2.7 - strip-bom: 4.0.0 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - '@types/node' - - typescript - - commondir@1.0.1: {} - - compare-func@2.0.0: - dependencies: - array-ify: 1.0.0 - dot-prop: 5.3.0 - - concat-map@0.0.1: {} - - config-chain@1.1.13: - dependencies: - ini: 1.3.8 - proto-list: 1.2.4 - - consola@3.3.3: {} - - conventional-changelog-angular@8.0.0: - dependencies: - compare-func: 2.0.0 - - conventional-changelog-writer@8.0.0: - dependencies: - '@types/semver': 7.5.8 - conventional-commits-filter: 5.0.0 - handlebars: 4.7.8 - meow: 13.2.0 - semver: 7.6.3 - - conventional-commit-types@3.0.0: {} - - conventional-commits-filter@5.0.0: {} - - conventional-commits-parser@6.0.0: - dependencies: - meow: 13.2.0 - - convert-hrtime@5.0.0: {} - - convert-source-map@2.0.0: {} - - core-js-compat@3.39.0: - dependencies: - browserslist: 4.24.3 - - core-js-pure@3.39.0: {} - - core-js@3.39.0: {} - - core-util-is@1.0.3: {} - - cosmiconfig-typescript-loader@6.1.0(@types/node@22.10.3)(cosmiconfig@9.0.0(typescript@5.7.2))(typescript@5.7.2): - dependencies: - '@types/node': 22.10.3 - cosmiconfig: 9.0.0(typescript@5.7.2) - jiti: 2.4.2 - typescript: 5.7.2 - optional: true - - cosmiconfig@9.0.0(typescript@5.7.2): - dependencies: - env-paths: 2.2.1 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - parse-json: 5.2.0 - optionalDependencies: - typescript: 5.7.2 - - create-jest@29.7.0(@types/node@22.10.3): - dependencies: - '@jest/types': 29.6.3 - chalk: 4.1.2 - exit: 0.1.2 - graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@22.10.3) - jest-util: 29.7.0 - prompts: 2.4.2 - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - supports-color - - ts-node - - cross-spawn@7.0.6: - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - - crypto-random-string@4.0.0: - dependencies: - type-fest: 1.4.0 - - cz-conventional-changelog@3.3.0(@types/node@22.10.3)(typescript@5.7.2): - dependencies: - chalk: 2.4.2 - commitizen: 4.3.1(@types/node@22.10.3)(typescript@5.7.2) - conventional-commit-types: 3.0.0 - lodash.map: 4.6.0 - longest: 2.0.1 - word-wrap: 1.2.5 - optionalDependencies: - '@commitlint/load': 19.6.1(@types/node@22.10.3)(typescript@5.7.2) - transitivePeerDependencies: - - '@types/node' - - typescript - - debug@4.4.0: - dependencies: - ms: 2.1.3 - - dedent@0.7.0: {} - - dedent@1.5.3: {} - - deep-extend@0.6.0: {} - - deep-is@0.1.4: {} - - deepmerge@4.3.1: {} - - defaults@1.0.4: - dependencies: - clone: 1.0.4 - - detect-file@1.0.0: {} - - detect-indent@6.1.0: {} - - detect-newline@3.1.0: {} - - diff-sequences@29.6.3: {} - - dir-glob@3.0.1: - dependencies: - path-type: 4.0.0 - - dot-prop@5.3.0: - dependencies: - is-obj: 2.0.0 - - dotenv@16.4.7: {} - - duplexer2@0.1.4: - dependencies: - readable-stream: 2.3.8 - - eastasianwidth@0.2.0: {} - - electron-to-chromium@1.5.76: {} - - emittery@0.13.1: {} - - emoji-regex@8.0.0: {} - - emoji-regex@9.2.2: {} - - emojilib@2.4.0: {} - - env-ci@11.1.0: - dependencies: - execa: 8.0.1 - java-properties: 1.0.2 - - env-paths@2.2.1: {} - - environment@1.1.0: {} - - error-ex@1.3.2: - dependencies: - is-arrayish: 0.2.1 - - esbuild@0.24.2: - optionalDependencies: - '@esbuild/aix-ppc64': 0.24.2 - '@esbuild/android-arm': 0.24.2 - '@esbuild/android-arm64': 0.24.2 - '@esbuild/android-x64': 0.24.2 - '@esbuild/darwin-arm64': 0.24.2 - '@esbuild/darwin-x64': 0.24.2 - '@esbuild/freebsd-arm64': 0.24.2 - '@esbuild/freebsd-x64': 0.24.2 - '@esbuild/linux-arm': 0.24.2 - '@esbuild/linux-arm64': 0.24.2 - '@esbuild/linux-ia32': 0.24.2 - '@esbuild/linux-loong64': 0.24.2 - '@esbuild/linux-mips64el': 0.24.2 - '@esbuild/linux-ppc64': 0.24.2 - '@esbuild/linux-riscv64': 0.24.2 - '@esbuild/linux-s390x': 0.24.2 - '@esbuild/linux-x64': 0.24.2 - '@esbuild/netbsd-arm64': 0.24.2 - '@esbuild/netbsd-x64': 0.24.2 - '@esbuild/openbsd-arm64': 0.24.2 - '@esbuild/openbsd-x64': 0.24.2 - '@esbuild/sunos-x64': 0.24.2 - '@esbuild/win32-arm64': 0.24.2 - '@esbuild/win32-ia32': 0.24.2 - '@esbuild/win32-x64': 0.24.2 - - escalade@3.2.0: {} - - escape-string-regexp@1.0.5: {} - - escape-string-regexp@2.0.0: {} - - escape-string-regexp@4.0.0: {} - - escape-string-regexp@5.0.0: {} - - eslint-scope@8.2.0: - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - - eslint-visitor-keys@3.4.3: {} - - eslint-visitor-keys@4.2.0: {} - - eslint@9.17.0(jiti@2.4.2): - dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.17.0(jiti@2.4.2)) - '@eslint-community/regexpp': 4.12.1 - '@eslint/config-array': 0.19.1 - '@eslint/core': 0.9.1 - '@eslint/eslintrc': 3.2.0 - '@eslint/js': 9.17.0 - '@eslint/plugin-kit': 0.2.4 - '@humanfs/node': 0.16.6 - '@humanwhocodes/module-importer': 1.0.1 - '@humanwhocodes/retry': 0.4.1 - '@types/estree': 1.0.6 - '@types/json-schema': 7.0.15 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.6 - debug: 4.4.0 - escape-string-regexp: 4.0.0 - eslint-scope: 8.2.0 - eslint-visitor-keys: 4.2.0 - espree: 10.3.0 - esquery: 1.6.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 8.0.0 - find-up: 5.0.0 - glob-parent: 6.0.2 - ignore: 5.3.2 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - json-stable-stringify-without-jsonify: 1.0.1 - lodash.merge: 4.6.2 - minimatch: 3.1.2 - natural-compare: 1.4.0 - optionator: 0.9.4 - optionalDependencies: - jiti: 2.4.2 - transitivePeerDependencies: - - supports-color - - espree@10.3.0: - dependencies: - acorn: 8.14.0 - acorn-jsx: 5.3.2(acorn@8.14.0) - eslint-visitor-keys: 4.2.0 - - esprima@4.0.1: {} - - esquery@1.6.0: - dependencies: - estraverse: 5.3.0 - - esrecurse@4.3.0: - dependencies: - estraverse: 5.3.0 - - estraverse@5.3.0: {} - - estree-walker@2.0.2: {} - - esutils@2.0.3: {} - - execa@5.1.1: - dependencies: - cross-spawn: 7.0.6 - 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 - - execa@8.0.1: - dependencies: - cross-spawn: 7.0.6 - get-stream: 8.0.1 - human-signals: 5.0.0 - is-stream: 3.0.0 - merge-stream: 2.0.0 - npm-run-path: 5.3.0 - onetime: 6.0.0 - signal-exit: 4.1.0 - strip-final-newline: 3.0.0 - - execa@9.5.2: - dependencies: - '@sindresorhus/merge-streams': 4.0.0 - cross-spawn: 7.0.6 - figures: 6.1.0 - get-stream: 9.0.1 - human-signals: 8.0.0 - is-plain-obj: 4.1.0 - is-stream: 4.0.1 - npm-run-path: 6.0.0 - pretty-ms: 9.2.0 - signal-exit: 4.1.0 - strip-final-newline: 4.0.0 - yoctocolors: 2.1.1 - - exit@0.1.2: {} - - expand-tilde@2.0.2: - dependencies: - homedir-polyfill: 1.0.3 - - expect@29.7.0: - dependencies: - '@jest/expect-utils': 29.7.0 - jest-get-type: 29.6.3 - jest-matcher-utils: 29.7.0 - jest-message-util: 29.7.0 - jest-util: 29.7.0 - - external-editor@3.1.0: - dependencies: - chardet: 0.7.0 - iconv-lite: 0.4.24 - tmp: 0.0.33 - - fast-content-type-parse@2.0.0: {} - - fast-deep-equal@3.1.3: {} - - fast-glob@3.3.2: - 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.8 - - fast-json-stable-stringify@2.1.0: {} - - fast-levenshtein@2.0.6: {} - - fast-uri@3.0.3: - optional: true - - fast-xml-parser@4.4.1: - dependencies: - strnum: 1.0.5 - - fastq@1.18.0: - dependencies: - reusify: 1.0.4 - - fb-watchman@2.0.2: - dependencies: - bser: 2.1.1 - - fdir@6.4.2(picomatch@4.0.2): - optionalDependencies: - picomatch: 4.0.2 - - figures@2.0.0: - dependencies: - escape-string-regexp: 1.0.5 - - figures@3.2.0: - dependencies: - escape-string-regexp: 1.0.5 - - figures@6.1.0: - dependencies: - is-unicode-supported: 2.1.0 - - file-entry-cache@8.0.0: - dependencies: - flat-cache: 4.0.1 - - fill-range@7.1.1: - dependencies: - to-regex-range: 5.0.1 - - find-node-modules@2.1.3: - dependencies: - findup-sync: 4.0.0 - merge: 2.1.1 - - find-root@1.1.0: {} - - find-up-simple@1.0.0: {} - - find-up@2.1.0: - dependencies: - locate-path: 2.0.0 - - find-up@4.1.0: - dependencies: - locate-path: 5.0.0 - path-exists: 4.0.0 - - find-up@5.0.0: - dependencies: - locate-path: 6.0.0 - path-exists: 4.0.0 - - find-versions@6.0.0: - dependencies: - semver-regex: 4.0.5 - super-regex: 1.0.0 - - findup-sync@4.0.0: - dependencies: - detect-file: 1.0.0 - is-glob: 4.0.3 - micromatch: 4.0.8 - resolve-dir: 1.0.1 - - flat-cache@4.0.1: - dependencies: - flatted: 3.3.2 - keyv: 4.5.4 - - flatted@3.3.2: {} - - foreground-child@3.3.0: - dependencies: - cross-spawn: 7.0.6 - signal-exit: 4.1.0 - - from2@2.3.0: - dependencies: - inherits: 2.0.4 - readable-stream: 2.3.8 - - fs-extra@11.2.0: - dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.1.0 - universalify: 2.0.1 - - fs-extra@9.1.0: - dependencies: - at-least-node: 1.0.0 - graceful-fs: 4.2.11 - jsonfile: 6.1.0 - universalify: 2.0.1 - - fs-readdir-recursive@1.1.0: {} - - fs.realpath@1.0.0: {} - - fsevents@2.3.3: - optional: true - - function-bind@1.1.2: {} - - function-timeout@1.0.2: {} - - gensync@1.0.0-beta.2: {} - - get-caller-file@2.0.5: {} - - get-package-type@0.1.0: {} - - get-stream@6.0.1: {} - - get-stream@7.0.1: {} - - get-stream@8.0.1: {} - - get-stream@9.0.1: - dependencies: - '@sec-ant/readable-stream': 0.4.1 - is-stream: 4.0.1 - - git-log-parser@1.2.1: - dependencies: - argv-formatter: 1.0.0 - spawn-error-forwarder: 1.0.0 - split2: 1.0.0 - stream-combiner2: 1.1.1 - through2: 2.0.5 - traverse: 0.6.8 - - glob-parent@5.1.2: - dependencies: - is-glob: 4.0.3 - - glob-parent@6.0.2: - dependencies: - is-glob: 4.0.3 - - glob@10.4.5: - dependencies: - foreground-child: 3.3.0 - jackspeak: 3.4.3 - minimatch: 9.0.5 - minipass: 7.1.2 - package-json-from-dist: 1.0.1 - path-scurry: 1.11.1 - - glob@7.2.3: - 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 - - global-directory@4.0.1: - dependencies: - ini: 4.1.1 - optional: true - - global-modules@1.0.0: - dependencies: - global-prefix: 1.0.2 - is-windows: 1.0.2 - resolve-dir: 1.0.1 - - global-prefix@1.0.2: - dependencies: - expand-tilde: 2.0.2 - homedir-polyfill: 1.0.3 - ini: 1.3.8 - is-windows: 1.0.2 - which: 1.3.1 - - globals@11.12.0: {} - - globals@14.0.0: {} - - globals@15.14.0: {} - - globby@14.0.2: - dependencies: - '@sindresorhus/merge-streams': 2.3.0 - fast-glob: 3.3.2 - ignore: 5.3.2 - path-type: 5.0.0 - slash: 5.1.0 - unicorn-magic: 0.1.0 - - graceful-fs@4.2.10: {} - - graceful-fs@4.2.11: {} - - graphemer@1.4.0: {} - - handlebars@4.7.8: - dependencies: - minimist: 1.2.8 - neo-async: 2.6.2 - source-map: 0.6.1 - wordwrap: 1.0.0 - optionalDependencies: - uglify-js: 3.19.3 - - has-flag@3.0.0: {} - - has-flag@4.0.0: {} - - hasown@2.0.2: - dependencies: - function-bind: 1.1.2 - - highlight.js@10.7.3: {} - - homedir-polyfill@1.0.3: - dependencies: - parse-passwd: 1.0.0 - - hook-std@3.0.0: {} - - hosted-git-info@7.0.2: - dependencies: - lru-cache: 10.4.3 - - hosted-git-info@8.0.2: - dependencies: - lru-cache: 10.4.3 - - html-escaper@2.0.2: {} - - http-proxy-agent@7.0.2: - dependencies: - agent-base: 7.1.3 - debug: 4.4.0 - transitivePeerDependencies: - - supports-color - - https-proxy-agent@7.0.6: - dependencies: - agent-base: 7.1.3 - debug: 4.4.0 - transitivePeerDependencies: - - supports-color - - human-signals@2.1.0: {} - - human-signals@5.0.0: {} - - human-signals@8.0.0: {} - - husky@9.1.7: {} - - iconv-lite@0.4.24: - dependencies: - safer-buffer: 2.1.2 - - ieee754@1.2.1: {} - - ignore@5.3.2: {} - - import-fresh@3.3.0: - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - - import-from-esm@1.3.4: - dependencies: - debug: 4.4.0 - import-meta-resolve: 4.1.0 - transitivePeerDependencies: - - supports-color - - import-local@3.2.0: - dependencies: - pkg-dir: 4.2.0 - resolve-cwd: 3.0.0 - - import-meta-resolve@4.1.0: {} - - imurmurhash@0.1.4: {} - - indent-string@5.0.0: {} - - index-to-position@0.1.2: {} - - inflight@1.0.6: - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - - inherits@2.0.4: {} - - ini@1.3.8: {} - - ini@4.1.1: - optional: true - - inquirer@8.2.5: - 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 - ora: 5.4.1 - run-async: 2.4.1 - rxjs: 7.8.1 - string-width: 4.2.3 - strip-ansi: 6.0.1 - through: 2.3.8 - wrap-ansi: 7.0.0 - - into-stream@7.0.0: - dependencies: - from2: 2.3.0 - p-is-promise: 3.0.0 - - is-arrayish@0.2.1: {} - - is-binary-path@2.1.0: - dependencies: - binary-extensions: 2.3.0 - optional: true - - is-core-module@2.16.1: - dependencies: - hasown: 2.0.2 - - is-extglob@2.1.1: {} - - is-fullwidth-code-point@3.0.0: {} - - is-generator-fn@2.1.0: {} - - is-glob@4.0.3: - dependencies: - is-extglob: 2.1.1 - - is-interactive@1.0.0: {} - - is-module@1.0.0: {} - - is-number@7.0.0: {} - - is-obj@2.0.0: {} - - is-plain-obj@4.1.0: {} - - is-reference@1.2.1: - dependencies: - '@types/estree': 1.0.6 - - is-stream@2.0.1: {} - - is-stream@3.0.0: {} - - is-stream@4.0.1: {} - - is-unicode-supported@0.1.0: {} - - is-unicode-supported@2.1.0: {} - - is-utf8@0.2.1: {} - - is-windows@1.0.2: {} - - isarray@1.0.0: {} - - isexe@2.0.0: {} - - issue-parser@7.0.1: - dependencies: - lodash.capitalize: 4.2.1 - lodash.escaperegexp: 4.1.2 - lodash.isplainobject: 4.0.6 - lodash.isstring: 4.0.1 - lodash.uniqby: 4.7.0 - - istanbul-lib-coverage@3.2.2: {} - - istanbul-lib-instrument@5.2.1: - dependencies: - '@babel/core': 7.26.0 - '@babel/parser': 7.26.3 - '@istanbuljs/schema': 0.1.3 - istanbul-lib-coverage: 3.2.2 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - istanbul-lib-instrument@6.0.3: - dependencies: - '@babel/core': 7.26.0 - '@babel/parser': 7.26.3 - '@istanbuljs/schema': 0.1.3 - istanbul-lib-coverage: 3.2.2 - semver: 7.6.3 - transitivePeerDependencies: - - supports-color - - istanbul-lib-report@3.0.1: - dependencies: - istanbul-lib-coverage: 3.2.2 - make-dir: 4.0.0 - supports-color: 7.2.0 - - istanbul-lib-source-maps@4.0.1: - dependencies: - debug: 4.4.0 - istanbul-lib-coverage: 3.2.2 - source-map: 0.6.1 - transitivePeerDependencies: - - supports-color - - istanbul-reports@3.1.7: - dependencies: - html-escaper: 2.0.2 - istanbul-lib-report: 3.0.1 - - jackspeak@3.4.3: - dependencies: - '@isaacs/cliui': 8.0.2 - optionalDependencies: - '@pkgjs/parseargs': 0.11.0 - - java-properties@1.0.2: {} - - jest-changed-files@29.7.0: - dependencies: - execa: 5.1.1 - jest-util: 29.7.0 - p-limit: 3.1.0 - - jest-circus@29.7.0: - dependencies: - '@jest/environment': 29.7.0 - '@jest/expect': 29.7.0 - '@jest/test-result': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 22.10.3 - chalk: 4.1.2 - co: 4.6.0 - dedent: 1.5.3 - is-generator-fn: 2.1.0 - jest-each: 29.7.0 - jest-matcher-utils: 29.7.0 - jest-message-util: 29.7.0 - jest-runtime: 29.7.0 - jest-snapshot: 29.7.0 - jest-util: 29.7.0 - p-limit: 3.1.0 - pretty-format: 29.7.0 - pure-rand: 6.1.0 - slash: 3.0.0 - stack-utils: 2.0.6 - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - - jest-cli@29.7.0(@types/node@22.10.3): - dependencies: - '@jest/core': 29.7.0 - '@jest/test-result': 29.7.0 - '@jest/types': 29.6.3 - chalk: 4.1.2 - create-jest: 29.7.0(@types/node@22.10.3) - exit: 0.1.2 - import-local: 3.2.0 - jest-config: 29.7.0(@types/node@22.10.3) - jest-util: 29.7.0 - jest-validate: 29.7.0 - yargs: 17.7.2 - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - supports-color - - ts-node - - jest-config@29.7.0(@types/node@22.10.3): - dependencies: - '@babel/core': 7.26.0 - '@jest/test-sequencer': 29.7.0 - '@jest/types': 29.6.3 - babel-jest: 29.7.0(@babel/core@7.26.0) - chalk: 4.1.2 - ci-info: 3.9.0 - deepmerge: 4.3.1 - glob: 7.2.3 - graceful-fs: 4.2.11 - jest-circus: 29.7.0 - jest-environment-node: 29.7.0 - jest-get-type: 29.6.3 - jest-regex-util: 29.6.3 - jest-resolve: 29.7.0 - jest-runner: 29.7.0 - jest-util: 29.7.0 - jest-validate: 29.7.0 - micromatch: 4.0.8 - parse-json: 5.2.0 - pretty-format: 29.7.0 - slash: 3.0.0 - strip-json-comments: 3.1.1 - optionalDependencies: - '@types/node': 22.10.3 - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - - jest-diff@29.7.0: - dependencies: - chalk: 4.1.2 - diff-sequences: 29.6.3 - jest-get-type: 29.6.3 - pretty-format: 29.7.0 - - jest-docblock@29.7.0: - dependencies: - detect-newline: 3.1.0 - - jest-each@29.7.0: - dependencies: - '@jest/types': 29.6.3 - chalk: 4.1.2 - jest-get-type: 29.6.3 - jest-util: 29.7.0 - pretty-format: 29.7.0 - - jest-environment-node@29.7.0: - dependencies: - '@jest/environment': 29.7.0 - '@jest/fake-timers': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 22.10.3 - jest-mock: 29.7.0 - jest-util: 29.7.0 - - jest-get-type@29.6.3: {} - - jest-haste-map@29.7.0: - dependencies: - '@jest/types': 29.6.3 - '@types/graceful-fs': 4.1.9 - '@types/node': 22.10.3 - anymatch: 3.1.3 - fb-watchman: 2.0.2 - graceful-fs: 4.2.11 - jest-regex-util: 29.6.3 - jest-util: 29.7.0 - jest-worker: 29.7.0 - micromatch: 4.0.8 - walker: 1.0.8 - optionalDependencies: - fsevents: 2.3.3 - - jest-leak-detector@29.7.0: - dependencies: - jest-get-type: 29.6.3 - pretty-format: 29.7.0 - - jest-matcher-utils@29.7.0: - dependencies: - chalk: 4.1.2 - jest-diff: 29.7.0 - jest-get-type: 29.6.3 - pretty-format: 29.7.0 - - jest-message-util@29.7.0: - dependencies: - '@babel/code-frame': 7.26.2 - '@jest/types': 29.6.3 - '@types/stack-utils': 2.0.3 - chalk: 4.1.2 - graceful-fs: 4.2.11 - micromatch: 4.0.8 - pretty-format: 29.7.0 - slash: 3.0.0 - stack-utils: 2.0.6 - - jest-mock@29.7.0: - dependencies: - '@jest/types': 29.6.3 - '@types/node': 22.10.3 - jest-util: 29.7.0 - - jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): - optionalDependencies: - jest-resolve: 29.7.0 - - jest-regex-util@29.6.3: {} - - jest-resolve-dependencies@29.7.0: - dependencies: - jest-regex-util: 29.6.3 - jest-snapshot: 29.7.0 - transitivePeerDependencies: - - supports-color - - jest-resolve@29.7.0: - dependencies: - chalk: 4.1.2 - graceful-fs: 4.2.11 - jest-haste-map: 29.7.0 - jest-pnp-resolver: 1.2.3(jest-resolve@29.7.0) - jest-util: 29.7.0 - jest-validate: 29.7.0 - resolve: 1.22.10 - resolve.exports: 2.0.3 - slash: 3.0.0 - - jest-runner@29.7.0: - dependencies: - '@jest/console': 29.7.0 - '@jest/environment': 29.7.0 - '@jest/test-result': 29.7.0 - '@jest/transform': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 22.10.3 - chalk: 4.1.2 - emittery: 0.13.1 - graceful-fs: 4.2.11 - jest-docblock: 29.7.0 - jest-environment-node: 29.7.0 - jest-haste-map: 29.7.0 - jest-leak-detector: 29.7.0 - jest-message-util: 29.7.0 - jest-resolve: 29.7.0 - jest-runtime: 29.7.0 - jest-util: 29.7.0 - jest-watcher: 29.7.0 - jest-worker: 29.7.0 - p-limit: 3.1.0 - source-map-support: 0.5.13 - transitivePeerDependencies: - - supports-color - - jest-runtime@29.7.0: - dependencies: - '@jest/environment': 29.7.0 - '@jest/fake-timers': 29.7.0 - '@jest/globals': 29.7.0 - '@jest/source-map': 29.6.3 - '@jest/test-result': 29.7.0 - '@jest/transform': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 22.10.3 - chalk: 4.1.2 - cjs-module-lexer: 1.4.1 - collect-v8-coverage: 1.0.2 - glob: 7.2.3 - graceful-fs: 4.2.11 - jest-haste-map: 29.7.0 - jest-message-util: 29.7.0 - jest-mock: 29.7.0 - jest-regex-util: 29.6.3 - jest-resolve: 29.7.0 - jest-snapshot: 29.7.0 - jest-util: 29.7.0 - slash: 3.0.0 - strip-bom: 4.0.0 - transitivePeerDependencies: - - supports-color - - jest-snapshot@29.7.0: - dependencies: - '@babel/core': 7.26.0 - '@babel/generator': 7.26.3 - '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.26.0) - '@babel/types': 7.26.3 - '@jest/expect-utils': 29.7.0 - '@jest/transform': 29.7.0 - '@jest/types': 29.6.3 - babel-preset-current-node-syntax: 1.1.0(@babel/core@7.26.0) - chalk: 4.1.2 - expect: 29.7.0 - graceful-fs: 4.2.11 - jest-diff: 29.7.0 - jest-get-type: 29.6.3 - jest-matcher-utils: 29.7.0 - jest-message-util: 29.7.0 - jest-util: 29.7.0 - natural-compare: 1.4.0 - pretty-format: 29.7.0 - semver: 7.6.3 - transitivePeerDependencies: - - supports-color - - jest-util@29.7.0: - dependencies: - '@jest/types': 29.6.3 - '@types/node': 22.10.3 - chalk: 4.1.2 - ci-info: 3.9.0 - graceful-fs: 4.2.11 - picomatch: 2.3.1 - - jest-validate@29.7.0: - dependencies: - '@jest/types': 29.6.3 - camelcase: 6.3.0 - chalk: 4.1.2 - jest-get-type: 29.6.3 - leven: 3.1.0 - pretty-format: 29.7.0 - - jest-watcher@29.7.0: - dependencies: - '@jest/test-result': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 22.10.3 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - emittery: 0.13.1 - jest-util: 29.7.0 - string-length: 4.0.2 - - jest-worker@29.7.0: - dependencies: - '@types/node': 22.10.3 - jest-util: 29.7.0 - merge-stream: 2.0.0 - supports-color: 8.1.1 - - jest@29.7.0(@types/node@22.10.3): - dependencies: - '@jest/core': 29.7.0 - '@jest/types': 29.6.3 - import-local: 3.2.0 - jest-cli: 29.7.0(@types/node@22.10.3) - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - supports-color - - ts-node - - jiti@2.4.2: - optional: true - - joycon@3.1.1: {} - - js-base64@3.7.7: {} - - js-tokens@4.0.0: {} - - js-yaml@3.14.1: - dependencies: - argparse: 1.0.10 - esprima: 4.0.1 - - js-yaml@4.1.0: - dependencies: - argparse: 2.0.1 - - jsesc@3.0.2: {} - - jsesc@3.1.0: {} - - json-buffer@3.0.1: {} - - json-parse-better-errors@1.0.2: {} - - json-parse-even-better-errors@2.3.1: {} - - json-schema-traverse@0.4.1: {} - - json-schema-traverse@1.0.0: - optional: true - - json-stable-stringify-without-jsonify@1.0.1: {} - - json5@2.2.3: {} - - jsonc-parser@3.3.1: {} - - jsonfile@6.1.0: - dependencies: - universalify: 2.0.1 - optionalDependencies: - graceful-fs: 4.2.11 - - keyv@4.5.4: - dependencies: - json-buffer: 3.0.1 - - kleur@3.0.3: {} - - leven@3.1.0: {} - - levn@0.4.1: - dependencies: - prelude-ls: 1.2.1 - type-check: 0.4.0 - - lilconfig@3.1.3: {} - - lines-and-columns@1.2.4: {} - - load-json-file@4.0.0: - dependencies: - graceful-fs: 4.2.11 - parse-json: 4.0.0 - pify: 3.0.0 - strip-bom: 3.0.0 - - load-tsconfig@0.2.5: {} - - locate-path@2.0.0: - dependencies: - p-locate: 2.0.0 - path-exists: 3.0.0 - - locate-path@5.0.0: - dependencies: - p-locate: 4.1.0 - - locate-path@6.0.0: - dependencies: - p-locate: 5.0.0 - - lodash-es@4.17.21: {} - - lodash.capitalize@4.2.1: {} - - lodash.debounce@4.0.8: {} - - lodash.escaperegexp@4.1.2: {} - - lodash.isplainobject@4.0.6: {} - - lodash.isstring@4.0.1: {} - - lodash.map@4.6.0: {} - - lodash.merge@4.6.2: {} - - lodash.mergewith@4.6.2: - optional: true - - lodash.sortby@4.7.0: {} - - lodash.uniq@4.5.0: - optional: true - - lodash.uniqby@4.7.0: {} - - lodash@4.17.21: {} - - log-symbols@4.1.0: - dependencies: - chalk: 4.1.2 - is-unicode-supported: 0.1.0 - - longest@2.0.1: {} - - lru-cache@10.4.3: {} - - lru-cache@5.1.1: - dependencies: - yallist: 3.1.1 - - magic-string@0.30.17: - dependencies: - '@jridgewell/sourcemap-codec': 1.5.0 - - make-dir@2.1.0: - dependencies: - pify: 4.0.1 - semver: 5.7.2 - - make-dir@4.0.0: - dependencies: - semver: 7.6.3 - - makeerror@1.0.12: - dependencies: - tmpl: 1.0.5 - - marked-terminal@7.2.1(marked@12.0.2): - dependencies: - ansi-escapes: 7.0.0 - ansi-regex: 6.1.0 - chalk: 5.4.1 - cli-highlight: 2.1.11 - cli-table3: 0.6.5 - marked: 12.0.2 - node-emoji: 2.2.0 - supports-hyperlinks: 3.1.0 - - marked@12.0.2: {} - - meow@13.2.0: {} - - merge-stream@2.0.0: {} - - merge2@1.4.1: {} - - merge@2.1.1: {} - - micromatch@4.0.8: - dependencies: - braces: 3.0.3 - picomatch: 2.3.1 - - mime-db@1.52.0: {} - - mime-types@2.1.35: - dependencies: - mime-db: 1.52.0 - - mime@4.0.6: {} - - mimic-fn@2.1.0: {} - - mimic-fn@4.0.0: {} - - minimatch@3.1.2: - dependencies: - brace-expansion: 1.1.11 - - minimatch@9.0.5: - dependencies: - brace-expansion: 2.0.1 - - minimist@1.2.7: {} - - minimist@1.2.8: {} - - minipass@7.1.2: {} - - ms@2.1.3: {} - - mute-stream@0.0.8: {} - - mz@2.7.0: - dependencies: - any-promise: 1.3.0 - object-assign: 4.1.1 - thenify-all: 1.6.0 - - natural-compare@1.4.0: {} - - neo-async@2.6.2: {} - - nerf-dart@1.0.0: {} - - node-emoji@2.2.0: - dependencies: - '@sindresorhus/is': 4.6.0 - char-regex: 1.0.2 - emojilib: 2.4.0 - skin-tone: 2.0.0 - - node-int64@0.4.0: {} - - node-releases@2.0.19: {} - - normalize-package-data@6.0.2: - dependencies: - hosted-git-info: 7.0.2 - semver: 7.6.3 - validate-npm-package-license: 3.0.4 - - normalize-path@3.0.0: {} - - normalize-url@8.0.1: {} - - npm-run-path@4.0.1: - dependencies: - path-key: 3.1.1 - - npm-run-path@5.3.0: - dependencies: - path-key: 4.0.0 - - npm-run-path@6.0.0: - dependencies: - path-key: 4.0.0 - unicorn-magic: 0.3.0 - - npm@10.9.2: {} - - object-assign@4.1.1: {} - - once@1.4.0: - dependencies: - wrappy: 1.0.2 - - onetime@5.1.2: - dependencies: - mimic-fn: 2.1.0 - - onetime@6.0.0: - dependencies: - mimic-fn: 4.0.0 - - optionator@0.9.4: - 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.5 - - ora@5.4.1: - dependencies: - bl: 4.1.0 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-spinners: 2.9.2 - is-interactive: 1.0.0 - is-unicode-supported: 0.1.0 - log-symbols: 4.1.0 - strip-ansi: 6.0.1 - wcwidth: 1.0.1 - - os-tmpdir@1.0.2: {} - - p-each-series@3.0.0: {} - - p-filter@4.1.0: - dependencies: - p-map: 7.0.3 - - p-is-promise@3.0.0: {} - - p-limit@1.3.0: - dependencies: - p-try: 1.0.0 - - p-limit@2.3.0: - dependencies: - p-try: 2.2.0 - - p-limit@3.1.0: - dependencies: - yocto-queue: 0.1.0 - - p-locate@2.0.0: - dependencies: - p-limit: 1.3.0 - - p-locate@4.1.0: - dependencies: - p-limit: 2.3.0 - - p-locate@5.0.0: - dependencies: - p-limit: 3.1.0 - - p-map@7.0.3: {} - - p-reduce@3.0.0: {} - - p-try@1.0.0: {} - - p-try@2.2.0: {} - - package-json-from-dist@1.0.1: {} - - parent-module@1.0.1: - dependencies: - callsites: 3.1.0 - - parse-json@4.0.0: - dependencies: - error-ex: 1.3.2 - json-parse-better-errors: 1.0.2 - - parse-json@5.2.0: - dependencies: - '@babel/code-frame': 7.26.2 - error-ex: 1.3.2 - json-parse-even-better-errors: 2.3.1 - lines-and-columns: 1.2.4 - - parse-json@8.1.0: - dependencies: - '@babel/code-frame': 7.26.2 - index-to-position: 0.1.2 - type-fest: 4.31.0 - - parse-ms@4.0.0: {} - - parse-passwd@1.0.0: {} - - parse5-htmlparser2-tree-adapter@6.0.1: - dependencies: - parse5: 6.0.1 - - parse5@5.1.1: {} - - parse5@6.0.1: {} - - path-exists@3.0.0: {} - - path-exists@4.0.0: {} - - path-is-absolute@1.0.1: {} - - path-key@3.1.1: {} - - path-key@4.0.0: {} - - path-parse@1.0.7: {} - - path-scurry@1.11.1: - dependencies: - lru-cache: 10.4.3 - minipass: 7.1.2 - - path-type@4.0.0: {} - - path-type@5.0.0: {} - - picocolors@1.1.1: {} - - picomatch@2.3.1: {} - - picomatch@4.0.2: {} - - pify@3.0.0: {} - - pify@4.0.1: {} - - pirates@4.0.6: {} - - pkg-conf@2.1.0: - dependencies: - find-up: 2.1.0 - load-json-file: 4.0.0 - - pkg-dir@4.2.0: - dependencies: - find-up: 4.1.0 - - postcss-load-config@6.0.1(jiti@2.4.2): - dependencies: - lilconfig: 3.1.3 - optionalDependencies: - jiti: 2.4.2 - - prelude-ls@1.2.1: {} - - prettier@3.4.2: {} - - pretty-format@29.7.0: - dependencies: - '@jest/schemas': 29.6.3 - ansi-styles: 5.2.0 - react-is: 18.3.1 - - pretty-ms@9.2.0: - dependencies: - parse-ms: 4.0.0 - - process-nextick-args@2.0.1: {} - - prompts@2.4.2: - dependencies: - kleur: 3.0.3 - sisteransi: 1.0.5 - - proto-list@1.2.4: {} - - punycode@2.3.1: {} - - pure-rand@6.1.0: {} - - queue-microtask@1.2.3: {} - - randombytes@2.1.0: - dependencies: - safe-buffer: 5.2.1 - - rc@1.2.8: - dependencies: - deep-extend: 0.6.0 - ini: 1.3.8 - minimist: 1.2.8 - strip-json-comments: 2.0.1 - - react-is@18.3.1: {} - - read-package-up@11.0.0: - dependencies: - find-up-simple: 1.0.0 - read-pkg: 9.0.1 - type-fest: 4.31.0 - - read-pkg@9.0.1: - dependencies: - '@types/normalize-package-data': 2.4.4 - normalize-package-data: 6.0.2 - parse-json: 8.1.0 - type-fest: 4.31.0 - unicorn-magic: 0.1.0 - - readable-stream@2.3.8: - dependencies: - core-util-is: 1.0.3 - inherits: 2.0.4 - isarray: 1.0.0 - process-nextick-args: 2.0.1 - safe-buffer: 5.1.2 - string_decoder: 1.1.1 - util-deprecate: 1.0.2 - - readable-stream@3.6.2: - dependencies: - inherits: 2.0.4 - string_decoder: 1.3.0 - util-deprecate: 1.0.2 - - readdirp@3.6.0: - dependencies: - picomatch: 2.3.1 - optional: true - - readdirp@4.0.2: {} - - regenerate-unicode-properties@10.2.0: - dependencies: - regenerate: 1.4.2 - - regenerate@1.4.2: {} - - regenerator-runtime@0.14.1: {} - - regenerator-transform@0.15.2: - dependencies: - '@babel/runtime': 7.26.0 - - regexpu-core@6.2.0: - dependencies: - regenerate: 1.4.2 - regenerate-unicode-properties: 10.2.0 - regjsgen: 0.8.0 - regjsparser: 0.12.0 - unicode-match-property-ecmascript: 2.0.0 - unicode-match-property-value-ecmascript: 2.2.0 - - registry-auth-token@5.0.3: - dependencies: - '@pnpm/npm-conf': 2.3.1 - - regjsgen@0.8.0: {} - - regjsparser@0.12.0: - dependencies: - jsesc: 3.0.2 - - require-directory@2.1.1: {} - - require-from-string@2.0.2: - optional: true - - resolve-cwd@3.0.0: - dependencies: - resolve-from: 5.0.0 - - resolve-dir@1.0.1: - dependencies: - expand-tilde: 2.0.2 - global-modules: 1.0.0 - - resolve-from@4.0.0: {} - - resolve-from@5.0.0: {} - - resolve.exports@2.0.3: {} - - resolve@1.22.10: - dependencies: - is-core-module: 2.16.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - - restore-cursor@3.1.0: - dependencies: - onetime: 5.1.2 - signal-exit: 3.0.7 - - reusify@1.0.4: {} - - rollup@4.29.1: - dependencies: - '@types/estree': 1.0.6 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.29.1 - '@rollup/rollup-android-arm64': 4.29.1 - '@rollup/rollup-darwin-arm64': 4.29.1 - '@rollup/rollup-darwin-x64': 4.29.1 - '@rollup/rollup-freebsd-arm64': 4.29.1 - '@rollup/rollup-freebsd-x64': 4.29.1 - '@rollup/rollup-linux-arm-gnueabihf': 4.29.1 - '@rollup/rollup-linux-arm-musleabihf': 4.29.1 - '@rollup/rollup-linux-arm64-gnu': 4.29.1 - '@rollup/rollup-linux-arm64-musl': 4.29.1 - '@rollup/rollup-linux-loongarch64-gnu': 4.29.1 - '@rollup/rollup-linux-powerpc64le-gnu': 4.29.1 - '@rollup/rollup-linux-riscv64-gnu': 4.29.1 - '@rollup/rollup-linux-s390x-gnu': 4.29.1 - '@rollup/rollup-linux-x64-gnu': 4.29.1 - '@rollup/rollup-linux-x64-musl': 4.29.1 - '@rollup/rollup-win32-arm64-msvc': 4.29.1 - '@rollup/rollup-win32-ia32-msvc': 4.29.1 - '@rollup/rollup-win32-x64-msvc': 4.29.1 - fsevents: 2.3.3 - - run-async@2.4.1: {} - - run-parallel@1.2.0: - dependencies: - queue-microtask: 1.2.3 - - rxjs@7.8.1: - dependencies: - tslib: 2.8.1 - - safe-buffer@5.1.2: {} - - safe-buffer@5.2.1: {} - - safer-buffer@2.1.2: {} - - semantic-release@24.2.0(typescript@5.7.2): - dependencies: - '@semantic-release/commit-analyzer': 13.0.0(semantic-release@24.2.0(typescript@5.7.2)) - '@semantic-release/error': 4.0.0 - '@semantic-release/github': 11.0.1(semantic-release@24.2.0(typescript@5.7.2)) - '@semantic-release/npm': 12.0.1(semantic-release@24.2.0(typescript@5.7.2)) - '@semantic-release/release-notes-generator': 14.0.2(semantic-release@24.2.0(typescript@5.7.2)) - aggregate-error: 5.0.0 - cosmiconfig: 9.0.0(typescript@5.7.2) - debug: 4.4.0 - env-ci: 11.1.0 - execa: 9.5.2 - figures: 6.1.0 - find-versions: 6.0.0 - get-stream: 6.0.1 - git-log-parser: 1.2.1 - hook-std: 3.0.0 - hosted-git-info: 8.0.2 - import-from-esm: 1.3.4 - lodash-es: 4.17.21 - marked: 12.0.2 - marked-terminal: 7.2.1(marked@12.0.2) - micromatch: 4.0.8 - p-each-series: 3.0.0 - p-reduce: 3.0.0 - read-package-up: 11.0.0 - resolve-from: 5.0.0 - semver: 7.6.3 - semver-diff: 4.0.0 - signale: 1.4.0 - yargs: 17.7.2 - transitivePeerDependencies: - - supports-color - - typescript - - semver-diff@4.0.0: - dependencies: - semver: 7.6.3 - - semver-regex@4.0.5: {} - - semver@5.7.2: {} - - semver@6.3.1: {} - - semver@7.6.3: {} - - serialize-javascript@6.0.2: - dependencies: - randombytes: 2.1.0 - - shebang-command@2.0.0: - dependencies: - shebang-regex: 3.0.0 - - shebang-regex@3.0.0: {} - - signal-exit@3.0.7: {} - - signal-exit@4.1.0: {} - - signale@1.4.0: - dependencies: - chalk: 2.4.2 - figures: 2.0.0 - pkg-conf: 2.1.0 - - sisteransi@1.0.5: {} - - skin-tone@2.0.0: - dependencies: - unicode-emoji-modifier-base: 1.0.0 - - slash@2.0.0: {} - - slash@3.0.0: {} - - slash@5.1.0: {} - - smob@1.5.0: {} - - source-map-support@0.5.13: - dependencies: - buffer-from: 1.1.2 - source-map: 0.6.1 - - source-map-support@0.5.21: - dependencies: - buffer-from: 1.1.2 - source-map: 0.6.1 - - source-map@0.6.1: {} - - source-map@0.8.0-beta.0: - dependencies: - whatwg-url: 7.1.0 - - spawn-error-forwarder@1.0.0: {} - - spdx-correct@3.2.0: - dependencies: - spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.20 - - spdx-exceptions@2.5.0: {} - - spdx-expression-parse@3.0.1: - dependencies: - spdx-exceptions: 2.5.0 - spdx-license-ids: 3.0.20 - - spdx-license-ids@3.0.20: {} - - split2@1.0.0: - dependencies: - through2: 2.0.5 - - sprintf-js@1.0.3: {} - - stack-utils@2.0.6: - dependencies: - escape-string-regexp: 2.0.0 - - stream-combiner2@1.1.1: - dependencies: - duplexer2: 0.1.4 - readable-stream: 2.3.8 - - string-length@4.0.2: - dependencies: - char-regex: 1.0.2 - strip-ansi: 6.0.1 - - string-width@4.2.3: - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 - - string-width@5.1.2: - dependencies: - eastasianwidth: 0.2.0 - emoji-regex: 9.2.2 - strip-ansi: 7.1.0 - - string_decoder@1.1.1: - dependencies: - safe-buffer: 5.1.2 - - string_decoder@1.3.0: - dependencies: - safe-buffer: 5.2.1 - - strip-ansi@6.0.1: - dependencies: - ansi-regex: 5.0.1 - - strip-ansi@7.1.0: - dependencies: - ansi-regex: 6.1.0 - - strip-bom@3.0.0: {} - - strip-bom@4.0.0: {} - - strip-final-newline@2.0.0: {} - - strip-final-newline@3.0.0: {} - - strip-final-newline@4.0.0: {} - - strip-json-comments@2.0.1: {} - - strip-json-comments@3.1.1: {} - - strnum@1.0.5: {} - - sucrase@3.35.0: - dependencies: - '@jridgewell/gen-mapping': 0.3.8 - commander: 4.1.1 - glob: 10.4.5 - lines-and-columns: 1.2.4 - mz: 2.7.0 - pirates: 4.0.6 - ts-interface-checker: 0.1.13 - - super-regex@1.0.0: - dependencies: - function-timeout: 1.0.2 - time-span: 5.1.0 - - supports-color@5.5.0: - dependencies: - has-flag: 3.0.0 - - supports-color@7.2.0: - dependencies: - has-flag: 4.0.0 - - supports-color@8.1.1: - dependencies: - has-flag: 4.0.0 - - supports-hyperlinks@3.1.0: - dependencies: - has-flag: 4.0.0 - supports-color: 7.2.0 - - supports-preserve-symlinks-flag@1.0.0: {} - - temp-dir@3.0.0: {} - - tempy@3.1.0: - dependencies: - is-stream: 3.0.0 - temp-dir: 3.0.0 - type-fest: 2.19.0 - unique-string: 3.0.0 - - terser@5.37.0: - dependencies: - '@jridgewell/source-map': 0.3.6 - acorn: 8.14.0 - commander: 2.20.3 - source-map-support: 0.5.21 - - test-exclude@6.0.0: - dependencies: - '@istanbuljs/schema': 0.1.3 - glob: 7.2.3 - minimatch: 3.1.2 - - thenify-all@1.6.0: - dependencies: - thenify: 3.3.1 - - thenify@3.3.1: - dependencies: - any-promise: 1.3.0 - - through2@2.0.5: - dependencies: - readable-stream: 2.3.8 - xtend: 4.0.2 - - through@2.3.8: {} - - time-span@5.1.0: - dependencies: - convert-hrtime: 5.0.0 - - tinyexec@0.3.2: {} - - tinyglobby@0.2.10: - dependencies: - fdir: 6.4.2(picomatch@4.0.2) - picomatch: 4.0.2 - - tmp@0.0.33: - dependencies: - os-tmpdir: 1.0.2 - - tmpl@1.0.5: {} - - to-regex-range@5.0.1: - dependencies: - is-number: 7.0.0 - - tr46@1.0.1: - dependencies: - punycode: 2.3.1 - - traverse@0.6.8: {} - - tree-kill@1.2.2: {} - - ts-api-utils@1.4.3(typescript@5.7.2): - dependencies: - typescript: 5.7.2 - - ts-interface-checker@0.1.13: {} - - tslib@2.8.1: {} - - tsup@8.3.5(@swc/core@1.10.4)(jiti@2.4.2)(typescript@5.7.2): - dependencies: - bundle-require: 5.1.0(esbuild@0.24.2) - cac: 6.7.14 - chokidar: 4.0.3 - consola: 3.3.3 - debug: 4.4.0 - esbuild: 0.24.2 - joycon: 3.1.1 - picocolors: 1.1.1 - postcss-load-config: 6.0.1(jiti@2.4.2) - resolve-from: 5.0.0 - rollup: 4.29.1 - source-map: 0.8.0-beta.0 - sucrase: 3.35.0 - tinyexec: 0.3.2 - tinyglobby: 0.2.10 - tree-kill: 1.2.2 - optionalDependencies: - '@swc/core': 1.10.4 - typescript: 5.7.2 - transitivePeerDependencies: - - jiti - - supports-color - - tsx - - yaml - - type-check@0.4.0: - dependencies: - prelude-ls: 1.2.1 - - type-detect@4.0.8: {} - - type-fest@0.21.3: {} - - type-fest@1.4.0: {} - - type-fest@2.19.0: {} - - type-fest@4.31.0: {} - - typescript-eslint@8.19.0(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2): - dependencies: - '@typescript-eslint/eslint-plugin': 8.19.0(@typescript-eslint/parser@8.19.0(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2))(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2) - '@typescript-eslint/parser': 8.19.0(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2) - '@typescript-eslint/utils': 8.19.0(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2) - eslint: 9.17.0(jiti@2.4.2) - typescript: 5.7.2 - transitivePeerDependencies: - - supports-color - - typescript@5.7.2: {} - - uglify-js@3.19.3: - optional: true - - undici-types@6.20.0: {} - - unicode-canonical-property-names-ecmascript@2.0.1: {} - - unicode-emoji-modifier-base@1.0.0: {} - - unicode-match-property-ecmascript@2.0.0: - dependencies: - unicode-canonical-property-names-ecmascript: 2.0.1 - unicode-property-aliases-ecmascript: 2.1.0 - - unicode-match-property-value-ecmascript@2.2.0: {} - - unicode-property-aliases-ecmascript@2.1.0: {} - - unicorn-magic@0.1.0: {} - - unicorn-magic@0.3.0: {} - - unique-string@3.0.0: - dependencies: - crypto-random-string: 4.0.0 - - universal-user-agent@7.0.2: {} - - universalify@2.0.1: {} - - update-browserslist-db@1.1.1(browserslist@4.24.3): - dependencies: - browserslist: 4.24.3 - escalade: 3.2.0 - picocolors: 1.1.1 - - uri-js@4.4.1: - dependencies: - punycode: 2.3.1 - - url-join@5.0.0: {} - - util-deprecate@1.0.2: {} - - uuid@9.0.1: {} - - v8-to-istanbul@9.3.0: - dependencies: - '@jridgewell/trace-mapping': 0.3.25 - '@types/istanbul-lib-coverage': 2.0.6 - convert-source-map: 2.0.0 - - validate-npm-package-license@3.0.4: - dependencies: - spdx-correct: 3.2.0 - spdx-expression-parse: 3.0.1 - - walker@1.0.8: - dependencies: - makeerror: 1.0.12 - - wcwidth@1.0.1: - dependencies: - defaults: 1.0.4 - - webidl-conversions@4.0.2: {} - - whatwg-url@7.1.0: - dependencies: - lodash.sortby: 4.7.0 - tr46: 1.0.1 - webidl-conversions: 4.0.2 - - which@1.3.1: - dependencies: - isexe: 2.0.0 - - which@2.0.2: - dependencies: - isexe: 2.0.0 - - word-wrap@1.2.5: {} - - wordwrap@1.0.0: {} - - wrap-ansi@7.0.0: - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - - wrap-ansi@8.1.0: - dependencies: - ansi-styles: 6.2.1 - string-width: 5.1.2 - strip-ansi: 7.1.0 - - wrappy@1.0.2: {} - - write-file-atomic@4.0.2: - dependencies: - imurmurhash: 0.1.4 - signal-exit: 3.0.7 - - xtend@4.0.2: {} - - y18n@5.0.8: {} - - yallist@3.1.1: {} - - yargs-parser@20.2.9: {} - - yargs-parser@21.1.1: {} - - yargs@16.2.0: - dependencies: - cliui: 7.0.4 - escalade: 3.2.0 - 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 - - yargs@17.7.2: - dependencies: - cliui: 8.0.1 - escalade: 3.2.0 - 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 - - yocto-queue@0.1.0: {} - - yoctocolors@2.1.1: {} diff --git a/rollup.config.js b/rollup.config.js index 7dfbfe1..b64e889 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -1,39 +1,49 @@ import { nodeResolve } from '@rollup/plugin-node-resolve' import commonjs from '@rollup/plugin-commonjs' -import babel from '@rollup/plugin-babel' +import { babel } from '@rollup/plugin-babel' import terser from '@rollup/plugin-terser' -import json from '@rollup/plugin-json' +import typescript from "@rollup/plugin-typescript"; -const babelPresetsStandart = [ - ['@babel/env', { +const extensions = ['.js', '.ts'] + +const babelPresetsBrowser = [ + '@babel/preset-typescript', + ['@babel/preset-env', { useBuiltIns: false, - debug: false + debug: true }] ] -const babelPresetsIife = [ - ['@babel/env', { - useBuiltIns: 'usage', - corejs: {version: 3, proposals: true}, - debug: false +const babelPresetsNode = [ + '@babel/preset-typescript', + ['@babel/preset-env', { + targets: { + node: '14' + }, + useBuiltIns: false, + debug: true }] ] const babelPlugins = [ ['@babel/plugin-transform-runtime', { - corejs: {version: 3, proposals: true}, + corejs: { + version: 3, + proposals: true + }, helpers: true, - regenerator: true, - absoluteRuntime: false + absoluteRuntime: false, + useESModules: true, + version: "^7.26.0" }] ] export default [ { - input: 'build/entrypoints/browser.js', + input: 'src/entrypoints/browser.ts', output: [ { format: 'iife', name: 'MimeText', - file: 'build/bundles/mimetext.iife.js', + file: 'dist/mimetext.iife.js', sourcemap: true, globals: { MimeText: 'MimeText' @@ -41,26 +51,89 @@ export default [ } ], plugins: [ - json(), - nodeResolve({preferBuiltins: false}), - commonjs({sourceMap: true}), + typescript({ noForceEmit: true }), + nodeResolve({ preferBuiltins: false, browser: true, extensions }), + commonjs({ sourceMap: true }), + babel({ + extensions, + //include: ['src/**/*.ts'], + //exclude: ['node_modules/**'], + exclude: [/core-js/], + babelHelpers: 'runtime', + babelrc: false, + presets: babelPresetsBrowser, + plugins: babelPlugins + }), + terser({sourceMap: true}) + ] + }, + { + input: 'src/entrypoints/browser.ts', + external: [/@babel\/runtime/, /js-base64/], + output: [ + { + format: 'es', + file: 'dist/mimetext.browser.es.js', + sourcemap: true + }, + { + format: 'cjs', + file: 'dist/mimetext.browser.cjs.js', + sourcemap: true + } + ], + plugins: [ + typescript({ noForceEmit: true }), + nodeResolve({ preferBuiltins: false, browser: true, extensions }), + commonjs({ sourceMap: true }), + babel({ + extensions, + include: ['src/**/*.ts'], + babelHelpers: 'runtime', + babelrc: false, + presets: babelPresetsBrowser, + plugins: babelPlugins + }), + terser({sourceMap: true}) + ] + }, + { + input: 'src/entrypoints/node.ts', + external: [/@babel\/runtime/, 'mime-types'], + output: [ + { + format: 'es', + file: 'dist/mimetext.node.es.js', + sourcemap: true + }, + { + format: 'cjs', + file: 'dist/mimetext.node.cjs.js', + sourcemap: true + } + ], + plugins: [ + typescript({ noForceEmit: true }), + nodeResolve({ preferBuiltins: true, browser: false, extensions }), + commonjs({ sourceMap: true }), babel({ + extensions, + include: ['src/**/*.ts'], babelHelpers: 'runtime', babelrc: false, - exclude: ['node_modules/**'], - presets: babelPresetsIife, + presets: babelPresetsNode, plugins: babelPlugins }), terser({sourceMap: true}) ] }, { - input: 'build/entrypoints/gas.js', + input: 'src/entrypoints/gas.ts', output: [ { format: 'iife', name: 'MimeText', - file: 'build/bundles/mimetext.gas.js', + file: 'dist/mimetext.gas.iife.js', sourcemap: true, globals: { MimeText: 'MimeText' @@ -68,14 +141,17 @@ export default [ } ], plugins: [ - json(), - nodeResolve({preferBuiltins: false}), - commonjs({sourceMap: true}), + typescript({ noForceEmit: true }), + nodeResolve({ preferBuiltins: false, browser: false, extensions }), + commonjs({ sourceMap: true }), babel({ + extensions, + //include: ['src/**/*.ts'], + //exclude: ['node_modules/**'], + exclude: [/core-js/], babelHelpers: 'runtime', babelrc: false, - exclude: ['node_modules/**'], - presets: babelPresetsIife, + presets: babelPresetsNode, plugins: babelPlugins }), terser({sourceMap: true}) diff --git a/tsconfig.json b/tsconfig.json index a1460dc..b898876 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -18,6 +18,7 @@ "checkJs": true, "allowSyntheticDefaultImports": true, "declaration": true, + "declarationDir": "dist", "target": "ESNext", "module": "ESNext", "moduleResolution": "Bundler", diff --git a/tsup.config.js b/tsup.config.js deleted file mode 100644 index d6526f2..0000000 --- a/tsup.config.js +++ /dev/null @@ -1,15 +0,0 @@ -import {defineConfig} from 'tsup' - -export default defineConfig(() => ({ - sourcemap: true, - clean: true, - dts: true, - format: ['cjs', 'esm', 'iife'], - globalName: 'MimeText', - minify: true, - bundle: true, - target: 'es2020', - treeshake: true, - shims: true, - entry: ['src/entrypoints/browser.ts', 'src/entrypoints/gas.ts', 'src/entrypoints/node.ts'] -}))