diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..b673675 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,16 @@ +name: test +on: + push: + +jobs: + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: 'lts/*' + + - run: npm ci + - run: npm run build + - run: npm run test diff --git a/.gitignore b/.gitignore index 522ba70..10a9a48 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,3 @@ coverage -dist node_modules -package-lock.json yarn.lock diff --git a/.npmrc b/.npmrc index c22c7de..9555e17 100644 --- a/.npmrc +++ b/.npmrc @@ -1,2 +1 @@ -package-lock=false tag-version-prefix="" diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index ac31544..0000000 --- a/.travis.yml +++ /dev/null @@ -1,15 +0,0 @@ -# https://docs.travis-ci.com/user/travis-lint - -language: node_js - -env: - - CODECOV_TOKEN="f6419e1e-62fa-4bad-838a-285c9abb2b43" - -node_js: - - 12 - -script: - - npm test - -after_success: - - npx codecov diff --git a/dist/tokenize.cjs b/dist/tokenize.cjs new file mode 100644 index 0000000..dace48c --- /dev/null +++ b/dist/tokenize.cjs @@ -0,0 +1,531 @@ +'use strict'; + +/** + * Unicode Character Codes (0x0000 - 0x0080) + * @see https://www.unicode.org/Public/UCD/latest/ucd/NamesList.txt + * @see https://unicode.org/charts/nameslist/n_0000.html + */ /** */ +/** ␉ */ +const CHARACTER_TABULATION = 0x0009; +/** ␊ */ +const LINE_FEED = 0x000A; +/** ␌ */ +const FORM_FEED = 0x000C; +/** ␍ */ +const CARRIAGE_RETURN = 0x000D; + +/** + * ASCII punctuation and symbols + * ===================================================================== */ /***/ + +/** ␠ */ +const SPACE$1 = 0x0020; +/** " */ +const QUOTATION_MARK = 0x0022; +/** # */ +const NUMBER_SIGN = 0x0023; +/** % */ +const PERCENT_SIGN = 0x0025; +/** ' */ +const APOSTROPHE = 0x0027; +/** ( */ +const LEFT_PARENTHESIS = 0x0028; +/** * */ +const ASTERISK = 0x002A; +/** + */ +const PLUS_SIGN = 0x002B; +/** - */ +const HYPHEN_MINUS = 0x002D; +/** . */ +const FULL_STOP = 0x002E; +/** / */ +const SOLIDUS = 0x002F; + +/* + * ASCII digits + * ========================================================================== */ + +/** 0 */ +const DIGIT_ZERO = 0x0030; +/** 9 */ +const DIGIT_NINE = 0x0039; +/** @ */ +const COMMERCIAL_AT = 0x0040; + +/** + * Uppercase Latin alphabet + * ===================================================================== */ /***/ + +/** A */ +const LATIN_CAPITAL_LETTER_A = 0x0041; +/** E */ +const LATIN_CAPITAL_LETTER_E = 0x0045; +/** Z */ +const LATIN_CAPITAL_LETTER_Z = 0x005A; +/** \ */ +const REVERSE_SOLIDUS = 0x005C; +/** _ */ +const LOW_LINE = 0x005F; + +/* + * Lowercase Latin alphabet + * ========================================================================== */ + +/** a */ +const LATIN_SMALL_LETTER_A = 0x0061; +/** e */ +const LATIN_SMALL_LETTER_E = 0x0065; +/** z */ +const LATIN_SMALL_LETTER_Z = 0x007A; + +/** + * Non-ASCII + * ===================================================================== */ /***/ + +/** � */ +const NON_ASCII = 0x0080; + +/** Returns whether the unicode value is a digit. [↗](https://drafts.csswg.org/css-syntax/#digit) */ +const digit = code => code >= DIGIT_ZERO && code <= DIGIT_NINE; + +/** Returns whether the unicode value is an identifier. [↗](https://drafts.csswg.org/css-syntax/#identifier-code-point) */ +const identifier = code => identifierStart(code) || code >= DIGIT_ZERO && code <= DIGIT_NINE || code === HYPHEN_MINUS; + +/** Returns whether the unicode value is an identifier-start. [↗](https://drafts.csswg.org/css-syntax/#identifier-start-code-point) */ +const identifierStart = code => code === LOW_LINE || code >= NON_ASCII || code >= LATIN_CAPITAL_LETTER_A && code <= LATIN_CAPITAL_LETTER_Z || code >= LATIN_SMALL_LETTER_A && code <= LATIN_SMALL_LETTER_Z; + +/** Returns whether the unicode value is a space. [↗](https://drafts.csswg.org/css-syntax/#whitespace) */ +const space = code => code === CHARACTER_TABULATION || code === LINE_FEED || code === FORM_FEED || code === CARRIAGE_RETURN || code === SPACE$1; + +/** Returns whether the unicode values are a valid escape. [↗](https://drafts.csswg.org/css-syntax/#starts-with-a-valid-escape) */ +const validEscape = (code1of2, code2of2) => code1of2 === REVERSE_SOLIDUS && !space(code2of2); + +/** [``](https://drafts.csswg.org/css-syntax/#typedef-delim-token) */ +const SYMBOL = 0x0001; + +/** [``](https://drafts.csswg.org/css-syntax/#comment-diagram) */ +const COMMENT = 0x0002; + +/** [``](https://drafts.csswg.org/css-syntax/#whitespace-token-diagram) */ +const SPACE = 0x0003; + +/** [``](https://drafts.csswg.org/css-syntax/#ident-token-diagram) */ +const WORD = 0x0004; + +/** [``](https://drafts.csswg.org/css-syntax/#function-token-diagram) */ +const FUNCTION = 0x0005; + +/** [``](https://drafts.csswg.org/css-syntax/#at-keyword-token-diagram) */ +const ATWORD = 0x0006; + +/** [``](https://drafts.csswg.org/css-syntax/#hash-token-diagram) */ +const HASH = 0x0007; + +/** [``](https://drafts.csswg.org/css-syntax/#string-token-diagram) */ +const STRING = 0x0008; + +/** [``](https://drafts.csswg.org/css-syntax/#consume-numeric-token) */ +const NUMBER = 0x0009; + +const { + fromCharCode +} = String; + +/** Consumes and returns a token. [↗](https://drafts.csswg.org/css-syntax/#consume-token) */ +const consume = state => { + switch (true) { + /* + /* https://drafts.csswg.org/css-syntax/#consume-comment */ + case state.codeAt0 === SOLIDUS: + if (state.codeAt1 === ASTERISK) return consumeCommentToken(state); + break; + /* + /* https://drafts.csswg.org/css-syntax/#whitespace-token-diagram */ + case space(state.codeAt0): + return consumeSpaceToken(state); + /* + /* https://drafts.csswg.org/css-syntax/#string-token-diagram */ + case state.codeAt0 === QUOTATION_MARK: + case state.codeAt0 === APOSTROPHE: + // "" || '' + return consumeStringToken(state); + /* + /* https://drafts.csswg.org/css-syntax/#hash-token-diagram */ + case state.codeAt0 === NUMBER_SIGN: + // #W + if (identifier(state.codeAt1)) return { + tick: state.tick, + type: HASH, + code: -1, + lead: consumeAnyValue(state), + data: consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }; + // #\: + if (validEscape(state.codeAt1, state.codeAt2)) return { + tick: state.tick, + type: HASH, + code: -1, + lead: consumeAnyValue(state), + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }; + break; + /* */ + /* https://drafts.csswg.org/css-syntax/#ident-token-diagram */ + case state.codeAt0 === REVERSE_SOLIDUS: + if (validEscape(state.codeAt0, state.codeAt1)) return consumeIdentifierLikeToken(state, { + tick: state.tick, + type: WORD, + code: -1, + lead: '', + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }); + break; + case identifierStart(state.codeAt0): + // W + return consumeIdentifierLikeToken(state, { + tick: state.tick, + type: WORD, + code: -1, + lead: '', + data: consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }); + case state.codeAt0 === HYPHEN_MINUS: + // -W + if (state.codeAt1 === HYPHEN_MINUS || identifierStart(state.codeAt1)) return consumeIdentifierLikeToken(state, { + tick: state.tick, + type: WORD, + code: -1, + lead: '', + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }); + // -\: + if (validEscape(state.codeAt1, state.codeAt2)) return consumeIdentifierLikeToken(state, { + tick: state.tick, + type: WORD, + code: -1, + lead: '', + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }); + /* */ + /* https://drafts.csswg.org/css-syntax/#number-token-diagram */ + // -8 + if (digit(state.codeAt1)) return { + tick: state.tick, + type: NUMBER, + code: -1, + lead: '', + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansAdditiveValue(state), + tail: consumeNumericUnitValue(state) + }; + // -.8 + if (state.codeAt1 === FULL_STOP && digit(state.codeAt2)) return { + tick: state.tick, + type: NUMBER, + code: -1, + lead: '', + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state), + tail: consumeNumericUnitValue(state) + }; + case state.codeAt0 === FULL_STOP: + // .8 + if (digit(state.codeAt1)) return { + tick: state.tick, + type: NUMBER, + code: -1, + lead: '', + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state), + tail: consumeNumericUnitValue(state) + }; + break; + case state.codeAt0 === PLUS_SIGN: + // +8 + if (digit(state.codeAt1)) return { + tick: state.tick, + type: NUMBER, + code: -1, + lead: '', + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansAdditiveValue(state), + tail: consumeNumericUnitValue(state) + }; + // +.8 + if (state.codeAt1 === FULL_STOP && digit(state.codeAt2)) return { + tick: state.tick, + type: NUMBER, + code: -1, + lead: '', + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state), + tail: consumeNumericUnitValue(state) + }; + break; + case digit(state.codeAt0): + // 8 + return { + tick: state.tick, + type: NUMBER, + code: -1, + lead: '', + data: consumeAnyValue(state) + consumeNumberSansAdditiveValue(state), + tail: consumeNumericUnitValue(state) + }; + /* */ + /* https://drafts.csswg.org/css-syntax/#at-keyword-token-diagram */ + case state.codeAt0 === COMMERCIAL_AT: + if (state.codeAt1 === HYPHEN_MINUS) { + // @-- + if (state.codeAt2 === HYPHEN_MINUS) return { + tick: state.tick, + type: ATWORD, + code: -1, + lead: consumeAnyValue(state), + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }; + // @-W + if (identifierStart(state.codeAt2)) return { + tick: state.tick, + type: ATWORD, + code: -1, + lead: consumeAnyValue(state), + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }; + // @-\: + if (validEscape(state.codeAt2, state.codeAt3)) return { + tick: state.tick, + type: ATWORD, + code: -1, + lead: consumeAnyValue(state), + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }; + } + // @W + if (identifierStart(state.codeAt1)) return { + tick: state.tick, + type: ATWORD, + code: -1, + lead: consumeAnyValue(state), + data: consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }; + // @\: + if (validEscape(state.codeAt1, state.codeAt2)) return { + tick: state.tick, + type: ATWORD, + code: -1, + lead: consumeAnyValue(state), + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }; + break; + } + /* */ + /* https://drafts.csswg.org/css-syntax/#typedef-delim-token */ + return { + tick: state.tick, + type: SYMBOL, + code: state.codeAt0, + lead: '', + data: consumeAnyValue(state), + tail: '' + }; +}; + +/** Consume and return a value. [↗](https://drafts.csswg.org/css-syntax/#consume-token) */ +const consumeAnyValue = state => { + const result = fromCharCode(state.codeAt0); + state.next(); + return result; +}; + +/** Consume and return an identifier value. [↗](https://drafts.csswg.org/css-syntax/#consume-an-identifier) */ +const consumeIdentifierValue = state => { + let result = ''; + while (true) { + switch (true) { + case validEscape(state.codeAt0, state.codeAt1): + result += fromCharCode(state.codeAt0); + state.next(); + case identifier(state.codeAt0): + result += fromCharCode(state.codeAt0); + state.next(); + continue; + } + break; + } + return result; +}; + +/** Consume and return an identifier or function token. [↗](https://drafts.csswg.org/css-syntax/#consume-an-identifier) */ +const consumeIdentifierLikeToken = (state, token) => { + if (state.codeAt0 === LEFT_PARENTHESIS) { + token.code = 40; + token.type = FUNCTION; + token.lead = token.data; + token.data = '('; + state.next(); + } + return token; +}; + +/** Consume and return a comment token. [↗](https://drafts.csswg.org/css-syntax/#consume-comment) */ +const consumeCommentToken = state => { + const token = { + tick: state.tick, + type: COMMENT, + code: -1, + lead: '/*', + data: '', + tail: '' + }; + state.next(); + state.next(); + while (state.tick < state.size) { + // @ts-ignore + if (state.codeAt0 === ASTERISK && state.codeAt1 === SOLIDUS) { + token.tail = '*/'; + state.next(); + state.next(); + break; + } + token.data += consumeAnyValue(state); + } + return token; +}; + +/** Consumes and returns a space token. [↗](https://drafts.csswg.org/css-syntax/#whitespace-token-diagram) */ +const consumeSpaceToken = state => { + const token = { + tick: state.tick, + type: SPACE, + code: -1, + lead: '', + data: consumeAnyValue(state), + tail: '' + }; + while (state.tick < state.size) { + if (!space(state.codeAt0)) break; + token.data += consumeAnyValue(state); + } + return token; +}; + +/** Consumes and returns a string token. [↗](https://drafts.csswg.org/css-syntax/#string-token-diagram) */ +const consumeStringToken = state => { + const { + codeAt0 + } = state; + const token = { + tick: state.tick, + type: STRING, + code: -1, + lead: '', + data: consumeAnyValue(state), + tail: '' + }; + while (state.tick < state.size) { + switch (true) { + case validEscape(state.codeAt0, state.codeAt1): + token.data += consumeAnyValue(state); + default: + token.data += consumeAnyValue(state); + continue; + case state.codeAt0 === codeAt0: + token.tail = consumeAnyValue(state); + } + break; + } + return token; +}; + +/** Consumes and returns a number value after an additive symbol. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */ +const consumeNumberSansAdditiveValue = state => { + let result = ''; + result += consumeDigitValue(state); + if (state.codeAt0 === FULL_STOP && digit(state.codeAt1)) result += consumeAnyValue(state) + consumeAnyValue(state) + consumeDigitValue(state); + return result + consumeNumberSansDecimalValue(state); +}; + +/** Consumes and returns a number value after a decimal place. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */ +const consumeNumberSansDecimalValue = state => { + let result = ''; + result += consumeDigitValue(state); + if (state.codeAt0 === LATIN_CAPITAL_LETTER_E || state.codeAt0 === LATIN_SMALL_LETTER_E) { + switch (true) { + case state.codeAt1 === PLUS_SIGN || state.codeAt1 === HYPHEN_MINUS: + if (!digit(state.codeAt2)) break; + result += consumeAnyValue(state); + case digit(state.codeAt1): + result += consumeAnyValue(state) + consumeAnyValue(state) + consumeDigitValue(state); + } + } + return result; +}; + +/** Consumes and returns a digit value. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */ +const consumeDigitValue = state => { + let result = ''; + while (state.tick < state.size) { + if (!digit(state.codeAt0)) break; + result += consumeAnyValue(state); + } + return result; +}; + +/** Consumes and returns a numeric unit value. [↗](https://drafts.csswg.org/css-syntax/#consume-numeric-token) */ +const consumeNumericUnitValue = state => state.codeAt0 === HYPHEN_MINUS ? state.codeAt1 === HYPHEN_MINUS ? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state) : identifierStart(state.codeAt1) ? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state) : validEscape(state.codeAt1, state.codeAt2) ? consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state) : '' : state.codeAt0 === PERCENT_SIGN ? consumeAnyValue(state) : identifierStart(state.codeAt0) ? consumeAnyValue(state) + consumeIdentifierValue(state) : validEscape(state.codeAt0, state.codeAt1) ? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state) : ''; + +/** Returns a CSS iterator to yield tokens from the given CSS data. */ +const tokenize = data => { + let size = data.length; + let tick = 0; + + /** Condition of the current tokenizer. */ + let state = { + data, + size, + tick, + codeAt0: tick + 0 < size ? data.charCodeAt(tick + 0) : -1, + codeAt1: tick + 1 < size ? data.charCodeAt(tick + 1) : -1, + codeAt2: tick + 2 < size ? data.charCodeAt(tick + 2) : -1, + codeAt3: tick + 3 < size ? data.charCodeAt(tick + 3) : -1, + /** Advances the unicode characters being read from the CSS data by one position. */ + next() { + state.tick = ++tick; + state.codeAt0 = state.codeAt1; + state.codeAt1 = state.codeAt2; + state.codeAt2 = state.codeAt3; + state.codeAt3 = tick + 3 < size ? data.charCodeAt(tick + 3) : -1; + return tick >= size; + } + }; + + /** Returns the most recent state and token yielded from the CSS iterator. */ + const iterator = () => state.tick >= state.size ? { + done: true, + value: { + tick: state.tick, + type: 0, + code: -2, + lead: '', + data: '', + tail: '' + } + } : { + done: false, + value: consume(state) + }; + iterator[Symbol.iterator] = () => ({ + next: iterator + }); + return iterator; +}; + +exports.tokenize = tokenize; +//# sourceMappingURL=tokenize.cjs.map diff --git a/dist/tokenize.cjs.map b/dist/tokenize.cjs.map new file mode 100644 index 0000000..0745ead --- /dev/null +++ b/dist/tokenize.cjs.map @@ -0,0 +1 @@ +{"version":3,"file":"tokenize.cjs","sources":["../src/lib/code-points.ts","../src/lib/is.ts","../src/lib/token-types.ts","../src/lib/consume.ts","../src/tokenize.ts"],"sourcesContent":["/**\n * Unicode Character Codes (0x0000 - 0x0080)\n * @see https://www.unicode.org/Public/UCD/latest/ucd/NamesList.txt\n * @see https://unicode.org/charts/nameslist/n_0000.html\n *//** */\n\n/**\n * C0 controls\n * ===================================================================== *//***/\n\n/** ␀ */ export const NULL = 0x0000\n/** ␁ */ export const START_OF_HEADING = 0x0001\n/** ␂ */ export const START_OF_TEXT = 0x0002\n/** ␃ */ export const END_OF_TEXT = 0x0003\n/** ␄ */ export const END_OF_TRANSMISSION = 0x0004\n/** ␅ */ export const ENQUIRY = 0x0005\n/** ␆ */ export const ACKNOWLEDGE = 0x0006\n/** ␇ */ export const BELL = 0x0007\n/** ␈ */ export const BACKSPACE = 0x0008\n/** ␉ */ export const CHARACTER_TABULATION = 0x0009\n/** ␊ */ export const LINE_FEED = 0x000A\n/** ␋ */ export const LINE_TABULATION = 0x000B\n/** ␌ */ export const FORM_FEED = 0x000C\n/** ␍ */ export const CARRIAGE_RETURN = 0x000D\n/** ␎ */ export const SHIFT_OUT = 0x000E\n/** ␏ */ export const SHIFT_IN = 0x000F\n/** ␐ */ export const DATA_LINK_ESCAPE = 0x0010\n/** ␑ */ export const DEVICE_CONTROL_ONE = 0x0011\n/** ␒ */ export const DEVICE_CONTROL_TWO = 0x0012\n/** ␓ */ export const DEVICE_CONTROL_THREE = 0x0013\n/** ␔ */ export const DEVICE_CONTROL_FOUR = 0x0014\n/** ␕ */ export const NEGATIVE_ACKNOWLEDGE = 0x0015\n/** ␖ */ export const SYNCHRONOUS_IDLE = 0x0016\n/** ␗ */ export const END_OF_TRANSMISSION_BLOCK = 0x0017\n/** ␘ */ export const CANCEL = 0x0018\n/** ␙ */ export const END_OF_MEDIUM = 0x0019\n/** ␚ */ export const SUBSTITUTE = 0x001A\n/** ␛ */ export const ESCAPE = 0x001B\n/** ␜ */ export const INFORMATION_SEPARATOR_FOUR = 0x001C\n/** ␝ */ export const INFORMATION_SEPARATOR_THREE = 0x001D\n/** ␞ */ export const INFORMATION_SEPARATOR_TWO = 0x001E\n/** ␟ */ export const INFORMATION_SEPARATOR_ONE = 0x001F\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** ␠ */ export const SPACE = 0x0020\n/** ! */ export const EXCLAMATION_MARK = 0x0021\n/** \" */ export const QUOTATION_MARK = 0x0022\n/** # */ export const NUMBER_SIGN = 0x0023\n/** $ */ export const DOLLAR_SIGN = 0x0024\n/** % */ export const PERCENT_SIGN = 0x0025\n/** & */ export const AMPERSAND = 0x0026\n/** ' */ export const APOSTROPHE = 0x0027\n/** ( */ export const LEFT_PARENTHESIS = 0x0028\n/** ) */ export const RIGHT_PARENTHESIS = 0x0029\n/** * */ export const ASTERISK = 0x002A\n/** + */ export const PLUS_SIGN = 0x002B\n/** , */ export const COMMA = 0x002C\n/** - */ export const HYPHEN_MINUS = 0x002D\n/** . */ export const FULL_STOP = 0x002E\n/** / */ export const SOLIDUS = 0x002F\n\n/*\n * ASCII digits\n * ========================================================================== */\n\n/** 0 */ export const DIGIT_ZERO = 0x0030\n/** 1 */ export const DIGIT_ONE = 0x0031\n/** 2 */ export const DIGIT_TWO = 0x0032\n/** 3 */ export const DIGIT_THREE = 0x0033\n/** 4 */ export const DIGIT_FOUR = 0x0034\n/** 5 */ export const DIGIT_FIVE = 0x0035\n/** 6 */ export const DIGIT_SIX = 0x0036\n/** 7 */ export const DIGIT_SEVEN = 0x0037\n/** 8 */ export const DIGIT_EIGHT = 0x0038\n/** 9 */ export const DIGIT_NINE = 0x0039\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** : */ export const COLON = 0x003A\n/** ; */ export const SEMICOLON = 0x003B\n/** < */ export const LESS_THAN_SIGN = 0x003C\n/** = */ export const EQUALS_SIGN = 0x003D\n/** > */ export const GREATER_THAN_SIGN = 0x003E\n/** ? */ export const QUESTION_MARK = 0x003F\n/** @ */ export const COMMERCIAL_AT = 0x0040\n\n/**\n * Uppercase Latin alphabet\n * ===================================================================== *//***/\n\n/** A */ export const LATIN_CAPITAL_LETTER_A = 0x0041\n/** B */ export const LATIN_CAPITAL_LETTER_B = 0x0042\n/** C */ export const LATIN_CAPITAL_LETTER_C = 0x0043\n/** D */ export const LATIN_CAPITAL_LETTER_D = 0x0044\n/** E */ export const LATIN_CAPITAL_LETTER_E = 0x0045\n/** F */ export const LATIN_CAPITAL_LETTER_F = 0x0046\n/** G */ export const LATIN_CAPITAL_LETTER_G = 0x0047\n/** H */ export const LATIN_CAPITAL_LETTER_H = 0x0048\n/** I */ export const LATIN_CAPITAL_LETTER_I = 0x0049\n/** J */ export const LATIN_CAPITAL_LETTER_J = 0x004A\n/** K */ export const LATIN_CAPITAL_LETTER_K = 0x004B\n/** L */ export const LATIN_CAPITAL_LETTER_L = 0x004C\n/** M */ export const LATIN_CAPITAL_LETTER_M = 0x004D\n/** N */ export const LATIN_CAPITAL_LETTER_N = 0x004E\n/** O */ export const LATIN_CAPITAL_LETTER_O = 0x004F\n/** P */ export const LATIN_CAPITAL_LETTER_P = 0x0050\n/** Q */ export const LATIN_CAPITAL_LETTER_Q = 0x0051\n/** R */ export const LATIN_CAPITAL_LETTER_R = 0x0052\n/** S */ export const LATIN_CAPITAL_LETTER_S = 0x0053\n/** T */ export const LATIN_CAPITAL_LETTER_T = 0x0054\n/** U */ export const LATIN_CAPITAL_LETTER_U = 0x0055\n/** V */ export const LATIN_CAPITAL_LETTER_V = 0x0056\n/** W */ export const LATIN_CAPITAL_LETTER_W = 0x0057\n/** X */ export const LATIN_CAPITAL_LETTER_X = 0x0058\n/** Y */ export const LATIN_CAPITAL_LETTER_Y = 0x0059\n/** Z */ export const LATIN_CAPITAL_LETTER_Z = 0x005A\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** [ */ export const LEFT_SQUARE_BRACKET = 0x005B\n/** \\ */ export const REVERSE_SOLIDUS = 0x005C\n/** ] */ export const RIGHT_SQUARE_BRACKET = 0x005D\n/** ^ */ export const CIRCUMFLEX_ACCENT = 0x005E\n/** _ */ export const LOW_LINE = 0x005F\n/** ` */ export const GRAVE_ACCENT = 0x0060\n\n/*\n * Lowercase Latin alphabet\n * ========================================================================== */\n\n/** a */ export const LATIN_SMALL_LETTER_A = 0x0061\n/** b */ export const LATIN_SMALL_LETTER_B = 0x0062\n/** c */ export const LATIN_SMALL_LETTER_C = 0x0063\n/** d */ export const LATIN_SMALL_LETTER_D = 0x0064\n/** e */ export const LATIN_SMALL_LETTER_E = 0x0065\n/** f */ export const LATIN_SMALL_LETTER_F = 0x0066\n/** g */ export const LATIN_SMALL_LETTER_G = 0x0067\n/** h */ export const LATIN_SMALL_LETTER_H = 0x0068\n/** i */ export const LATIN_SMALL_LETTER_I = 0x0069\n/** j */ export const LATIN_SMALL_LETTER_J = 0x006A\n/** k */ export const LATIN_SMALL_LETTER_K = 0x006B\n/** l */ export const LATIN_SMALL_LETTER_L = 0x006C\n/** m */ export const LATIN_SMALL_LETTER_M = 0x006D\n/** n */ export const LATIN_SMALL_LETTER_N = 0x006E\n/** o */ export const LATIN_SMALL_LETTER_O = 0x006F\n/** p */ export const LATIN_SMALL_LETTER_P = 0x0070\n/** q */ export const LATIN_SMALL_LETTER_Q = 0x0071\n/** r */ export const LATIN_SMALL_LETTER_R = 0x0072\n/** s */ export const LATIN_SMALL_LETTER_S = 0x0073\n/** t */ export const LATIN_SMALL_LETTER_T = 0x0074\n/** u */ export const LATIN_SMALL_LETTER_U = 0x0075\n/** v */ export const LATIN_SMALL_LETTER_V = 0x0076\n/** w */ export const LATIN_SMALL_LETTER_W = 0x0077\n/** x */ export const LATIN_SMALL_LETTER_X = 0x0078\n/** y */ export const LATIN_SMALL_LETTER_Y = 0x0079\n/** z */ export const LATIN_SMALL_LETTER_Z = 0x007A\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** { */ export const LEFT_CURLY_BRACKET = 0x007B\n/** | */ export const VERTICAL_LINE = 0x007C\n/** } */ export const RIGHT_CURLY_BRACKET = 0x007D\n/** ~ */ export const TILDE = 0x007E\n\n/**\n * Control character\n * ===================================================================== *//***/\n\n/** ␡ */ export const DELETE = 0x007F\n\n/**\n * Non-ASCII\n * ===================================================================== *//***/\n\n/** � */ export const NON_ASCII = 0x0080\n\n/**\n * EOF\n * ===================================================================== *//***/\n\n/** ⏏ */ export const EOF = -0x0001\n","import * as cp from './code-points.js'\n\n/** Returns whether the unicode value is a digit. [↗](https://drafts.csswg.org/css-syntax/#digit) */\nexport const digit = (code: number) => code >= cp.DIGIT_ZERO && code <= cp.DIGIT_NINE\n\n/** Returns whether the unicode value is an identifier. [↗](https://drafts.csswg.org/css-syntax/#identifier-code-point) */\nexport const identifier = (code: number) => (\n\tidentifierStart(code) ||\n\t(code >= cp.DIGIT_ZERO && code <= cp.DIGIT_NINE) ||\n\t(code === cp.HYPHEN_MINUS)\n)\n\n/** Returns whether the unicode value is an identifier-start. [↗](https://drafts.csswg.org/css-syntax/#identifier-start-code-point) */\nexport const identifierStart = (code: number) => (\n\t(code === cp.LOW_LINE) ||\n\t(code >= cp.NON_ASCII) ||\n\t(code >= cp.LATIN_CAPITAL_LETTER_A && code <= cp.LATIN_CAPITAL_LETTER_Z) ||\n\t(code >= cp.LATIN_SMALL_LETTER_A && code <= cp.LATIN_SMALL_LETTER_Z)\n)\n\n/** Returns whether the unicode value is a space. [↗](https://drafts.csswg.org/css-syntax/#whitespace) */\nexport const space = (code: number) => (\n\tcode === cp.CHARACTER_TABULATION\n\t|| code === cp.LINE_FEED\n\t|| code === cp.FORM_FEED\n\t|| code === cp.CARRIAGE_RETURN\n\t|| code === cp.SPACE\n)\n\n/** Returns whether the unicode values are a valid escape. [↗](https://drafts.csswg.org/css-syntax/#starts-with-a-valid-escape) */\nexport const validEscape = (code1of2: number, code2of2: number) => (\n\tcode1of2 === cp.REVERSE_SOLIDUS\n\t&& !space(code2of2)\n)\n","/** [``](https://drafts.csswg.org/css-syntax/#typedef-delim-token) */\nexport const SYMBOL = 0x0001\n\n/** [``](https://drafts.csswg.org/css-syntax/#comment-diagram) */\nexport const COMMENT = 0x0002\n\n/** [``](https://drafts.csswg.org/css-syntax/#whitespace-token-diagram) */\nexport const SPACE = 0x0003\n\n/** [``](https://drafts.csswg.org/css-syntax/#ident-token-diagram) */\nexport const WORD = 0x0004\n\n/** [``](https://drafts.csswg.org/css-syntax/#function-token-diagram) */\nexport const FUNCTION = 0x0005\n\n/** [``](https://drafts.csswg.org/css-syntax/#at-keyword-token-diagram) */\nexport const ATWORD = 0x0006\n\n/** [``](https://drafts.csswg.org/css-syntax/#hash-token-diagram) */\nexport const HASH = 0x0007\n\n/** [``](https://drafts.csswg.org/css-syntax/#string-token-diagram) */\nexport const STRING = 0x0008\n\n/** [``](https://drafts.csswg.org/css-syntax/#consume-numeric-token) */\nexport const NUMBER = 0x0009\n","import { CSSState, CSSToken } from '../types/global/global.js'\n\nimport * as cp from './code-points.js'\nimport * as is from './is.js'\nimport * as tt from './token-types.js'\n\nconst { fromCharCode } = String\n\n/** Consumes and returns a token. [↗](https://drafts.csswg.org/css-syntax/#consume-token) */\nexport const consume = (\n\t/** Condition of the current tokenizer. */\n\tstate: CSSState\n) => {\n\tswitch (true) {\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#consume-comment */\n\t\tcase state.codeAt0 === cp.SOLIDUS:\n\t\t\tif (state.codeAt1 === cp.ASTERISK) return consumeCommentToken(state)\n\t\t\tbreak\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#whitespace-token-diagram */\n\t\tcase is.space(state.codeAt0):\n\t\t\treturn consumeSpaceToken(state)\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#string-token-diagram */\n\t\tcase state.codeAt0 === cp.QUOTATION_MARK:\n\t\tcase state.codeAt0 === cp.APOSTROPHE:\n\t\t\t// \"\" || ''\n\t\t\treturn consumeStringToken(state)\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#hash-token-diagram */\n\t\tcase state.codeAt0 === cp.NUMBER_SIGN:\n\t\t\t// #W\n\t\t\tif (is.identifier(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.HASH,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\t// #\\:\n\t\t\tif (is.validEscape(state.codeAt1, state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.HASH,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t\t/* */\n\t\t/* https://drafts.csswg.org/css-syntax/#ident-token-diagram */\n\t\tcase state.codeAt0 === cp.REVERSE_SOLIDUS:\n\t\t\tif (is.validEscape(state.codeAt0, state.codeAt1)) return consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\t\tbreak\n\t\tcase is.identifierStart(state.codeAt0):\n\t\t\t// W\n\t\t\treturn consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\tcase state.codeAt0 === cp.HYPHEN_MINUS:\n\t\t\t// -W\n\t\t\tif (state.codeAt1 === cp.HYPHEN_MINUS || is.identifierStart(state.codeAt1)) return consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\t\t// -\\:\n\t\t\tif (is.validEscape(state.codeAt1, state.codeAt2)) return consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\t/* */\n\t\t/* https://drafts.csswg.org/css-syntax/#number-token-diagram */\n\t\t\t// -8\n\t\t\tif (is.digit(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansAdditiveValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\t// -.8\n\t\t\tif (state.codeAt1 === cp.FULL_STOP && is.digit(state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\tcase state.codeAt0 === cp.FULL_STOP:\n\t\t\t// .8\n\t\t\tif (is.digit(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t\tcase state.codeAt0 === cp.PLUS_SIGN:\n\t\t\t// +8\n\t\t\tif (is.digit(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansAdditiveValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\t// +.8\n\t\t\tif (state.codeAt1 === cp.FULL_STOP && is.digit(state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t\tcase is.digit(state.codeAt0):\n\t\t\t// 8\n\t\t\treturn {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeNumberSansAdditiveValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t/* */\n\t\t/* https://drafts.csswg.org/css-syntax/#at-keyword-token-diagram */\n\t\tcase state.codeAt0 === cp.COMMERCIAL_AT:\n\t\t\tif (state.codeAt1 === cp.HYPHEN_MINUS) {\n\t\t\t\t// @--\n\t\t\t\tif (state.codeAt2 === cp.HYPHEN_MINUS) return {\n\t\t\t\t\ttick: state.tick,\n\t\t\t\t\ttype: tt.ATWORD,\n\t\t\t\t\tcode: -1,\n\t\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\t\ttail: '',\n\t\t\t\t} as CSSToken\n\t\t\t\t// @-W\n\t\t\t\tif (is.identifierStart(state.codeAt2)) return {\n\t\t\t\t\ttick: state.tick,\n\t\t\t\t\ttype: tt.ATWORD,\n\t\t\t\t\tcode: -1,\n\t\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\t\ttail: '',\n\t\t\t\t} as CSSToken\n\t\t\t\t// @-\\:\n\t\t\t\tif (is.validEscape(state.codeAt2, state.codeAt3)) return {\n\t\t\t\t\ttick: state.tick,\n\t\t\t\t\ttype: tt.ATWORD,\n\t\t\t\t\tcode: -1,\n\t\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\t\ttail: '',\n\t\t\t\t} as CSSToken\n\t\t\t}\n\t\t\t// @W\n\t\t\tif (is.identifierStart(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.ATWORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\t// @\\:\n\t\t\tif (is.validEscape(state.codeAt1, state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.ATWORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t}\n\t/* */\n\t/* https://drafts.csswg.org/css-syntax/#typedef-delim-token */\n\treturn {\n\t\ttick: state.tick,\n\t\ttype: tt.SYMBOL,\n\t\tcode: state.codeAt0,\n\t\tlead: '',\n\t\tdata: consumeAnyValue(state),\n\t\ttail: '',\n\t} as CSSToken\n}\n\n/** Consume and return a value. [↗](https://drafts.csswg.org/css-syntax/#consume-token) */\nconst consumeAnyValue = (state: CSSState) => {\n\tconst result = fromCharCode(state.codeAt0)\n\tstate.next()\n\treturn result\n}\n\n/** Consume and return an identifier value. [↗](https://drafts.csswg.org/css-syntax/#consume-an-identifier) */\nconst consumeIdentifierValue = (state: CSSState) => {\n\tlet result = ''\n\twhile (true) {\n\t\tswitch (true) {\n\t\t\tcase is.validEscape(state.codeAt0, state.codeAt1):\n\t\t\t\tresult += fromCharCode(state.codeAt0)\n\t\t\t\tstate.next()\n\t\t\tcase is.identifier(state.codeAt0):\n\t\t\t\tresult += fromCharCode(state.codeAt0)\n\t\t\t\tstate.next()\n\t\t\t\tcontinue\n\t\t}\n\t\tbreak\n\t}\n\treturn result\n}\n\n/** Consume and return an identifier or function token. [↗](https://drafts.csswg.org/css-syntax/#consume-an-identifier) */\nconst consumeIdentifierLikeToken = (state: CSSState, token: CSSToken) => {\n\tif (state.codeAt0 === cp.LEFT_PARENTHESIS) {\n\t\ttoken.code = 40\n\t\ttoken.type = tt.FUNCTION\n\t\ttoken.lead = token.data\n\t\ttoken.data = '('\n\t\tstate.next()\n\t}\n\treturn token\n}\n\n/** Consume and return a comment token. [↗](https://drafts.csswg.org/css-syntax/#consume-comment) */\nconst consumeCommentToken = (state: CSSState) => {\n\tconst token: CSSToken = {\n\t\ttick: state.tick,\n\t\ttype: tt.COMMENT,\n\t\tcode: -1,\n\t\tlead: '/*',\n\t\tdata: '',\n\t\ttail: '',\n\t}\n\tstate.next()\n\tstate.next()\n\twhile (state.tick < state.size) {\n\t\t// @ts-ignore\n\t\tif (state.codeAt0 === cp.ASTERISK && state.codeAt1 === cp.SOLIDUS) {\n\t\t\ttoken.tail = '*/'\n\t\t\tstate.next()\n\t\t\tstate.next()\n\t\t\tbreak\n\t\t}\n\t\ttoken.data += consumeAnyValue(state)\n\t}\n\treturn token\n}\n\n/** Consumes and returns a space token. [↗](https://drafts.csswg.org/css-syntax/#whitespace-token-diagram) */\nconst consumeSpaceToken = (state: CSSState) => {\n\tconst token: CSSToken = {\n\t\ttick: state.tick,\n\t\ttype: tt.SPACE,\n\t\tcode: -1,\n\t\tlead: '',\n\t\tdata: consumeAnyValue(state),\n\t\ttail: '',\n\t}\n\twhile (state.tick < state.size) {\n\t\tif (!is.space(state.codeAt0)) break\n\t\ttoken.data += consumeAnyValue(state)\n\t}\n\treturn token\n}\n\n/** Consumes and returns a string token. [↗](https://drafts.csswg.org/css-syntax/#string-token-diagram) */\nconst consumeStringToken = (state: CSSState) => {\n\tconst { codeAt0 } = state\n\tconst token: CSSToken = {\n\t\ttick: state.tick,\n\t\ttype: tt.STRING,\n\t\tcode: -1,\n\t\tlead: '',\n\t\tdata: consumeAnyValue(state),\n\t\ttail: '',\n\t}\n\twhile (state.tick < state.size) {\n\t\tswitch (true) {\n\t\t\tcase is.validEscape(state.codeAt0, state.codeAt1):\n\t\t\t\ttoken.data += consumeAnyValue(state)\n\t\t\tdefault:\n\t\t\t\ttoken.data += consumeAnyValue(state)\n\t\t\t\tcontinue\n\t\t\tcase state.codeAt0 === codeAt0:\n\t\t\t\ttoken.tail = consumeAnyValue(state)\n\t\t}\n\t\tbreak\n\t}\n\treturn token\n}\n\n/** Consumes and returns a number value after an additive symbol. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */\nexport const consumeNumberSansAdditiveValue = (state: CSSState) => {\n\tlet result = ''\n\tresult += consumeDigitValue(state)\n\tif (state.codeAt0 === cp.FULL_STOP && is.digit(state.codeAt1)) result += consumeAnyValue(state) + consumeAnyValue(state) + consumeDigitValue(state)\n\treturn result + consumeNumberSansDecimalValue(state)\n}\n\n/** Consumes and returns a number value after a decimal place. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */\nconst consumeNumberSansDecimalValue = (state: CSSState) => {\n\tlet result = ''\n\tresult += consumeDigitValue(state)\n\tif (state.codeAt0 === cp.LATIN_CAPITAL_LETTER_E || state.codeAt0 === cp.LATIN_SMALL_LETTER_E) {\n\t\tswitch (true) {\n\t\t\tcase (state.codeAt1 === cp.PLUS_SIGN || state.codeAt1 === cp.HYPHEN_MINUS):\n\t\t\t\tif (!is.digit(state.codeAt2)) break\n\t\t\t\tresult += consumeAnyValue(state)\n\t\t\tcase is.digit(state.codeAt1):\n\t\t\t\tresult += consumeAnyValue(state) + consumeAnyValue(state) + consumeDigitValue(state)\n\t\t}\n\t}\n\treturn result\n}\n\n/** Consumes and returns a digit value. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */\nconst consumeDigitValue = (state: CSSState) => {\n\tlet result = ''\n\twhile (state.tick < state.size) {\n\t\tif (!is.digit(state.codeAt0)) break\n\t\tresult += consumeAnyValue(state)\n\t}\n\treturn result\n}\n\n/** Consumes and returns a numeric unit value. [↗](https://drafts.csswg.org/css-syntax/#consume-numeric-token) */\nconst consumeNumericUnitValue = (state: CSSState) => (\n\tstate.codeAt0 === cp.HYPHEN_MINUS\n\t\t? state.codeAt1 === cp.HYPHEN_MINUS\n\t\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t\t: is.identifierStart(state.codeAt1)\n\t\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t\t: is.validEscape(state.codeAt1, state.codeAt2)\n\t\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t\t: ''\n\t: state.codeAt0 === cp.PERCENT_SIGN\n\t\t? consumeAnyValue(state)\n\t: is.identifierStart(state.codeAt0)\n\t\t? consumeAnyValue(state) + consumeIdentifierValue(state)\n\t: is.validEscape(state.codeAt0, state.codeAt1)\n\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t: ''\n)\n","import { CSSState, CSSIterator, CSSIteration } from './types/global/global.js'\nimport { consume } from './lib/consume.js'\n\n/** Returns a CSS iterator to yield tokens from the given CSS data. */\nexport const tokenize = (/** CSS data. */ data: string) => {\n\tlet size = data.length\n\tlet tick = 0\n\n\t/** Condition of the current tokenizer. */\n\tlet state: CSSState = {\n\t\tdata,\n\t\tsize,\n\t\ttick,\n\t\tcodeAt0: tick + 0 < size ? data.charCodeAt(tick + 0) : -1,\n\t\tcodeAt1: tick + 1 < size ? data.charCodeAt(tick + 1) : -1,\n\t\tcodeAt2: tick + 2 < size ? data.charCodeAt(tick + 2) : -1,\n\t\tcodeAt3: tick + 3 < size ? data.charCodeAt(tick + 3) : -1,\n\t\t/** Advances the unicode characters being read from the CSS data by one position. */\n\t\tnext() {\n\t\t\tstate.tick = ++tick\n\t\t\tstate.codeAt0 = state.codeAt1\n\t\t\tstate.codeAt1 = state.codeAt2\n\t\t\tstate.codeAt2 = state.codeAt3\n\t\t\tstate.codeAt3 = tick + 3 < size ? data.charCodeAt(tick + 3) : -1\n\t\t\treturn tick >= size\n\t\t}\n\t}\n\n\t/** Returns the most recent state and token yielded from the CSS iterator. */\n\tconst iterator: CSSIterator = ((): CSSIteration => (\n\t\tstate.tick >= state.size\n\t\t\t? {\n\t\t\t\tdone: true,\n\t\t\t\tvalue: { tick: state.tick, type: 0, code: -2, lead: '', data: '', tail: '' }\n\t\t\t}\n\t\t: {\n\t\t\tdone: false,\n\t\t\tvalue: consume(state),\n\t\t}\n\t)) as CSSIterator\n\n\titerator[Symbol.iterator] = () => ({ next: iterator })\n\n\treturn iterator\n}\n"],"names":["CHARACTER_TABULATION","LINE_FEED","FORM_FEED","CARRIAGE_RETURN","SPACE","QUOTATION_MARK","NUMBER_SIGN","PERCENT_SIGN","APOSTROPHE","LEFT_PARENTHESIS","ASTERISK","PLUS_SIGN","HYPHEN_MINUS","FULL_STOP","SOLIDUS","DIGIT_ZERO","DIGIT_NINE","COMMERCIAL_AT","LATIN_CAPITAL_LETTER_A","LATIN_CAPITAL_LETTER_E","LATIN_CAPITAL_LETTER_Z","REVERSE_SOLIDUS","LOW_LINE","LATIN_SMALL_LETTER_A","LATIN_SMALL_LETTER_E","LATIN_SMALL_LETTER_Z","NON_ASCII","digit","code","cp","identifier","identifierStart","space","validEscape","code1of2","code2of2","SYMBOL","COMMENT","WORD","FUNCTION","ATWORD","HASH","STRING","NUMBER","fromCharCode","String","consume","state","codeAt0","codeAt1","consumeCommentToken","is","consumeSpaceToken","consumeStringToken","tick","type","tt","lead","consumeAnyValue","data","consumeIdentifierValue","tail","codeAt2","consumeIdentifierLikeToken","consumeNumberSansAdditiveValue","consumeNumericUnitValue","consumeNumberSansDecimalValue","codeAt3","result","next","token","size","consumeDigitValue","tokenize","length","charCodeAt","iterator","done","value","Symbol"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AAeA;AAAgB,MAAMA,oBAAoB,GAAU,MAAM,CAAA;AAC1D;AAAgB,MAAMC,SAAS,GAAqB,MAAM,CAAA;AAE1D;AAAgB,MAAMC,SAAS,GAAqB,MAAM,CAAA;AAC1D;AAAgB,MAAMC,eAAe,GAAe,MAAM,CAAA;;AAoB1D;AACA;AACA;;AAEA;AAAgB,MAAMC,OAAK,GAAyB,MAAM,CAAA;AAE1D;AAAgB,MAAMC,cAAc,GAAgB,MAAM,CAAA;AAC1D;AAAgB,MAAMC,WAAW,GAAmB,MAAM,CAAA;AAE1D;AAAgB,MAAMC,YAAY,GAAkB,MAAM,CAAA;AAE1D;AAAgB,MAAMC,UAAU,GAAoB,MAAM,CAAA;AAC1D;AAAgB,MAAMC,gBAAgB,GAAc,MAAM,CAAA;AAE1D;AAAgB,MAAMC,QAAQ,GAAsB,MAAM,CAAA;AAC1D;AAAgB,MAAMC,SAAS,GAAqB,MAAM,CAAA;AAE1D;AAAgB,MAAMC,YAAY,GAAkB,MAAM,CAAA;AAC1D;AAAgB,MAAMC,SAAS,GAAqB,MAAM,CAAA;AAC1D;AAAgB,MAAMC,OAAO,GAAuB,MAAM,CAAA;;AAE1D;AACA;AACA;;AAEA;AAAgB,MAAMC,UAAU,GAAoB,MAAM,CAAA;AAS1D;AAAgB,MAAMC,UAAU,GAAoB,MAAM,CAAA;AAY1D;AAAgB,MAAMC,aAAa,GAAiB,MAAM,CAAA;;AAE1D;AACA;AACA;;AAEA;AAAgB,MAAMC,sBAAsB,GAAQ,MAAM,CAAA;AAI1D;AAAgB,MAAMC,sBAAsB,GAAQ,MAAM,CAAA;AAqB1D;AAAgB,MAAMC,sBAAsB,GAAQ,MAAM,CAAA;AAO1D;AAAgB,MAAMC,eAAe,GAAe,MAAM,CAAA;AAG1D;AAAgB,MAAMC,QAAQ,GAAsB,MAAM,CAAA;;AAG1D;AACA;AACA;;AAEA;AAAgB,MAAMC,oBAAoB,GAAU,MAAM,CAAA;AAI1D;AAAgB,MAAMC,oBAAoB,GAAU,MAAM,CAAA;AAqB1D;AAAgB,MAAMC,oBAAoB,GAAU,MAAM,CAAA;;AAiB1D;AACA;AACA;;AAEA;AAAgB,MAAMC,SAAS,GAAqB,MAAM;;ACrL1D;AACO,MAAMC,KAAK,GAAIC,IAAY,IAAKA,IAAI,IAAIC,UAAa,IAAID,IAAI,IAAIC,UAAa,CAAA;;AAErF;AACO,MAAMC,UAAU,GAAIF,IAAY,IACtCG,eAAe,CAACH,IAAI,CAAC,IACpBA,IAAI,IAAIC,UAAa,IAAID,IAAI,IAAIC,UAAc,IAC/CD,IAAI,KAAKC,YACV,CAAA;;AAED;AACO,MAAME,eAAe,GAAIH,IAAY,IAC1CA,IAAI,KAAKC,QAAW,IACpBD,IAAI,IAAIC,SAAa,IACrBD,IAAI,IAAIC,sBAAyB,IAAID,IAAI,IAAIC,sBAA0B,IACvED,IAAI,IAAIC,oBAAuB,IAAID,IAAI,IAAIC,oBAC5C,CAAA;;AAED;AACO,MAAMG,KAAK,GAAIJ,IAAY,IACjCA,IAAI,KAAKC,oBAAuB,IAC7BD,IAAI,KAAKC,SAAY,IACrBD,IAAI,KAAKC,SAAY,IACrBD,IAAI,KAAKC,eAAkB,IAC3BD,IAAI,KAAKC,OACZ,CAAA;;AAED;AACO,MAAMI,WAAW,GAAGA,CAACC,QAAgB,EAAEC,QAAgB,KAC7DD,QAAQ,KAAKL,eAAkB,IAC5B,CAACG,KAAK,CAACG,QAAQ,CAClB;;ACjCD;AACO,MAAMC,MAAM,GAAwB,MAAM,CAAA;;AAEjD;AACO,MAAMC,OAAO,GAAuB,MAAM,CAAA;;AAEjD;AACO,MAAMjC,KAAK,GAAyB,MAAM,CAAA;;AAEjD;AACO,MAAMkC,IAAI,GAA0B,MAAM,CAAA;;AAEjD;AACO,MAAMC,QAAQ,GAAsB,MAAM,CAAA;;AAEjD;AACO,MAAMC,MAAM,GAAwB,MAAM,CAAA;;AAEjD;AACO,MAAMC,IAAI,GAA0B,MAAM,CAAA;;AAEjD;AACO,MAAMC,MAAM,GAAwB,MAAM,CAAA;;AAEjD;AACO,MAAMC,MAAM,GAAwB,MAAM;;ACnBjD,MAAM;AAAEC,EAAAA,YAAAA;AAAa,CAAC,GAAGC,MAAM,CAAA;;AAE/B;AACO,MAAMC,OAAO,GAEnBC,KAAe,IACX;AACJ,EAAA,QAAQ,IAAI;AACX;AACF;AACE,IAAA,KAAKA,KAAK,CAACC,OAAO,KAAKnB,OAAU;AAChC,MAAA,IAAIkB,KAAK,CAACE,OAAO,KAAKpB,QAAW,EAAE,OAAOqB,mBAAmB,CAACH,KAAK,CAAC,CAAA;AACpE,MAAA,MAAA;AACD;AACF;AACE,IAAA,KAAKI,KAAQ,CAACJ,KAAK,CAACC,OAAO,CAAC;MAC3B,OAAOI,iBAAiB,CAACL,KAAK,CAAC,CAAA;AAChC;AACF;AACE,IAAA,KAAKA,KAAK,CAACC,OAAO,KAAKnB,cAAiB,CAAA;AACxC,IAAA,KAAKkB,KAAK,CAACC,OAAO,KAAKnB,UAAa;AACnC;MACA,OAAOwB,kBAAkB,CAACN,KAAK,CAAC,CAAA;AACjC;AACF;AACE,IAAA,KAAKA,KAAK,CAACC,OAAO,KAAKnB,WAAc;AACpC;MACA,IAAIsB,UAAa,CAACJ,KAAK,CAACE,OAAO,CAAC,EAAE,OAAO;QACxCK,IAAI,EAAEP,KAAK,CAACO,IAAI;QAChBC,IAAI,EAAEC,IAAO;QACb5B,IAAI,EAAE,CAAC,CAAC;AACR6B,QAAAA,IAAI,EAAEC,eAAe,CAACX,KAAK,CAAC;QAC5BY,IAAI,EAAED,eAAe,CAACX,KAAK,CAAC,GAAGa,sBAAsB,CAACb,KAAK,CAAC;AAC5Dc,QAAAA,IAAI,EAAE,EAAA;OACN,CAAA;AACD;AACA,MAAA,IAAIV,WAAc,CAACJ,KAAK,CAACE,OAAO,EAAEF,KAAK,CAACe,OAAO,CAAC,EAAE,OAAO;QACxDR,IAAI,EAAEP,KAAK,CAACO,IAAI;QAChBC,IAAI,EAAEC,IAAO;QACb5B,IAAI,EAAE,CAAC,CAAC;AACR6B,QAAAA,IAAI,EAAEC,eAAe,CAACX,KAAK,CAAC;AAC5BY,QAAAA,IAAI,EAAED,eAAe,CAACX,KAAK,CAAC,GAAGW,eAAe,CAACX,KAAK,CAAC,GAAGa,sBAAsB,CAACb,KAAK,CAAC;AACrFc,QAAAA,IAAI,EAAE,EAAA;OACN,CAAA;AACD,MAAA,MAAA;AACD;AACA;AACA,IAAA,KAAKd,KAAK,CAACC,OAAO,KAAKnB,eAAkB;AACxC,MAAA,IAAIsB,WAAc,CAACJ,KAAK,CAACC,OAAO,EAAED,KAAK,CAACE,OAAO,CAAC,EAAE,OAAOc,0BAA0B,CAAChB,KAAK,EAAE;QAC1FO,IAAI,EAAEP,KAAK,CAACO,IAAI;QAChBC,IAAI,EAAEC,IAAO;QACb5B,IAAI,EAAE,CAAC,CAAC;AACR6B,QAAAA,IAAI,EAAE,EAAE;AACRE,QAAAA,IAAI,EAAED,eAAe,CAACX,KAAK,CAAC,GAAGW,eAAe,CAACX,KAAK,CAAC,GAAGW,eAAe,CAACX,KAAK,CAAC,GAAGa,sBAAsB,CAACb,KAAK,CAAC;AAC9Gc,QAAAA,IAAI,EAAE,EAAA;AACP,OAAC,CAAC,CAAA;AACF,MAAA,MAAA;AACD,IAAA,KAAKV,eAAkB,CAACJ,KAAK,CAACC,OAAO,CAAC;AACrC;MACA,OAAOe,0BAA0B,CAAChB,KAAK,EAAE;QACxCO,IAAI,EAAEP,KAAK,CAACO,IAAI;QAChBC,IAAI,EAAEC,IAAO;QACb5B,IAAI,EAAE,CAAC,CAAC;AACR6B,QAAAA,IAAI,EAAE,EAAE;QACRE,IAAI,EAAED,eAAe,CAACX,KAAK,CAAC,GAAGa,sBAAsB,CAACb,KAAK,CAAC;AAC5Dc,QAAAA,IAAI,EAAE,EAAA;AACP,OAAC,CAAC,CAAA;AACH,IAAA,KAAKd,KAAK,CAACC,OAAO,KAAKnB,YAAe;AACrC;MACA,IAAIkB,KAAK,CAACE,OAAO,KAAKpB,YAAe,IAAIsB,eAAkB,CAACJ,KAAK,CAACE,OAAO,CAAC,EAAE,OAAOc,0BAA0B,CAAChB,KAAK,EAAE;QACpHO,IAAI,EAAEP,KAAK,CAACO,IAAI;QAChBC,IAAI,EAAEC,IAAO;QACb5B,IAAI,EAAE,CAAC,CAAC;AACR6B,QAAAA,IAAI,EAAE,EAAE;AACRE,QAAAA,IAAI,EAAED,eAAe,CAACX,KAAK,CAAC,GAAGW,eAAe,CAACX,KAAK,CAAC,GAAGa,sBAAsB,CAACb,KAAK,CAAC;AACrFc,QAAAA,IAAI,EAAE,EAAA;AACP,OAAC,CAAC,CAAA;AACF;AACA,MAAA,IAAIV,WAAc,CAACJ,KAAK,CAACE,OAAO,EAAEF,KAAK,CAACe,OAAO,CAAC,EAAE,OAAOC,0BAA0B,CAAChB,KAAK,EAAE;QAC1FO,IAAI,EAAEP,KAAK,CAACO,IAAI;QAChBC,IAAI,EAAEC,IAAO;QACb5B,IAAI,EAAE,CAAC,CAAC;AACR6B,QAAAA,IAAI,EAAE,EAAE;AACRE,QAAAA,IAAI,EAAED,eAAe,CAACX,KAAK,CAAC,GAAGW,eAAe,CAACX,KAAK,CAAC,GAAGW,eAAe,CAACX,KAAK,CAAC,GAAGa,sBAAsB,CAACb,KAAK,CAAC;AAC9Gc,QAAAA,IAAI,EAAE,EAAA;AACP,OAAC,CAAC,CAAA;AACH;AACA;AACC;MACA,IAAIV,KAAQ,CAACJ,KAAK,CAACE,OAAO,CAAC,EAAE,OAAO;QACnCK,IAAI,EAAEP,KAAK,CAACO,IAAI;QAChBC,IAAI,EAAEC,MAAS;QACf5B,IAAI,EAAE,CAAC,CAAC;AACR6B,QAAAA,IAAI,EAAE,EAAE;AACRE,QAAAA,IAAI,EAAED,eAAe,CAACX,KAAK,CAAC,GAAGW,eAAe,CAACX,KAAK,CAAC,GAAGiB,8BAA8B,CAACjB,KAAK,CAAC;QAC7Fc,IAAI,EAAEI,uBAAuB,CAAClB,KAAK,CAAA;OACnC,CAAA;AACD;AACA,MAAA,IAAIA,KAAK,CAACE,OAAO,KAAKpB,SAAY,IAAIsB,KAAQ,CAACJ,KAAK,CAACe,OAAO,CAAC,EAAE,OAAO;QACrER,IAAI,EAAEP,KAAK,CAACO,IAAI;QAChBC,IAAI,EAAEC,MAAS;QACf5B,IAAI,EAAE,CAAC,CAAC;AACR6B,QAAAA,IAAI,EAAE,EAAE;AACRE,QAAAA,IAAI,EAAED,eAAe,CAACX,KAAK,CAAC,GAAGW,eAAe,CAACX,KAAK,CAAC,GAAGW,eAAe,CAACX,KAAK,CAAC,GAAGmB,6BAA6B,CAACnB,KAAK,CAAC;QACrHc,IAAI,EAAEI,uBAAuB,CAAClB,KAAK,CAAA;OACnC,CAAA;AACF,IAAA,KAAKA,KAAK,CAACC,OAAO,KAAKnB,SAAY;AAClC;MACA,IAAIsB,KAAQ,CAACJ,KAAK,CAACE,OAAO,CAAC,EAAE,OAAO;QACnCK,IAAI,EAAEP,KAAK,CAACO,IAAI;QAChBC,IAAI,EAAEC,MAAS;QACf5B,IAAI,EAAE,CAAC,CAAC;AACR6B,QAAAA,IAAI,EAAE,EAAE;AACRE,QAAAA,IAAI,EAAED,eAAe,CAACX,KAAK,CAAC,GAAGW,eAAe,CAACX,KAAK,CAAC,GAAGmB,6BAA6B,CAACnB,KAAK,CAAC;QAC5Fc,IAAI,EAAEI,uBAAuB,CAAClB,KAAK,CAAA;OACnC,CAAA;AACD,MAAA,MAAA;AACD,IAAA,KAAKA,KAAK,CAACC,OAAO,KAAKnB,SAAY;AAClC;MACA,IAAIsB,KAAQ,CAACJ,KAAK,CAACE,OAAO,CAAC,EAAE,OAAO;QACnCK,IAAI,EAAEP,KAAK,CAACO,IAAI;QAChBC,IAAI,EAAEC,MAAS;QACf5B,IAAI,EAAE,CAAC,CAAC;AACR6B,QAAAA,IAAI,EAAE,EAAE;AACRE,QAAAA,IAAI,EAAED,eAAe,CAACX,KAAK,CAAC,GAAGW,eAAe,CAACX,KAAK,CAAC,GAAGiB,8BAA8B,CAACjB,KAAK,CAAC;QAC7Fc,IAAI,EAAEI,uBAAuB,CAAClB,KAAK,CAAA;OACnC,CAAA;AACD;AACA,MAAA,IAAIA,KAAK,CAACE,OAAO,KAAKpB,SAAY,IAAIsB,KAAQ,CAACJ,KAAK,CAACe,OAAO,CAAC,EAAE,OAAO;QACrER,IAAI,EAAEP,KAAK,CAACO,IAAI;QAChBC,IAAI,EAAEC,MAAS;QACf5B,IAAI,EAAE,CAAC,CAAC;AACR6B,QAAAA,IAAI,EAAE,EAAE;AACRE,QAAAA,IAAI,EAAED,eAAe,CAACX,KAAK,CAAC,GAAGW,eAAe,CAACX,KAAK,CAAC,GAAGW,eAAe,CAACX,KAAK,CAAC,GAAGmB,6BAA6B,CAACnB,KAAK,CAAC;QACrHc,IAAI,EAAEI,uBAAuB,CAAClB,KAAK,CAAA;OACnC,CAAA;AACD,MAAA,MAAA;AACD,IAAA,KAAKI,KAAQ,CAACJ,KAAK,CAACC,OAAO,CAAC;AAC3B;MACA,OAAO;QACNM,IAAI,EAAEP,KAAK,CAACO,IAAI;QAChBC,IAAI,EAAEC,MAAS;QACf5B,IAAI,EAAE,CAAC,CAAC;AACR6B,QAAAA,IAAI,EAAE,EAAE;QACRE,IAAI,EAAED,eAAe,CAACX,KAAK,CAAC,GAAGiB,8BAA8B,CAACjB,KAAK,CAAC;QACpEc,IAAI,EAAEI,uBAAuB,CAAClB,KAAK,CAAA;OACnC,CAAA;AACF;AACA;AACA,IAAA,KAAKA,KAAK,CAACC,OAAO,KAAKnB,aAAgB;AACtC,MAAA,IAAIkB,KAAK,CAACE,OAAO,KAAKpB,YAAe,EAAE;AACtC;QACA,IAAIkB,KAAK,CAACe,OAAO,KAAKjC,YAAe,EAAE,OAAO;UAC7CyB,IAAI,EAAEP,KAAK,CAACO,IAAI;UAChBC,IAAI,EAAEC,MAAS;UACf5B,IAAI,EAAE,CAAC,CAAC;AACR6B,UAAAA,IAAI,EAAEC,eAAe,CAACX,KAAK,CAAC;AAC5BY,UAAAA,IAAI,EAAED,eAAe,CAACX,KAAK,CAAC,GAAGW,eAAe,CAACX,KAAK,CAAC,GAAGa,sBAAsB,CAACb,KAAK,CAAC;AACrFc,UAAAA,IAAI,EAAE,EAAA;SACN,CAAA;AACD;QACA,IAAIV,eAAkB,CAACJ,KAAK,CAACe,OAAO,CAAC,EAAE,OAAO;UAC7CR,IAAI,EAAEP,KAAK,CAACO,IAAI;UAChBC,IAAI,EAAEC,MAAS;UACf5B,IAAI,EAAE,CAAC,CAAC;AACR6B,UAAAA,IAAI,EAAEC,eAAe,CAACX,KAAK,CAAC;AAC5BY,UAAAA,IAAI,EAAED,eAAe,CAACX,KAAK,CAAC,GAAGW,eAAe,CAACX,KAAK,CAAC,GAAGa,sBAAsB,CAACb,KAAK,CAAC;AACrFc,UAAAA,IAAI,EAAE,EAAA;SACN,CAAA;AACD;AACA,QAAA,IAAIV,WAAc,CAACJ,KAAK,CAACe,OAAO,EAAEf,KAAK,CAACoB,OAAO,CAAC,EAAE,OAAO;UACxDb,IAAI,EAAEP,KAAK,CAACO,IAAI;UAChBC,IAAI,EAAEC,MAAS;UACf5B,IAAI,EAAE,CAAC,CAAC;AACR6B,UAAAA,IAAI,EAAEC,eAAe,CAACX,KAAK,CAAC;AAC5BY,UAAAA,IAAI,EAAED,eAAe,CAACX,KAAK,CAAC,GAAGW,eAAe,CAACX,KAAK,CAAC,GAAGW,eAAe,CAACX,KAAK,CAAC,GAAGa,sBAAsB,CAACb,KAAK,CAAC;AAC9Gc,UAAAA,IAAI,EAAE,EAAA;SACN,CAAA;AACF,OAAA;AACA;MACA,IAAIV,eAAkB,CAACJ,KAAK,CAACE,OAAO,CAAC,EAAE,OAAO;QAC7CK,IAAI,EAAEP,KAAK,CAACO,IAAI;QAChBC,IAAI,EAAEC,MAAS;QACf5B,IAAI,EAAE,CAAC,CAAC;AACR6B,QAAAA,IAAI,EAAEC,eAAe,CAACX,KAAK,CAAC;QAC5BY,IAAI,EAAED,eAAe,CAACX,KAAK,CAAC,GAAGa,sBAAsB,CAACb,KAAK,CAAC;AAC5Dc,QAAAA,IAAI,EAAE,EAAA;OACN,CAAA;AACD;AACA,MAAA,IAAIV,WAAc,CAACJ,KAAK,CAACE,OAAO,EAAEF,KAAK,CAACe,OAAO,CAAC,EAAE,OAAO;QACxDR,IAAI,EAAEP,KAAK,CAACO,IAAI;QAChBC,IAAI,EAAEC,MAAS;QACf5B,IAAI,EAAE,CAAC,CAAC;AACR6B,QAAAA,IAAI,EAAEC,eAAe,CAACX,KAAK,CAAC;AAC5BY,QAAAA,IAAI,EAAED,eAAe,CAACX,KAAK,CAAC,GAAGW,eAAe,CAACX,KAAK,CAAC,GAAGa,sBAAsB,CAACb,KAAK,CAAC;AACrFc,QAAAA,IAAI,EAAE,EAAA;OACN,CAAA;AACD,MAAA,MAAA;AACF,GAAA;AACA;AACA;EACA,OAAO;IACNP,IAAI,EAAEP,KAAK,CAACO,IAAI;IAChBC,IAAI,EAAEC,MAAS;IACf5B,IAAI,EAAEmB,KAAK,CAACC,OAAO;AACnBS,IAAAA,IAAI,EAAE,EAAE;AACRE,IAAAA,IAAI,EAAED,eAAe,CAACX,KAAK,CAAC;AAC5Bc,IAAAA,IAAI,EAAE,EAAA;GACN,CAAA;AACF,CAAC,CAAA;;AAED;AACA,MAAMH,eAAe,GAAIX,KAAe,IAAK;AAC5C,EAAA,MAAMqB,MAAM,GAAGxB,YAAY,CAACG,KAAK,CAACC,OAAO,CAAC,CAAA;EAC1CD,KAAK,CAACsB,IAAI,EAAE,CAAA;AACZ,EAAA,OAAOD,MAAM,CAAA;AACd,CAAC,CAAA;;AAED;AACA,MAAMR,sBAAsB,GAAIb,KAAe,IAAK;EACnD,IAAIqB,MAAM,GAAG,EAAE,CAAA;AACf,EAAA,OAAO,IAAI,EAAE;AACZ,IAAA,QAAQ,IAAI;MACX,KAAKjB,WAAc,CAACJ,KAAK,CAACC,OAAO,EAAED,KAAK,CAACE,OAAO,CAAC;AAChDmB,QAAAA,MAAM,IAAIxB,YAAY,CAACG,KAAK,CAACC,OAAO,CAAC,CAAA;QACrCD,KAAK,CAACsB,IAAI,EAAE,CAAA;AACb,MAAA,KAAKlB,UAAa,CAACJ,KAAK,CAACC,OAAO,CAAC;AAChCoB,QAAAA,MAAM,IAAIxB,YAAY,CAACG,KAAK,CAACC,OAAO,CAAC,CAAA;QACrCD,KAAK,CAACsB,IAAI,EAAE,CAAA;AACZ,QAAA,SAAA;AACF,KAAA;AACA,IAAA,MAAA;AACD,GAAA;AACA,EAAA,OAAOD,MAAM,CAAA;AACd,CAAC,CAAA;;AAED;AACA,MAAML,0BAA0B,GAAGA,CAAChB,KAAe,EAAEuB,KAAe,KAAK;AACxE,EAAA,IAAIvB,KAAK,CAACC,OAAO,KAAKnB,gBAAmB,EAAE;IAC1CyC,KAAK,CAAC1C,IAAI,GAAG,EAAE,CAAA;AACf0C,IAAAA,KAAK,CAACf,IAAI,GAAGC,QAAW,CAAA;AACxBc,IAAAA,KAAK,CAACb,IAAI,GAAGa,KAAK,CAACX,IAAI,CAAA;IACvBW,KAAK,CAACX,IAAI,GAAG,GAAG,CAAA;IAChBZ,KAAK,CAACsB,IAAI,EAAE,CAAA;AACb,GAAA;AACA,EAAA,OAAOC,KAAK,CAAA;AACb,CAAC,CAAA;;AAED;AACA,MAAMpB,mBAAmB,GAAIH,KAAe,IAAK;AAChD,EAAA,MAAMuB,KAAe,GAAG;IACvBhB,IAAI,EAAEP,KAAK,CAACO,IAAI;IAChBC,IAAI,EAAEC,OAAU;IAChB5B,IAAI,EAAE,CAAC,CAAC;AACR6B,IAAAA,IAAI,EAAE,IAAI;AACVE,IAAAA,IAAI,EAAE,EAAE;AACRE,IAAAA,IAAI,EAAE,EAAA;GACN,CAAA;EACDd,KAAK,CAACsB,IAAI,EAAE,CAAA;EACZtB,KAAK,CAACsB,IAAI,EAAE,CAAA;AACZ,EAAA,OAAOtB,KAAK,CAACO,IAAI,GAAGP,KAAK,CAACwB,IAAI,EAAE;AAC/B;AACA,IAAA,IAAIxB,KAAK,CAACC,OAAO,KAAKnB,QAAW,IAAIkB,KAAK,CAACE,OAAO,KAAKpB,OAAU,EAAE;MAClEyC,KAAK,CAACT,IAAI,GAAG,IAAI,CAAA;MACjBd,KAAK,CAACsB,IAAI,EAAE,CAAA;MACZtB,KAAK,CAACsB,IAAI,EAAE,CAAA;AACZ,MAAA,MAAA;AACD,KAAA;AACAC,IAAAA,KAAK,CAACX,IAAI,IAAID,eAAe,CAACX,KAAK,CAAC,CAAA;AACrC,GAAA;AACA,EAAA,OAAOuB,KAAK,CAAA;AACb,CAAC,CAAA;;AAED;AACA,MAAMlB,iBAAiB,GAAIL,KAAe,IAAK;AAC9C,EAAA,MAAMuB,KAAe,GAAG;IACvBhB,IAAI,EAAEP,KAAK,CAACO,IAAI;IAChBC,IAAI,EAAEC,KAAQ;IACd5B,IAAI,EAAE,CAAC,CAAC;AACR6B,IAAAA,IAAI,EAAE,EAAE;AACRE,IAAAA,IAAI,EAAED,eAAe,CAACX,KAAK,CAAC;AAC5Bc,IAAAA,IAAI,EAAE,EAAA;GACN,CAAA;AACD,EAAA,OAAOd,KAAK,CAACO,IAAI,GAAGP,KAAK,CAACwB,IAAI,EAAE;IAC/B,IAAI,CAACpB,KAAQ,CAACJ,KAAK,CAACC,OAAO,CAAC,EAAE,MAAA;AAC9BsB,IAAAA,KAAK,CAACX,IAAI,IAAID,eAAe,CAACX,KAAK,CAAC,CAAA;AACrC,GAAA;AACA,EAAA,OAAOuB,KAAK,CAAA;AACb,CAAC,CAAA;;AAED;AACA,MAAMjB,kBAAkB,GAAIN,KAAe,IAAK;EAC/C,MAAM;AAAEC,IAAAA,OAAAA;AAAQ,GAAC,GAAGD,KAAK,CAAA;AACzB,EAAA,MAAMuB,KAAe,GAAG;IACvBhB,IAAI,EAAEP,KAAK,CAACO,IAAI;IAChBC,IAAI,EAAEC,MAAS;IACf5B,IAAI,EAAE,CAAC,CAAC;AACR6B,IAAAA,IAAI,EAAE,EAAE;AACRE,IAAAA,IAAI,EAAED,eAAe,CAACX,KAAK,CAAC;AAC5Bc,IAAAA,IAAI,EAAE,EAAA;GACN,CAAA;AACD,EAAA,OAAOd,KAAK,CAACO,IAAI,GAAGP,KAAK,CAACwB,IAAI,EAAE;AAC/B,IAAA,QAAQ,IAAI;MACX,KAAKpB,WAAc,CAACJ,KAAK,CAACC,OAAO,EAAED,KAAK,CAACE,OAAO,CAAC;AAChDqB,QAAAA,KAAK,CAACX,IAAI,IAAID,eAAe,CAACX,KAAK,CAAC,CAAA;AACrC,MAAA;AACCuB,QAAAA,KAAK,CAACX,IAAI,IAAID,eAAe,CAACX,KAAK,CAAC,CAAA;AACpC,QAAA,SAAA;AACD,MAAA,KAAKA,KAAK,CAACC,OAAO,KAAKA,OAAO;AAC7BsB,QAAAA,KAAK,CAACT,IAAI,GAAGH,eAAe,CAACX,KAAK,CAAC,CAAA;AACrC,KAAA;AACA,IAAA,MAAA;AACD,GAAA;AACA,EAAA,OAAOuB,KAAK,CAAA;AACb,CAAC,CAAA;;AAED;AACO,MAAMN,8BAA8B,GAAIjB,KAAe,IAAK;EAClE,IAAIqB,MAAM,GAAG,EAAE,CAAA;AACfA,EAAAA,MAAM,IAAII,iBAAiB,CAACzB,KAAK,CAAC,CAAA;AAClC,EAAA,IAAIA,KAAK,CAACC,OAAO,KAAKnB,SAAY,IAAIsB,KAAQ,CAACJ,KAAK,CAACE,OAAO,CAAC,EAAEmB,MAAM,IAAIV,eAAe,CAACX,KAAK,CAAC,GAAGW,eAAe,CAACX,KAAK,CAAC,GAAGyB,iBAAiB,CAACzB,KAAK,CAAC,CAAA;AACnJ,EAAA,OAAOqB,MAAM,GAAGF,6BAA6B,CAACnB,KAAK,CAAC,CAAA;AACrD,CAAC,CAAA;;AAED;AACA,MAAMmB,6BAA6B,GAAInB,KAAe,IAAK;EAC1D,IAAIqB,MAAM,GAAG,EAAE,CAAA;AACfA,EAAAA,MAAM,IAAII,iBAAiB,CAACzB,KAAK,CAAC,CAAA;AAClC,EAAA,IAAIA,KAAK,CAACC,OAAO,KAAKnB,sBAAyB,IAAIkB,KAAK,CAACC,OAAO,KAAKnB,oBAAuB,EAAE;AAC7F,IAAA,QAAQ,IAAI;AACX,MAAA,KAAMkB,KAAK,CAACE,OAAO,KAAKpB,SAAY,IAAIkB,KAAK,CAACE,OAAO,KAAKpB,YAAe;QACxE,IAAI,CAACsB,KAAQ,CAACJ,KAAK,CAACe,OAAO,CAAC,EAAE,MAAA;AAC9BM,QAAAA,MAAM,IAAIV,eAAe,CAACX,KAAK,CAAC,CAAA;AACjC,MAAA,KAAKI,KAAQ,CAACJ,KAAK,CAACE,OAAO,CAAC;AAC3BmB,QAAAA,MAAM,IAAIV,eAAe,CAACX,KAAK,CAAC,GAAGW,eAAe,CAACX,KAAK,CAAC,GAAGyB,iBAAiB,CAACzB,KAAK,CAAC,CAAA;AACtF,KAAA;AACD,GAAA;AACA,EAAA,OAAOqB,MAAM,CAAA;AACd,CAAC,CAAA;;AAED;AACA,MAAMI,iBAAiB,GAAIzB,KAAe,IAAK;EAC9C,IAAIqB,MAAM,GAAG,EAAE,CAAA;AACf,EAAA,OAAOrB,KAAK,CAACO,IAAI,GAAGP,KAAK,CAACwB,IAAI,EAAE;IAC/B,IAAI,CAACpB,KAAQ,CAACJ,KAAK,CAACC,OAAO,CAAC,EAAE,MAAA;AAC9BoB,IAAAA,MAAM,IAAIV,eAAe,CAACX,KAAK,CAAC,CAAA;AACjC,GAAA;AACA,EAAA,OAAOqB,MAAM,CAAA;AACd,CAAC,CAAA;;AAED;AACA,MAAMH,uBAAuB,GAAIlB,KAAe,IAC/CA,KAAK,CAACC,OAAO,KAAKnB,YAAe,GAC9BkB,KAAK,CAACE,OAAO,KAAKpB,YAAe,GAChC6B,eAAe,CAACX,KAAK,CAAC,GAAGW,eAAe,CAACX,KAAK,CAAC,GAAGa,sBAAsB,CAACb,KAAK,CAAC,GAChFI,eAAkB,CAACJ,KAAK,CAACE,OAAO,CAAC,GAChCS,eAAe,CAACX,KAAK,CAAC,GAAGW,eAAe,CAACX,KAAK,CAAC,GAAGa,sBAAsB,CAACb,KAAK,CAAC,GAChFI,WAAc,CAACJ,KAAK,CAACE,OAAO,EAAEF,KAAK,CAACe,OAAO,CAAC,GAC3CJ,eAAe,CAACX,KAAK,CAAC,GAAGW,eAAe,CAACX,KAAK,CAAC,GAAGW,eAAe,CAACX,KAAK,CAAC,GAAGa,sBAAsB,CAACb,KAAK,CAAC,GACzG,EAAE,GACHA,KAAK,CAACC,OAAO,KAAKnB,YAAe,GAChC6B,eAAe,CAACX,KAAK,CAAC,GACvBI,eAAkB,CAACJ,KAAK,CAACC,OAAO,CAAC,GAChCU,eAAe,CAACX,KAAK,CAAC,GAAGa,sBAAsB,CAACb,KAAK,CAAC,GACvDI,WAAc,CAACJ,KAAK,CAACC,OAAO,EAAED,KAAK,CAACE,OAAO,CAAC,GAC3CS,eAAe,CAACX,KAAK,CAAC,GAAGW,eAAe,CAACX,KAAK,CAAC,GAAGa,sBAAsB,CAACb,KAAK,CAAC,GAChF,EACF;;AClXD;AACa0B,MAAAA,QAAQ,GAAqBd,IAAY,IAAK;AAC1D,EAAA,IAAIY,IAAI,GAAGZ,IAAI,CAACe,MAAM,CAAA;EACtB,IAAIpB,IAAI,GAAG,CAAC,CAAA;;AAEZ;AACA,EAAA,IAAIP,KAAe,GAAG;IACrBY,IAAI;IACJY,IAAI;IACJjB,IAAI;AACJN,IAAAA,OAAO,EAAEM,IAAI,GAAG,CAAC,GAAGiB,IAAI,GAAGZ,IAAI,CAACgB,UAAU,CAACrB,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AACzDL,IAAAA,OAAO,EAAEK,IAAI,GAAG,CAAC,GAAGiB,IAAI,GAAGZ,IAAI,CAACgB,UAAU,CAACrB,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AACzDQ,IAAAA,OAAO,EAAER,IAAI,GAAG,CAAC,GAAGiB,IAAI,GAAGZ,IAAI,CAACgB,UAAU,CAACrB,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AACzDa,IAAAA,OAAO,EAAEb,IAAI,GAAG,CAAC,GAAGiB,IAAI,GAAGZ,IAAI,CAACgB,UAAU,CAACrB,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AACzD;AACAe,IAAAA,IAAIA,GAAG;AACNtB,MAAAA,KAAK,CAACO,IAAI,GAAG,EAAEA,IAAI,CAAA;AACnBP,MAAAA,KAAK,CAACC,OAAO,GAAGD,KAAK,CAACE,OAAO,CAAA;AAC7BF,MAAAA,KAAK,CAACE,OAAO,GAAGF,KAAK,CAACe,OAAO,CAAA;AAC7Bf,MAAAA,KAAK,CAACe,OAAO,GAAGf,KAAK,CAACoB,OAAO,CAAA;AAC7BpB,MAAAA,KAAK,CAACoB,OAAO,GAAGb,IAAI,GAAG,CAAC,GAAGiB,IAAI,GAAGZ,IAAI,CAACgB,UAAU,CAACrB,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;MAChE,OAAOA,IAAI,IAAIiB,IAAI,CAAA;AACpB,KAAA;GACA,CAAA;;AAED;EACA,MAAMK,QAAqB,GAAIA,MAC9B7B,KAAK,CAACO,IAAI,IAAIP,KAAK,CAACwB,IAAI,GACrB;AACDM,IAAAA,IAAI,EAAE,IAAI;AACVC,IAAAA,KAAK,EAAE;MAAExB,IAAI,EAAEP,KAAK,CAACO,IAAI;AAAEC,MAAAA,IAAI,EAAE,CAAC;MAAE3B,IAAI,EAAE,CAAC,CAAC;AAAE6B,MAAAA,IAAI,EAAE,EAAE;AAAEE,MAAAA,IAAI,EAAE,EAAE;AAAEE,MAAAA,IAAI,EAAE,EAAA;AAAG,KAAA;AAC5E,GAAC,GACA;AACDgB,IAAAA,IAAI,EAAE,KAAK;IACXC,KAAK,EAAEhC,OAAO,CAACC,KAAK,CAAA;GAEL,CAAA;AAEjB6B,EAAAA,QAAQ,CAACG,MAAM,CAACH,QAAQ,CAAC,GAAG,OAAO;AAAEP,IAAAA,IAAI,EAAEO,QAAAA;AAAS,GAAC,CAAC,CAAA;AAEtD,EAAA,OAAOA,QAAQ,CAAA;AAChB;;;;"} \ No newline at end of file diff --git a/dist/tokenize.d.ts b/dist/tokenize.d.ts new file mode 100644 index 0000000..479cbe7 --- /dev/null +++ b/dist/tokenize.d.ts @@ -0,0 +1,46 @@ +/** The CSS state represents the condition of the tokenizer at any given moment. */ +export type CSSState = { + /** CSS data. */ + data: string + /** Number of characters in the CSS data. */ + size: number + /** Current position in the CSS data. */ + tick: number + /** Unicode character for the current position in the CSS data. */ + codeAt0: number + /** Unicode character for the 1 ahead position in the CSS data. */ + codeAt1: number + /** Unicode character for the 2 ahead position in the CSS data. */ + codeAt2: number + /** Unicode character for the 3 ahead position in the CSS data. */ + codeAt3: number + /** Advances the unicode characters being read from the CSS data by one position. */ + next(): boolean +} + +/** The CSS iterator produces a sequence of CSS tokens in an iterator pattern. */ +export type CSSIterator = { + (): CSSIteration + [Symbol.iterator](): { + next: CSSIterator + } +} + +/** The CSS iteration represents the most recent state and token yielded from the CSS iterator. */ +export type CSSIteration = { + done: boolean + value: CSSToken +} + +export type CSSToken = { + tick: number + type: number + code: number + lead: string + data: string + tail: string +} + +export type CSSTokenize = (data: string) => CSSIterator + +export declare const tokenize: CSSTokenize diff --git a/dist/tokenize.js b/dist/tokenize.js new file mode 100644 index 0000000..f81545d --- /dev/null +++ b/dist/tokenize.js @@ -0,0 +1 @@ +tokenizeCSS=function(){const t=45,e=t=>t>=48&&t<=57,c=e=>d(e)||e>=48&&e<=57||e===t,d=t=>95===t||t>=128||t>=65&&t<=90||t>=97&&t<=122,a=t=>9===t||10===t||12===t||13===t||32===t,o=(t,e)=>92===t&&!a(e),{fromCharCode:i}=String,r=i=>{switch(!0){case 47===i.codeAt0:if(42===i.codeAt1)return l(i);break;case a(i.codeAt0):return u(i);case 34===i.codeAt0:case 39===i.codeAt0:return s(i);case 35===i.codeAt0:if(c(i.codeAt1))return{tick:i.tick,type:7,code:-1,lead:A(i),data:A(i)+k(i),tail:""};if(o(i.codeAt1,i.codeAt2))return{tick:i.tick,type:7,code:-1,lead:A(i),data:A(i)+A(i)+k(i),tail:""};break;case 92===i.codeAt0:if(o(i.codeAt0,i.codeAt1))return n(i,{tick:i.tick,type:4,code:-1,lead:"",data:A(i)+A(i)+A(i)+k(i),tail:""});break;case d(i.codeAt0):return n(i,{tick:i.tick,type:4,code:-1,lead:"",data:A(i)+k(i),tail:""});case i.codeAt0===t:if(i.codeAt1===t||d(i.codeAt1))return n(i,{tick:i.tick,type:4,code:-1,lead:"",data:A(i)+A(i)+k(i),tail:""});if(o(i.codeAt1,i.codeAt2))return n(i,{tick:i.tick,type:4,code:-1,lead:"",data:A(i)+A(i)+A(i)+k(i),tail:""});if(e(i.codeAt1))return{tick:i.tick,type:9,code:-1,lead:"",data:A(i)+A(i)+f(i),tail:h(i)};if(46===i.codeAt1&&e(i.codeAt2))return{tick:i.tick,type:9,code:-1,lead:"",data:A(i)+A(i)+A(i)+y(i),tail:h(i)};case 46===i.codeAt0:if(e(i.codeAt1))return{tick:i.tick,type:9,code:-1,lead:"",data:A(i)+A(i)+y(i),tail:h(i)};break;case 43===i.codeAt0:if(e(i.codeAt1))return{tick:i.tick,type:9,code:-1,lead:"",data:A(i)+A(i)+f(i),tail:h(i)};if(46===i.codeAt1&&e(i.codeAt2))return{tick:i.tick,type:9,code:-1,lead:"",data:A(i)+A(i)+A(i)+y(i),tail:h(i)};break;case e(i.codeAt0):return{tick:i.tick,type:9,code:-1,lead:"",data:A(i)+f(i),tail:h(i)};case 64===i.codeAt0:if(i.codeAt1===t){if(i.codeAt2===t)return{tick:i.tick,type:6,code:-1,lead:A(i),data:A(i)+A(i)+k(i),tail:""};if(d(i.codeAt2))return{tick:i.tick,type:6,code:-1,lead:A(i),data:A(i)+A(i)+k(i),tail:""};if(o(i.codeAt2,i.codeAt3))return{tick:i.tick,type:6,code:-1,lead:A(i),data:A(i)+A(i)+A(i)+k(i),tail:""}}if(d(i.codeAt1))return{tick:i.tick,type:6,code:-1,lead:A(i),data:A(i)+k(i),tail:""};if(o(i.codeAt1,i.codeAt2))return{tick:i.tick,type:6,code:-1,lead:A(i),data:A(i)+A(i)+k(i),tail:""}}return{tick:i.tick,type:1,code:i.codeAt0,lead:"",data:A(i),tail:""}},A=t=>{const e=i(t.codeAt0);return t.next(),e},k=t=>{let e="";for(;;){switch(!0){case o(t.codeAt0,t.codeAt1):e+=i(t.codeAt0),t.next();case c(t.codeAt0):e+=i(t.codeAt0),t.next();continue}break}return e},n=(t,e)=>(40===t.codeAt0&&(e.code=40,e.type=5,e.lead=e.data,e.data="(",t.next()),e),l=t=>{const e={tick:t.tick,type:2,code:-1,lead:"/*",data:"",tail:""};for(t.next(),t.next();t.tick{const e={tick:t.tick,type:3,code:-1,lead:"",data:A(t),tail:""};for(;t.tick{const{codeAt0:e}=t,c={tick:t.tick,type:8,code:-1,lead:"",data:A(t),tail:""};for(;t.tick{let c="";return c+=p(t),46===t.codeAt0&&e(t.codeAt1)&&(c+=A(t)+A(t)+p(t)),c+y(t)},y=c=>{let d="";if(d+=p(c),69===c.codeAt0||101===c.codeAt0)switch(!0){case 43===c.codeAt1||c.codeAt1===t:if(!e(c.codeAt2))break;d+=A(c);case e(c.codeAt1):d+=A(c)+A(c)+p(c)}return d},p=t=>{let c="";for(;t.ticke.codeAt0===t?e.codeAt1===t||d(e.codeAt1)?A(e)+A(e)+k(e):o(e.codeAt1,e.codeAt2)?A(e)+A(e)+A(e)+k(e):"":37===e.codeAt0?A(e):d(e.codeAt0)?A(e)+k(e):o(e.codeAt0,e.codeAt1)?A(e)+A(e)+k(e):"";return t=>{let e=t.length,c=0,d={data:t,size:e,tick:c,codeAt0:c+0(d.tick=++c,d.codeAt0=d.codeAt1,d.codeAt1=d.codeAt2,d.codeAt2=d.codeAt3,d.codeAt3=c+3=e)};const a=()=>d.tick>=d.size?{done:!0,value:{tick:d.tick,type:0,code:-2,lead:"",data:"",tail:""}}:{done:!1,value:r(d)};return a[Symbol.iterator]=()=>({next:a}),a}}() diff --git a/dist/tokenize.mjs b/dist/tokenize.mjs new file mode 100644 index 0000000..b831d67 --- /dev/null +++ b/dist/tokenize.mjs @@ -0,0 +1,529 @@ +/** + * Unicode Character Codes (0x0000 - 0x0080) + * @see https://www.unicode.org/Public/UCD/latest/ucd/NamesList.txt + * @see https://unicode.org/charts/nameslist/n_0000.html + */ /** */ +/** ␉ */ +const CHARACTER_TABULATION = 0x0009; +/** ␊ */ +const LINE_FEED = 0x000A; +/** ␌ */ +const FORM_FEED = 0x000C; +/** ␍ */ +const CARRIAGE_RETURN = 0x000D; + +/** + * ASCII punctuation and symbols + * ===================================================================== */ /***/ + +/** ␠ */ +const SPACE$1 = 0x0020; +/** " */ +const QUOTATION_MARK = 0x0022; +/** # */ +const NUMBER_SIGN = 0x0023; +/** % */ +const PERCENT_SIGN = 0x0025; +/** ' */ +const APOSTROPHE = 0x0027; +/** ( */ +const LEFT_PARENTHESIS = 0x0028; +/** * */ +const ASTERISK = 0x002A; +/** + */ +const PLUS_SIGN = 0x002B; +/** - */ +const HYPHEN_MINUS = 0x002D; +/** . */ +const FULL_STOP = 0x002E; +/** / */ +const SOLIDUS = 0x002F; + +/* + * ASCII digits + * ========================================================================== */ + +/** 0 */ +const DIGIT_ZERO = 0x0030; +/** 9 */ +const DIGIT_NINE = 0x0039; +/** @ */ +const COMMERCIAL_AT = 0x0040; + +/** + * Uppercase Latin alphabet + * ===================================================================== */ /***/ + +/** A */ +const LATIN_CAPITAL_LETTER_A = 0x0041; +/** E */ +const LATIN_CAPITAL_LETTER_E = 0x0045; +/** Z */ +const LATIN_CAPITAL_LETTER_Z = 0x005A; +/** \ */ +const REVERSE_SOLIDUS = 0x005C; +/** _ */ +const LOW_LINE = 0x005F; + +/* + * Lowercase Latin alphabet + * ========================================================================== */ + +/** a */ +const LATIN_SMALL_LETTER_A = 0x0061; +/** e */ +const LATIN_SMALL_LETTER_E = 0x0065; +/** z */ +const LATIN_SMALL_LETTER_Z = 0x007A; + +/** + * Non-ASCII + * ===================================================================== */ /***/ + +/** � */ +const NON_ASCII = 0x0080; + +/** Returns whether the unicode value is a digit. [↗](https://drafts.csswg.org/css-syntax/#digit) */ +const digit = code => code >= DIGIT_ZERO && code <= DIGIT_NINE; + +/** Returns whether the unicode value is an identifier. [↗](https://drafts.csswg.org/css-syntax/#identifier-code-point) */ +const identifier = code => identifierStart(code) || code >= DIGIT_ZERO && code <= DIGIT_NINE || code === HYPHEN_MINUS; + +/** Returns whether the unicode value is an identifier-start. [↗](https://drafts.csswg.org/css-syntax/#identifier-start-code-point) */ +const identifierStart = code => code === LOW_LINE || code >= NON_ASCII || code >= LATIN_CAPITAL_LETTER_A && code <= LATIN_CAPITAL_LETTER_Z || code >= LATIN_SMALL_LETTER_A && code <= LATIN_SMALL_LETTER_Z; + +/** Returns whether the unicode value is a space. [↗](https://drafts.csswg.org/css-syntax/#whitespace) */ +const space = code => code === CHARACTER_TABULATION || code === LINE_FEED || code === FORM_FEED || code === CARRIAGE_RETURN || code === SPACE$1; + +/** Returns whether the unicode values are a valid escape. [↗](https://drafts.csswg.org/css-syntax/#starts-with-a-valid-escape) */ +const validEscape = (code1of2, code2of2) => code1of2 === REVERSE_SOLIDUS && !space(code2of2); + +/** [``](https://drafts.csswg.org/css-syntax/#typedef-delim-token) */ +const SYMBOL = 0x0001; + +/** [``](https://drafts.csswg.org/css-syntax/#comment-diagram) */ +const COMMENT = 0x0002; + +/** [``](https://drafts.csswg.org/css-syntax/#whitespace-token-diagram) */ +const SPACE = 0x0003; + +/** [``](https://drafts.csswg.org/css-syntax/#ident-token-diagram) */ +const WORD = 0x0004; + +/** [``](https://drafts.csswg.org/css-syntax/#function-token-diagram) */ +const FUNCTION = 0x0005; + +/** [``](https://drafts.csswg.org/css-syntax/#at-keyword-token-diagram) */ +const ATWORD = 0x0006; + +/** [``](https://drafts.csswg.org/css-syntax/#hash-token-diagram) */ +const HASH = 0x0007; + +/** [``](https://drafts.csswg.org/css-syntax/#string-token-diagram) */ +const STRING = 0x0008; + +/** [``](https://drafts.csswg.org/css-syntax/#consume-numeric-token) */ +const NUMBER = 0x0009; + +const { + fromCharCode +} = String; + +/** Consumes and returns a token. [↗](https://drafts.csswg.org/css-syntax/#consume-token) */ +const consume = state => { + switch (true) { + /* + /* https://drafts.csswg.org/css-syntax/#consume-comment */ + case state.codeAt0 === SOLIDUS: + if (state.codeAt1 === ASTERISK) return consumeCommentToken(state); + break; + /* + /* https://drafts.csswg.org/css-syntax/#whitespace-token-diagram */ + case space(state.codeAt0): + return consumeSpaceToken(state); + /* + /* https://drafts.csswg.org/css-syntax/#string-token-diagram */ + case state.codeAt0 === QUOTATION_MARK: + case state.codeAt0 === APOSTROPHE: + // "" || '' + return consumeStringToken(state); + /* + /* https://drafts.csswg.org/css-syntax/#hash-token-diagram */ + case state.codeAt0 === NUMBER_SIGN: + // #W + if (identifier(state.codeAt1)) return { + tick: state.tick, + type: HASH, + code: -1, + lead: consumeAnyValue(state), + data: consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }; + // #\: + if (validEscape(state.codeAt1, state.codeAt2)) return { + tick: state.tick, + type: HASH, + code: -1, + lead: consumeAnyValue(state), + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }; + break; + /* */ + /* https://drafts.csswg.org/css-syntax/#ident-token-diagram */ + case state.codeAt0 === REVERSE_SOLIDUS: + if (validEscape(state.codeAt0, state.codeAt1)) return consumeIdentifierLikeToken(state, { + tick: state.tick, + type: WORD, + code: -1, + lead: '', + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }); + break; + case identifierStart(state.codeAt0): + // W + return consumeIdentifierLikeToken(state, { + tick: state.tick, + type: WORD, + code: -1, + lead: '', + data: consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }); + case state.codeAt0 === HYPHEN_MINUS: + // -W + if (state.codeAt1 === HYPHEN_MINUS || identifierStart(state.codeAt1)) return consumeIdentifierLikeToken(state, { + tick: state.tick, + type: WORD, + code: -1, + lead: '', + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }); + // -\: + if (validEscape(state.codeAt1, state.codeAt2)) return consumeIdentifierLikeToken(state, { + tick: state.tick, + type: WORD, + code: -1, + lead: '', + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }); + /* */ + /* https://drafts.csswg.org/css-syntax/#number-token-diagram */ + // -8 + if (digit(state.codeAt1)) return { + tick: state.tick, + type: NUMBER, + code: -1, + lead: '', + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansAdditiveValue(state), + tail: consumeNumericUnitValue(state) + }; + // -.8 + if (state.codeAt1 === FULL_STOP && digit(state.codeAt2)) return { + tick: state.tick, + type: NUMBER, + code: -1, + lead: '', + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state), + tail: consumeNumericUnitValue(state) + }; + case state.codeAt0 === FULL_STOP: + // .8 + if (digit(state.codeAt1)) return { + tick: state.tick, + type: NUMBER, + code: -1, + lead: '', + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state), + tail: consumeNumericUnitValue(state) + }; + break; + case state.codeAt0 === PLUS_SIGN: + // +8 + if (digit(state.codeAt1)) return { + tick: state.tick, + type: NUMBER, + code: -1, + lead: '', + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansAdditiveValue(state), + tail: consumeNumericUnitValue(state) + }; + // +.8 + if (state.codeAt1 === FULL_STOP && digit(state.codeAt2)) return { + tick: state.tick, + type: NUMBER, + code: -1, + lead: '', + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state), + tail: consumeNumericUnitValue(state) + }; + break; + case digit(state.codeAt0): + // 8 + return { + tick: state.tick, + type: NUMBER, + code: -1, + lead: '', + data: consumeAnyValue(state) + consumeNumberSansAdditiveValue(state), + tail: consumeNumericUnitValue(state) + }; + /* */ + /* https://drafts.csswg.org/css-syntax/#at-keyword-token-diagram */ + case state.codeAt0 === COMMERCIAL_AT: + if (state.codeAt1 === HYPHEN_MINUS) { + // @-- + if (state.codeAt2 === HYPHEN_MINUS) return { + tick: state.tick, + type: ATWORD, + code: -1, + lead: consumeAnyValue(state), + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }; + // @-W + if (identifierStart(state.codeAt2)) return { + tick: state.tick, + type: ATWORD, + code: -1, + lead: consumeAnyValue(state), + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }; + // @-\: + if (validEscape(state.codeAt2, state.codeAt3)) return { + tick: state.tick, + type: ATWORD, + code: -1, + lead: consumeAnyValue(state), + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }; + } + // @W + if (identifierStart(state.codeAt1)) return { + tick: state.tick, + type: ATWORD, + code: -1, + lead: consumeAnyValue(state), + data: consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }; + // @\: + if (validEscape(state.codeAt1, state.codeAt2)) return { + tick: state.tick, + type: ATWORD, + code: -1, + lead: consumeAnyValue(state), + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }; + break; + } + /* */ + /* https://drafts.csswg.org/css-syntax/#typedef-delim-token */ + return { + tick: state.tick, + type: SYMBOL, + code: state.codeAt0, + lead: '', + data: consumeAnyValue(state), + tail: '' + }; +}; + +/** Consume and return a value. [↗](https://drafts.csswg.org/css-syntax/#consume-token) */ +const consumeAnyValue = state => { + const result = fromCharCode(state.codeAt0); + state.next(); + return result; +}; + +/** Consume and return an identifier value. [↗](https://drafts.csswg.org/css-syntax/#consume-an-identifier) */ +const consumeIdentifierValue = state => { + let result = ''; + while (true) { + switch (true) { + case validEscape(state.codeAt0, state.codeAt1): + result += fromCharCode(state.codeAt0); + state.next(); + case identifier(state.codeAt0): + result += fromCharCode(state.codeAt0); + state.next(); + continue; + } + break; + } + return result; +}; + +/** Consume and return an identifier or function token. [↗](https://drafts.csswg.org/css-syntax/#consume-an-identifier) */ +const consumeIdentifierLikeToken = (state, token) => { + if (state.codeAt0 === LEFT_PARENTHESIS) { + token.code = 40; + token.type = FUNCTION; + token.lead = token.data; + token.data = '('; + state.next(); + } + return token; +}; + +/** Consume and return a comment token. [↗](https://drafts.csswg.org/css-syntax/#consume-comment) */ +const consumeCommentToken = state => { + const token = { + tick: state.tick, + type: COMMENT, + code: -1, + lead: '/*', + data: '', + tail: '' + }; + state.next(); + state.next(); + while (state.tick < state.size) { + // @ts-ignore + if (state.codeAt0 === ASTERISK && state.codeAt1 === SOLIDUS) { + token.tail = '*/'; + state.next(); + state.next(); + break; + } + token.data += consumeAnyValue(state); + } + return token; +}; + +/** Consumes and returns a space token. [↗](https://drafts.csswg.org/css-syntax/#whitespace-token-diagram) */ +const consumeSpaceToken = state => { + const token = { + tick: state.tick, + type: SPACE, + code: -1, + lead: '', + data: consumeAnyValue(state), + tail: '' + }; + while (state.tick < state.size) { + if (!space(state.codeAt0)) break; + token.data += consumeAnyValue(state); + } + return token; +}; + +/** Consumes and returns a string token. [↗](https://drafts.csswg.org/css-syntax/#string-token-diagram) */ +const consumeStringToken = state => { + const { + codeAt0 + } = state; + const token = { + tick: state.tick, + type: STRING, + code: -1, + lead: '', + data: consumeAnyValue(state), + tail: '' + }; + while (state.tick < state.size) { + switch (true) { + case validEscape(state.codeAt0, state.codeAt1): + token.data += consumeAnyValue(state); + default: + token.data += consumeAnyValue(state); + continue; + case state.codeAt0 === codeAt0: + token.tail = consumeAnyValue(state); + } + break; + } + return token; +}; + +/** Consumes and returns a number value after an additive symbol. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */ +const consumeNumberSansAdditiveValue = state => { + let result = ''; + result += consumeDigitValue(state); + if (state.codeAt0 === FULL_STOP && digit(state.codeAt1)) result += consumeAnyValue(state) + consumeAnyValue(state) + consumeDigitValue(state); + return result + consumeNumberSansDecimalValue(state); +}; + +/** Consumes and returns a number value after a decimal place. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */ +const consumeNumberSansDecimalValue = state => { + let result = ''; + result += consumeDigitValue(state); + if (state.codeAt0 === LATIN_CAPITAL_LETTER_E || state.codeAt0 === LATIN_SMALL_LETTER_E) { + switch (true) { + case state.codeAt1 === PLUS_SIGN || state.codeAt1 === HYPHEN_MINUS: + if (!digit(state.codeAt2)) break; + result += consumeAnyValue(state); + case digit(state.codeAt1): + result += consumeAnyValue(state) + consumeAnyValue(state) + consumeDigitValue(state); + } + } + return result; +}; + +/** Consumes and returns a digit value. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */ +const consumeDigitValue = state => { + let result = ''; + while (state.tick < state.size) { + if (!digit(state.codeAt0)) break; + result += consumeAnyValue(state); + } + return result; +}; + +/** Consumes and returns a numeric unit value. [↗](https://drafts.csswg.org/css-syntax/#consume-numeric-token) */ +const consumeNumericUnitValue = state => state.codeAt0 === HYPHEN_MINUS ? state.codeAt1 === HYPHEN_MINUS ? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state) : identifierStart(state.codeAt1) ? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state) : validEscape(state.codeAt1, state.codeAt2) ? consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state) : '' : state.codeAt0 === PERCENT_SIGN ? consumeAnyValue(state) : identifierStart(state.codeAt0) ? consumeAnyValue(state) + consumeIdentifierValue(state) : validEscape(state.codeAt0, state.codeAt1) ? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state) : ''; + +/** Returns a CSS iterator to yield tokens from the given CSS data. */ +const tokenize = data => { + let size = data.length; + let tick = 0; + + /** Condition of the current tokenizer. */ + let state = { + data, + size, + tick, + codeAt0: tick + 0 < size ? data.charCodeAt(tick + 0) : -1, + codeAt1: tick + 1 < size ? data.charCodeAt(tick + 1) : -1, + codeAt2: tick + 2 < size ? data.charCodeAt(tick + 2) : -1, + codeAt3: tick + 3 < size ? data.charCodeAt(tick + 3) : -1, + /** Advances the unicode characters being read from the CSS data by one position. */ + next() { + state.tick = ++tick; + state.codeAt0 = state.codeAt1; + state.codeAt1 = state.codeAt2; + state.codeAt2 = state.codeAt3; + state.codeAt3 = tick + 3 < size ? data.charCodeAt(tick + 3) : -1; + return tick >= size; + } + }; + + /** Returns the most recent state and token yielded from the CSS iterator. */ + const iterator = () => state.tick >= state.size ? { + done: true, + value: { + tick: state.tick, + type: 0, + code: -2, + lead: '', + data: '', + tail: '' + } + } : { + done: false, + value: consume(state) + }; + iterator[Symbol.iterator] = () => ({ + next: iterator + }); + return iterator; +}; + +export { tokenize }; +//# sourceMappingURL=tokenize.mjs.map diff --git a/dist/tokenize.mjs.map b/dist/tokenize.mjs.map new file mode 100644 index 0000000..71a733f --- /dev/null +++ b/dist/tokenize.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"tokenize.mjs","sources":["../src/lib/code-points.ts","../src/lib/is.ts","../src/lib/token-types.ts","../src/lib/consume.ts","../src/tokenize.ts"],"sourcesContent":["/**\n * Unicode Character Codes (0x0000 - 0x0080)\n * @see https://www.unicode.org/Public/UCD/latest/ucd/NamesList.txt\n * @see https://unicode.org/charts/nameslist/n_0000.html\n *//** */\n\n/**\n * C0 controls\n * ===================================================================== *//***/\n\n/** ␀ */ export const NULL = 0x0000\n/** ␁ */ export const START_OF_HEADING = 0x0001\n/** ␂ */ export const START_OF_TEXT = 0x0002\n/** ␃ */ export const END_OF_TEXT = 0x0003\n/** ␄ */ export const END_OF_TRANSMISSION = 0x0004\n/** ␅ */ export const ENQUIRY = 0x0005\n/** ␆ */ export const ACKNOWLEDGE = 0x0006\n/** ␇ */ export const BELL = 0x0007\n/** ␈ */ export const BACKSPACE = 0x0008\n/** ␉ */ export const CHARACTER_TABULATION = 0x0009\n/** ␊ */ export const LINE_FEED = 0x000A\n/** ␋ */ export const LINE_TABULATION = 0x000B\n/** ␌ */ export const FORM_FEED = 0x000C\n/** ␍ */ export const CARRIAGE_RETURN = 0x000D\n/** ␎ */ export const SHIFT_OUT = 0x000E\n/** ␏ */ export const SHIFT_IN = 0x000F\n/** ␐ */ export const DATA_LINK_ESCAPE = 0x0010\n/** ␑ */ export const DEVICE_CONTROL_ONE = 0x0011\n/** ␒ */ export const DEVICE_CONTROL_TWO = 0x0012\n/** ␓ */ export const DEVICE_CONTROL_THREE = 0x0013\n/** ␔ */ export const DEVICE_CONTROL_FOUR = 0x0014\n/** ␕ */ export const NEGATIVE_ACKNOWLEDGE = 0x0015\n/** ␖ */ export const SYNCHRONOUS_IDLE = 0x0016\n/** ␗ */ export const END_OF_TRANSMISSION_BLOCK = 0x0017\n/** ␘ */ export const CANCEL = 0x0018\n/** ␙ */ export const END_OF_MEDIUM = 0x0019\n/** ␚ */ export const SUBSTITUTE = 0x001A\n/** ␛ */ export const ESCAPE = 0x001B\n/** ␜ */ export const INFORMATION_SEPARATOR_FOUR = 0x001C\n/** ␝ */ export const INFORMATION_SEPARATOR_THREE = 0x001D\n/** ␞ */ export const INFORMATION_SEPARATOR_TWO = 0x001E\n/** ␟ */ export const INFORMATION_SEPARATOR_ONE = 0x001F\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** ␠ */ export const SPACE = 0x0020\n/** ! */ export const EXCLAMATION_MARK = 0x0021\n/** \" */ export const QUOTATION_MARK = 0x0022\n/** # */ export const NUMBER_SIGN = 0x0023\n/** $ */ export const DOLLAR_SIGN = 0x0024\n/** % */ export const PERCENT_SIGN = 0x0025\n/** & */ export const AMPERSAND = 0x0026\n/** ' */ export const APOSTROPHE = 0x0027\n/** ( */ export const LEFT_PARENTHESIS = 0x0028\n/** ) */ export const RIGHT_PARENTHESIS = 0x0029\n/** * */ export const ASTERISK = 0x002A\n/** + */ export const PLUS_SIGN = 0x002B\n/** , */ export const COMMA = 0x002C\n/** - */ export const HYPHEN_MINUS = 0x002D\n/** . */ export const FULL_STOP = 0x002E\n/** / */ export const SOLIDUS = 0x002F\n\n/*\n * ASCII digits\n * ========================================================================== */\n\n/** 0 */ export const DIGIT_ZERO = 0x0030\n/** 1 */ export const DIGIT_ONE = 0x0031\n/** 2 */ export const DIGIT_TWO = 0x0032\n/** 3 */ export const DIGIT_THREE = 0x0033\n/** 4 */ export const DIGIT_FOUR = 0x0034\n/** 5 */ export const DIGIT_FIVE = 0x0035\n/** 6 */ export const DIGIT_SIX = 0x0036\n/** 7 */ export const DIGIT_SEVEN = 0x0037\n/** 8 */ export const DIGIT_EIGHT = 0x0038\n/** 9 */ export const DIGIT_NINE = 0x0039\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** : */ export const COLON = 0x003A\n/** ; */ export const SEMICOLON = 0x003B\n/** < */ export const LESS_THAN_SIGN = 0x003C\n/** = */ export const EQUALS_SIGN = 0x003D\n/** > */ export const GREATER_THAN_SIGN = 0x003E\n/** ? */ export const QUESTION_MARK = 0x003F\n/** @ */ export const COMMERCIAL_AT = 0x0040\n\n/**\n * Uppercase Latin alphabet\n * ===================================================================== *//***/\n\n/** A */ export const LATIN_CAPITAL_LETTER_A = 0x0041\n/** B */ export const LATIN_CAPITAL_LETTER_B = 0x0042\n/** C */ export const LATIN_CAPITAL_LETTER_C = 0x0043\n/** D */ export const LATIN_CAPITAL_LETTER_D = 0x0044\n/** E */ export const LATIN_CAPITAL_LETTER_E = 0x0045\n/** F */ export const LATIN_CAPITAL_LETTER_F = 0x0046\n/** G */ export const LATIN_CAPITAL_LETTER_G = 0x0047\n/** H */ export const LATIN_CAPITAL_LETTER_H = 0x0048\n/** I */ export const LATIN_CAPITAL_LETTER_I = 0x0049\n/** J */ export const LATIN_CAPITAL_LETTER_J = 0x004A\n/** K */ export const LATIN_CAPITAL_LETTER_K = 0x004B\n/** L */ export const LATIN_CAPITAL_LETTER_L = 0x004C\n/** M */ export const LATIN_CAPITAL_LETTER_M = 0x004D\n/** N */ export const LATIN_CAPITAL_LETTER_N = 0x004E\n/** O */ export const LATIN_CAPITAL_LETTER_O = 0x004F\n/** P */ export const LATIN_CAPITAL_LETTER_P = 0x0050\n/** Q */ export const LATIN_CAPITAL_LETTER_Q = 0x0051\n/** R */ export const LATIN_CAPITAL_LETTER_R = 0x0052\n/** S */ export const LATIN_CAPITAL_LETTER_S = 0x0053\n/** T */ export const LATIN_CAPITAL_LETTER_T = 0x0054\n/** U */ export const LATIN_CAPITAL_LETTER_U = 0x0055\n/** V */ export const LATIN_CAPITAL_LETTER_V = 0x0056\n/** W */ export const LATIN_CAPITAL_LETTER_W = 0x0057\n/** X */ export const LATIN_CAPITAL_LETTER_X = 0x0058\n/** Y */ export const LATIN_CAPITAL_LETTER_Y = 0x0059\n/** Z */ export const LATIN_CAPITAL_LETTER_Z = 0x005A\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** [ */ export const LEFT_SQUARE_BRACKET = 0x005B\n/** \\ */ export const REVERSE_SOLIDUS = 0x005C\n/** ] */ export const RIGHT_SQUARE_BRACKET = 0x005D\n/** ^ */ export const CIRCUMFLEX_ACCENT = 0x005E\n/** _ */ export const LOW_LINE = 0x005F\n/** ` */ export const GRAVE_ACCENT = 0x0060\n\n/*\n * Lowercase Latin alphabet\n * ========================================================================== */\n\n/** a */ export const LATIN_SMALL_LETTER_A = 0x0061\n/** b */ export const LATIN_SMALL_LETTER_B = 0x0062\n/** c */ export const LATIN_SMALL_LETTER_C = 0x0063\n/** d */ export const LATIN_SMALL_LETTER_D = 0x0064\n/** e */ export const LATIN_SMALL_LETTER_E = 0x0065\n/** f */ export const LATIN_SMALL_LETTER_F = 0x0066\n/** g */ export const LATIN_SMALL_LETTER_G = 0x0067\n/** h */ export const LATIN_SMALL_LETTER_H = 0x0068\n/** i */ export const LATIN_SMALL_LETTER_I = 0x0069\n/** j */ export const LATIN_SMALL_LETTER_J = 0x006A\n/** k */ export const LATIN_SMALL_LETTER_K = 0x006B\n/** l */ export const LATIN_SMALL_LETTER_L = 0x006C\n/** m */ export const LATIN_SMALL_LETTER_M = 0x006D\n/** n */ export const LATIN_SMALL_LETTER_N = 0x006E\n/** o */ export const LATIN_SMALL_LETTER_O = 0x006F\n/** p */ export const LATIN_SMALL_LETTER_P = 0x0070\n/** q */ export const LATIN_SMALL_LETTER_Q = 0x0071\n/** r */ export const LATIN_SMALL_LETTER_R = 0x0072\n/** s */ export const LATIN_SMALL_LETTER_S = 0x0073\n/** t */ export const LATIN_SMALL_LETTER_T = 0x0074\n/** u */ export const LATIN_SMALL_LETTER_U = 0x0075\n/** v */ export const LATIN_SMALL_LETTER_V = 0x0076\n/** w */ export const LATIN_SMALL_LETTER_W = 0x0077\n/** x */ export const LATIN_SMALL_LETTER_X = 0x0078\n/** y */ export const LATIN_SMALL_LETTER_Y = 0x0079\n/** z */ export const LATIN_SMALL_LETTER_Z = 0x007A\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** { */ export const LEFT_CURLY_BRACKET = 0x007B\n/** | */ export const VERTICAL_LINE = 0x007C\n/** } */ export const RIGHT_CURLY_BRACKET = 0x007D\n/** ~ */ export const TILDE = 0x007E\n\n/**\n * Control character\n * ===================================================================== *//***/\n\n/** ␡ */ export const DELETE = 0x007F\n\n/**\n * Non-ASCII\n * ===================================================================== *//***/\n\n/** � */ export const NON_ASCII = 0x0080\n\n/**\n * EOF\n * ===================================================================== *//***/\n\n/** ⏏ */ export const EOF = -0x0001\n","import * as cp from './code-points.js'\n\n/** Returns whether the unicode value is a digit. [↗](https://drafts.csswg.org/css-syntax/#digit) */\nexport const digit = (code: number) => code >= cp.DIGIT_ZERO && code <= cp.DIGIT_NINE\n\n/** Returns whether the unicode value is an identifier. [↗](https://drafts.csswg.org/css-syntax/#identifier-code-point) */\nexport const identifier = (code: number) => (\n\tidentifierStart(code) ||\n\t(code >= cp.DIGIT_ZERO && code <= cp.DIGIT_NINE) ||\n\t(code === cp.HYPHEN_MINUS)\n)\n\n/** Returns whether the unicode value is an identifier-start. [↗](https://drafts.csswg.org/css-syntax/#identifier-start-code-point) */\nexport const identifierStart = (code: number) => (\n\t(code === cp.LOW_LINE) ||\n\t(code >= cp.NON_ASCII) ||\n\t(code >= cp.LATIN_CAPITAL_LETTER_A && code <= cp.LATIN_CAPITAL_LETTER_Z) ||\n\t(code >= cp.LATIN_SMALL_LETTER_A && code <= cp.LATIN_SMALL_LETTER_Z)\n)\n\n/** Returns whether the unicode value is a space. [↗](https://drafts.csswg.org/css-syntax/#whitespace) */\nexport const space = (code: number) => (\n\tcode === cp.CHARACTER_TABULATION\n\t|| code === cp.LINE_FEED\n\t|| code === cp.FORM_FEED\n\t|| code === cp.CARRIAGE_RETURN\n\t|| code === cp.SPACE\n)\n\n/** Returns whether the unicode values are a valid escape. [↗](https://drafts.csswg.org/css-syntax/#starts-with-a-valid-escape) */\nexport const validEscape = (code1of2: number, code2of2: number) => (\n\tcode1of2 === cp.REVERSE_SOLIDUS\n\t&& !space(code2of2)\n)\n","/** [``](https://drafts.csswg.org/css-syntax/#typedef-delim-token) */\nexport const SYMBOL = 0x0001\n\n/** [``](https://drafts.csswg.org/css-syntax/#comment-diagram) */\nexport const COMMENT = 0x0002\n\n/** [``](https://drafts.csswg.org/css-syntax/#whitespace-token-diagram) */\nexport const SPACE = 0x0003\n\n/** [``](https://drafts.csswg.org/css-syntax/#ident-token-diagram) */\nexport const WORD = 0x0004\n\n/** [``](https://drafts.csswg.org/css-syntax/#function-token-diagram) */\nexport const FUNCTION = 0x0005\n\n/** [``](https://drafts.csswg.org/css-syntax/#at-keyword-token-diagram) */\nexport const ATWORD = 0x0006\n\n/** [``](https://drafts.csswg.org/css-syntax/#hash-token-diagram) */\nexport const HASH = 0x0007\n\n/** [``](https://drafts.csswg.org/css-syntax/#string-token-diagram) */\nexport const STRING = 0x0008\n\n/** [``](https://drafts.csswg.org/css-syntax/#consume-numeric-token) */\nexport const NUMBER = 0x0009\n","import { CSSState, CSSToken } from '../types/global/global.js'\n\nimport * as cp from './code-points.js'\nimport * as is from './is.js'\nimport * as tt from './token-types.js'\n\nconst { fromCharCode } = String\n\n/** Consumes and returns a token. [↗](https://drafts.csswg.org/css-syntax/#consume-token) */\nexport const consume = (\n\t/** Condition of the current tokenizer. */\n\tstate: CSSState\n) => {\n\tswitch (true) {\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#consume-comment */\n\t\tcase state.codeAt0 === cp.SOLIDUS:\n\t\t\tif (state.codeAt1 === cp.ASTERISK) return consumeCommentToken(state)\n\t\t\tbreak\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#whitespace-token-diagram */\n\t\tcase is.space(state.codeAt0):\n\t\t\treturn consumeSpaceToken(state)\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#string-token-diagram */\n\t\tcase state.codeAt0 === cp.QUOTATION_MARK:\n\t\tcase state.codeAt0 === cp.APOSTROPHE:\n\t\t\t// \"\" || ''\n\t\t\treturn consumeStringToken(state)\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#hash-token-diagram */\n\t\tcase state.codeAt0 === cp.NUMBER_SIGN:\n\t\t\t// #W\n\t\t\tif (is.identifier(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.HASH,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\t// #\\:\n\t\t\tif (is.validEscape(state.codeAt1, state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.HASH,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t\t/* */\n\t\t/* https://drafts.csswg.org/css-syntax/#ident-token-diagram */\n\t\tcase state.codeAt0 === cp.REVERSE_SOLIDUS:\n\t\t\tif (is.validEscape(state.codeAt0, state.codeAt1)) return consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\t\tbreak\n\t\tcase is.identifierStart(state.codeAt0):\n\t\t\t// W\n\t\t\treturn consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\tcase state.codeAt0 === cp.HYPHEN_MINUS:\n\t\t\t// -W\n\t\t\tif (state.codeAt1 === cp.HYPHEN_MINUS || is.identifierStart(state.codeAt1)) return consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\t\t// -\\:\n\t\t\tif (is.validEscape(state.codeAt1, state.codeAt2)) return consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\t/* */\n\t\t/* https://drafts.csswg.org/css-syntax/#number-token-diagram */\n\t\t\t// -8\n\t\t\tif (is.digit(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansAdditiveValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\t// -.8\n\t\t\tif (state.codeAt1 === cp.FULL_STOP && is.digit(state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\tcase state.codeAt0 === cp.FULL_STOP:\n\t\t\t// .8\n\t\t\tif (is.digit(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t\tcase state.codeAt0 === cp.PLUS_SIGN:\n\t\t\t// +8\n\t\t\tif (is.digit(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansAdditiveValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\t// +.8\n\t\t\tif (state.codeAt1 === cp.FULL_STOP && is.digit(state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t\tcase is.digit(state.codeAt0):\n\t\t\t// 8\n\t\t\treturn {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeNumberSansAdditiveValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t/* */\n\t\t/* https://drafts.csswg.org/css-syntax/#at-keyword-token-diagram */\n\t\tcase state.codeAt0 === cp.COMMERCIAL_AT:\n\t\t\tif (state.codeAt1 === cp.HYPHEN_MINUS) {\n\t\t\t\t// @--\n\t\t\t\tif (state.codeAt2 === cp.HYPHEN_MINUS) return {\n\t\t\t\t\ttick: state.tick,\n\t\t\t\t\ttype: tt.ATWORD,\n\t\t\t\t\tcode: -1,\n\t\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\t\ttail: '',\n\t\t\t\t} as CSSToken\n\t\t\t\t// @-W\n\t\t\t\tif (is.identifierStart(state.codeAt2)) return {\n\t\t\t\t\ttick: state.tick,\n\t\t\t\t\ttype: tt.ATWORD,\n\t\t\t\t\tcode: -1,\n\t\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\t\ttail: '',\n\t\t\t\t} as CSSToken\n\t\t\t\t// @-\\:\n\t\t\t\tif (is.validEscape(state.codeAt2, state.codeAt3)) return {\n\t\t\t\t\ttick: state.tick,\n\t\t\t\t\ttype: tt.ATWORD,\n\t\t\t\t\tcode: -1,\n\t\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\t\ttail: '',\n\t\t\t\t} as CSSToken\n\t\t\t}\n\t\t\t// @W\n\t\t\tif (is.identifierStart(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.ATWORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\t// @\\:\n\t\t\tif (is.validEscape(state.codeAt1, state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.ATWORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t}\n\t/* */\n\t/* https://drafts.csswg.org/css-syntax/#typedef-delim-token */\n\treturn {\n\t\ttick: state.tick,\n\t\ttype: tt.SYMBOL,\n\t\tcode: state.codeAt0,\n\t\tlead: '',\n\t\tdata: consumeAnyValue(state),\n\t\ttail: '',\n\t} as CSSToken\n}\n\n/** Consume and return a value. [↗](https://drafts.csswg.org/css-syntax/#consume-token) */\nconst consumeAnyValue = (state: CSSState) => {\n\tconst result = fromCharCode(state.codeAt0)\n\tstate.next()\n\treturn result\n}\n\n/** Consume and return an identifier value. [↗](https://drafts.csswg.org/css-syntax/#consume-an-identifier) */\nconst consumeIdentifierValue = (state: CSSState) => {\n\tlet result = ''\n\twhile (true) {\n\t\tswitch (true) {\n\t\t\tcase is.validEscape(state.codeAt0, state.codeAt1):\n\t\t\t\tresult += fromCharCode(state.codeAt0)\n\t\t\t\tstate.next()\n\t\t\tcase is.identifier(state.codeAt0):\n\t\t\t\tresult += fromCharCode(state.codeAt0)\n\t\t\t\tstate.next()\n\t\t\t\tcontinue\n\t\t}\n\t\tbreak\n\t}\n\treturn result\n}\n\n/** Consume and return an identifier or function token. [↗](https://drafts.csswg.org/css-syntax/#consume-an-identifier) */\nconst consumeIdentifierLikeToken = (state: CSSState, token: CSSToken) => {\n\tif (state.codeAt0 === cp.LEFT_PARENTHESIS) {\n\t\ttoken.code = 40\n\t\ttoken.type = tt.FUNCTION\n\t\ttoken.lead = token.data\n\t\ttoken.data = '('\n\t\tstate.next()\n\t}\n\treturn token\n}\n\n/** Consume and return a comment token. [↗](https://drafts.csswg.org/css-syntax/#consume-comment) */\nconst consumeCommentToken = (state: CSSState) => {\n\tconst token: CSSToken = {\n\t\ttick: state.tick,\n\t\ttype: tt.COMMENT,\n\t\tcode: -1,\n\t\tlead: '/*',\n\t\tdata: '',\n\t\ttail: '',\n\t}\n\tstate.next()\n\tstate.next()\n\twhile (state.tick < state.size) {\n\t\t// @ts-ignore\n\t\tif (state.codeAt0 === cp.ASTERISK && state.codeAt1 === cp.SOLIDUS) {\n\t\t\ttoken.tail = '*/'\n\t\t\tstate.next()\n\t\t\tstate.next()\n\t\t\tbreak\n\t\t}\n\t\ttoken.data += consumeAnyValue(state)\n\t}\n\treturn token\n}\n\n/** Consumes and returns a space token. [↗](https://drafts.csswg.org/css-syntax/#whitespace-token-diagram) */\nconst consumeSpaceToken = (state: CSSState) => {\n\tconst token: CSSToken = {\n\t\ttick: state.tick,\n\t\ttype: tt.SPACE,\n\t\tcode: -1,\n\t\tlead: '',\n\t\tdata: consumeAnyValue(state),\n\t\ttail: '',\n\t}\n\twhile (state.tick < state.size) {\n\t\tif (!is.space(state.codeAt0)) break\n\t\ttoken.data += consumeAnyValue(state)\n\t}\n\treturn token\n}\n\n/** Consumes and returns a string token. [↗](https://drafts.csswg.org/css-syntax/#string-token-diagram) */\nconst consumeStringToken = (state: CSSState) => {\n\tconst { codeAt0 } = state\n\tconst token: CSSToken = {\n\t\ttick: state.tick,\n\t\ttype: tt.STRING,\n\t\tcode: -1,\n\t\tlead: '',\n\t\tdata: consumeAnyValue(state),\n\t\ttail: '',\n\t}\n\twhile (state.tick < state.size) {\n\t\tswitch (true) {\n\t\t\tcase is.validEscape(state.codeAt0, state.codeAt1):\n\t\t\t\ttoken.data += consumeAnyValue(state)\n\t\t\tdefault:\n\t\t\t\ttoken.data += consumeAnyValue(state)\n\t\t\t\tcontinue\n\t\t\tcase state.codeAt0 === codeAt0:\n\t\t\t\ttoken.tail = consumeAnyValue(state)\n\t\t}\n\t\tbreak\n\t}\n\treturn token\n}\n\n/** Consumes and returns a number value after an additive symbol. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */\nexport const consumeNumberSansAdditiveValue = (state: CSSState) => {\n\tlet result = ''\n\tresult += consumeDigitValue(state)\n\tif (state.codeAt0 === cp.FULL_STOP && is.digit(state.codeAt1)) result += consumeAnyValue(state) + consumeAnyValue(state) + consumeDigitValue(state)\n\treturn result + consumeNumberSansDecimalValue(state)\n}\n\n/** Consumes and returns a number value after a decimal place. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */\nconst consumeNumberSansDecimalValue = (state: CSSState) => {\n\tlet result = ''\n\tresult += consumeDigitValue(state)\n\tif (state.codeAt0 === cp.LATIN_CAPITAL_LETTER_E || state.codeAt0 === cp.LATIN_SMALL_LETTER_E) {\n\t\tswitch (true) {\n\t\t\tcase (state.codeAt1 === cp.PLUS_SIGN || state.codeAt1 === cp.HYPHEN_MINUS):\n\t\t\t\tif (!is.digit(state.codeAt2)) break\n\t\t\t\tresult += consumeAnyValue(state)\n\t\t\tcase is.digit(state.codeAt1):\n\t\t\t\tresult += consumeAnyValue(state) + consumeAnyValue(state) + consumeDigitValue(state)\n\t\t}\n\t}\n\treturn result\n}\n\n/** Consumes and returns a digit value. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */\nconst consumeDigitValue = (state: CSSState) => {\n\tlet result = ''\n\twhile (state.tick < state.size) {\n\t\tif (!is.digit(state.codeAt0)) break\n\t\tresult += consumeAnyValue(state)\n\t}\n\treturn result\n}\n\n/** Consumes and returns a numeric unit value. [↗](https://drafts.csswg.org/css-syntax/#consume-numeric-token) */\nconst consumeNumericUnitValue = (state: CSSState) => (\n\tstate.codeAt0 === cp.HYPHEN_MINUS\n\t\t? state.codeAt1 === cp.HYPHEN_MINUS\n\t\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t\t: is.identifierStart(state.codeAt1)\n\t\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t\t: is.validEscape(state.codeAt1, state.codeAt2)\n\t\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t\t: ''\n\t: state.codeAt0 === cp.PERCENT_SIGN\n\t\t? consumeAnyValue(state)\n\t: is.identifierStart(state.codeAt0)\n\t\t? consumeAnyValue(state) + consumeIdentifierValue(state)\n\t: is.validEscape(state.codeAt0, state.codeAt1)\n\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t: ''\n)\n","import { CSSState, CSSIterator, CSSIteration } from './types/global/global.js'\nimport { consume } from './lib/consume.js'\n\n/** Returns a CSS iterator to yield tokens from the given CSS data. */\nexport const tokenize = (/** CSS data. */ data: string) => {\n\tlet size = data.length\n\tlet tick = 0\n\n\t/** Condition of the current tokenizer. */\n\tlet state: CSSState = {\n\t\tdata,\n\t\tsize,\n\t\ttick,\n\t\tcodeAt0: tick + 0 < size ? data.charCodeAt(tick + 0) : -1,\n\t\tcodeAt1: tick + 1 < size ? data.charCodeAt(tick + 1) : -1,\n\t\tcodeAt2: tick + 2 < size ? data.charCodeAt(tick + 2) : -1,\n\t\tcodeAt3: tick + 3 < size ? data.charCodeAt(tick + 3) : -1,\n\t\t/** Advances the unicode characters being read from the CSS data by one position. */\n\t\tnext() {\n\t\t\tstate.tick = ++tick\n\t\t\tstate.codeAt0 = state.codeAt1\n\t\t\tstate.codeAt1 = state.codeAt2\n\t\t\tstate.codeAt2 = state.codeAt3\n\t\t\tstate.codeAt3 = tick + 3 < size ? data.charCodeAt(tick + 3) : -1\n\t\t\treturn tick >= size\n\t\t}\n\t}\n\n\t/** Returns the most recent state and token yielded from the CSS iterator. */\n\tconst iterator: CSSIterator = ((): CSSIteration => (\n\t\tstate.tick >= state.size\n\t\t\t? {\n\t\t\t\tdone: true,\n\t\t\t\tvalue: { tick: state.tick, type: 0, code: -2, lead: '', data: '', tail: '' }\n\t\t\t}\n\t\t: {\n\t\t\tdone: false,\n\t\t\tvalue: consume(state),\n\t\t}\n\t)) as CSSIterator\n\n\titerator[Symbol.iterator] = () => ({ next: iterator })\n\n\treturn iterator\n}\n"],"names":["CHARACTER_TABULATION","LINE_FEED","FORM_FEED","CARRIAGE_RETURN","SPACE","QUOTATION_MARK","NUMBER_SIGN","PERCENT_SIGN","APOSTROPHE","LEFT_PARENTHESIS","ASTERISK","PLUS_SIGN","HYPHEN_MINUS","FULL_STOP","SOLIDUS","DIGIT_ZERO","DIGIT_NINE","COMMERCIAL_AT","LATIN_CAPITAL_LETTER_A","LATIN_CAPITAL_LETTER_E","LATIN_CAPITAL_LETTER_Z","REVERSE_SOLIDUS","LOW_LINE","LATIN_SMALL_LETTER_A","LATIN_SMALL_LETTER_E","LATIN_SMALL_LETTER_Z","NON_ASCII","digit","code","cp","identifier","identifierStart","space","validEscape","code1of2","code2of2","SYMBOL","COMMENT","WORD","FUNCTION","ATWORD","HASH","STRING","NUMBER","fromCharCode","String","consume","state","codeAt0","codeAt1","consumeCommentToken","is","consumeSpaceToken","consumeStringToken","tick","type","tt","lead","consumeAnyValue","data","consumeIdentifierValue","tail","codeAt2","consumeIdentifierLikeToken","consumeNumberSansAdditiveValue","consumeNumericUnitValue","consumeNumberSansDecimalValue","codeAt3","result","next","token","size","consumeDigitValue","tokenize","length","charCodeAt","iterator","done","value","Symbol"],"mappings":"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"} \ No newline at end of file diff --git a/dist/tokenizeSCSS.cjs b/dist/tokenizeSCSS.cjs new file mode 100644 index 0000000..c2f4169 --- /dev/null +++ b/dist/tokenizeSCSS.cjs @@ -0,0 +1,556 @@ +'use strict'; + +/** + * Unicode Character Codes (0x0000 - 0x0080) + * @see https://www.unicode.org/Public/UCD/latest/ucd/NamesList.txt + * @see https://unicode.org/charts/nameslist/n_0000.html + */ /** */ +/** ␉ */ +const CHARACTER_TABULATION = 0x0009; +/** ␊ */ +const LINE_FEED = 0x000A; +/** ␌ */ +const FORM_FEED = 0x000C; +/** ␍ */ +const CARRIAGE_RETURN = 0x000D; + +/** + * ASCII punctuation and symbols + * ===================================================================== */ /***/ + +/** ␠ */ +const SPACE$1 = 0x0020; +/** " */ +const QUOTATION_MARK = 0x0022; +/** # */ +const NUMBER_SIGN = 0x0023; +/** $ */ +const DOLLAR_SIGN = 0x0024; +/** ' */ +const APOSTROPHE = 0x0027; +/** ( */ +const LEFT_PARENTHESIS = 0x0028; +/** * */ +const ASTERISK = 0x002A; +/** + */ +const PLUS_SIGN = 0x002B; +/** - */ +const HYPHEN_MINUS = 0x002D; +/** . */ +const FULL_STOP = 0x002E; +/** / */ +const SOLIDUS = 0x002F; + +/* + * ASCII digits + * ========================================================================== */ + +/** 0 */ +const DIGIT_ZERO = 0x0030; +/** 9 */ +const DIGIT_NINE = 0x0039; +/** @ */ +const COMMERCIAL_AT = 0x0040; + +/** + * Uppercase Latin alphabet + * ===================================================================== */ /***/ + +/** A */ +const LATIN_CAPITAL_LETTER_A = 0x0041; +/** E */ +const LATIN_CAPITAL_LETTER_E = 0x0045; +/** Z */ +const LATIN_CAPITAL_LETTER_Z = 0x005A; +/** \ */ +const REVERSE_SOLIDUS = 0x005C; +/** _ */ +const LOW_LINE = 0x005F; + +/* + * Lowercase Latin alphabet + * ========================================================================== */ + +/** a */ +const LATIN_SMALL_LETTER_A = 0x0061; +/** e */ +const LATIN_SMALL_LETTER_E = 0x0065; +/** z */ +const LATIN_SMALL_LETTER_Z = 0x007A; + +/** + * Non-ASCII + * ===================================================================== */ /***/ + +/** � */ +const NON_ASCII = 0x0080; + +/** Returns whether the unicode value is a digit. [↗](https://drafts.csswg.org/css-syntax/#digit) */ +const digit = code => code >= DIGIT_ZERO && code <= DIGIT_NINE; + +/** Returns whether the unicode value is an identifier. [↗](https://drafts.csswg.org/css-syntax/#identifier-code-point) */ +const identifier = code => identifierStart(code) || code >= DIGIT_ZERO && code <= DIGIT_NINE || code === HYPHEN_MINUS; + +/** Returns whether the unicode value is an identifier-start. [↗](https://drafts.csswg.org/css-syntax/#identifier-start-code-point) */ +const identifierStart = code => code === LOW_LINE || code >= NON_ASCII || code >= LATIN_CAPITAL_LETTER_A && code <= LATIN_CAPITAL_LETTER_Z || code >= LATIN_SMALL_LETTER_A && code <= LATIN_SMALL_LETTER_Z; + +/** Returns whether the unicode value is a space. [↗](https://drafts.csswg.org/css-syntax/#whitespace) */ +const space = code => code === CHARACTER_TABULATION || code === LINE_FEED || code === FORM_FEED || code === CARRIAGE_RETURN || code === SPACE$1; + +/** Returns whether the unicode values are a valid escape. [↗](https://drafts.csswg.org/css-syntax/#starts-with-a-valid-escape) */ +const validEscape = (code1of2, code2of2) => code1of2 === REVERSE_SOLIDUS && !space(code2of2); + +/** [``](https://drafts.csswg.org/css-syntax/#typedef-delim-token) */ +const SYMBOL = 0x0001; + +/** [``](https://drafts.csswg.org/css-syntax/#comment-diagram) */ +const COMMENT = 0x0002; + +/** [``](https://drafts.csswg.org/css-syntax/#whitespace-token-diagram) */ +const SPACE = 0x0003; + +/** [``](https://drafts.csswg.org/css-syntax/#ident-token-diagram) */ +const WORD = 0x0004; + +/** [``](https://drafts.csswg.org/css-syntax/#function-token-diagram) */ +const FUNCTION = 0x0005; + +/** [``](https://drafts.csswg.org/css-syntax/#at-keyword-token-diagram) */ +const ATWORD = 0x0006; + +/** [``](https://drafts.csswg.org/css-syntax/#hash-token-diagram) */ +const HASH = 0x0007; + +/** [``](https://drafts.csswg.org/css-syntax/#string-token-diagram) */ +const STRING = 0x0008; + +/** [``](https://drafts.csswg.org/css-syntax/#consume-numeric-token) */ +const NUMBER = 0x0009; + +/** [``](https://sass-lang.com/documentation/variables) */ +const VARIABLE = 0x0010; + +const { + fromCharCode +} = String; + +/** Consumes and returns a token. [↗](https://drafts.csswg.org/css-syntax/#consume-token) */ +const consume = state => { + switch (true) { + /* + /* https://drafts.csswg.org/css-syntax/#consume-comment */ + case state.codeAt0 === SOLIDUS: + if (state.codeAt1 === ASTERISK) return consumeCommentToken(state); + break; + /* + /* https://drafts.csswg.org/css-syntax/#whitespace-token-diagram */ + case space(state.codeAt0): + return consumeSpaceToken(state); + /* + /* https://drafts.csswg.org/css-syntax/#string-token-diagram */ + case state.codeAt0 === QUOTATION_MARK: + case state.codeAt0 === APOSTROPHE: + // "" || '' + return consumeStringToken(state); + /* + /* https://drafts.csswg.org/css-syntax/#hash-token-diagram */ + case state.codeAt0 === NUMBER_SIGN: + // #W + if (identifier(state.codeAt1)) return { + tick: state.tick, + type: HASH, + code: -1, + lead: consumeAnyValue(state), + data: consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }; + // #\: + if (validEscape(state.codeAt1, state.codeAt2)) return { + tick: state.tick, + type: HASH, + code: -1, + lead: consumeAnyValue(state), + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }; + break; + /* + /* https://sass-lang.com/documentation/variables */ + case state.codeAt0 === DOLLAR_SIGN: + // $W + if (identifier(state.codeAt1)) return { + tick: state.tick, + type: VARIABLE, + code: -1, + lead: consumeAnyValue(state), + data: consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }; + // $\: + if (validEscape(state.codeAt1, state.codeAt2)) return { + tick: state.tick, + type: VARIABLE, + code: -1, + lead: consumeAnyValue(state), + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }; + break; + /* */ + /* https://drafts.csswg.org/css-syntax/#ident-token-diagram */ + case state.codeAt0 === REVERSE_SOLIDUS: + if (validEscape(state.codeAt0, state.codeAt1)) return consumeIdentifierLikeToken(state, { + tick: state.tick, + type: WORD, + code: -1, + lead: '', + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }); + break; + case identifierStart(state.codeAt0): + // W + return consumeIdentifierLikeToken(state, { + tick: state.tick, + type: WORD, + code: -1, + lead: '', + data: consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }); + case state.codeAt0 === HYPHEN_MINUS: + // -W + if (state.codeAt1 === HYPHEN_MINUS || identifierStart(state.codeAt1)) return consumeIdentifierLikeToken(state, { + tick: state.tick, + type: WORD, + code: -1, + lead: '', + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }); + // -\: + if (validEscape(state.codeAt1, state.codeAt2)) return consumeIdentifierLikeToken(state, { + tick: state.tick, + type: WORD, + code: -1, + lead: '', + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }); + /* */ + /* https://drafts.csswg.org/css-syntax/#number-token-diagram */ + // -8 + if (digit(state.codeAt1)) return { + tick: state.tick, + type: NUMBER, + code: -1, + lead: '', + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansAdditiveValue(state), + tail: consumeNumericUnitValue(state) + }; + // -.8 + if (state.codeAt1 === FULL_STOP && digit(state.codeAt2)) return { + tick: state.tick, + type: NUMBER, + code: -1, + lead: '', + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state), + tail: consumeNumericUnitValue(state) + }; + case state.codeAt0 === FULL_STOP: + // .8 + if (digit(state.codeAt1)) return { + tick: state.tick, + type: NUMBER, + code: -1, + lead: '', + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state), + tail: consumeNumericUnitValue(state) + }; + break; + case state.codeAt0 === PLUS_SIGN: + // +8 + if (digit(state.codeAt1)) return { + tick: state.tick, + type: NUMBER, + code: -1, + lead: '', + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansAdditiveValue(state), + tail: consumeNumericUnitValue(state) + }; + // +.8 + if (state.codeAt1 === FULL_STOP && digit(state.codeAt2)) return { + tick: state.tick, + type: NUMBER, + code: -1, + lead: '', + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state), + tail: consumeNumericUnitValue(state) + }; + break; + case digit(state.codeAt0): + // 8 + return { + tick: state.tick, + type: NUMBER, + code: -1, + lead: '', + data: consumeAnyValue(state) + consumeNumberSansAdditiveValue(state), + tail: consumeNumericUnitValue(state) + }; + /* */ + /* https://drafts.csswg.org/css-syntax/#at-keyword-token-diagram */ + case state.codeAt0 === COMMERCIAL_AT: + if (state.codeAt1 === HYPHEN_MINUS) { + // @-- + if (state.codeAt2 === HYPHEN_MINUS) return { + tick: state.tick, + type: ATWORD, + code: -1, + lead: consumeAnyValue(state), + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }; + // @-W + if (identifierStart(state.codeAt2)) return { + tick: state.tick, + type: ATWORD, + code: -1, + lead: consumeAnyValue(state), + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }; + // @-\: + if (validEscape(state.codeAt2, state.codeAt3)) return { + tick: state.tick, + type: ATWORD, + code: -1, + lead: consumeAnyValue(state), + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }; + } + // @W + if (identifierStart(state.codeAt1)) return { + tick: state.tick, + type: ATWORD, + code: -1, + lead: consumeAnyValue(state), + data: consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }; + // @\: + if (validEscape(state.codeAt1, state.codeAt2)) return { + tick: state.tick, + type: ATWORD, + code: -1, + lead: consumeAnyValue(state), + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }; + break; + } + /* */ + /* https://drafts.csswg.org/css-syntax/#typedef-delim-token */ + return { + tick: state.tick, + type: SYMBOL, + code: state.codeAt0, + lead: '', + data: consumeAnyValue(state), + tail: '' + }; +}; + +/** Consume and return a value. [↗](https://drafts.csswg.org/css-syntax/#consume-token) */ +const consumeAnyValue = state => { + const result = fromCharCode(state.codeAt0); + state.next(); + return result; +}; + +/** Consume and return an identifier value. [↗](https://drafts.csswg.org/css-syntax/#consume-an-identifier) */ +const consumeIdentifierValue = state => { + let result = ''; + while (true) { + switch (true) { + case validEscape(state.codeAt0, state.codeAt1): + result += fromCharCode(state.codeAt0); + state.next(); + case identifier(state.codeAt0): + result += fromCharCode(state.codeAt0); + state.next(); + continue; + } + break; + } + return result; +}; + +/** Consume and return an identifier or function token. [↗](https://drafts.csswg.org/css-syntax/#consume-an-identifier) */ +const consumeIdentifierLikeToken = (state, token) => { + if (state.codeAt0 === LEFT_PARENTHESIS) { + token.code = 40; + token.type = FUNCTION; + token.lead = token.data; + token.data = '('; + state.next(); + } + return token; +}; + +/** Consume and return a comment token. [↗](https://drafts.csswg.org/css-syntax/#consume-comment) */ +const consumeCommentToken = state => { + const token = { + tick: state.tick, + type: COMMENT, + code: -1, + lead: '/*', + data: '', + tail: '' + }; + state.next(); + state.next(); + while (state.tick < state.size) { + // @ts-ignore + if (state.codeAt0 === ASTERISK && state.codeAt1 === SOLIDUS) { + token.tail = '*/'; + state.next(); + state.next(); + break; + } + token.data += consumeAnyValue(state); + } + return token; +}; + +/** Consumes and returns a space token. [↗](https://drafts.csswg.org/css-syntax/#whitespace-token-diagram) */ +const consumeSpaceToken = state => { + const token = { + tick: state.tick, + type: SPACE, + code: -1, + lead: '', + data: consumeAnyValue(state), + tail: '' + }; + while (state.tick < state.size) { + if (!space(state.codeAt0)) break; + token.data += consumeAnyValue(state); + } + return token; +}; + +/** Consumes and returns a string token. [↗](https://drafts.csswg.org/css-syntax/#string-token-diagram) */ +const consumeStringToken = state => { + const { + codeAt0 + } = state; + const token = { + tick: state.tick, + type: STRING, + code: -1, + lead: '', + data: consumeAnyValue(state), + tail: '' + }; + while (state.tick < state.size) { + switch (true) { + case validEscape(state.codeAt0, state.codeAt1): + token.data += consumeAnyValue(state); + default: + token.data += consumeAnyValue(state); + continue; + case state.codeAt0 === codeAt0: + token.tail = consumeAnyValue(state); + } + break; + } + return token; +}; + +/** Consumes and returns a number value after an additive symbol. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */ +const consumeNumberSansAdditiveValue = state => { + let result = ''; + result += consumeDigitValue(state); + if (state.codeAt0 === FULL_STOP && digit(state.codeAt1)) result += consumeAnyValue(state) + consumeAnyValue(state) + consumeDigitValue(state); + return result + consumeNumberSansDecimalValue(state); +}; + +/** Consumes and returns a number value after a decimal place. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */ +const consumeNumberSansDecimalValue = state => { + let result = ''; + result += consumeDigitValue(state); + if (state.codeAt0 === LATIN_CAPITAL_LETTER_E || state.codeAt0 === LATIN_SMALL_LETTER_E) { + switch (true) { + case state.codeAt1 === PLUS_SIGN || state.codeAt1 === HYPHEN_MINUS: + if (!digit(state.codeAt2)) break; + result += consumeAnyValue(state); + case digit(state.codeAt1): + result += consumeAnyValue(state) + consumeAnyValue(state) + consumeDigitValue(state); + } + } + return result; +}; + +/** Consumes and returns a digit value. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */ +const consumeDigitValue = state => { + let result = ''; + while (state.tick < state.size) { + if (!digit(state.codeAt0)) break; + result += consumeAnyValue(state); + } + return result; +}; + +/** Consumes and returns a numeric unit value. [↗](https://drafts.csswg.org/css-syntax/#consume-an-identifier) */ +const consumeNumericUnitValue = state => state.codeAt0 === HYPHEN_MINUS ? state.codeAt1 === HYPHEN_MINUS ? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state) : identifierStart(state.codeAt1) ? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state) : validEscape(state.codeAt1, state.codeAt2) ? consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state) : '' : identifierStart(state.codeAt0) ? consumeAnyValue(state) + consumeIdentifierValue(state) : validEscape(state.codeAt0, state.codeAt1) ? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state) : ''; + +/** Returns a CSS iterator to yield tokens from the given CSS data. */ +const tokenize = data => { + let size = data.length; + let tick = 0; + + /** Condition of the current tokenizer. */ + let state = { + data, + size, + tick, + codeAt0: tick + 0 < size ? data.charCodeAt(tick + 0) : -1, + codeAt1: tick + 1 < size ? data.charCodeAt(tick + 1) : -1, + codeAt2: tick + 2 < size ? data.charCodeAt(tick + 2) : -1, + codeAt3: tick + 3 < size ? data.charCodeAt(tick + 3) : -1, + /** Advances the unicode characters being read from the CSS data by one position. */ + next() { + state.tick = ++tick; + state.codeAt0 = state.codeAt1; + state.codeAt1 = state.codeAt2; + state.codeAt2 = state.codeAt3; + state.codeAt3 = tick + 3 < size ? data.charCodeAt(tick + 3) : -1; + return tick >= size; + } + }; + + /** Returns the most recent state and token yielded from the CSS iterator. */ + const iterator = () => state.tick >= state.size ? { + done: true, + value: { + tick: state.tick, + type: 0, + code: -2, + lead: '', + data: '', + tail: '' + } + } : { + done: false, + value: consume(state) + }; + iterator[Symbol.iterator] = () => ({ + next: iterator + }); + return iterator; +}; + +exports.tokenize = tokenize; +//# sourceMappingURL=tokenizeSCSS.cjs.map diff --git a/dist/tokenizeSCSS.cjs.map b/dist/tokenizeSCSS.cjs.map new file mode 100644 index 0000000..323195a --- /dev/null +++ b/dist/tokenizeSCSS.cjs.map @@ -0,0 +1 @@ +{"version":3,"file":"tokenizeSCSS.cjs","sources":["../src/lib/code-points.ts","../src/lib/is.ts","../src/lib/token-types.scss.ts","../src/lib/consume.scss.ts","../src/tokenize.scss.ts"],"sourcesContent":["/**\n * Unicode Character Codes (0x0000 - 0x0080)\n * @see https://www.unicode.org/Public/UCD/latest/ucd/NamesList.txt\n * @see https://unicode.org/charts/nameslist/n_0000.html\n *//** */\n\n/**\n * C0 controls\n * ===================================================================== *//***/\n\n/** ␀ */ export const NULL = 0x0000\n/** ␁ */ export const START_OF_HEADING = 0x0001\n/** ␂ */ export const START_OF_TEXT = 0x0002\n/** ␃ */ export const END_OF_TEXT = 0x0003\n/** ␄ */ export const END_OF_TRANSMISSION = 0x0004\n/** ␅ */ export const ENQUIRY = 0x0005\n/** ␆ */ export const ACKNOWLEDGE = 0x0006\n/** ␇ */ export const BELL = 0x0007\n/** ␈ */ export const BACKSPACE = 0x0008\n/** ␉ */ export const CHARACTER_TABULATION = 0x0009\n/** ␊ */ export const LINE_FEED = 0x000A\n/** ␋ */ export const LINE_TABULATION = 0x000B\n/** ␌ */ export const FORM_FEED = 0x000C\n/** ␍ */ export const CARRIAGE_RETURN = 0x000D\n/** ␎ */ export const SHIFT_OUT = 0x000E\n/** ␏ */ export const SHIFT_IN = 0x000F\n/** ␐ */ export const DATA_LINK_ESCAPE = 0x0010\n/** ␑ */ export const DEVICE_CONTROL_ONE = 0x0011\n/** ␒ */ export const DEVICE_CONTROL_TWO = 0x0012\n/** ␓ */ export const DEVICE_CONTROL_THREE = 0x0013\n/** ␔ */ export const DEVICE_CONTROL_FOUR = 0x0014\n/** ␕ */ export const NEGATIVE_ACKNOWLEDGE = 0x0015\n/** ␖ */ export const SYNCHRONOUS_IDLE = 0x0016\n/** ␗ */ export const END_OF_TRANSMISSION_BLOCK = 0x0017\n/** ␘ */ export const CANCEL = 0x0018\n/** ␙ */ export const END_OF_MEDIUM = 0x0019\n/** ␚ */ export const SUBSTITUTE = 0x001A\n/** ␛ */ export const ESCAPE = 0x001B\n/** ␜ */ export const INFORMATION_SEPARATOR_FOUR = 0x001C\n/** ␝ */ export const INFORMATION_SEPARATOR_THREE = 0x001D\n/** ␞ */ export const INFORMATION_SEPARATOR_TWO = 0x001E\n/** ␟ */ export const INFORMATION_SEPARATOR_ONE = 0x001F\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** ␠ */ export const SPACE = 0x0020\n/** ! */ export const EXCLAMATION_MARK = 0x0021\n/** \" */ export const QUOTATION_MARK = 0x0022\n/** # */ export const NUMBER_SIGN = 0x0023\n/** $ */ export const DOLLAR_SIGN = 0x0024\n/** % */ export const PERCENT_SIGN = 0x0025\n/** & */ export const AMPERSAND = 0x0026\n/** ' */ export const APOSTROPHE = 0x0027\n/** ( */ export const LEFT_PARENTHESIS = 0x0028\n/** ) */ export const RIGHT_PARENTHESIS = 0x0029\n/** * */ export const ASTERISK = 0x002A\n/** + */ export const PLUS_SIGN = 0x002B\n/** , */ export const COMMA = 0x002C\n/** - */ export const HYPHEN_MINUS = 0x002D\n/** . */ export const FULL_STOP = 0x002E\n/** / */ export const SOLIDUS = 0x002F\n\n/*\n * ASCII digits\n * ========================================================================== */\n\n/** 0 */ export const DIGIT_ZERO = 0x0030\n/** 1 */ export const DIGIT_ONE = 0x0031\n/** 2 */ export const DIGIT_TWO = 0x0032\n/** 3 */ export const DIGIT_THREE = 0x0033\n/** 4 */ export const DIGIT_FOUR = 0x0034\n/** 5 */ export const DIGIT_FIVE = 0x0035\n/** 6 */ export const DIGIT_SIX = 0x0036\n/** 7 */ export const DIGIT_SEVEN = 0x0037\n/** 8 */ export const DIGIT_EIGHT = 0x0038\n/** 9 */ export const DIGIT_NINE = 0x0039\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** : */ export const COLON = 0x003A\n/** ; */ export const SEMICOLON = 0x003B\n/** < */ export const LESS_THAN_SIGN = 0x003C\n/** = */ export const EQUALS_SIGN = 0x003D\n/** > */ export const GREATER_THAN_SIGN = 0x003E\n/** ? */ export const QUESTION_MARK = 0x003F\n/** @ */ export const COMMERCIAL_AT = 0x0040\n\n/**\n * Uppercase Latin alphabet\n * ===================================================================== *//***/\n\n/** A */ export const LATIN_CAPITAL_LETTER_A = 0x0041\n/** B */ export const LATIN_CAPITAL_LETTER_B = 0x0042\n/** C */ export const LATIN_CAPITAL_LETTER_C = 0x0043\n/** D */ export const LATIN_CAPITAL_LETTER_D = 0x0044\n/** E */ export const LATIN_CAPITAL_LETTER_E = 0x0045\n/** F */ export const LATIN_CAPITAL_LETTER_F = 0x0046\n/** G */ export const LATIN_CAPITAL_LETTER_G = 0x0047\n/** H */ export const LATIN_CAPITAL_LETTER_H = 0x0048\n/** I */ export const LATIN_CAPITAL_LETTER_I = 0x0049\n/** J */ export const LATIN_CAPITAL_LETTER_J = 0x004A\n/** K */ export const LATIN_CAPITAL_LETTER_K = 0x004B\n/** L */ export const LATIN_CAPITAL_LETTER_L = 0x004C\n/** M */ export const LATIN_CAPITAL_LETTER_M = 0x004D\n/** N */ export const LATIN_CAPITAL_LETTER_N = 0x004E\n/** O */ export const LATIN_CAPITAL_LETTER_O = 0x004F\n/** P */ export const LATIN_CAPITAL_LETTER_P = 0x0050\n/** Q */ export const LATIN_CAPITAL_LETTER_Q = 0x0051\n/** R */ export const LATIN_CAPITAL_LETTER_R = 0x0052\n/** S */ export const LATIN_CAPITAL_LETTER_S = 0x0053\n/** T */ export const LATIN_CAPITAL_LETTER_T = 0x0054\n/** U */ export const LATIN_CAPITAL_LETTER_U = 0x0055\n/** V */ export const LATIN_CAPITAL_LETTER_V = 0x0056\n/** W */ export const LATIN_CAPITAL_LETTER_W = 0x0057\n/** X */ export const LATIN_CAPITAL_LETTER_X = 0x0058\n/** Y */ export const LATIN_CAPITAL_LETTER_Y = 0x0059\n/** Z */ export const LATIN_CAPITAL_LETTER_Z = 0x005A\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** [ */ export const LEFT_SQUARE_BRACKET = 0x005B\n/** \\ */ export const REVERSE_SOLIDUS = 0x005C\n/** ] */ export const RIGHT_SQUARE_BRACKET = 0x005D\n/** ^ */ export const CIRCUMFLEX_ACCENT = 0x005E\n/** _ */ export const LOW_LINE = 0x005F\n/** ` */ export const GRAVE_ACCENT = 0x0060\n\n/*\n * Lowercase Latin alphabet\n * ========================================================================== */\n\n/** a */ export const LATIN_SMALL_LETTER_A = 0x0061\n/** b */ export const LATIN_SMALL_LETTER_B = 0x0062\n/** c */ export const LATIN_SMALL_LETTER_C = 0x0063\n/** d */ export const LATIN_SMALL_LETTER_D = 0x0064\n/** e */ export const LATIN_SMALL_LETTER_E = 0x0065\n/** f */ export const LATIN_SMALL_LETTER_F = 0x0066\n/** g */ export const LATIN_SMALL_LETTER_G = 0x0067\n/** h */ export const LATIN_SMALL_LETTER_H = 0x0068\n/** i */ export const LATIN_SMALL_LETTER_I = 0x0069\n/** j */ export const LATIN_SMALL_LETTER_J = 0x006A\n/** k */ export const LATIN_SMALL_LETTER_K = 0x006B\n/** l */ export const LATIN_SMALL_LETTER_L = 0x006C\n/** m */ export const LATIN_SMALL_LETTER_M = 0x006D\n/** n */ export const LATIN_SMALL_LETTER_N = 0x006E\n/** o */ export const LATIN_SMALL_LETTER_O = 0x006F\n/** p */ export const LATIN_SMALL_LETTER_P = 0x0070\n/** q */ export const LATIN_SMALL_LETTER_Q = 0x0071\n/** r */ export const LATIN_SMALL_LETTER_R = 0x0072\n/** s */ export const LATIN_SMALL_LETTER_S = 0x0073\n/** t */ export const LATIN_SMALL_LETTER_T = 0x0074\n/** u */ export const LATIN_SMALL_LETTER_U = 0x0075\n/** v */ export const LATIN_SMALL_LETTER_V = 0x0076\n/** w */ export const LATIN_SMALL_LETTER_W = 0x0077\n/** x */ export const LATIN_SMALL_LETTER_X = 0x0078\n/** y */ export const LATIN_SMALL_LETTER_Y = 0x0079\n/** z */ export const LATIN_SMALL_LETTER_Z = 0x007A\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** { */ export const LEFT_CURLY_BRACKET = 0x007B\n/** | */ export const VERTICAL_LINE = 0x007C\n/** } */ export const RIGHT_CURLY_BRACKET = 0x007D\n/** ~ */ export const TILDE = 0x007E\n\n/**\n * Control character\n * ===================================================================== *//***/\n\n/** ␡ */ export const DELETE = 0x007F\n\n/**\n * Non-ASCII\n * ===================================================================== *//***/\n\n/** � */ export const NON_ASCII = 0x0080\n\n/**\n * EOF\n * ===================================================================== *//***/\n\n/** ⏏ */ export const EOF = -0x0001\n","import * as cp from './code-points.js'\n\n/** Returns whether the unicode value is a digit. [↗](https://drafts.csswg.org/css-syntax/#digit) */\nexport const digit = (code: number) => code >= cp.DIGIT_ZERO && code <= cp.DIGIT_NINE\n\n/** Returns whether the unicode value is an identifier. [↗](https://drafts.csswg.org/css-syntax/#identifier-code-point) */\nexport const identifier = (code: number) => (\n\tidentifierStart(code) ||\n\t(code >= cp.DIGIT_ZERO && code <= cp.DIGIT_NINE) ||\n\t(code === cp.HYPHEN_MINUS)\n)\n\n/** Returns whether the unicode value is an identifier-start. [↗](https://drafts.csswg.org/css-syntax/#identifier-start-code-point) */\nexport const identifierStart = (code: number) => (\n\t(code === cp.LOW_LINE) ||\n\t(code >= cp.NON_ASCII) ||\n\t(code >= cp.LATIN_CAPITAL_LETTER_A && code <= cp.LATIN_CAPITAL_LETTER_Z) ||\n\t(code >= cp.LATIN_SMALL_LETTER_A && code <= cp.LATIN_SMALL_LETTER_Z)\n)\n\n/** Returns whether the unicode value is a space. [↗](https://drafts.csswg.org/css-syntax/#whitespace) */\nexport const space = (code: number) => (\n\tcode === cp.CHARACTER_TABULATION\n\t|| code === cp.LINE_FEED\n\t|| code === cp.FORM_FEED\n\t|| code === cp.CARRIAGE_RETURN\n\t|| code === cp.SPACE\n)\n\n/** Returns whether the unicode values are a valid escape. [↗](https://drafts.csswg.org/css-syntax/#starts-with-a-valid-escape) */\nexport const validEscape = (code1of2: number, code2of2: number) => (\n\tcode1of2 === cp.REVERSE_SOLIDUS\n\t&& !space(code2of2)\n)\n","/** [``](https://drafts.csswg.org/css-syntax/#typedef-delim-token) */\nexport const SYMBOL = 0x0001\n\n/** [``](https://drafts.csswg.org/css-syntax/#comment-diagram) */\nexport const COMMENT = 0x0002\n\n/** [``](https://drafts.csswg.org/css-syntax/#whitespace-token-diagram) */\nexport const SPACE = 0x0003\n\n/** [``](https://drafts.csswg.org/css-syntax/#ident-token-diagram) */\nexport const WORD = 0x0004\n\n/** [``](https://drafts.csswg.org/css-syntax/#function-token-diagram) */\nexport const FUNCTION = 0x0005\n\n/** [``](https://drafts.csswg.org/css-syntax/#at-keyword-token-diagram) */\nexport const ATWORD = 0x0006\n\n/** [``](https://drafts.csswg.org/css-syntax/#hash-token-diagram) */\nexport const HASH = 0x0007\n\n/** [``](https://drafts.csswg.org/css-syntax/#string-token-diagram) */\nexport const STRING = 0x0008\n\n/** [``](https://drafts.csswg.org/css-syntax/#consume-numeric-token) */\nexport const NUMBER = 0x0009\n\n/** [``](https://sass-lang.com/documentation/variables) */\nexport const VARIABLE = 0x0010\n","import { CSSState, CSSToken } from '../types/global/global.js'\n\nimport * as cp from './code-points.js'\nimport * as is from './is.js'\nimport * as tt from './token-types.scss.js'\n\nconst { fromCharCode } = String\n\n/** Consumes and returns a token. [↗](https://drafts.csswg.org/css-syntax/#consume-token) */\nexport const consume = (\n\t/** Condition of the current tokenizer. */\n\tstate: CSSState\n) => {\n\tswitch (true) {\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#consume-comment */\n\t\tcase state.codeAt0 === cp.SOLIDUS:\n\t\t\tif (state.codeAt1 === cp.ASTERISK) return consumeCommentToken(state)\n\t\t\tbreak\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#whitespace-token-diagram */\n\t\tcase is.space(state.codeAt0):\n\t\t\treturn consumeSpaceToken(state)\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#string-token-diagram */\n\t\tcase state.codeAt0 === cp.QUOTATION_MARK:\n\t\tcase state.codeAt0 === cp.APOSTROPHE:\n\t\t\t// \"\" || ''\n\t\t\treturn consumeStringToken(state)\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#hash-token-diagram */\n\t\tcase state.codeAt0 === cp.NUMBER_SIGN:\n\t\t\t// #W\n\t\t\tif (is.identifier(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.HASH,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\t// #\\:\n\t\t\tif (is.validEscape(state.codeAt1, state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.HASH,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t\t/* \n\t\t/* https://sass-lang.com/documentation/variables */\n\t\tcase state.codeAt0 === cp.DOLLAR_SIGN:\n\t\t\t// $W\n\t\t\tif (is.identifier(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.VARIABLE,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\t// $\\:\n\t\t\tif (is.validEscape(state.codeAt1, state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.VARIABLE,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t\t/* */\n\t\t/* https://drafts.csswg.org/css-syntax/#ident-token-diagram */\n\t\tcase state.codeAt0 === cp.REVERSE_SOLIDUS:\n\t\t\tif (is.validEscape(state.codeAt0, state.codeAt1)) return consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\t\tbreak\n\t\tcase is.identifierStart(state.codeAt0):\n\t\t\t// W\n\t\t\treturn consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\tcase state.codeAt0 === cp.HYPHEN_MINUS:\n\t\t\t// -W\n\t\t\tif (state.codeAt1 === cp.HYPHEN_MINUS || is.identifierStart(state.codeAt1)) return consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\t\t// -\\:\n\t\t\tif (is.validEscape(state.codeAt1, state.codeAt2)) return consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\t/* */\n\t\t/* https://drafts.csswg.org/css-syntax/#number-token-diagram */\n\t\t\t// -8\n\t\t\tif (is.digit(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansAdditiveValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\t// -.8\n\t\t\tif (state.codeAt1 === cp.FULL_STOP && is.digit(state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\tcase state.codeAt0 === cp.FULL_STOP:\n\t\t\t// .8\n\t\t\tif (is.digit(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t\tcase state.codeAt0 === cp.PLUS_SIGN:\n\t\t\t// +8\n\t\t\tif (is.digit(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansAdditiveValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\t// +.8\n\t\t\tif (state.codeAt1 === cp.FULL_STOP && is.digit(state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t\tcase is.digit(state.codeAt0):\n\t\t\t// 8\n\t\t\treturn {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeNumberSansAdditiveValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t/* */\n\t\t/* https://drafts.csswg.org/css-syntax/#at-keyword-token-diagram */\n\t\tcase state.codeAt0 === cp.COMMERCIAL_AT:\n\t\t\tif (state.codeAt1 === cp.HYPHEN_MINUS) {\n\t\t\t\t// @--\n\t\t\t\tif (state.codeAt2 === cp.HYPHEN_MINUS) return {\n\t\t\t\t\ttick: state.tick,\n\t\t\t\t\ttype: tt.ATWORD,\n\t\t\t\t\tcode: -1,\n\t\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\t\ttail: '',\n\t\t\t\t} as CSSToken\n\t\t\t\t// @-W\n\t\t\t\tif (is.identifierStart(state.codeAt2)) return {\n\t\t\t\t\ttick: state.tick,\n\t\t\t\t\ttype: tt.ATWORD,\n\t\t\t\t\tcode: -1,\n\t\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\t\ttail: '',\n\t\t\t\t} as CSSToken\n\t\t\t\t// @-\\:\n\t\t\t\tif (is.validEscape(state.codeAt2, state.codeAt3)) return {\n\t\t\t\t\ttick: state.tick,\n\t\t\t\t\ttype: tt.ATWORD,\n\t\t\t\t\tcode: -1,\n\t\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\t\ttail: '',\n\t\t\t\t} as CSSToken\n\t\t\t}\n\t\t\t// @W\n\t\t\tif (is.identifierStart(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.ATWORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\t// @\\:\n\t\t\tif (is.validEscape(state.codeAt1, state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.ATWORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t}\n\t/* */\n\t/* https://drafts.csswg.org/css-syntax/#typedef-delim-token */\n\treturn {\n\t\ttick: state.tick,\n\t\ttype: tt.SYMBOL,\n\t\tcode: state.codeAt0,\n\t\tlead: '',\n\t\tdata: consumeAnyValue(state),\n\t\ttail: '',\n\t} as CSSToken\n}\n\n/** Consume and return a value. [↗](https://drafts.csswg.org/css-syntax/#consume-token) */\nconst consumeAnyValue = (state: CSSState) => {\n\tconst result = fromCharCode(state.codeAt0)\n\tstate.next()\n\treturn result\n}\n\n/** Consume and return an identifier value. [↗](https://drafts.csswg.org/css-syntax/#consume-an-identifier) */\nconst consumeIdentifierValue = (state: CSSState) => {\n\tlet result = ''\n\twhile (true) {\n\t\tswitch (true) {\n\t\t\tcase is.validEscape(state.codeAt0, state.codeAt1):\n\t\t\t\tresult += fromCharCode(state.codeAt0)\n\t\t\t\tstate.next()\n\t\t\tcase is.identifier(state.codeAt0):\n\t\t\t\tresult += fromCharCode(state.codeAt0)\n\t\t\t\tstate.next()\n\t\t\t\tcontinue\n\t\t}\n\t\tbreak\n\t}\n\treturn result\n}\n\n/** Consume and return an identifier or function token. [↗](https://drafts.csswg.org/css-syntax/#consume-an-identifier) */\nconst consumeIdentifierLikeToken = (state: CSSState, token: CSSToken) => {\n\tif (state.codeAt0 === cp.LEFT_PARENTHESIS) {\n\t\ttoken.code = 40\n\t\ttoken.type = tt.FUNCTION\n\t\ttoken.lead = token.data\n\t\ttoken.data = '('\n\t\tstate.next()\n\t}\n\treturn token\n}\n\n/** Consume and return a comment token. [↗](https://drafts.csswg.org/css-syntax/#consume-comment) */\nconst consumeCommentToken = (state: CSSState) => {\n\tconst token: CSSToken = {\n\t\ttick: state.tick,\n\t\ttype: tt.COMMENT,\n\t\tcode: -1,\n\t\tlead: '/*',\n\t\tdata: '',\n\t\ttail: '',\n\t}\n\tstate.next()\n\tstate.next()\n\twhile (state.tick < state.size) {\n\t\t// @ts-ignore\n\t\tif (state.codeAt0 === cp.ASTERISK && state.codeAt1 === cp.SOLIDUS) {\n\t\t\ttoken.tail = '*/'\n\t\t\tstate.next()\n\t\t\tstate.next()\n\t\t\tbreak\n\t\t}\n\t\ttoken.data += consumeAnyValue(state)\n\t}\n\treturn token\n}\n\n/** Consumes and returns a space token. [↗](https://drafts.csswg.org/css-syntax/#whitespace-token-diagram) */\nconst consumeSpaceToken = (state: CSSState) => {\n\tconst token: CSSToken = {\n\t\ttick: state.tick,\n\t\ttype: tt.SPACE,\n\t\tcode: -1,\n\t\tlead: '',\n\t\tdata: consumeAnyValue(state),\n\t\ttail: '',\n\t}\n\twhile (state.tick < state.size) {\n\t\tif (!is.space(state.codeAt0)) break\n\t\ttoken.data += consumeAnyValue(state)\n\t}\n\treturn token\n}\n\n/** Consumes and returns a string token. [↗](https://drafts.csswg.org/css-syntax/#string-token-diagram) */\nconst consumeStringToken = (state: CSSState) => {\n\tconst { codeAt0 } = state\n\tconst token: CSSToken = {\n\t\ttick: state.tick,\n\t\ttype: tt.STRING,\n\t\tcode: -1,\n\t\tlead: '',\n\t\tdata: consumeAnyValue(state),\n\t\ttail: '',\n\t}\n\twhile (state.tick < state.size) {\n\t\tswitch (true) {\n\t\t\tcase is.validEscape(state.codeAt0, state.codeAt1):\n\t\t\t\ttoken.data += consumeAnyValue(state)\n\t\t\tdefault:\n\t\t\t\ttoken.data += consumeAnyValue(state)\n\t\t\t\tcontinue\n\t\t\tcase state.codeAt0 === codeAt0:\n\t\t\t\ttoken.tail = consumeAnyValue(state)\n\t\t}\n\t\tbreak\n\t}\n\treturn token\n}\n\n/** Consumes and returns a number value after an additive symbol. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */\nexport const consumeNumberSansAdditiveValue = (state: CSSState) => {\n\tlet result = ''\n\tresult += consumeDigitValue(state)\n\tif (state.codeAt0 === cp.FULL_STOP && is.digit(state.codeAt1)) result += consumeAnyValue(state) + consumeAnyValue(state) + consumeDigitValue(state)\n\treturn result + consumeNumberSansDecimalValue(state)\n}\n\n/** Consumes and returns a number value after a decimal place. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */\nconst consumeNumberSansDecimalValue = (state: CSSState) => {\n\tlet result = ''\n\tresult += consumeDigitValue(state)\n\tif (state.codeAt0 === cp.LATIN_CAPITAL_LETTER_E || state.codeAt0 === cp.LATIN_SMALL_LETTER_E) {\n\t\tswitch (true) {\n\t\t\tcase (state.codeAt1 === cp.PLUS_SIGN || state.codeAt1 === cp.HYPHEN_MINUS):\n\t\t\t\tif (!is.digit(state.codeAt2)) break\n\t\t\t\tresult += consumeAnyValue(state)\n\t\t\tcase is.digit(state.codeAt1):\n\t\t\t\tresult += consumeAnyValue(state) + consumeAnyValue(state) + consumeDigitValue(state)\n\t\t}\n\t}\n\treturn result\n}\n\n/** Consumes and returns a digit value. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */\nconst consumeDigitValue = (state: CSSState) => {\n\tlet result = ''\n\twhile (state.tick < state.size) {\n\t\tif (!is.digit(state.codeAt0)) break\n\t\tresult += consumeAnyValue(state)\n\t}\n\treturn result\n}\n\n/** Consumes and returns a numeric unit value. [↗](https://drafts.csswg.org/css-syntax/#consume-an-identifier) */\nconst consumeNumericUnitValue = (state: CSSState) => (\n\tstate.codeAt0 === cp.HYPHEN_MINUS\n\t\t? state.codeAt1 === cp.HYPHEN_MINUS\n\t\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t\t: is.identifierStart(state.codeAt1)\n\t\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t\t: is.validEscape(state.codeAt1, state.codeAt2)\n\t\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t\t: ''\n\t: is.identifierStart(state.codeAt0)\n\t\t? consumeAnyValue(state) + consumeIdentifierValue(state)\n\t: is.validEscape(state.codeAt0, state.codeAt1)\n\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t: ''\n)\n","import { CSSState, CSSIterator, CSSIteration } from './types/global/global.js'\nimport { consume } from './lib/consume.scss.js'\n\n/** Returns a CSS iterator to yield tokens from the given CSS data. */\nexport const tokenize = (/** CSS data. */ data: string) => {\n\tlet size = data.length\n\tlet tick = 0\n\n\t/** Condition of the current tokenizer. */\n\tlet state: CSSState = {\n\t\tdata,\n\t\tsize,\n\t\ttick,\n\t\tcodeAt0: tick + 0 < size ? data.charCodeAt(tick + 0) : -1,\n\t\tcodeAt1: tick + 1 < size ? data.charCodeAt(tick + 1) : -1,\n\t\tcodeAt2: tick + 2 < size ? data.charCodeAt(tick + 2) : -1,\n\t\tcodeAt3: tick + 3 < size ? data.charCodeAt(tick + 3) : -1,\n\t\t/** Advances the unicode characters being read from the CSS data by one position. */\n\t\tnext() {\n\t\t\tstate.tick = ++tick\n\t\t\tstate.codeAt0 = state.codeAt1\n\t\t\tstate.codeAt1 = state.codeAt2\n\t\t\tstate.codeAt2 = state.codeAt3\n\t\t\tstate.codeAt3 = tick + 3 < size ? data.charCodeAt(tick + 3) : -1\n\t\t\treturn tick >= size\n\t\t}\n\t}\n\n\t/** Returns the most recent state and token yielded from the CSS iterator. */\n\tconst iterator: CSSIterator = ((): CSSIteration => (\n\t\tstate.tick >= state.size\n\t\t\t? {\n\t\t\t\tdone: true,\n\t\t\t\tvalue: { tick: state.tick, type: 0, code: -2, lead: '', data: '', tail: '' }\n\t\t\t}\n\t\t: {\n\t\t\tdone: false,\n\t\t\tvalue: consume(state),\n\t\t}\n\t)) as CSSIterator\n\n\titerator[Symbol.iterator] = () => ({ next: iterator })\n\n\treturn iterator\n}\n"],"names":["CHARACTER_TABULATION","LINE_FEED","FORM_FEED","CARRIAGE_RETURN","SPACE","QUOTATION_MARK","NUMBER_SIGN","DOLLAR_SIGN","APOSTROPHE","LEFT_PARENTHESIS","ASTERISK","PLUS_SIGN","HYPHEN_MINUS","FULL_STOP","SOLIDUS","DIGIT_ZERO","DIGIT_NINE","COMMERCIAL_AT","LATIN_CAPITAL_LETTER_A","LATIN_CAPITAL_LETTER_E","LATIN_CAPITAL_LETTER_Z","REVERSE_SOLIDUS","LOW_LINE","LATIN_SMALL_LETTER_A","LATIN_SMALL_LETTER_E","LATIN_SMALL_LETTER_Z","NON_ASCII","digit","code","cp","identifier","identifierStart","space","validEscape","code1of2","code2of2","SYMBOL","COMMENT","WORD","FUNCTION","ATWORD","HASH","STRING","NUMBER","VARIABLE","fromCharCode","String","consume","state","codeAt0","codeAt1","consumeCommentToken","is","consumeSpaceToken","consumeStringToken","tick","type","tt","lead","consumeAnyValue","data","consumeIdentifierValue","tail","codeAt2","consumeIdentifierLikeToken","consumeNumberSansAdditiveValue","consumeNumericUnitValue","consumeNumberSansDecimalValue","codeAt3","result","next","token","size","consumeDigitValue","tokenize","length","charCodeAt","iterator","done","value","Symbol"],"mappings":"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"} \ No newline at end of file diff --git a/dist/tokenizeSCSS.js b/dist/tokenizeSCSS.js new file mode 100644 index 0000000..2ef8cbd --- /dev/null +++ b/dist/tokenizeSCSS.js @@ -0,0 +1 @@ +tokenizeSCSS=function(){const t=45,e=t=>t>=48&&t<=57,c=e=>d(e)||e>=48&&e<=57||e===t,d=t=>95===t||t>=128||t>=65&&t<=90||t>=97&&t<=122,a=t=>9===t||10===t||12===t||13===t||32===t,o=(t,e)=>92===t&&!a(e),{fromCharCode:i}=String,r=i=>{switch(!0){case 47===i.codeAt0:if(42===i.codeAt1)return n(i);break;case a(i.codeAt0):return u(i);case 34===i.codeAt0:case 39===i.codeAt0:return s(i);case 35===i.codeAt0:if(c(i.codeAt1))return{tick:i.tick,type:7,code:-1,lead:A(i),data:A(i)+k(i),tail:""};if(o(i.codeAt1,i.codeAt2))return{tick:i.tick,type:7,code:-1,lead:A(i),data:A(i)+A(i)+k(i),tail:""};break;case 36===i.codeAt0:if(c(i.codeAt1))return{tick:i.tick,type:16,code:-1,lead:A(i),data:A(i)+k(i),tail:""};if(o(i.codeAt1,i.codeAt2))return{tick:i.tick,type:16,code:-1,lead:A(i),data:A(i)+A(i)+k(i),tail:""};break;case 92===i.codeAt0:if(o(i.codeAt0,i.codeAt1))return l(i,{tick:i.tick,type:4,code:-1,lead:"",data:A(i)+A(i)+A(i)+k(i),tail:""});break;case d(i.codeAt0):return l(i,{tick:i.tick,type:4,code:-1,lead:"",data:A(i)+k(i),tail:""});case i.codeAt0===t:if(i.codeAt1===t||d(i.codeAt1))return l(i,{tick:i.tick,type:4,code:-1,lead:"",data:A(i)+A(i)+k(i),tail:""});if(o(i.codeAt1,i.codeAt2))return l(i,{tick:i.tick,type:4,code:-1,lead:"",data:A(i)+A(i)+A(i)+k(i),tail:""});if(e(i.codeAt1))return{tick:i.tick,type:9,code:-1,lead:"",data:A(i)+A(i)+f(i),tail:b(i)};if(46===i.codeAt1&&e(i.codeAt2))return{tick:i.tick,type:9,code:-1,lead:"",data:A(i)+A(i)+A(i)+y(i),tail:b(i)};case 46===i.codeAt0:if(e(i.codeAt1))return{tick:i.tick,type:9,code:-1,lead:"",data:A(i)+A(i)+y(i),tail:b(i)};break;case 43===i.codeAt0:if(e(i.codeAt1))return{tick:i.tick,type:9,code:-1,lead:"",data:A(i)+A(i)+f(i),tail:b(i)};if(46===i.codeAt1&&e(i.codeAt2))return{tick:i.tick,type:9,code:-1,lead:"",data:A(i)+A(i)+A(i)+y(i),tail:b(i)};break;case e(i.codeAt0):return{tick:i.tick,type:9,code:-1,lead:"",data:A(i)+f(i),tail:b(i)};case 64===i.codeAt0:if(i.codeAt1===t){if(i.codeAt2===t)return{tick:i.tick,type:6,code:-1,lead:A(i),data:A(i)+A(i)+k(i),tail:""};if(d(i.codeAt2))return{tick:i.tick,type:6,code:-1,lead:A(i),data:A(i)+A(i)+k(i),tail:""};if(o(i.codeAt2,i.codeAt3))return{tick:i.tick,type:6,code:-1,lead:A(i),data:A(i)+A(i)+A(i)+k(i),tail:""}}if(d(i.codeAt1))return{tick:i.tick,type:6,code:-1,lead:A(i),data:A(i)+k(i),tail:""};if(o(i.codeAt1,i.codeAt2))return{tick:i.tick,type:6,code:-1,lead:A(i),data:A(i)+A(i)+k(i),tail:""}}return{tick:i.tick,type:1,code:i.codeAt0,lead:"",data:A(i),tail:""}},A=t=>{const e=i(t.codeAt0);return t.next(),e},k=t=>{let e="";for(;;){switch(!0){case o(t.codeAt0,t.codeAt1):e+=i(t.codeAt0),t.next();case c(t.codeAt0):e+=i(t.codeAt0),t.next();continue}break}return e},l=(t,e)=>(40===t.codeAt0&&(e.code=40,e.type=5,e.lead=e.data,e.data="(",t.next()),e),n=t=>{const e={tick:t.tick,type:2,code:-1,lead:"/*",data:"",tail:""};for(t.next(),t.next();t.tick{const e={tick:t.tick,type:3,code:-1,lead:"",data:A(t),tail:""};for(;t.tick{const{codeAt0:e}=t,c={tick:t.tick,type:8,code:-1,lead:"",data:A(t),tail:""};for(;t.tick{let c="";return c+=p(t),46===t.codeAt0&&e(t.codeAt1)&&(c+=A(t)+A(t)+p(t)),c+y(t)},y=c=>{let d="";if(d+=p(c),69===c.codeAt0||101===c.codeAt0)switch(!0){case 43===c.codeAt1||c.codeAt1===t:if(!e(c.codeAt2))break;d+=A(c);case e(c.codeAt1):d+=A(c)+A(c)+p(c)}return d},p=t=>{let c="";for(;t.ticke.codeAt0===t?e.codeAt1===t||d(e.codeAt1)?A(e)+A(e)+k(e):o(e.codeAt1,e.codeAt2)?A(e)+A(e)+A(e)+k(e):"":d(e.codeAt0)?A(e)+k(e):o(e.codeAt0,e.codeAt1)?A(e)+A(e)+k(e):"";return t=>{let e=t.length,c=0,d={data:t,size:e,tick:c,codeAt0:c+0(d.tick=++c,d.codeAt0=d.codeAt1,d.codeAt1=d.codeAt2,d.codeAt2=d.codeAt3,d.codeAt3=c+3=e)};const a=()=>d.tick>=d.size?{done:!0,value:{tick:d.tick,type:0,code:-2,lead:"",data:"",tail:""}}:{done:!1,value:r(d)};return a[Symbol.iterator]=()=>({next:a}),a}}() diff --git a/dist/tokenizeSCSS.mjs b/dist/tokenizeSCSS.mjs new file mode 100644 index 0000000..00d6882 --- /dev/null +++ b/dist/tokenizeSCSS.mjs @@ -0,0 +1,554 @@ +/** + * Unicode Character Codes (0x0000 - 0x0080) + * @see https://www.unicode.org/Public/UCD/latest/ucd/NamesList.txt + * @see https://unicode.org/charts/nameslist/n_0000.html + */ /** */ +/** ␉ */ +const CHARACTER_TABULATION = 0x0009; +/** ␊ */ +const LINE_FEED = 0x000A; +/** ␌ */ +const FORM_FEED = 0x000C; +/** ␍ */ +const CARRIAGE_RETURN = 0x000D; + +/** + * ASCII punctuation and symbols + * ===================================================================== */ /***/ + +/** ␠ */ +const SPACE$1 = 0x0020; +/** " */ +const QUOTATION_MARK = 0x0022; +/** # */ +const NUMBER_SIGN = 0x0023; +/** $ */ +const DOLLAR_SIGN = 0x0024; +/** ' */ +const APOSTROPHE = 0x0027; +/** ( */ +const LEFT_PARENTHESIS = 0x0028; +/** * */ +const ASTERISK = 0x002A; +/** + */ +const PLUS_SIGN = 0x002B; +/** - */ +const HYPHEN_MINUS = 0x002D; +/** . */ +const FULL_STOP = 0x002E; +/** / */ +const SOLIDUS = 0x002F; + +/* + * ASCII digits + * ========================================================================== */ + +/** 0 */ +const DIGIT_ZERO = 0x0030; +/** 9 */ +const DIGIT_NINE = 0x0039; +/** @ */ +const COMMERCIAL_AT = 0x0040; + +/** + * Uppercase Latin alphabet + * ===================================================================== */ /***/ + +/** A */ +const LATIN_CAPITAL_LETTER_A = 0x0041; +/** E */ +const LATIN_CAPITAL_LETTER_E = 0x0045; +/** Z */ +const LATIN_CAPITAL_LETTER_Z = 0x005A; +/** \ */ +const REVERSE_SOLIDUS = 0x005C; +/** _ */ +const LOW_LINE = 0x005F; + +/* + * Lowercase Latin alphabet + * ========================================================================== */ + +/** a */ +const LATIN_SMALL_LETTER_A = 0x0061; +/** e */ +const LATIN_SMALL_LETTER_E = 0x0065; +/** z */ +const LATIN_SMALL_LETTER_Z = 0x007A; + +/** + * Non-ASCII + * ===================================================================== */ /***/ + +/** � */ +const NON_ASCII = 0x0080; + +/** Returns whether the unicode value is a digit. [↗](https://drafts.csswg.org/css-syntax/#digit) */ +const digit = code => code >= DIGIT_ZERO && code <= DIGIT_NINE; + +/** Returns whether the unicode value is an identifier. [↗](https://drafts.csswg.org/css-syntax/#identifier-code-point) */ +const identifier = code => identifierStart(code) || code >= DIGIT_ZERO && code <= DIGIT_NINE || code === HYPHEN_MINUS; + +/** Returns whether the unicode value is an identifier-start. [↗](https://drafts.csswg.org/css-syntax/#identifier-start-code-point) */ +const identifierStart = code => code === LOW_LINE || code >= NON_ASCII || code >= LATIN_CAPITAL_LETTER_A && code <= LATIN_CAPITAL_LETTER_Z || code >= LATIN_SMALL_LETTER_A && code <= LATIN_SMALL_LETTER_Z; + +/** Returns whether the unicode value is a space. [↗](https://drafts.csswg.org/css-syntax/#whitespace) */ +const space = code => code === CHARACTER_TABULATION || code === LINE_FEED || code === FORM_FEED || code === CARRIAGE_RETURN || code === SPACE$1; + +/** Returns whether the unicode values are a valid escape. [↗](https://drafts.csswg.org/css-syntax/#starts-with-a-valid-escape) */ +const validEscape = (code1of2, code2of2) => code1of2 === REVERSE_SOLIDUS && !space(code2of2); + +/** [``](https://drafts.csswg.org/css-syntax/#typedef-delim-token) */ +const SYMBOL = 0x0001; + +/** [``](https://drafts.csswg.org/css-syntax/#comment-diagram) */ +const COMMENT = 0x0002; + +/** [``](https://drafts.csswg.org/css-syntax/#whitespace-token-diagram) */ +const SPACE = 0x0003; + +/** [``](https://drafts.csswg.org/css-syntax/#ident-token-diagram) */ +const WORD = 0x0004; + +/** [``](https://drafts.csswg.org/css-syntax/#function-token-diagram) */ +const FUNCTION = 0x0005; + +/** [``](https://drafts.csswg.org/css-syntax/#at-keyword-token-diagram) */ +const ATWORD = 0x0006; + +/** [``](https://drafts.csswg.org/css-syntax/#hash-token-diagram) */ +const HASH = 0x0007; + +/** [``](https://drafts.csswg.org/css-syntax/#string-token-diagram) */ +const STRING = 0x0008; + +/** [``](https://drafts.csswg.org/css-syntax/#consume-numeric-token) */ +const NUMBER = 0x0009; + +/** [``](https://sass-lang.com/documentation/variables) */ +const VARIABLE = 0x0010; + +const { + fromCharCode +} = String; + +/** Consumes and returns a token. [↗](https://drafts.csswg.org/css-syntax/#consume-token) */ +const consume = state => { + switch (true) { + /* + /* https://drafts.csswg.org/css-syntax/#consume-comment */ + case state.codeAt0 === SOLIDUS: + if (state.codeAt1 === ASTERISK) return consumeCommentToken(state); + break; + /* + /* https://drafts.csswg.org/css-syntax/#whitespace-token-diagram */ + case space(state.codeAt0): + return consumeSpaceToken(state); + /* + /* https://drafts.csswg.org/css-syntax/#string-token-diagram */ + case state.codeAt0 === QUOTATION_MARK: + case state.codeAt0 === APOSTROPHE: + // "" || '' + return consumeStringToken(state); + /* + /* https://drafts.csswg.org/css-syntax/#hash-token-diagram */ + case state.codeAt0 === NUMBER_SIGN: + // #W + if (identifier(state.codeAt1)) return { + tick: state.tick, + type: HASH, + code: -1, + lead: consumeAnyValue(state), + data: consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }; + // #\: + if (validEscape(state.codeAt1, state.codeAt2)) return { + tick: state.tick, + type: HASH, + code: -1, + lead: consumeAnyValue(state), + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }; + break; + /* + /* https://sass-lang.com/documentation/variables */ + case state.codeAt0 === DOLLAR_SIGN: + // $W + if (identifier(state.codeAt1)) return { + tick: state.tick, + type: VARIABLE, + code: -1, + lead: consumeAnyValue(state), + data: consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }; + // $\: + if (validEscape(state.codeAt1, state.codeAt2)) return { + tick: state.tick, + type: VARIABLE, + code: -1, + lead: consumeAnyValue(state), + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }; + break; + /* */ + /* https://drafts.csswg.org/css-syntax/#ident-token-diagram */ + case state.codeAt0 === REVERSE_SOLIDUS: + if (validEscape(state.codeAt0, state.codeAt1)) return consumeIdentifierLikeToken(state, { + tick: state.tick, + type: WORD, + code: -1, + lead: '', + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }); + break; + case identifierStart(state.codeAt0): + // W + return consumeIdentifierLikeToken(state, { + tick: state.tick, + type: WORD, + code: -1, + lead: '', + data: consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }); + case state.codeAt0 === HYPHEN_MINUS: + // -W + if (state.codeAt1 === HYPHEN_MINUS || identifierStart(state.codeAt1)) return consumeIdentifierLikeToken(state, { + tick: state.tick, + type: WORD, + code: -1, + lead: '', + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }); + // -\: + if (validEscape(state.codeAt1, state.codeAt2)) return consumeIdentifierLikeToken(state, { + tick: state.tick, + type: WORD, + code: -1, + lead: '', + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }); + /* */ + /* https://drafts.csswg.org/css-syntax/#number-token-diagram */ + // -8 + if (digit(state.codeAt1)) return { + tick: state.tick, + type: NUMBER, + code: -1, + lead: '', + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansAdditiveValue(state), + tail: consumeNumericUnitValue(state) + }; + // -.8 + if (state.codeAt1 === FULL_STOP && digit(state.codeAt2)) return { + tick: state.tick, + type: NUMBER, + code: -1, + lead: '', + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state), + tail: consumeNumericUnitValue(state) + }; + case state.codeAt0 === FULL_STOP: + // .8 + if (digit(state.codeAt1)) return { + tick: state.tick, + type: NUMBER, + code: -1, + lead: '', + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state), + tail: consumeNumericUnitValue(state) + }; + break; + case state.codeAt0 === PLUS_SIGN: + // +8 + if (digit(state.codeAt1)) return { + tick: state.tick, + type: NUMBER, + code: -1, + lead: '', + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansAdditiveValue(state), + tail: consumeNumericUnitValue(state) + }; + // +.8 + if (state.codeAt1 === FULL_STOP && digit(state.codeAt2)) return { + tick: state.tick, + type: NUMBER, + code: -1, + lead: '', + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state), + tail: consumeNumericUnitValue(state) + }; + break; + case digit(state.codeAt0): + // 8 + return { + tick: state.tick, + type: NUMBER, + code: -1, + lead: '', + data: consumeAnyValue(state) + consumeNumberSansAdditiveValue(state), + tail: consumeNumericUnitValue(state) + }; + /* */ + /* https://drafts.csswg.org/css-syntax/#at-keyword-token-diagram */ + case state.codeAt0 === COMMERCIAL_AT: + if (state.codeAt1 === HYPHEN_MINUS) { + // @-- + if (state.codeAt2 === HYPHEN_MINUS) return { + tick: state.tick, + type: ATWORD, + code: -1, + lead: consumeAnyValue(state), + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }; + // @-W + if (identifierStart(state.codeAt2)) return { + tick: state.tick, + type: ATWORD, + code: -1, + lead: consumeAnyValue(state), + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }; + // @-\: + if (validEscape(state.codeAt2, state.codeAt3)) return { + tick: state.tick, + type: ATWORD, + code: -1, + lead: consumeAnyValue(state), + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }; + } + // @W + if (identifierStart(state.codeAt1)) return { + tick: state.tick, + type: ATWORD, + code: -1, + lead: consumeAnyValue(state), + data: consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }; + // @\: + if (validEscape(state.codeAt1, state.codeAt2)) return { + tick: state.tick, + type: ATWORD, + code: -1, + lead: consumeAnyValue(state), + data: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state), + tail: '' + }; + break; + } + /* */ + /* https://drafts.csswg.org/css-syntax/#typedef-delim-token */ + return { + tick: state.tick, + type: SYMBOL, + code: state.codeAt0, + lead: '', + data: consumeAnyValue(state), + tail: '' + }; +}; + +/** Consume and return a value. [↗](https://drafts.csswg.org/css-syntax/#consume-token) */ +const consumeAnyValue = state => { + const result = fromCharCode(state.codeAt0); + state.next(); + return result; +}; + +/** Consume and return an identifier value. [↗](https://drafts.csswg.org/css-syntax/#consume-an-identifier) */ +const consumeIdentifierValue = state => { + let result = ''; + while (true) { + switch (true) { + case validEscape(state.codeAt0, state.codeAt1): + result += fromCharCode(state.codeAt0); + state.next(); + case identifier(state.codeAt0): + result += fromCharCode(state.codeAt0); + state.next(); + continue; + } + break; + } + return result; +}; + +/** Consume and return an identifier or function token. [↗](https://drafts.csswg.org/css-syntax/#consume-an-identifier) */ +const consumeIdentifierLikeToken = (state, token) => { + if (state.codeAt0 === LEFT_PARENTHESIS) { + token.code = 40; + token.type = FUNCTION; + token.lead = token.data; + token.data = '('; + state.next(); + } + return token; +}; + +/** Consume and return a comment token. [↗](https://drafts.csswg.org/css-syntax/#consume-comment) */ +const consumeCommentToken = state => { + const token = { + tick: state.tick, + type: COMMENT, + code: -1, + lead: '/*', + data: '', + tail: '' + }; + state.next(); + state.next(); + while (state.tick < state.size) { + // @ts-ignore + if (state.codeAt0 === ASTERISK && state.codeAt1 === SOLIDUS) { + token.tail = '*/'; + state.next(); + state.next(); + break; + } + token.data += consumeAnyValue(state); + } + return token; +}; + +/** Consumes and returns a space token. [↗](https://drafts.csswg.org/css-syntax/#whitespace-token-diagram) */ +const consumeSpaceToken = state => { + const token = { + tick: state.tick, + type: SPACE, + code: -1, + lead: '', + data: consumeAnyValue(state), + tail: '' + }; + while (state.tick < state.size) { + if (!space(state.codeAt0)) break; + token.data += consumeAnyValue(state); + } + return token; +}; + +/** Consumes and returns a string token. [↗](https://drafts.csswg.org/css-syntax/#string-token-diagram) */ +const consumeStringToken = state => { + const { + codeAt0 + } = state; + const token = { + tick: state.tick, + type: STRING, + code: -1, + lead: '', + data: consumeAnyValue(state), + tail: '' + }; + while (state.tick < state.size) { + switch (true) { + case validEscape(state.codeAt0, state.codeAt1): + token.data += consumeAnyValue(state); + default: + token.data += consumeAnyValue(state); + continue; + case state.codeAt0 === codeAt0: + token.tail = consumeAnyValue(state); + } + break; + } + return token; +}; + +/** Consumes and returns a number value after an additive symbol. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */ +const consumeNumberSansAdditiveValue = state => { + let result = ''; + result += consumeDigitValue(state); + if (state.codeAt0 === FULL_STOP && digit(state.codeAt1)) result += consumeAnyValue(state) + consumeAnyValue(state) + consumeDigitValue(state); + return result + consumeNumberSansDecimalValue(state); +}; + +/** Consumes and returns a number value after a decimal place. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */ +const consumeNumberSansDecimalValue = state => { + let result = ''; + result += consumeDigitValue(state); + if (state.codeAt0 === LATIN_CAPITAL_LETTER_E || state.codeAt0 === LATIN_SMALL_LETTER_E) { + switch (true) { + case state.codeAt1 === PLUS_SIGN || state.codeAt1 === HYPHEN_MINUS: + if (!digit(state.codeAt2)) break; + result += consumeAnyValue(state); + case digit(state.codeAt1): + result += consumeAnyValue(state) + consumeAnyValue(state) + consumeDigitValue(state); + } + } + return result; +}; + +/** Consumes and returns a digit value. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */ +const consumeDigitValue = state => { + let result = ''; + while (state.tick < state.size) { + if (!digit(state.codeAt0)) break; + result += consumeAnyValue(state); + } + return result; +}; + +/** Consumes and returns a numeric unit value. [↗](https://drafts.csswg.org/css-syntax/#consume-an-identifier) */ +const consumeNumericUnitValue = state => state.codeAt0 === HYPHEN_MINUS ? state.codeAt1 === HYPHEN_MINUS ? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state) : identifierStart(state.codeAt1) ? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state) : validEscape(state.codeAt1, state.codeAt2) ? consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state) : '' : identifierStart(state.codeAt0) ? consumeAnyValue(state) + consumeIdentifierValue(state) : validEscape(state.codeAt0, state.codeAt1) ? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state) : ''; + +/** Returns a CSS iterator to yield tokens from the given CSS data. */ +const tokenize = data => { + let size = data.length; + let tick = 0; + + /** Condition of the current tokenizer. */ + let state = { + data, + size, + tick, + codeAt0: tick + 0 < size ? data.charCodeAt(tick + 0) : -1, + codeAt1: tick + 1 < size ? data.charCodeAt(tick + 1) : -1, + codeAt2: tick + 2 < size ? data.charCodeAt(tick + 2) : -1, + codeAt3: tick + 3 < size ? data.charCodeAt(tick + 3) : -1, + /** Advances the unicode characters being read from the CSS data by one position. */ + next() { + state.tick = ++tick; + state.codeAt0 = state.codeAt1; + state.codeAt1 = state.codeAt2; + state.codeAt2 = state.codeAt3; + state.codeAt3 = tick + 3 < size ? data.charCodeAt(tick + 3) : -1; + return tick >= size; + } + }; + + /** Returns the most recent state and token yielded from the CSS iterator. */ + const iterator = () => state.tick >= state.size ? { + done: true, + value: { + tick: state.tick, + type: 0, + code: -2, + lead: '', + data: '', + tail: '' + } + } : { + done: false, + value: consume(state) + }; + iterator[Symbol.iterator] = () => ({ + next: iterator + }); + return iterator; +}; + +export { tokenize }; +//# sourceMappingURL=tokenizeSCSS.mjs.map diff --git a/dist/tokenizeSCSS.mjs.map b/dist/tokenizeSCSS.mjs.map new file mode 100644 index 0000000..bda8f55 --- /dev/null +++ b/dist/tokenizeSCSS.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"tokenizeSCSS.mjs","sources":["../src/lib/code-points.ts","../src/lib/is.ts","../src/lib/token-types.scss.ts","../src/lib/consume.scss.ts","../src/tokenize.scss.ts"],"sourcesContent":["/**\n * Unicode Character Codes (0x0000 - 0x0080)\n * @see https://www.unicode.org/Public/UCD/latest/ucd/NamesList.txt\n * @see https://unicode.org/charts/nameslist/n_0000.html\n *//** */\n\n/**\n * C0 controls\n * ===================================================================== *//***/\n\n/** ␀ */ export const NULL = 0x0000\n/** ␁ */ export const START_OF_HEADING = 0x0001\n/** ␂ */ export const START_OF_TEXT = 0x0002\n/** ␃ */ export const END_OF_TEXT = 0x0003\n/** ␄ */ export const END_OF_TRANSMISSION = 0x0004\n/** ␅ */ export const ENQUIRY = 0x0005\n/** ␆ */ export const ACKNOWLEDGE = 0x0006\n/** ␇ */ export const BELL = 0x0007\n/** ␈ */ export const BACKSPACE = 0x0008\n/** ␉ */ export const CHARACTER_TABULATION = 0x0009\n/** ␊ */ export const LINE_FEED = 0x000A\n/** ␋ */ export const LINE_TABULATION = 0x000B\n/** ␌ */ export const FORM_FEED = 0x000C\n/** ␍ */ export const CARRIAGE_RETURN = 0x000D\n/** ␎ */ export const SHIFT_OUT = 0x000E\n/** ␏ */ export const SHIFT_IN = 0x000F\n/** ␐ */ export const DATA_LINK_ESCAPE = 0x0010\n/** ␑ */ export const DEVICE_CONTROL_ONE = 0x0011\n/** ␒ */ export const DEVICE_CONTROL_TWO = 0x0012\n/** ␓ */ export const DEVICE_CONTROL_THREE = 0x0013\n/** ␔ */ export const DEVICE_CONTROL_FOUR = 0x0014\n/** ␕ */ export const NEGATIVE_ACKNOWLEDGE = 0x0015\n/** ␖ */ export const SYNCHRONOUS_IDLE = 0x0016\n/** ␗ */ export const END_OF_TRANSMISSION_BLOCK = 0x0017\n/** ␘ */ export const CANCEL = 0x0018\n/** ␙ */ export const END_OF_MEDIUM = 0x0019\n/** ␚ */ export const SUBSTITUTE = 0x001A\n/** ␛ */ export const ESCAPE = 0x001B\n/** ␜ */ export const INFORMATION_SEPARATOR_FOUR = 0x001C\n/** ␝ */ export const INFORMATION_SEPARATOR_THREE = 0x001D\n/** ␞ */ export const INFORMATION_SEPARATOR_TWO = 0x001E\n/** ␟ */ export const INFORMATION_SEPARATOR_ONE = 0x001F\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** ␠ */ export const SPACE = 0x0020\n/** ! */ export const EXCLAMATION_MARK = 0x0021\n/** \" */ export const QUOTATION_MARK = 0x0022\n/** # */ export const NUMBER_SIGN = 0x0023\n/** $ */ export const DOLLAR_SIGN = 0x0024\n/** % */ export const PERCENT_SIGN = 0x0025\n/** & */ export const AMPERSAND = 0x0026\n/** ' */ export const APOSTROPHE = 0x0027\n/** ( */ export const LEFT_PARENTHESIS = 0x0028\n/** ) */ export const RIGHT_PARENTHESIS = 0x0029\n/** * */ export const ASTERISK = 0x002A\n/** + */ export const PLUS_SIGN = 0x002B\n/** , */ export const COMMA = 0x002C\n/** - */ export const HYPHEN_MINUS = 0x002D\n/** . */ export const FULL_STOP = 0x002E\n/** / */ export const SOLIDUS = 0x002F\n\n/*\n * ASCII digits\n * ========================================================================== */\n\n/** 0 */ export const DIGIT_ZERO = 0x0030\n/** 1 */ export const DIGIT_ONE = 0x0031\n/** 2 */ export const DIGIT_TWO = 0x0032\n/** 3 */ export const DIGIT_THREE = 0x0033\n/** 4 */ export const DIGIT_FOUR = 0x0034\n/** 5 */ export const DIGIT_FIVE = 0x0035\n/** 6 */ export const DIGIT_SIX = 0x0036\n/** 7 */ export const DIGIT_SEVEN = 0x0037\n/** 8 */ export const DIGIT_EIGHT = 0x0038\n/** 9 */ export const DIGIT_NINE = 0x0039\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** : */ export const COLON = 0x003A\n/** ; */ export const SEMICOLON = 0x003B\n/** < */ export const LESS_THAN_SIGN = 0x003C\n/** = */ export const EQUALS_SIGN = 0x003D\n/** > */ export const GREATER_THAN_SIGN = 0x003E\n/** ? */ export const QUESTION_MARK = 0x003F\n/** @ */ export const COMMERCIAL_AT = 0x0040\n\n/**\n * Uppercase Latin alphabet\n * ===================================================================== *//***/\n\n/** A */ export const LATIN_CAPITAL_LETTER_A = 0x0041\n/** B */ export const LATIN_CAPITAL_LETTER_B = 0x0042\n/** C */ export const LATIN_CAPITAL_LETTER_C = 0x0043\n/** D */ export const LATIN_CAPITAL_LETTER_D = 0x0044\n/** E */ export const LATIN_CAPITAL_LETTER_E = 0x0045\n/** F */ export const LATIN_CAPITAL_LETTER_F = 0x0046\n/** G */ export const LATIN_CAPITAL_LETTER_G = 0x0047\n/** H */ export const LATIN_CAPITAL_LETTER_H = 0x0048\n/** I */ export const LATIN_CAPITAL_LETTER_I = 0x0049\n/** J */ export const LATIN_CAPITAL_LETTER_J = 0x004A\n/** K */ export const LATIN_CAPITAL_LETTER_K = 0x004B\n/** L */ export const LATIN_CAPITAL_LETTER_L = 0x004C\n/** M */ export const LATIN_CAPITAL_LETTER_M = 0x004D\n/** N */ export const LATIN_CAPITAL_LETTER_N = 0x004E\n/** O */ export const LATIN_CAPITAL_LETTER_O = 0x004F\n/** P */ export const LATIN_CAPITAL_LETTER_P = 0x0050\n/** Q */ export const LATIN_CAPITAL_LETTER_Q = 0x0051\n/** R */ export const LATIN_CAPITAL_LETTER_R = 0x0052\n/** S */ export const LATIN_CAPITAL_LETTER_S = 0x0053\n/** T */ export const LATIN_CAPITAL_LETTER_T = 0x0054\n/** U */ export const LATIN_CAPITAL_LETTER_U = 0x0055\n/** V */ export const LATIN_CAPITAL_LETTER_V = 0x0056\n/** W */ export const LATIN_CAPITAL_LETTER_W = 0x0057\n/** X */ export const LATIN_CAPITAL_LETTER_X = 0x0058\n/** Y */ export const LATIN_CAPITAL_LETTER_Y = 0x0059\n/** Z */ export const LATIN_CAPITAL_LETTER_Z = 0x005A\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** [ */ export const LEFT_SQUARE_BRACKET = 0x005B\n/** \\ */ export const REVERSE_SOLIDUS = 0x005C\n/** ] */ export const RIGHT_SQUARE_BRACKET = 0x005D\n/** ^ */ export const CIRCUMFLEX_ACCENT = 0x005E\n/** _ */ export const LOW_LINE = 0x005F\n/** ` */ export const GRAVE_ACCENT = 0x0060\n\n/*\n * Lowercase Latin alphabet\n * ========================================================================== */\n\n/** a */ export const LATIN_SMALL_LETTER_A = 0x0061\n/** b */ export const LATIN_SMALL_LETTER_B = 0x0062\n/** c */ export const LATIN_SMALL_LETTER_C = 0x0063\n/** d */ export const LATIN_SMALL_LETTER_D = 0x0064\n/** e */ export const LATIN_SMALL_LETTER_E = 0x0065\n/** f */ export const LATIN_SMALL_LETTER_F = 0x0066\n/** g */ export const LATIN_SMALL_LETTER_G = 0x0067\n/** h */ export const LATIN_SMALL_LETTER_H = 0x0068\n/** i */ export const LATIN_SMALL_LETTER_I = 0x0069\n/** j */ export const LATIN_SMALL_LETTER_J = 0x006A\n/** k */ export const LATIN_SMALL_LETTER_K = 0x006B\n/** l */ export const LATIN_SMALL_LETTER_L = 0x006C\n/** m */ export const LATIN_SMALL_LETTER_M = 0x006D\n/** n */ export const LATIN_SMALL_LETTER_N = 0x006E\n/** o */ export const LATIN_SMALL_LETTER_O = 0x006F\n/** p */ export const LATIN_SMALL_LETTER_P = 0x0070\n/** q */ export const LATIN_SMALL_LETTER_Q = 0x0071\n/** r */ export const LATIN_SMALL_LETTER_R = 0x0072\n/** s */ export const LATIN_SMALL_LETTER_S = 0x0073\n/** t */ export const LATIN_SMALL_LETTER_T = 0x0074\n/** u */ export const LATIN_SMALL_LETTER_U = 0x0075\n/** v */ export const LATIN_SMALL_LETTER_V = 0x0076\n/** w */ export const LATIN_SMALL_LETTER_W = 0x0077\n/** x */ export const LATIN_SMALL_LETTER_X = 0x0078\n/** y */ export const LATIN_SMALL_LETTER_Y = 0x0079\n/** z */ export const LATIN_SMALL_LETTER_Z = 0x007A\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** { */ export const LEFT_CURLY_BRACKET = 0x007B\n/** | */ export const VERTICAL_LINE = 0x007C\n/** } */ export const RIGHT_CURLY_BRACKET = 0x007D\n/** ~ */ export const TILDE = 0x007E\n\n/**\n * Control character\n * ===================================================================== *//***/\n\n/** ␡ */ export const DELETE = 0x007F\n\n/**\n * Non-ASCII\n * ===================================================================== *//***/\n\n/** � */ export const NON_ASCII = 0x0080\n\n/**\n * EOF\n * ===================================================================== *//***/\n\n/** ⏏ */ export const EOF = -0x0001\n","import * as cp from './code-points.js'\n\n/** Returns whether the unicode value is a digit. [↗](https://drafts.csswg.org/css-syntax/#digit) */\nexport const digit = (code: number) => code >= cp.DIGIT_ZERO && code <= cp.DIGIT_NINE\n\n/** Returns whether the unicode value is an identifier. [↗](https://drafts.csswg.org/css-syntax/#identifier-code-point) */\nexport const identifier = (code: number) => (\n\tidentifierStart(code) ||\n\t(code >= cp.DIGIT_ZERO && code <= cp.DIGIT_NINE) ||\n\t(code === cp.HYPHEN_MINUS)\n)\n\n/** Returns whether the unicode value is an identifier-start. [↗](https://drafts.csswg.org/css-syntax/#identifier-start-code-point) */\nexport const identifierStart = (code: number) => (\n\t(code === cp.LOW_LINE) ||\n\t(code >= cp.NON_ASCII) ||\n\t(code >= cp.LATIN_CAPITAL_LETTER_A && code <= cp.LATIN_CAPITAL_LETTER_Z) ||\n\t(code >= cp.LATIN_SMALL_LETTER_A && code <= cp.LATIN_SMALL_LETTER_Z)\n)\n\n/** Returns whether the unicode value is a space. [↗](https://drafts.csswg.org/css-syntax/#whitespace) */\nexport const space = (code: number) => (\n\tcode === cp.CHARACTER_TABULATION\n\t|| code === cp.LINE_FEED\n\t|| code === cp.FORM_FEED\n\t|| code === cp.CARRIAGE_RETURN\n\t|| code === cp.SPACE\n)\n\n/** Returns whether the unicode values are a valid escape. [↗](https://drafts.csswg.org/css-syntax/#starts-with-a-valid-escape) */\nexport const validEscape = (code1of2: number, code2of2: number) => (\n\tcode1of2 === cp.REVERSE_SOLIDUS\n\t&& !space(code2of2)\n)\n","/** [``](https://drafts.csswg.org/css-syntax/#typedef-delim-token) */\nexport const SYMBOL = 0x0001\n\n/** [``](https://drafts.csswg.org/css-syntax/#comment-diagram) */\nexport const COMMENT = 0x0002\n\n/** [``](https://drafts.csswg.org/css-syntax/#whitespace-token-diagram) */\nexport const SPACE = 0x0003\n\n/** [``](https://drafts.csswg.org/css-syntax/#ident-token-diagram) */\nexport const WORD = 0x0004\n\n/** [``](https://drafts.csswg.org/css-syntax/#function-token-diagram) */\nexport const FUNCTION = 0x0005\n\n/** [``](https://drafts.csswg.org/css-syntax/#at-keyword-token-diagram) */\nexport const ATWORD = 0x0006\n\n/** [``](https://drafts.csswg.org/css-syntax/#hash-token-diagram) */\nexport const HASH = 0x0007\n\n/** [``](https://drafts.csswg.org/css-syntax/#string-token-diagram) */\nexport const STRING = 0x0008\n\n/** [``](https://drafts.csswg.org/css-syntax/#consume-numeric-token) */\nexport const NUMBER = 0x0009\n\n/** [``](https://sass-lang.com/documentation/variables) */\nexport const VARIABLE = 0x0010\n","import { CSSState, CSSToken } from '../types/global/global.js'\n\nimport * as cp from './code-points.js'\nimport * as is from './is.js'\nimport * as tt from './token-types.scss.js'\n\nconst { fromCharCode } = String\n\n/** Consumes and returns a token. [↗](https://drafts.csswg.org/css-syntax/#consume-token) */\nexport const consume = (\n\t/** Condition of the current tokenizer. */\n\tstate: CSSState\n) => {\n\tswitch (true) {\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#consume-comment */\n\t\tcase state.codeAt0 === cp.SOLIDUS:\n\t\t\tif (state.codeAt1 === cp.ASTERISK) return consumeCommentToken(state)\n\t\t\tbreak\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#whitespace-token-diagram */\n\t\tcase is.space(state.codeAt0):\n\t\t\treturn consumeSpaceToken(state)\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#string-token-diagram */\n\t\tcase state.codeAt0 === cp.QUOTATION_MARK:\n\t\tcase state.codeAt0 === cp.APOSTROPHE:\n\t\t\t// \"\" || ''\n\t\t\treturn consumeStringToken(state)\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#hash-token-diagram */\n\t\tcase state.codeAt0 === cp.NUMBER_SIGN:\n\t\t\t// #W\n\t\t\tif (is.identifier(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.HASH,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\t// #\\:\n\t\t\tif (is.validEscape(state.codeAt1, state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.HASH,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t\t/* \n\t\t/* https://sass-lang.com/documentation/variables */\n\t\tcase state.codeAt0 === cp.DOLLAR_SIGN:\n\t\t\t// $W\n\t\t\tif (is.identifier(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.VARIABLE,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\t// $\\:\n\t\t\tif (is.validEscape(state.codeAt1, state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.VARIABLE,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t\t/* */\n\t\t/* https://drafts.csswg.org/css-syntax/#ident-token-diagram */\n\t\tcase state.codeAt0 === cp.REVERSE_SOLIDUS:\n\t\t\tif (is.validEscape(state.codeAt0, state.codeAt1)) return consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\t\tbreak\n\t\tcase is.identifierStart(state.codeAt0):\n\t\t\t// W\n\t\t\treturn consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\tcase state.codeAt0 === cp.HYPHEN_MINUS:\n\t\t\t// -W\n\t\t\tif (state.codeAt1 === cp.HYPHEN_MINUS || is.identifierStart(state.codeAt1)) return consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\t\t// -\\:\n\t\t\tif (is.validEscape(state.codeAt1, state.codeAt2)) return consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\t/* */\n\t\t/* https://drafts.csswg.org/css-syntax/#number-token-diagram */\n\t\t\t// -8\n\t\t\tif (is.digit(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansAdditiveValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\t// -.8\n\t\t\tif (state.codeAt1 === cp.FULL_STOP && is.digit(state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\tcase state.codeAt0 === cp.FULL_STOP:\n\t\t\t// .8\n\t\t\tif (is.digit(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t\tcase state.codeAt0 === cp.PLUS_SIGN:\n\t\t\t// +8\n\t\t\tif (is.digit(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansAdditiveValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\t// +.8\n\t\t\tif (state.codeAt1 === cp.FULL_STOP && is.digit(state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t\tcase is.digit(state.codeAt0):\n\t\t\t// 8\n\t\t\treturn {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeNumberSansAdditiveValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t/* */\n\t\t/* https://drafts.csswg.org/css-syntax/#at-keyword-token-diagram */\n\t\tcase state.codeAt0 === cp.COMMERCIAL_AT:\n\t\t\tif (state.codeAt1 === cp.HYPHEN_MINUS) {\n\t\t\t\t// @--\n\t\t\t\tif (state.codeAt2 === cp.HYPHEN_MINUS) return {\n\t\t\t\t\ttick: state.tick,\n\t\t\t\t\ttype: tt.ATWORD,\n\t\t\t\t\tcode: -1,\n\t\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\t\ttail: '',\n\t\t\t\t} as CSSToken\n\t\t\t\t// @-W\n\t\t\t\tif (is.identifierStart(state.codeAt2)) return {\n\t\t\t\t\ttick: state.tick,\n\t\t\t\t\ttype: tt.ATWORD,\n\t\t\t\t\tcode: -1,\n\t\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\t\ttail: '',\n\t\t\t\t} as CSSToken\n\t\t\t\t// @-\\:\n\t\t\t\tif (is.validEscape(state.codeAt2, state.codeAt3)) return {\n\t\t\t\t\ttick: state.tick,\n\t\t\t\t\ttype: tt.ATWORD,\n\t\t\t\t\tcode: -1,\n\t\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\t\ttail: '',\n\t\t\t\t} as CSSToken\n\t\t\t}\n\t\t\t// @W\n\t\t\tif (is.identifierStart(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.ATWORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\t// @\\:\n\t\t\tif (is.validEscape(state.codeAt1, state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.ATWORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t}\n\t/* */\n\t/* https://drafts.csswg.org/css-syntax/#typedef-delim-token */\n\treturn {\n\t\ttick: state.tick,\n\t\ttype: tt.SYMBOL,\n\t\tcode: state.codeAt0,\n\t\tlead: '',\n\t\tdata: consumeAnyValue(state),\n\t\ttail: '',\n\t} as CSSToken\n}\n\n/** Consume and return a value. [↗](https://drafts.csswg.org/css-syntax/#consume-token) */\nconst consumeAnyValue = (state: CSSState) => {\n\tconst result = fromCharCode(state.codeAt0)\n\tstate.next()\n\treturn result\n}\n\n/** Consume and return an identifier value. [↗](https://drafts.csswg.org/css-syntax/#consume-an-identifier) */\nconst consumeIdentifierValue = (state: CSSState) => {\n\tlet result = ''\n\twhile (true) {\n\t\tswitch (true) {\n\t\t\tcase is.validEscape(state.codeAt0, state.codeAt1):\n\t\t\t\tresult += fromCharCode(state.codeAt0)\n\t\t\t\tstate.next()\n\t\t\tcase is.identifier(state.codeAt0):\n\t\t\t\tresult += fromCharCode(state.codeAt0)\n\t\t\t\tstate.next()\n\t\t\t\tcontinue\n\t\t}\n\t\tbreak\n\t}\n\treturn result\n}\n\n/** Consume and return an identifier or function token. [↗](https://drafts.csswg.org/css-syntax/#consume-an-identifier) */\nconst consumeIdentifierLikeToken = (state: CSSState, token: CSSToken) => {\n\tif (state.codeAt0 === cp.LEFT_PARENTHESIS) {\n\t\ttoken.code = 40\n\t\ttoken.type = tt.FUNCTION\n\t\ttoken.lead = token.data\n\t\ttoken.data = '('\n\t\tstate.next()\n\t}\n\treturn token\n}\n\n/** Consume and return a comment token. [↗](https://drafts.csswg.org/css-syntax/#consume-comment) */\nconst consumeCommentToken = (state: CSSState) => {\n\tconst token: CSSToken = {\n\t\ttick: state.tick,\n\t\ttype: tt.COMMENT,\n\t\tcode: -1,\n\t\tlead: '/*',\n\t\tdata: '',\n\t\ttail: '',\n\t}\n\tstate.next()\n\tstate.next()\n\twhile (state.tick < state.size) {\n\t\t// @ts-ignore\n\t\tif (state.codeAt0 === cp.ASTERISK && state.codeAt1 === cp.SOLIDUS) {\n\t\t\ttoken.tail = '*/'\n\t\t\tstate.next()\n\t\t\tstate.next()\n\t\t\tbreak\n\t\t}\n\t\ttoken.data += consumeAnyValue(state)\n\t}\n\treturn token\n}\n\n/** Consumes and returns a space token. [↗](https://drafts.csswg.org/css-syntax/#whitespace-token-diagram) */\nconst consumeSpaceToken = (state: CSSState) => {\n\tconst token: CSSToken = {\n\t\ttick: state.tick,\n\t\ttype: tt.SPACE,\n\t\tcode: -1,\n\t\tlead: '',\n\t\tdata: consumeAnyValue(state),\n\t\ttail: '',\n\t}\n\twhile (state.tick < state.size) {\n\t\tif (!is.space(state.codeAt0)) break\n\t\ttoken.data += consumeAnyValue(state)\n\t}\n\treturn token\n}\n\n/** Consumes and returns a string token. [↗](https://drafts.csswg.org/css-syntax/#string-token-diagram) */\nconst consumeStringToken = (state: CSSState) => {\n\tconst { codeAt0 } = state\n\tconst token: CSSToken = {\n\t\ttick: state.tick,\n\t\ttype: tt.STRING,\n\t\tcode: -1,\n\t\tlead: '',\n\t\tdata: consumeAnyValue(state),\n\t\ttail: '',\n\t}\n\twhile (state.tick < state.size) {\n\t\tswitch (true) {\n\t\t\tcase is.validEscape(state.codeAt0, state.codeAt1):\n\t\t\t\ttoken.data += consumeAnyValue(state)\n\t\t\tdefault:\n\t\t\t\ttoken.data += consumeAnyValue(state)\n\t\t\t\tcontinue\n\t\t\tcase state.codeAt0 === codeAt0:\n\t\t\t\ttoken.tail = consumeAnyValue(state)\n\t\t}\n\t\tbreak\n\t}\n\treturn token\n}\n\n/** Consumes and returns a number value after an additive symbol. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */\nexport const consumeNumberSansAdditiveValue = (state: CSSState) => {\n\tlet result = ''\n\tresult += consumeDigitValue(state)\n\tif (state.codeAt0 === cp.FULL_STOP && is.digit(state.codeAt1)) result += consumeAnyValue(state) + consumeAnyValue(state) + consumeDigitValue(state)\n\treturn result + consumeNumberSansDecimalValue(state)\n}\n\n/** Consumes and returns a number value after a decimal place. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */\nconst consumeNumberSansDecimalValue = (state: CSSState) => {\n\tlet result = ''\n\tresult += consumeDigitValue(state)\n\tif (state.codeAt0 === cp.LATIN_CAPITAL_LETTER_E || state.codeAt0 === cp.LATIN_SMALL_LETTER_E) {\n\t\tswitch (true) {\n\t\t\tcase (state.codeAt1 === cp.PLUS_SIGN || state.codeAt1 === cp.HYPHEN_MINUS):\n\t\t\t\tif (!is.digit(state.codeAt2)) break\n\t\t\t\tresult += consumeAnyValue(state)\n\t\t\tcase is.digit(state.codeAt1):\n\t\t\t\tresult += consumeAnyValue(state) + consumeAnyValue(state) + consumeDigitValue(state)\n\t\t}\n\t}\n\treturn result\n}\n\n/** Consumes and returns a digit value. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */\nconst consumeDigitValue = (state: CSSState) => {\n\tlet result = ''\n\twhile (state.tick < state.size) {\n\t\tif (!is.digit(state.codeAt0)) break\n\t\tresult += consumeAnyValue(state)\n\t}\n\treturn result\n}\n\n/** Consumes and returns a numeric unit value. [↗](https://drafts.csswg.org/css-syntax/#consume-an-identifier) */\nconst consumeNumericUnitValue = (state: CSSState) => (\n\tstate.codeAt0 === cp.HYPHEN_MINUS\n\t\t? state.codeAt1 === cp.HYPHEN_MINUS\n\t\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t\t: is.identifierStart(state.codeAt1)\n\t\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t\t: is.validEscape(state.codeAt1, state.codeAt2)\n\t\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t\t: ''\n\t: is.identifierStart(state.codeAt0)\n\t\t? consumeAnyValue(state) + consumeIdentifierValue(state)\n\t: is.validEscape(state.codeAt0, state.codeAt1)\n\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t: ''\n)\n","import { CSSState, CSSIterator, CSSIteration } from './types/global/global.js'\nimport { consume } from './lib/consume.scss.js'\n\n/** Returns a CSS iterator to yield tokens from the given CSS data. */\nexport const tokenize = (/** CSS data. */ data: string) => {\n\tlet size = data.length\n\tlet tick = 0\n\n\t/** Condition of the current tokenizer. */\n\tlet state: CSSState = {\n\t\tdata,\n\t\tsize,\n\t\ttick,\n\t\tcodeAt0: tick + 0 < size ? data.charCodeAt(tick + 0) : -1,\n\t\tcodeAt1: tick + 1 < size ? data.charCodeAt(tick + 1) : -1,\n\t\tcodeAt2: tick + 2 < size ? data.charCodeAt(tick + 2) : -1,\n\t\tcodeAt3: tick + 3 < size ? data.charCodeAt(tick + 3) : -1,\n\t\t/** Advances the unicode characters being read from the CSS data by one position. */\n\t\tnext() {\n\t\t\tstate.tick = ++tick\n\t\t\tstate.codeAt0 = state.codeAt1\n\t\t\tstate.codeAt1 = state.codeAt2\n\t\t\tstate.codeAt2 = state.codeAt3\n\t\t\tstate.codeAt3 = tick + 3 < size ? data.charCodeAt(tick + 3) : -1\n\t\t\treturn tick >= size\n\t\t}\n\t}\n\n\t/** Returns the most recent state and token yielded from the CSS iterator. */\n\tconst iterator: CSSIterator = ((): CSSIteration => (\n\t\tstate.tick >= state.size\n\t\t\t? {\n\t\t\t\tdone: true,\n\t\t\t\tvalue: { tick: state.tick, type: 0, code: -2, lead: '', data: '', tail: '' }\n\t\t\t}\n\t\t: {\n\t\t\tdone: false,\n\t\t\tvalue: consume(state),\n\t\t}\n\t)) as CSSIterator\n\n\titerator[Symbol.iterator] = () => ({ next: iterator })\n\n\treturn iterator\n}\n"],"names":["CHARACTER_TABULATION","LINE_FEED","FORM_FEED","CARRIAGE_RETURN","SPACE","QUOTATION_MARK","NUMBER_SIGN","DOLLAR_SIGN","APOSTROPHE","LEFT_PARENTHESIS","ASTERISK","PLUS_SIGN","HYPHEN_MINUS","FULL_STOP","SOLIDUS","DIGIT_ZERO","DIGIT_NINE","COMMERCIAL_AT","LATIN_CAPITAL_LETTER_A","LATIN_CAPITAL_LETTER_E","LATIN_CAPITAL_LETTER_Z","REVERSE_SOLIDUS","LOW_LINE","LATIN_SMALL_LETTER_A","LATIN_SMALL_LETTER_E","LATIN_SMALL_LETTER_Z","NON_ASCII","digit","code","cp","identifier","identifierStart","space","validEscape","code1of2","code2of2","SYMBOL","COMMENT","WORD","FUNCTION","ATWORD","HASH","STRING","NUMBER","VARIABLE","fromCharCode","String","consume","state","codeAt0","codeAt1","consumeCommentToken","is","consumeSpaceToken","consumeStringToken","tick","type","tt","lead","consumeAnyValue","data","consumeIdentifierValue","tail","codeAt2","consumeIdentifierLikeToken","consumeNumberSansAdditiveValue","consumeNumericUnitValue","consumeNumberSansDecimalValue","codeAt3","result","next","token","size","consumeDigitValue","tokenize","length","charCodeAt","iterator","done","value","Symbol"],"mappings":"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"} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..af06f4b --- /dev/null +++ b/package-lock.json @@ -0,0 +1,9534 @@ +{ + "name": "@csstools/tokenizer", + "version": "3.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "@csstools/tokenizer", + "version": "3.1.0", + "license": "CC0-1.0", + "devDependencies": { + "@babel/core": "^7.15.0", + "@babel/preset-env": "^7.15.0", + "@babel/preset-typescript": "^7.15.0", + "@rollup/plugin-babel": "^5.3.0", + "@types/benchmark": "^2.1.1", + "@types/jest": "^27.0.1", + "@types/node": "^16.7.4", + "benchmark": "^2.1.4", + "bootstrap": "^5.1.0", + "codecov": "^3.8.3", + "css-tree1": "npm:css-tree@^1.1.3", + "css-tree2": "npm:css-tree@^2.0.1", + "jest": "^27.1.0", + "magic-string": "^0.25.7", + "postcss": "^8.4.31", + "rollup": "^2.56.3", + "rollup-plugin-bundle-size": "^1.0.3", + "rollup-plugin-terser": "^7.0.2", + "tailwindcss": "^2.2.8", + "tsc-watch": "^4.5.0", + "tslib": "^2.3.1", + "typescript": "^4.4.2" + }, + "engines": { + "node": ">= 12" + } + }, + "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/@babel/code-frame": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.4.tgz", + "integrity": "sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", + "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.0", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-module-transforms": "^7.25.2", + "@babel/helpers": "^7.25.0", + "@babel/parser": "^7.25.0", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.2", + "@babel/types": "^7.25.2", + "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.25.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.6.tgz", + "integrity": "sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.6", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", + "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz", + "integrity": "sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz", + "integrity": "sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.25.2", + "@babel/helper-validator-option": "^7.24.8", + "browserslist": "^4.23.1", + "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.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.4.tgz", + "integrity": "sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-member-expression-to-functions": "^7.24.8", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/helper-replace-supers": "^7.25.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/traverse": "^7.25.4", + "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.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.2.tgz", + "integrity": "sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "regexpu-core": "^5.3.1", + "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.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz", + "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==", + "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.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz", + "integrity": "sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.24.8", + "@babel/types": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", + "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz", + "integrity": "sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz", + "integrity": "sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", + "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.0.tgz", + "integrity": "sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-wrap-function": "^7.25.0", + "@babel/traverse": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz", + "integrity": "sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.24.8", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/traverse": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", + "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz", + "integrity": "sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", + "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz", + "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.0.tgz", + "integrity": "sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.0", + "@babel/types": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.6.tgz", + "integrity": "sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.24.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz", + "integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.6" + }, + "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.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.3.tgz", + "integrity": "sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.0.tgz", + "integrity": "sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "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.0", + "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.0.tgz", + "integrity": "sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz", + "integrity": "sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.7" + }, + "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.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.0.tgz", + "integrity": "sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.0" + }, + "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-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.25.6.tgz", + "integrity": "sha512-aABl0jHw9bZ2karQ/uUD6XP4u0SG22SJrOHFoL6XB1R7dTovOP4TzTlsxOYC5yQ1pdscVK2JTUnF6QL3ARoAiQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.6.tgz", + "integrity": "sha512-sXaDXaJN9SNLymBdlWFA+bjzBhFD617ZaFiY13dGt7TVslVvVgA6fkZOP7Ki3IGElC45lwHdOTrCtKZGVAWeLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "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.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz", + "integrity": "sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "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.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.4.tgz", + "integrity": "sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "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.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz", + "integrity": "sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.4.tgz", + "integrity": "sha512-jz8cV2XDDTqjKPwVPJBIjORVEmSGYhdRa8e5k5+vN+uwcjSrSxUaebBRa4ko1jqNF2uxyg8G6XYk30Jv285xzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-remap-async-to-generator": "^7.25.0", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/traverse": "^7.25.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz", + "integrity": "sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-remap-async-to-generator": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz", + "integrity": "sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.0.tgz", + "integrity": "sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.4.tgz", + "integrity": "sha512-nZeZHyCWPfjkdU5pA/uHiTaDAFUEqkpzf1YoQT2NeSynCGYq9rxfyI3XpQbfx/a0hSnFH6TGlEXvae5Vi7GD8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.25.4", + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz", + "integrity": "sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.4.tgz", + "integrity": "sha512-oexUfaQle2pF/b6E0dwsxQtAol9TLSO88kQvym6HHBWFliV2lGdrPieX+WgMRLSJDVzdYywk7jXbLPuO2KLTLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-replace-supers": "^7.25.0", + "@babel/traverse": "^7.25.4", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz", + "integrity": "sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/template": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.8.tgz", + "integrity": "sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz", + "integrity": "sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz", + "integrity": "sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "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.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.0.tgz", + "integrity": "sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.0", + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz", + "integrity": "sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz", + "integrity": "sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz", + "integrity": "sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz", + "integrity": "sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.25.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.1.tgz", + "integrity": "sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.24.8", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz", + "integrity": "sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.2.tgz", + "integrity": "sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz", + "integrity": "sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz", + "integrity": "sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz", + "integrity": "sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz", + "integrity": "sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.24.8", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-simple-access": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.0.tgz", + "integrity": "sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.25.0", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz", + "integrity": "sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz", + "integrity": "sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz", + "integrity": "sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz", + "integrity": "sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz", + "integrity": "sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz", + "integrity": "sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz", + "integrity": "sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-replace-supers": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz", + "integrity": "sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.8.tgz", + "integrity": "sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz", + "integrity": "sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.4.tgz", + "integrity": "sha512-ao8BG7E2b/URaUQGqN3Tlsg+M3KlHY6rJ1O1gXAEUnZoyNQnvKyH87Kfg+FoxSeyWUB8ISZZsC91C44ZuBFytw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.25.4", + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz", + "integrity": "sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz", + "integrity": "sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz", + "integrity": "sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "regenerator-transform": "^0.15.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz", + "integrity": "sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz", + "integrity": "sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz", + "integrity": "sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz", + "integrity": "sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz", + "integrity": "sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.8.tgz", + "integrity": "sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.2.tgz", + "integrity": "sha512-lBwRvjSmqiMYe/pS0+1gggjJleUJi7NzjvQ1Fkqtt69hBa/0t1YuW/MLQMAPixfwaQOHUXsd6jeU3Z+vdGv3+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-create-class-features-plugin": "^7.25.0", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/plugin-syntax-typescript": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz", + "integrity": "sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz", + "integrity": "sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz", + "integrity": "sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.4.tgz", + "integrity": "sha512-qesBxiWkgN1Q+31xUE9RcMk79eOXXDCv6tfyGMRSs4RGlioSg2WVyQAm07k726cSE56pa+Kb0y9epX2qaXzTvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.4.tgz", + "integrity": "sha512-W9Gyo+KmcxjGahtt3t9fb14vFRWvPpu5pT6GBlovAK6BTBcxgjfVMSQCfJl4oi35ODrxP6xx2Wr8LNST57Mraw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.25.4", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-validator-option": "^7.24.8", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.3", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.0", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.0", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.7", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.0", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.24.7", + "@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", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.24.7", + "@babel/plugin-transform-async-generator-functions": "^7.25.4", + "@babel/plugin-transform-async-to-generator": "^7.24.7", + "@babel/plugin-transform-block-scoped-functions": "^7.24.7", + "@babel/plugin-transform-block-scoping": "^7.25.0", + "@babel/plugin-transform-class-properties": "^7.25.4", + "@babel/plugin-transform-class-static-block": "^7.24.7", + "@babel/plugin-transform-classes": "^7.25.4", + "@babel/plugin-transform-computed-properties": "^7.24.7", + "@babel/plugin-transform-destructuring": "^7.24.8", + "@babel/plugin-transform-dotall-regex": "^7.24.7", + "@babel/plugin-transform-duplicate-keys": "^7.24.7", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.0", + "@babel/plugin-transform-dynamic-import": "^7.24.7", + "@babel/plugin-transform-exponentiation-operator": "^7.24.7", + "@babel/plugin-transform-export-namespace-from": "^7.24.7", + "@babel/plugin-transform-for-of": "^7.24.7", + "@babel/plugin-transform-function-name": "^7.25.1", + "@babel/plugin-transform-json-strings": "^7.24.7", + "@babel/plugin-transform-literals": "^7.25.2", + "@babel/plugin-transform-logical-assignment-operators": "^7.24.7", + "@babel/plugin-transform-member-expression-literals": "^7.24.7", + "@babel/plugin-transform-modules-amd": "^7.24.7", + "@babel/plugin-transform-modules-commonjs": "^7.24.8", + "@babel/plugin-transform-modules-systemjs": "^7.25.0", + "@babel/plugin-transform-modules-umd": "^7.24.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7", + "@babel/plugin-transform-new-target": "^7.24.7", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7", + "@babel/plugin-transform-numeric-separator": "^7.24.7", + "@babel/plugin-transform-object-rest-spread": "^7.24.7", + "@babel/plugin-transform-object-super": "^7.24.7", + "@babel/plugin-transform-optional-catch-binding": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.8", + "@babel/plugin-transform-parameters": "^7.24.7", + "@babel/plugin-transform-private-methods": "^7.25.4", + "@babel/plugin-transform-private-property-in-object": "^7.24.7", + "@babel/plugin-transform-property-literals": "^7.24.7", + "@babel/plugin-transform-regenerator": "^7.24.7", + "@babel/plugin-transform-reserved-words": "^7.24.7", + "@babel/plugin-transform-shorthand-properties": "^7.24.7", + "@babel/plugin-transform-spread": "^7.24.7", + "@babel/plugin-transform-sticky-regex": "^7.24.7", + "@babel/plugin-transform-template-literals": "^7.24.7", + "@babel/plugin-transform-typeof-symbol": "^7.24.8", + "@babel/plugin-transform-unicode-escapes": "^7.24.7", + "@babel/plugin-transform-unicode-property-regex": "^7.24.7", + "@babel/plugin-transform-unicode-regex": "^7.24.7", + "@babel/plugin-transform-unicode-sets-regex": "^7.25.4", + "@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.37.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.24.7", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.7.tgz", + "integrity": "sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-validator-option": "^7.24.7", + "@babel/plugin-syntax-jsx": "^7.24.7", + "@babel/plugin-transform-modules-commonjs": "^7.24.7", + "@babel/plugin-transform-typescript": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/runtime": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.6.tgz", + "integrity": "sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz", + "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.25.0", + "@babel/types": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.6.tgz", + "integrity": "sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.6", + "@babel/parser": "^7.25.6", + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.6", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz", + "integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" + }, + "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/@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/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": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", + "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/console/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/@jest/console/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/@jest/console/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/@jest/console/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/@jest/console/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/@jest/console/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/@jest/core": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", + "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/reporters": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^27.5.1", + "jest-config": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-resolve-dependencies": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "jest-watcher": "^27.5.1", + "micromatch": "^4.0.4", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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/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/@jest/core/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/@jest/core/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/@jest/core/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/@jest/core/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/@jest/core/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/@jest/environment": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", + "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", + "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "@sinonjs/fake-timers": "^8.0.1", + "@types/node": "*", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", + "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/types": "^27.5.1", + "expect": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", + "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-haste-map": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^8.1.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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/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/@jest/reporters/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/@jest/reporters/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/@jest/reporters/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/@jest/reporters/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/@jest/reporters/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/@jest/source-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", + "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9", + "source-map": "^0.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/test-result": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", + "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/test-result": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-runtime": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/transform/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/@jest/transform/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/@jest/transform/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/@jest/transform/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/@jest/transform/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jest/transform/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/@jest/transform/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/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/types/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/@jest/types/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/@jest/types/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/@jest/types/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/@jest/types/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/@jest/types/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/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "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/@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/@popperjs/core": { + "version": "2.11.8", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", + "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", + "dev": true, + "license": "MIT", + "peer": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@rollup/plugin-babel": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", + "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "@types/babel__core": "^7.1.9", + "rollup": "^1.20.0||^2.0.0" + }, + "peerDependenciesMeta": { + "@types/babel__core": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", + "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "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/benchmark": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@types/benchmark/-/benchmark-2.1.5.tgz", + "integrity": "sha512-cKio2eFB3v7qmKcvIHLUMw/dIx/8bhWPuzpzRT4unCPRTD8VdA9Zb0afxpcxOqR4PixRS7yT42FqGS8BYL8g1w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "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/jest": { + "version": "27.5.2", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.5.2.tgz", + "integrity": "sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "jest-matcher-utils": "^27.0.0", + "pretty-format": "^27.0.0" + } + }, + "node_modules/@types/node": { + "version": "16.18.109", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.109.tgz", + "integrity": "sha512-PxPCTJDDwBrigapKYIRHegNOMfKTeQUkZMJt+mkEwHf2rskRylueIqaHyAHfcpmFIFi7wq7f/X8Se/5hIVREvg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/parse-json": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/prettier": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", + "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==", + "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": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "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/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "deprecated": "Use your platform's native atob() and btoa() methods instead", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/acorn": { + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + } + }, + "node_modules/acorn-node/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "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": "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/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/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/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true, + "license": "MIT" + }, + "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/argv": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/argv/-/argv-0.0.2.tgz", + "integrity": "sha512-dEamhpPEwRUBpLNHeuCm/v+g0anFByHahxodVO/BbAarHVBBg2MccCwf9K+o1Pof+2btdnkJelYVUWjW/VrATw==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dev": true, + "engines": { + "node": ">=0.6.10" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/autoprefixer": { + "version": "10.4.20", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", + "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "browserslist": "^4.23.3", + "caniuse-lite": "^1.0.30001646", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.1", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/babel-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", + "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-jest/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/babel-jest/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/babel-jest/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/babel-jest/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/babel-jest/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/babel-jest/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/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-jest-hoist": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", + "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", + "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.2", + "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.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz", + "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.2" + }, + "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": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", + "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", + "dev": true, + "license": "MIT", + "dependencies": { + "babel-plugin-jest-hoist": "^27.5.1", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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/benchmark": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/benchmark/-/benchmark-2.1.4.tgz", + "integrity": "sha512-l9MlfN4M1K/H2fbhfMy3B7vJd6AGKJVQn2h6Sg/Yx+KckoUA7ewS5Vv6TjSq18ooE1kS9hhAlQRH3AkXIh/aOQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash": "^4.17.4", + "platform": "^1.3.3" + } + }, + "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", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bootstrap": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.3.tgz", + "integrity": "sha512-8HLCdWgyoMguSO9o+aH+iuZ+aht+mzW0u3HIMzVu7Srrpv7EBBxTnrFlSCskwdY1+EOFQSm7uMJhNQHkdPcmjg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/twbs" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/bootstrap" + } + ], + "license": "MIT", + "peerDependencies": { + "@popperjs/core": "^2.11.8" + } + }, + "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/browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/browserslist": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.0.tgz", + "integrity": "sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==", + "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.30001663", + "electron-to-chromium": "^1.5.28", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" + }, + "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-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/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "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/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001663", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001663.tgz", + "integrity": "sha512-o9C3X27GLKbLeTYZ6HBOLU1tsAcBZsLis28wrVzddShCS16RujjHp9GDHKZqrB3meE0YjhawvMFsGb/igqiPzA==", + "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": "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/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/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", + "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/chokidar/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/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/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/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/codecov": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/codecov/-/codecov-3.8.3.tgz", + "integrity": "sha512-Y8Hw+V3HgR7V71xWH2vQ9lyS358CbGCldWlJFR0JirqoGtOoas3R3/OclRTvgUYFK29mmJICDPauVKmpqbwhOA==", + "deprecated": "https://about.codecov.io/blog/codecov-uploader-deprecation-plan/", + "dev": true, + "license": "MIT", + "dependencies": { + "argv": "0.0.2", + "ignore-walk": "3.0.4", + "js-yaml": "3.14.1", + "teeny-request": "7.1.1", + "urlgrey": "1.0.0" + }, + "bin": { + "codecov": "bin/codecov" + }, + "engines": { + "node": ">=4.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": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "engines": { + "node": ">=12.5.0" + } + }, + "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/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/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/color/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/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/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "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/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-compat": { + "version": "3.38.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz", + "integrity": "sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha512-zj5D7X1U2h2zsXOAM8EyUREBnnts6H+Jm+d1M2DbiQQcUtnqgQsMrdo8JW9R80YFUmIdBZeMu5wvYM7hcgWP/Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/css-tree1": { + "name": "css-tree", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-tree2": { + "name": "css-tree", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css-tree2/node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/css-unit-converter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.2.tgz", + "integrity": "sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA==", + "dev": true, + "license": "MIT" + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true, + "license": "MIT" + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true, + "license": "MIT" + }, + "node_modules/data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", + "dev": true, + "license": "MIT" + }, + "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/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/defined": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", + "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "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/detective": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", + "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn-node": "^1.8.2", + "defined": "^1.0.0", + "minimist": "^1.2.6" + }, + "bin": { + "detective": "bin/detective.js" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true, + "license": "MIT" + }, + "node_modules/domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "deprecated": "Use your platform's native DOMException instead", + "dev": true, + "license": "MIT", + "dependencies": { + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=8" + } + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true, + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.28", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.28.tgz", + "integrity": "sha512-VufdJl+rzaKZoYVUijN13QcXVF5dWPZANeFTLNy+OSpHdDL5ynXTF35+60RSBbaQYB1ae723lQXHCrf4pyLsMw==", + "dev": true, + "license": "ISC" + }, + "node_modules/emittery": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", + "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "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/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": "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/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "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/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": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "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/event-stream": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", + "integrity": "sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==", + "dev": true, + "license": "MIT", + "dependencies": { + "duplexer": "~0.1.1", + "from": "~0", + "map-stream": "~0.1.0", + "pause-stream": "0.0.11", + "split": "0.3", + "stream-combiner": "~0.0.4", + "through": "~2.3.1" + } + }, + "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/expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "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-glob/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/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-url-parser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", + "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^1.3.2" + } + }, + "node_modules/fast-url-parser/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "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/figures": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha512-UxKlfCRuCBxSXU4C6t9scbDyWZ4VlaFFdojKtzJuSkuOBQ5CNFum+zZXFwHjo+CxBC1t6zlYPgHIgFjL8ggoEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" + }, + "engines": { + "node": ">=0.10.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-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/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dev": true, + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/from": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", + "integrity": "sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==", + "dev": true, + "license": "MIT" + }, + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "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/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/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": "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/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/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/gzip-size": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-3.0.0.tgz", + "integrity": "sha512-6s8trQiK+OMzSaCSVXX+iqIcLV9tC+E73jrJrJTyS4h/AJhlxHvzFKqM1YLDJWRGgHX8uLkBeXkA0njNj39L4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "duplexer": "^0.1.1" + }, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-ansi/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "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/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/hex-color-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", + "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/hsl-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", + "integrity": "sha512-M5ezZw4LzXbBKMruP+BNANf0k+19hDQMgpzBIYnya//Al+fjNct9Wf3b1WedLqdEs2hKBvxq/jh+DsHJLj0F9A==", + "dev": true, + "license": "MIT" + }, + "node_modules/hsla-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", + "integrity": "sha512-7Wn5GMLuHBjZCb2bTmnDOycho0p/7UVaAeqXZGbHrBCl6Yd/xDhQJAXe6Ga9AXJH2I5zY1dEdYw2u1UptnSBJA==", + "dev": true, + "license": "MIT" + }, + "node_modules/html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-encoding": "^1.0.5" + }, + "engines": { + "node": ">=10" + } + }, + "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/html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "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/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/ignore-walk": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz", + "integrity": "sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "minimatch": "^3.0.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-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/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/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/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", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-color-stop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", + "integrity": "sha512-H1U8Vz0cfXNujrJzEcvvwMDW9Ra+biSYA3ThdQvAnMLJkEHQXn6bWzLkxHtVYJ+Sdbx0b6finn3jZiaVe7MAHA==", + "dev": true, + "license": "MIT", + "dependencies": { + "css-color-names": "^0.0.4", + "hex-color-regex": "^1.1.0", + "hsl-regex": "^1.0.0", + "hsla-regex": "^1.0.0", + "rgb-regex": "^1.0.1", + "rgba-regex": "^1.0.0" + } + }, + "node_modules/is-core-module": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", + "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-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-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true, + "license": "MIT" + }, + "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-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "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/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": "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/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/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/istanbul-lib-report/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/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/jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", + "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/core": "^27.5.1", + "import-local": "^3.0.2", + "jest-cli": "^27.5.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", + "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "execa": "^5.0.0", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", + "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus/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/jest-circus/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/jest-circus/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/jest-circus/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/jest-circus/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/jest-circus/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/jest-cli": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", + "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/core": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "prompts": "^2.0.1", + "yargs": "^16.2.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-cli/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/jest-cli/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/jest-cli/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/jest-cli/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/jest-cli/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/jest-cli/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/jest-config": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", + "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.8.0", + "@jest/test-sequencer": "^27.5.1", + "@jest/types": "^27.5.1", + "babel-jest": "^27.5.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.9", + "jest-circus": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-jasmine2": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-config/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/jest-config/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/jest-config/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/jest-config/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/jest-config/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/jest-config/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/jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-diff/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/jest-diff/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/jest-diff/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/jest-diff/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/jest-diff/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/jest-diff/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/jest-docblock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", + "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", + "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each/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/jest-each/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/jest-each/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/jest-each/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/jest-each/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/jest-each/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/jest-environment-jsdom": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", + "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1", + "jsdom": "^16.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-node": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", + "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-jasmine2": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", + "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/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/jest-jasmine2/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/jest-jasmine2/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/jest-jasmine2/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/jest-jasmine2/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/jest-jasmine2/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/jest-leak-detector": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", + "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils/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/jest-matcher-utils/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/jest-matcher-utils/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/jest-matcher-utils/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/jest-matcher-utils/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/jest-matcher-utils/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/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-message-util/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/jest-message-util/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/jest-message-util/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/jest-message-util/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/jest-message-util/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/jest-message-util/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/jest-mock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", + "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", + "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", + "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-snapshot": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve/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/jest-resolve/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/jest-resolve/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/jest-resolve/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/jest-resolve/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/jest-resolve/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/jest-runner": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", + "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-leak-detector": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "source-map-support": "^0.5.6", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runner/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/jest-runner/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/jest-runner/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/jest-runner/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/jest-runner/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/jest-runner/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/jest-runtime": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", + "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/globals": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime/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/jest-runtime/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/jest-runtime/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/jest-runtime/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/jest-runtime/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/jest-runtime/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/jest-serializer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", + "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", + "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.0.0", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^27.5.1", + "semver": "^7.3.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/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/jest-snapshot/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/jest-snapshot/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/jest-snapshot/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/jest-snapshot/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/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-snapshot/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/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-util/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/jest-util/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/jest-util/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/jest-util/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/jest-util/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/jest-util/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/jest-validate": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", + "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "leven": "^3.1.0", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-validate/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/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-validate/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/jest-validate/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/jest-validate/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/jest-validate/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/jest-validate/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/jest-watcher": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", + "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^27.5.1", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-watcher/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/jest-watcher/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/jest-watcher/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/jest-watcher/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/jest-watcher/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/jest-watcher/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/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/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/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/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": "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/jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "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/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/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/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/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "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/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/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.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.topath": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/lodash.topath/-/lodash.topath-4.5.2.tgz", + "integrity": "sha512-1/W4dM+35DwvE/iEd1M9ekewOSTlpFekhw9mhAtrwjVqUr83/ilQiyAvmg4tVX7Unkcfl1KC+i9WdaT4B6aQcg==", + "dev": true, + "license": "MIT" + }, + "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.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, + "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/make-dir/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/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/map-stream": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", + "integrity": "sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==", + "dev": true + }, + "node_modules/maxmin": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/maxmin/-/maxmin-2.1.0.tgz", + "integrity": "sha512-NWlApBjW9az9qRPaeg7CX4sQBWwytqz32bIEo1PW9pRW+kBP9KLRfJO3UC+TV31EcQZEUq7eMzikC7zt3zPJcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^1.0.0", + "figures": "^1.0.1", + "gzip-size": "^3.0.0", + "pretty-bytes": "^3.0.0" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/maxmin/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/maxmin/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/maxmin/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/maxmin/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/maxmin/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "dev": true, + "license": "CC0-1.0" + }, + "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/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "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==", + "dev": true, + "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.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/modern-normalize": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/modern-normalize/-/modern-normalize-1.1.0.tgz", + "integrity": "sha512-2lMlY1Yc1+CUy0gw4H95uNN7vjbpoED7NNRSBHE25nWfLBdmMzFCsPshlzbxHz+gYMcBEUN8V4pU16prcdPSgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "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/node-cleanup": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/node-cleanup/-/node-cleanup-2.1.2.tgz", + "integrity": "sha512-qN8v/s2PAJwGUtr1/hYTpNKlD6Y9rc4p8KSmJXyGdYGZsDGKXrGThikLFP9OCHFeLeEpQzPwiAtdIvBLqm//Hw==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-emoji": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", + "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash": "^4.17.21" + } + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-fetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-fetch/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/node-fetch/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "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.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "dev": true, + "license": "MIT" + }, + "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-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.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/number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nwsapi": { + "version": "2.2.12", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.12.tgz", + "integrity": "sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==", + "dev": true, + "license": "MIT" + }, + "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/object-hash": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", + "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "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/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/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/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/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/pause-stream": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", + "integrity": "sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==", + "dev": true, + "license": [ + "MIT", + "Apache2" + ], + "dependencies": { + "through": "~2.3" + } + }, + "node_modules/picocolors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", + "dev": true, + "license": "ISC" + }, + "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/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-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/platform": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/platform/-/platform-1.3.6.tgz", + "integrity": "sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg==", + "dev": true, + "license": "MIT" + }, + "node_modules/postcss": { + "version": "8.4.47", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", + "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.1.0", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-js": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-3.0.3.tgz", + "integrity": "sha512-gWnoWQXKFw65Hk/mi2+WTQTHdPD5UJdDXZmX073EY/B3BWnYjO4F4t0VneTCnCGQ5E5GsCdMkzPaTXwl3r5dJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "camelcase-css": "^2.0.1", + "postcss": "^8.1.6" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "dev": true, + "license": "MIT", + "dependencies": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + }, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-nested": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz", + "integrity": "sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.6" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/pretty-bytes": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-3.0.1.tgz", + "integrity": "sha512-eb7ZAeUTgfh294cElcu51w+OTRp/6ItW758LjwJSK72LDevcuJn0P4eD71PLMDGPwwatXmAmYHTkzvpKlJE3ow==", + "dev": true, + "license": "MIT", + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "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/ps-tree": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ps-tree/-/ps-tree-1.2.0.tgz", + "integrity": "sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "event-stream": "=3.3.4" + }, + "bin": { + "ps-tree": "bin/ps-tree.js" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true, + "license": "MIT" + }, + "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/purgecss": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-4.1.3.tgz", + "integrity": "sha512-99cKy4s+VZoXnPxaoM23e5ABcP851nC2y2GROkkjS8eJaJtlciGavd7iYAw2V84WeBqggZ12l8ef44G99HmTaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "commander": "^8.0.0", + "glob": "^7.1.7", + "postcss": "^8.3.5", + "postcss-selector-parser": "^6.0.6" + }, + "bin": { + "purgecss": "bin/purgecss.js" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true, + "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/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true, + "license": "MIT" + }, + "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", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/reduce-css-calc": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-2.1.8.tgz", + "integrity": "sha512-8liAVezDmUcH+tdzoEGrhfbGcP7nOV4NkGE3a74+qqvE7nt9i4sKLGBuZNOnpI4WiGksiNPklZxva80061QiPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "css-unit-converter": "^1.1.1", + "postcss-value-parser": "^3.3.0" + } + }, + "node_modules/reduce-css-calc/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "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": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "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/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "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-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": "1.1.1", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz", + "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "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/rgb-regex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", + "integrity": "sha512-gDK5mkALDFER2YLqH6imYvK6g02gpNGM4ILDZ472EwWfXZnC2ZEpoB2ECXTyOVUKuk/bPJZMzwQPBYICzP+D3w==", + "dev": true, + "license": "MIT" + }, + "node_modules/rgba-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", + "integrity": "sha512-zgn5OjNQXLUTdq8m17KdaicF6w89TZs8ZU8y0AYENIU6wG8GG6LLm0yLSiPY8DmaYmHdgRW8rnApjoT0fQRfMg==", + "dev": true, + "license": "MIT" + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "2.79.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", + "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "dev": true, + "license": "MIT", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/rollup-plugin-bundle-size": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/rollup-plugin-bundle-size/-/rollup-plugin-bundle-size-1.0.3.tgz", + "integrity": "sha512-aWj0Pvzq90fqbI5vN1IvUrlf4utOqy+AERYxwWjegH1G8PzheMnrRIgQ5tkwKVtQMDP0bHZEACW/zLDF+XgfXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^1.1.3", + "maxmin": "^2.1.0" + } + }, + "node_modules/rollup-plugin-bundle-size/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rollup-plugin-bundle-size/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rollup-plugin-bundle-size/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rollup-plugin-bundle-size/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rollup-plugin-bundle-size/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + }, + "peerDependencies": { + "rollup": "^2.0.0" + } + }, + "node_modules/rollup-plugin-terser/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/rollup-plugin-terser/node_modules/jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/rollup-plugin-terser/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/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/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/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dev": true, + "license": "ISC", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" + } + }, + "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/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "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/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/simple-swizzle/node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "dev": true, + "license": "MIT" + }, + "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/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/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-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "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/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "deprecated": "Please use @jridgewell/sourcemap-codec instead", + "dev": true, + "license": "MIT" + }, + "node_modules/split": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", + "integrity": "sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==", + "dev": true, + "license": "MIT", + "dependencies": { + "through": "2" + }, + "engines": { + "node": "*" + } + }, + "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-combiner": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", + "integrity": "sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==", + "dev": true, + "license": "MIT", + "dependencies": { + "duplexer": "~0.1.1" + } + }, + "node_modules/stream-events": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.5.tgz", + "integrity": "sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg==", + "dev": true, + "license": "MIT", + "dependencies": { + "stubs": "^3.0.0" + } + }, + "node_modules/string-argv": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.1.2.tgz", + "integrity": "sha512-mBqPGEOMNJKXRo7z0keX0wlAhbBAjilUdPW13nN0PecVryZxdHIeM7TqbsSUA7VYuS00HGC6mojP7DlQzfa9ZA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.6.19" + } + }, + "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-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/stubs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/stubs/-/stubs-3.0.0.tgz", + "integrity": "sha512-PdHt7hHUJKxvTCgbKX9C1V/ftOcjJQgz8BZwNfV5c4B6dcGqlpelTbJ999jBGZ2jYiPAwcX5dP6oBwVlBlUbxw==", + "dev": true, + "license": "MIT" + }, + "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/supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks/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/supports-hyperlinks/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-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/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true, + "license": "MIT" + }, + "node_modules/tailwindcss": { + "version": "2.2.19", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-2.2.19.tgz", + "integrity": "sha512-6Ui7JSVtXadtTUo2NtkBBacobzWiQYVjYW0ZnKaP9S1ZCKQ0w7KVNz+YSDI/j7O7KCMHbOkz94ZMQhbT9pOqjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "arg": "^5.0.1", + "bytes": "^3.0.0", + "chalk": "^4.1.2", + "chokidar": "^3.5.2", + "color": "^4.0.1", + "cosmiconfig": "^7.0.1", + "detective": "^5.2.0", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.7", + "fs-extra": "^10.0.0", + "glob-parent": "^6.0.1", + "html-tags": "^3.1.0", + "is-color-stop": "^1.1.0", + "is-glob": "^4.0.1", + "lodash": "^4.17.21", + "lodash.topath": "^4.5.2", + "modern-normalize": "^1.1.0", + "node-emoji": "^1.11.0", + "normalize-path": "^3.0.0", + "object-hash": "^2.2.0", + "postcss-js": "^3.0.3", + "postcss-load-config": "^3.1.0", + "postcss-nested": "5.0.6", + "postcss-selector-parser": "^6.0.6", + "postcss-value-parser": "^4.1.0", + "pretty-hrtime": "^1.0.3", + "purgecss": "^4.0.3", + "quick-lru": "^5.1.1", + "reduce-css-calc": "^2.1.8", + "resolve": "^1.20.0", + "tmp": "^0.2.1" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=12.13.0" + }, + "peerDependencies": { + "autoprefixer": "^10.0.2", + "postcss": "^8.0.9" + } + }, + "node_modules/tailwindcss/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/tailwindcss/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/tailwindcss/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/tailwindcss/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/tailwindcss/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/tailwindcss/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/teeny-request": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/teeny-request/-/teeny-request-7.1.1.tgz", + "integrity": "sha512-iwY6rkW5DDGq8hE2YgNQlKbptYpY5Nn2xecjQiNjOXWbKzPGUfmeUBCSQbbr306d7Z7U2N0TPl+/SwYRfua1Dg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "http-proxy-agent": "^4.0.0", + "https-proxy-agent": "^5.0.0", + "node-fetch": "^2.6.1", + "stream-events": "^1.0.5", + "uuid": "^8.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terser": { + "version": "5.33.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.33.0.tgz", + "integrity": "sha512-JuPVaB7s1gdFKPKTelwUyRq5Sid2A3Gko2S0PncwdBq7kN9Ti9HPWDQ06MPsEDGsZeVESjKEnyGy68quBk1w6g==", + "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/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/throat": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz", + "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==", + "dev": true, + "license": "MIT" + }, + "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/tmp": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", + "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.14" + } + }, + "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-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "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/tough-cookie": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tough-cookie/node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsc-watch": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/tsc-watch/-/tsc-watch-4.6.2.tgz", + "integrity": "sha512-eHWzZGkPmzXVGQKbqQgf3BFpGiZZw1jQ29ZOJeaSe8JfyUvphbd221NfXmmsJUGGPGA/nnaSS01tXipUcyxAxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "node-cleanup": "^2.1.2", + "ps-tree": "^1.2.0", + "string-argv": "^0.1.1", + "strip-ansi": "^6.0.0" + }, + "bin": { + "tsc-watch": "index.js" + }, + "engines": { + "node": ">=8.17.0" + }, + "peerDependencies": { + "typescript": "*" + } + }, + "node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "dev": true, + "license": "0BSD" + }, + "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/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "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-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/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.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", + "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.1.2", + "picocolors": "^1.0.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/urlgrey": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/urlgrey/-/urlgrey-1.0.0.tgz", + "integrity": "sha512-hJfIzMPJmI9IlLkby8QrsCykQ+SXDeO2W5Q9QTW3QpqZVTx4a/K7p8/5q+/isD8vsbVaFgql/gvAoQCRQ2Cb5w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "fast-url-parser": "^1.1.3" + } + }, + "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": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-to-istanbul": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", + "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", + "dev": true, + "license": "ISC", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/v8-to-istanbul/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true, + "license": "MIT" + }, + "node_modules/v8-to-istanbul/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 8" + } + }, + "node_modules/w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", + "dev": true, + "license": "MIT", + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "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/webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=10.4" + } + }, + "node_modules/whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, + "license": "MIT", + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true, + "license": "MIT" + }, + "node_modules/whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "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/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/wrap-ansi/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/wrap-ansi/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/wrap-ansi/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/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": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/ws": { + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true, + "license": "MIT" + }, + "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/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "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/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" + } + } + } +} diff --git a/package.json b/package.json index aad64ac..626559f 100644 --- a/package.json +++ b/package.json @@ -46,27 +46,27 @@ "access": "public" }, "devDependencies": { - "@babel/core": "7.15.0", - "@babel/preset-env": "7.15.0", - "@babel/preset-typescript": "7.15.0", - "@rollup/plugin-babel": "5.3.0", - "@types/benchmark": "2.1.1", - "@types/jest": "27.0.1", - "@types/node": "16.7.4", - "benchmark": "2.1.4", - "bootstrap": "5.1.0", - "codecov": "3.8.3", + "@babel/core": "^7.15.0", + "@babel/preset-env": "^7.15.0", + "@babel/preset-typescript": "^7.15.0", + "@rollup/plugin-babel": "^5.3.0", + "@types/benchmark": "^2.1.1", + "@types/jest": "^27.0.1", + "@types/node": "^16.7.4", + "benchmark": "^2.1.4", + "bootstrap": "^5.1.0", + "codecov": "^3.8.3", "css-tree1": "npm:css-tree@^1.1.3", "css-tree2": "npm:css-tree@^2.0.1", - "jest": "27.1.0", - "magic-string": "0.25.7", - "postcss": "8.4.31", - "rollup": "2.56.3", - "rollup-plugin-bundle-size": "1.0.3", - "rollup-plugin-terser": "7.0.2", - "tailwindcss": "2.2.8", - "tsc-watch": "4.5.0", - "tslib": "2.3.1", - "typescript": "4.4.2" + "jest": "^27.1.0", + "magic-string": "^0.25.7", + "postcss": "^8.4.31", + "rollup": "^2.56.3", + "rollup-plugin-bundle-size": "^1.0.3", + "rollup-plugin-terser": "^7.0.2", + "tailwindcss": "^2.2.8", + "tsc-watch": "^4.5.0", + "tslib": "^2.3.1", + "typescript": "^4.4.2" } }