storybook 8.3.0-alpha.0 → 8.3.0-alpha.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.cjs +10 -15
- package/bin/index.cjs +1 -1
- package/core/babel/index.cjs +1 -0
- package/core/babel/index.d.ts +2 -0
- package/core/babel/index.js +1 -0
- package/core/cli/bin/index.cjs +1 -0
- package/core/cli/bin/index.d.ts +2 -0
- package/core/cli/bin/index.js +1 -0
- package/core/cli/index.cjs +1 -0
- package/core/cli/index.d.ts +2 -0
- package/core/cli/index.js +1 -0
- package/core/manager/globals.cjs +1 -0
- package/core/manager/globals.d.ts +2 -0
- package/core/manager/globals.js +1 -0
- package/dist/chunk-CQ7KV35C.js +3 -0
- package/dist/core-path.js +1 -1
- package/dist/proxy.cjs +1 -0
- package/dist/proxy.js +5 -0
- package/package.json +37 -41
- package/dist/block-dependencies-versions-NU5EBUEM.js +0 -38
- package/dist/block-node-version-JHQUZHQA.js +0 -14
- package/dist/block-storystorev6-AAXLZAKE.js +0 -23
- package/dist/chunk-BYXBJQAS.js +0 -1
- package/dist/chunk-JBWKEMOK.js +0 -3
- package/dist/generate.cjs +0 -732
- package/dist/generate.js +0 -741
- package/rendererAssets/.eslintrc.json +0 -19
- package/rendererAssets/common/Configure.mdx +0 -364
- package/rendererAssets/common/assets/accessibility.png +0 -0
- package/rendererAssets/common/assets/accessibility.svg +0 -1
- package/rendererAssets/common/assets/addon-library.png +0 -0
- package/rendererAssets/common/assets/assets.png +0 -0
- package/rendererAssets/common/assets/avif-test-image.avif +0 -0
- package/rendererAssets/common/assets/context.png +0 -0
- package/rendererAssets/common/assets/discord.svg +0 -1
- package/rendererAssets/common/assets/docs.png +0 -0
- package/rendererAssets/common/assets/figma-plugin.png +0 -0
- package/rendererAssets/common/assets/github.svg +0 -1
- package/rendererAssets/common/assets/share.png +0 -0
- package/rendererAssets/common/assets/styling.png +0 -0
- package/rendererAssets/common/assets/testing.png +0 -0
- package/rendererAssets/common/assets/theming.png +0 -0
- package/rendererAssets/common/assets/tutorials.svg +0 -1
- package/rendererAssets/common/assets/youtube.svg +0 -1
- package/rendererAssets/common/button.css +0 -30
- package/rendererAssets/common/header.css +0 -32
- package/rendererAssets/common/page.css +0 -69
- package/templates/angular/application/template-csf/.storybook/tsconfig.doc.json +0 -10
- package/templates/angular/application/template-csf/.storybook/tsconfig.json +0 -11
- package/templates/angular/application/template-csf/.storybook/typings.d.ts +0 -4
- package/templates/angular/library/template-csf/.storybook/tsconfig.json +0 -11
- package/templates/angular/library/template-csf/.storybook/typings.d.ts +0 -4
- package/templates/aurelia/template-csf/.storybook/tsconfig.json +0 -9
- package/templates/aurelia/template-csf/.storybook/typings.d.ts +0 -4
- package/test/default/cli.test.cjs +0 -14
- package/test/helpers.cjs +0 -15
- /package/dist/{generate.d.ts → proxy.d.ts} +0 -0
package/dist/generate.js
DELETED
|
@@ -1,741 +0,0 @@
|
|
|
1
|
-
import { __commonJS, __require, __toESM } from './chunk-JBWKEMOK.js';
|
|
2
|
-
import program from 'commander';
|
|
3
|
-
import chalk15, { cyan, yellow } from 'chalk';
|
|
4
|
-
import envinfo from 'envinfo';
|
|
5
|
-
import leven from 'leven';
|
|
6
|
-
import { findPackageSync, findPackage } from 'fd-package-json';
|
|
7
|
-
import invariant5 from 'tiny-invariant';
|
|
8
|
-
import { logger, instance } from '@storybook/core/node-logger';
|
|
9
|
-
import { addToGlobalContext, telemetry } from '@storybook/core/telemetry';
|
|
10
|
-
import { versions, removeAddon, JsPackageManagerFactory, parseList, getEnvConfig, getStorybookInfo, getCoercedStorybookVersion, cache, commandLog, paddedLog, HandledError, getProjectRoot, serverRequire, loadMainConfig, isCorePackage, frameworkPackages, commonGlobOptions, rendererPackages, frameworkToRenderer as frameworkToRenderer$1, extractProperFrameworkName, builderPackages, getPackageDetails } from '@storybook/core/common';
|
|
11
|
-
import { withTelemetry, buildDevStandalone, buildStaticStandalone } from '@storybook/core/core-server';
|
|
12
|
-
import { readFile, appendFile, lstat, readdir as readdir$2, readlink, realpath } from 'fs/promises';
|
|
13
|
-
import findUp2 from 'find-up';
|
|
14
|
-
import prompts5, { prompt } from 'prompts';
|
|
15
|
-
import { telemetry as telemetry$1 } from 'storybook/internal/telemetry';
|
|
16
|
-
import { NxProjectDetectedError } from '@storybook/core/server-errors';
|
|
17
|
-
import { dedent } from 'ts-dedent';
|
|
18
|
-
import process2 from 'node:process';
|
|
19
|
-
import semver, { prerelease, lt, gt, eq, validRange, minVersion, satisfies } from 'semver';
|
|
20
|
-
import * as fs2 from 'fs';
|
|
21
|
-
import fs2__default, { realpathSync as realpathSync$1, lstatSync, readdir as readdir$1, readdirSync as readdirSync$1, readlinkSync, existsSync as existsSync$1 } from 'fs';
|
|
22
|
-
import { resolve } from 'node:path';
|
|
23
|
-
import fse, { move, remove, existsSync, readdir, createWriteStream, readdirSync, readFile as readFile$1, writeFile, readJson, writeJson } from 'fs-extra';
|
|
24
|
-
import path9, { join, win32, posix, isAbsolute, basename, dirname } from 'path';
|
|
25
|
-
import 'strip-json-comments';
|
|
26
|
-
import { Agent } from 'http';
|
|
27
|
-
import { Agent as Agent$1 } from 'https';
|
|
28
|
-
import EventEmitter$2, { EventEmitter as EventEmitter$1 } from 'node:events';
|
|
29
|
-
import { Buffer as Buffer$1 } from 'node:buffer';
|
|
30
|
-
import stream, { Duplex, Readable, PassThrough } from 'node:stream';
|
|
31
|
-
import urlLib, { URL as URL$1, URLSearchParams } from 'node:url';
|
|
32
|
-
import http, { ServerResponse } from 'node:http';
|
|
33
|
-
import { EventEmitter, errorMonitor } from 'events';
|
|
34
|
-
import { types } from 'util';
|
|
35
|
-
import crypto from 'node:crypto';
|
|
36
|
-
import { promisify, inspect } from 'node:util';
|
|
37
|
-
import net from 'node:net';
|
|
38
|
-
import { checkServerIdentity } from 'node:tls';
|
|
39
|
-
import https from 'node:https';
|
|
40
|
-
import { lookup, V4MAPPED, ALL, ADDRCONFIG, promises } from 'node:dns';
|
|
41
|
-
import os from 'node:os';
|
|
42
|
-
import ora from 'ora';
|
|
43
|
-
import detectIndent from 'detect-indent';
|
|
44
|
-
import { readConfig, writeConfig, babelParse, loadConfig, formatConfig } from '@storybook/core/csf-tools';
|
|
45
|
-
import { UpgradeStorybookInWrongWorkingDirectory, UpgradeStorybookToLowerVersionError, UpgradeStorybookToSameVersionError, UpgradeStorybookUnknownCurrentVersionError, GenerateNewProjectOnInitError, MissingAngularJsonError } from 'storybook/internal/server-errors';
|
|
46
|
-
import execa from 'execa';
|
|
47
|
-
import { listCodemods, runCodemod } from '@storybook/codemod';
|
|
48
|
-
import * as t from '@babel/types';
|
|
49
|
-
import { fileURLToPath } from 'url';
|
|
50
|
-
import Stream from 'stream';
|
|
51
|
-
import { StringDecoder } from 'string_decoder';
|
|
52
|
-
import * as fs5 from 'node:fs/promises';
|
|
53
|
-
import * as babel from '@babel/core';
|
|
54
|
-
import { EOL } from 'os';
|
|
55
|
-
import { sync as sync$1, spawn } from 'cross-spawn';
|
|
56
|
-
import { withTelemetry as withTelemetry$1 } from 'storybook/internal/core-server';
|
|
57
|
-
import { downloadTemplate } from 'giget';
|
|
58
|
-
|
|
59
|
-
var require_eastasianwidth=__commonJS({"../../node_modules/eastasianwidth/eastasianwidth.js"(exports,module){var eaw={};typeof module>"u"?window.eastasianwidth=eaw:module.exports=eaw;eaw.eastAsianWidth=function(character){var x=character.charCodeAt(0),y=character.length==2?character.charCodeAt(1):0,codePoint=x;return 55296<=x&&x<=56319&&56320<=y&&y<=57343&&(x&=1023,y&=1023,codePoint=x<<10|y,codePoint+=65536),codePoint==12288||65281<=codePoint&&codePoint<=65376||65504<=codePoint&&codePoint<=65510?"F":codePoint==8361||65377<=codePoint&&codePoint<=65470||65474<=codePoint&&codePoint<=65479||65482<=codePoint&&codePoint<=65487||65490<=codePoint&&codePoint<=65495||65498<=codePoint&&codePoint<=65500||65512<=codePoint&&codePoint<=65518?"H":4352<=codePoint&&codePoint<=4447||4515<=codePoint&&codePoint<=4519||4602<=codePoint&&codePoint<=4607||9001<=codePoint&&codePoint<=9002||11904<=codePoint&&codePoint<=11929||11931<=codePoint&&codePoint<=12019||12032<=codePoint&&codePoint<=12245||12272<=codePoint&&codePoint<=12283||12289<=codePoint&&codePoint<=12350||12353<=codePoint&&codePoint<=12438||12441<=codePoint&&codePoint<=12543||12549<=codePoint&&codePoint<=12589||12593<=codePoint&&codePoint<=12686||12688<=codePoint&&codePoint<=12730||12736<=codePoint&&codePoint<=12771||12784<=codePoint&&codePoint<=12830||12832<=codePoint&&codePoint<=12871||12880<=codePoint&&codePoint<=13054||13056<=codePoint&&codePoint<=19903||19968<=codePoint&&codePoint<=42124||42128<=codePoint&&codePoint<=42182||43360<=codePoint&&codePoint<=43388||44032<=codePoint&&codePoint<=55203||55216<=codePoint&&codePoint<=55238||55243<=codePoint&&codePoint<=55291||63744<=codePoint&&codePoint<=64255||65040<=codePoint&&codePoint<=65049||65072<=codePoint&&codePoint<=65106||65108<=codePoint&&codePoint<=65126||65128<=codePoint&&codePoint<=65131||110592<=codePoint&&codePoint<=110593||127488<=codePoint&&codePoint<=127490||127504<=codePoint&&codePoint<=127546||127552<=codePoint&&codePoint<=127560||127568<=codePoint&&codePoint<=127569||131072<=codePoint&&codePoint<=194367||177984<=codePoint&&codePoint<=196605||196608<=codePoint&&codePoint<=262141?"W":32<=codePoint&&codePoint<=126||162<=codePoint&&codePoint<=163||165<=codePoint&&codePoint<=166||codePoint==172||codePoint==175||10214<=codePoint&&codePoint<=10221||10629<=codePoint&&codePoint<=10630?"Na":codePoint==161||codePoint==164||167<=codePoint&&codePoint<=168||codePoint==170||173<=codePoint&&codePoint<=174||176<=codePoint&&codePoint<=180||182<=codePoint&&codePoint<=186||188<=codePoint&&codePoint<=191||codePoint==198||codePoint==208||215<=codePoint&&codePoint<=216||222<=codePoint&&codePoint<=225||codePoint==230||232<=codePoint&&codePoint<=234||236<=codePoint&&codePoint<=237||codePoint==240||242<=codePoint&&codePoint<=243||247<=codePoint&&codePoint<=250||codePoint==252||codePoint==254||codePoint==257||codePoint==273||codePoint==275||codePoint==283||294<=codePoint&&codePoint<=295||codePoint==299||305<=codePoint&&codePoint<=307||codePoint==312||319<=codePoint&&codePoint<=322||codePoint==324||328<=codePoint&&codePoint<=331||codePoint==333||338<=codePoint&&codePoint<=339||358<=codePoint&&codePoint<=359||codePoint==363||codePoint==462||codePoint==464||codePoint==466||codePoint==468||codePoint==470||codePoint==472||codePoint==474||codePoint==476||codePoint==593||codePoint==609||codePoint==708||codePoint==711||713<=codePoint&&codePoint<=715||codePoint==717||codePoint==720||728<=codePoint&&codePoint<=731||codePoint==733||codePoint==735||768<=codePoint&&codePoint<=879||913<=codePoint&&codePoint<=929||931<=codePoint&&codePoint<=937||945<=codePoint&&codePoint<=961||963<=codePoint&&codePoint<=969||codePoint==1025||1040<=codePoint&&codePoint<=1103||codePoint==1105||codePoint==8208||8211<=codePoint&&codePoint<=8214||8216<=codePoint&&codePoint<=8217||8220<=codePoint&&codePoint<=8221||8224<=codePoint&&codePoint<=8226||8228<=codePoint&&codePoint<=8231||codePoint==8240||8242<=codePoint&&codePoint<=8243||codePoint==8245||codePoint==8251||codePoint==8254||codePoint==8308||codePoint==8319||8321<=codePoint&&codePoint<=8324||codePoint==8364||codePoint==8451||codePoint==8453||codePoint==8457||codePoint==8467||codePoint==8470||8481<=codePoint&&codePoint<=8482||codePoint==8486||codePoint==8491||8531<=codePoint&&codePoint<=8532||8539<=codePoint&&codePoint<=8542||8544<=codePoint&&codePoint<=8555||8560<=codePoint&&codePoint<=8569||codePoint==8585||8592<=codePoint&&codePoint<=8601||8632<=codePoint&&codePoint<=8633||codePoint==8658||codePoint==8660||codePoint==8679||codePoint==8704||8706<=codePoint&&codePoint<=8707||8711<=codePoint&&codePoint<=8712||codePoint==8715||codePoint==8719||codePoint==8721||codePoint==8725||codePoint==8730||8733<=codePoint&&codePoint<=8736||codePoint==8739||codePoint==8741||8743<=codePoint&&codePoint<=8748||codePoint==8750||8756<=codePoint&&codePoint<=8759||8764<=codePoint&&codePoint<=8765||codePoint==8776||codePoint==8780||codePoint==8786||8800<=codePoint&&codePoint<=8801||8804<=codePoint&&codePoint<=8807||8810<=codePoint&&codePoint<=8811||8814<=codePoint&&codePoint<=8815||8834<=codePoint&&codePoint<=8835||8838<=codePoint&&codePoint<=8839||codePoint==8853||codePoint==8857||codePoint==8869||codePoint==8895||codePoint==8978||9312<=codePoint&&codePoint<=9449||9451<=codePoint&&codePoint<=9547||9552<=codePoint&&codePoint<=9587||9600<=codePoint&&codePoint<=9615||9618<=codePoint&&codePoint<=9621||9632<=codePoint&&codePoint<=9633||9635<=codePoint&&codePoint<=9641||9650<=codePoint&&codePoint<=9651||9654<=codePoint&&codePoint<=9655||9660<=codePoint&&codePoint<=9661||9664<=codePoint&&codePoint<=9665||9670<=codePoint&&codePoint<=9672||codePoint==9675||9678<=codePoint&&codePoint<=9681||9698<=codePoint&&codePoint<=9701||codePoint==9711||9733<=codePoint&&codePoint<=9734||codePoint==9737||9742<=codePoint&&codePoint<=9743||9748<=codePoint&&codePoint<=9749||codePoint==9756||codePoint==9758||codePoint==9792||codePoint==9794||9824<=codePoint&&codePoint<=9825||9827<=codePoint&&codePoint<=9829||9831<=codePoint&&codePoint<=9834||9836<=codePoint&&codePoint<=9837||codePoint==9839||9886<=codePoint&&codePoint<=9887||9918<=codePoint&&codePoint<=9919||9924<=codePoint&&codePoint<=9933||9935<=codePoint&&codePoint<=9953||codePoint==9955||9960<=codePoint&&codePoint<=9983||codePoint==10045||codePoint==10071||10102<=codePoint&&codePoint<=10111||11093<=codePoint&&codePoint<=11097||12872<=codePoint&&codePoint<=12879||57344<=codePoint&&codePoint<=63743||65024<=codePoint&&codePoint<=65039||codePoint==65533||127232<=codePoint&&codePoint<=127242||127248<=codePoint&&codePoint<=127277||127280<=codePoint&&codePoint<=127337||127344<=codePoint&&codePoint<=127386||917760<=codePoint&&codePoint<=917999||983040<=codePoint&&codePoint<=1048573||1048576<=codePoint&&codePoint<=1114109?"A":"N"};eaw.characterLength=function(character){var code=this.eastAsianWidth(character);return code=="F"||code=="W"||code=="A"?2:1};function stringToArray(string){return string.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}eaw.length=function(string){for(var characters=stringToArray(string),len=0,i=0;i<characters.length;i++)len=len+this.characterLength(characters[i]);return len};eaw.slice=function(text,start,end){textLen=eaw.length(text),start=start||0,end=end||1,start<0&&(start=textLen+start),end<0&&(end=textLen+end);for(var result="",eawLen=0,chars=stringToArray(text),i=0;i<chars.length;i++){var char=chars[i],charLen=eaw.length(char);if(eawLen>=start-(charLen==2?1:0))if(eawLen+charLen<=end)result+=char;else break;eawLen+=charLen;}return result};}});var require_emoji_regex=__commonJS({"../../node_modules/emoji-regex/index.js"(exports,module){module.exports=function(){return /\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g};}});var require_boxes=__commonJS({"../../node_modules/cli-boxes/boxes.json"(exports,module){module.exports={single:{topLeft:"\u250C",top:"\u2500",topRight:"\u2510",right:"\u2502",bottomRight:"\u2518",bottom:"\u2500",bottomLeft:"\u2514",left:"\u2502"},double:{topLeft:"\u2554",top:"\u2550",topRight:"\u2557",right:"\u2551",bottomRight:"\u255D",bottom:"\u2550",bottomLeft:"\u255A",left:"\u2551"},round:{topLeft:"\u256D",top:"\u2500",topRight:"\u256E",right:"\u2502",bottomRight:"\u256F",bottom:"\u2500",bottomLeft:"\u2570",left:"\u2502"},bold:{topLeft:"\u250F",top:"\u2501",topRight:"\u2513",right:"\u2503",bottomRight:"\u251B",bottom:"\u2501",bottomLeft:"\u2517",left:"\u2503"},singleDouble:{topLeft:"\u2553",top:"\u2500",topRight:"\u2556",right:"\u2551",bottomRight:"\u255C",bottom:"\u2500",bottomLeft:"\u2559",left:"\u2551"},doubleSingle:{topLeft:"\u2552",top:"\u2550",topRight:"\u2555",right:"\u2502",bottomRight:"\u255B",bottom:"\u2550",bottomLeft:"\u2558",left:"\u2502"},classic:{topLeft:"+",top:"-",topRight:"+",right:"|",bottomRight:"+",bottom:"-",bottomLeft:"+",left:"|"},arrow:{topLeft:"\u2198",top:"\u2193",topRight:"\u2199",right:"\u2190",bottomRight:"\u2196",bottom:"\u2191",bottomLeft:"\u2197",left:"\u2192"}};}});var require_cli_boxes=__commonJS({"../../node_modules/cli-boxes/index.js"(exports,module){var cliBoxes2=require_boxes();module.exports=cliBoxes2;module.exports.default=cliBoxes2;}});var require_ansi_regex=__commonJS({"../../node_modules/ansi-regex/index.js"(exports,module){module.exports=({onlyFirst=!1}={})=>{let pattern=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(pattern,onlyFirst?void 0:"g")};}});var require_strip_ansi=__commonJS({"../../node_modules/string-width/node_modules/strip-ansi/index.js"(exports,module){var ansiRegex3=require_ansi_regex();module.exports=string=>typeof string=="string"?string.replace(ansiRegex3(),""):string;}});var require_is_fullwidth_code_point=__commonJS({"../../node_modules/is-fullwidth-code-point/index.js"(exports,module){var isFullwidthCodePoint=codePoint=>Number.isNaN(codePoint)?!1:codePoint>=4352&&(codePoint<=4447||codePoint===9001||codePoint===9002||11904<=codePoint&&codePoint<=12871&&codePoint!==12351||12880<=codePoint&&codePoint<=19903||19968<=codePoint&&codePoint<=42182||43360<=codePoint&&codePoint<=43388||44032<=codePoint&&codePoint<=55203||63744<=codePoint&&codePoint<=64255||65040<=codePoint&&codePoint<=65049||65072<=codePoint&&codePoint<=65131||65281<=codePoint&&codePoint<=65376||65504<=codePoint&&codePoint<=65510||110592<=codePoint&&codePoint<=110593||127488<=codePoint&&codePoint<=127569||131072<=codePoint&&codePoint<=262141);module.exports=isFullwidthCodePoint;module.exports.default=isFullwidthCodePoint;}});var require_emoji_regex2=__commonJS({"../../node_modules/string-width/node_modules/emoji-regex/index.js"(exports,module){module.exports=function(){return /\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g};}});var require_string_width=__commonJS({"../../node_modules/string-width/index.js"(exports,module){var stripAnsi2=require_strip_ansi(),isFullwidthCodePoint=require_is_fullwidth_code_point(),emojiRegex4=require_emoji_regex2(),stringWidth4=string=>{if(typeof string!="string"||string.length===0||(string=stripAnsi2(string),string.length===0))return 0;string=string.replace(emojiRegex4()," ");let width=0;for(let i=0;i<string.length;i++){let code=string.codePointAt(i);code<=31||code>=127&&code<=159||code>=768&&code<=879||(code>65535&&i++,width+=isFullwidthCodePoint(code)?2:1);}return width};module.exports=stringWidth4;module.exports.default=stringWidth4;}});var require_ansi_align=__commonJS({"../../node_modules/ansi-align/index.js"(exports,module){var stringWidth4=require_string_width();function ansiAlign2(text,opts){if(!text)return text;opts=opts||{};let align=opts.align||"center";if(align==="left")return text;let split=opts.split||`
|
|
60
|
-
`,pad=opts.pad||" ",widthDiffFn=align!=="right"?halfDiff:fullDiff,returnString=!1;Array.isArray(text)||(returnString=!0,text=String(text).split(split));let width,maxWidth=0;return text=text.map(function(str){return str=String(str),width=stringWidth4(str),maxWidth=Math.max(width,maxWidth),{str,width}}).map(function(obj){return new Array(widthDiffFn(maxWidth,obj.width)+1).join(pad)+obj.str}),returnString?text.join(split):text}ansiAlign2.left=function(text){return ansiAlign2(text,{align:"left"})};ansiAlign2.center=function(text){return ansiAlign2(text,{align:"center"})};ansiAlign2.right=function(text){return ansiAlign2(text,{align:"right"})};module.exports=ansiAlign2;function halfDiff(maxWidth,curWidth){return Math.floor((maxWidth-curWidth)/2)}function fullDiff(maxWidth,curWidth){return maxWidth-curWidth}}});var require_wrappy=__commonJS({"../../node_modules/wrappy/wrappy.js"(exports,module){module.exports=wrappy;function wrappy(fn,cb){if(fn&&cb)return wrappy(fn)(cb);if(typeof fn!="function")throw new TypeError("need wrapper function");return Object.keys(fn).forEach(function(k){wrapper[k]=fn[k];}),wrapper;function wrapper(){for(var args=new Array(arguments.length),i=0;i<args.length;i++)args[i]=arguments[i];var ret=fn.apply(this,args),cb2=args[args.length-1];return typeof ret=="function"&&ret!==cb2&&Object.keys(cb2).forEach(function(k){ret[k]=cb2[k];}),ret}}}});var require_once=__commonJS({"../../node_modules/once/once.js"(exports,module){var wrappy=require_wrappy();module.exports=wrappy(once);module.exports.strict=wrappy(onceStrict);once.proto=once(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return onceStrict(this)},configurable:!0});});function once(fn){var f=function(){return f.called?f.value:(f.called=!0,f.value=fn.apply(this,arguments))};return f.called=!1,f}function onceStrict(fn){var f=function(){if(f.called)throw new Error(f.onceError);return f.called=!0,f.value=fn.apply(this,arguments)},name=fn.name||"Function wrapped with `once`";return f.onceError=name+" shouldn't be called more than once",f.called=!1,f}}});var require_end_of_stream=__commonJS({"../../node_modules/end-of-stream/index.js"(exports,module){var once=require_once(),noop3=function(){},isRequest2=function(stream3){return stream3.setHeader&&typeof stream3.abort=="function"},isChildProcess=function(stream3){return stream3.stdio&&Array.isArray(stream3.stdio)&&stream3.stdio.length===3},eos=function(stream3,opts,callback){if(typeof opts=="function")return eos(stream3,null,opts);opts||(opts={}),callback=once(callback||noop3);var ws=stream3._writableState,rs=stream3._readableState,readable=opts.readable||opts.readable!==!1&&stream3.readable,writable=opts.writable||opts.writable!==!1&&stream3.writable,cancelled=!1,onlegacyfinish=function(){stream3.writable||onfinish();},onfinish=function(){writable=!1,readable||callback.call(stream3);},onend=function(){readable=!1,writable||callback.call(stream3);},onexit=function(exitCode){callback.call(stream3,exitCode?new Error("exited with error code: "+exitCode):null);},onerror=function(err){callback.call(stream3,err);},onclose=function(){process.nextTick(onclosenexttick);},onclosenexttick=function(){if(!cancelled){if(readable&&!(rs&&rs.ended&&!rs.destroyed))return callback.call(stream3,new Error("premature close"));if(writable&&!(ws&&ws.ended&&!ws.destroyed))return callback.call(stream3,new Error("premature close"))}},onrequest=function(){stream3.req.on("finish",onfinish);};return isRequest2(stream3)?(stream3.on("complete",onfinish),stream3.on("abort",onclose),stream3.req?onrequest():stream3.on("request",onrequest)):writable&&!ws&&(stream3.on("end",onlegacyfinish),stream3.on("close",onlegacyfinish)),isChildProcess(stream3)&&stream3.on("exit",onexit),stream3.on("end",onend),stream3.on("finish",onfinish),opts.error!==!1&&stream3.on("error",onerror),stream3.on("close",onclose),function(){cancelled=!0,stream3.removeListener("complete",onfinish),stream3.removeListener("abort",onclose),stream3.removeListener("request",onrequest),stream3.req&&stream3.req.removeListener("finish",onfinish),stream3.removeListener("end",onlegacyfinish),stream3.removeListener("close",onlegacyfinish),stream3.removeListener("finish",onfinish),stream3.removeListener("exit",onexit),stream3.removeListener("end",onend),stream3.removeListener("error",onerror),stream3.removeListener("close",onclose);}};module.exports=eos;}});var require_pump=__commonJS({"../../node_modules/pump/index.js"(exports,module){var once=require_once(),eos=require_end_of_stream(),fs6=__require("fs"),noop3=function(){},ancient=/^v?\.0/.test(process.version),isFn=function(fn){return typeof fn=="function"},isFS=function(stream3){return !ancient||!fs6?!1:(stream3 instanceof(fs6.ReadStream||noop3)||stream3 instanceof(fs6.WriteStream||noop3))&&isFn(stream3.close)},isRequest2=function(stream3){return stream3.setHeader&&isFn(stream3.abort)},destroyer=function(stream3,reading,writing,callback){callback=once(callback);var closed=!1;stream3.on("close",function(){closed=!0;}),eos(stream3,{readable:reading,writable:writing},function(err){if(err)return callback(err);closed=!0,callback();});var destroyed=!1;return function(err){if(!closed&&!destroyed){if(destroyed=!0,isFS(stream3))return stream3.close(noop3);if(isRequest2(stream3))return stream3.abort();if(isFn(stream3.destroy))return stream3.destroy();callback(err||new Error("stream was destroyed"));}}},call=function(fn){fn();},pipe2=function(from,to){return from.pipe(to)},pump=function(){var streams=Array.prototype.slice.call(arguments),callback=isFn(streams[streams.length-1]||noop3)&&streams.pop()||noop3;if(Array.isArray(streams[0])&&(streams=streams[0]),streams.length<2)throw new Error("pump requires two streams per minimum");var error,destroys=streams.map(function(stream3,i){var reading=i<streams.length-1,writing=i>0;return destroyer(stream3,reading,writing,function(err){error||(error=err),err&&destroys.forEach(call),!reading&&(destroys.forEach(call),callback(error));})});return streams.reduce(pipe2)};module.exports=pump;}});var require_chownr=__commonJS({"../../node_modules/tar-fs/node_modules/chownr/chownr.js"(exports,module){var fs6=__require("fs"),path10=__require("path"),LCHOWN=fs6.lchown?"lchown":"chown",LCHOWNSYNC=fs6.lchownSync?"lchownSync":"chownSync",needEISDIRHandled=fs6.lchown&&!process.version.match(/v1[1-9]+\./)&&!process.version.match(/v10\.[6-9]/),lchownSync=(path11,uid,gid)=>{try{return fs6[LCHOWNSYNC](path11,uid,gid)}catch(er){if(er.code!=="ENOENT")throw er}},chownSync=(path11,uid,gid)=>{try{return fs6.chownSync(path11,uid,gid)}catch(er){if(er.code!=="ENOENT")throw er}},handleEISDIR=needEISDIRHandled?(path11,uid,gid,cb)=>er=>{!er||er.code!=="EISDIR"?cb(er):fs6.chown(path11,uid,gid,cb);}:(_,__,___,cb)=>cb,handleEISDirSync=needEISDIRHandled?(path11,uid,gid)=>{try{return lchownSync(path11,uid,gid)}catch(er){if(er.code!=="EISDIR")throw er;chownSync(path11,uid,gid);}}:(path11,uid,gid)=>lchownSync(path11,uid,gid),nodeVersion=process.version,readdir3=(path11,options,cb)=>fs6.readdir(path11,options,cb),readdirSync3=(path11,options)=>fs6.readdirSync(path11,options);/^v4\./.test(nodeVersion)&&(readdir3=(path11,options,cb)=>fs6.readdir(path11,cb));var chown=(cpath,uid,gid,cb)=>{fs6[LCHOWN](cpath,uid,gid,handleEISDIR(cpath,uid,gid,er=>{cb(er&&er.code!=="ENOENT"?er:null);}));},chownrKid=(p,child,uid,gid,cb)=>{if(typeof child=="string")return fs6.lstat(path10.resolve(p,child),(er,stats)=>{if(er)return cb(er.code!=="ENOENT"?er:null);stats.name=child,chownrKid(p,stats,uid,gid,cb);});if(child.isDirectory())chownr(path10.resolve(p,child.name),uid,gid,er=>{if(er)return cb(er);let cpath=path10.resolve(p,child.name);chown(cpath,uid,gid,cb);});else {let cpath=path10.resolve(p,child.name);chown(cpath,uid,gid,cb);}},chownr=(p,uid,gid,cb)=>{readdir3(p,{withFileTypes:!0},(er,children)=>{if(er){if(er.code==="ENOENT")return cb();if(er.code!=="ENOTDIR"&&er.code!=="ENOTSUP")return cb(er)}if(er||!children.length)return chown(p,uid,gid,cb);let len=children.length,errState=null,then=er2=>{if(!errState){if(er2)return cb(errState=er2);if(--len===0)return chown(p,uid,gid,cb)}};children.forEach(child=>chownrKid(p,child,uid,gid,then));});},chownrKidSync=(p,child,uid,gid)=>{if(typeof child=="string")try{let stats=fs6.lstatSync(path10.resolve(p,child));stats.name=child,child=stats;}catch(er){if(er.code==="ENOENT")return;throw er}child.isDirectory()&&chownrSync(path10.resolve(p,child.name),uid,gid),handleEISDirSync(path10.resolve(p,child.name),uid,gid);},chownrSync=(p,uid,gid)=>{let children;try{children=readdirSync3(p,{withFileTypes:!0});}catch(er){if(er.code==="ENOENT")return;if(er.code==="ENOTDIR"||er.code==="ENOTSUP")return handleEISDirSync(p,uid,gid);throw er}return children&&children.length&&children.forEach(child=>chownrKidSync(p,child,uid,gid)),handleEISDirSync(p,uid,gid)};module.exports=chownr;chownr.sync=chownrSync;}});var require_stream=__commonJS({"../../node_modules/readable-stream/lib/internal/streams/stream.js"(exports,module){module.exports=__require("stream");}});var require_buffer_list=__commonJS({"../../node_modules/readable-stream/lib/internal/streams/buffer_list.js"(exports,module){function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})),keys.push.apply(keys,symbols);}return keys}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};i%2?ownKeys(Object(source),!0).forEach(function(key){_defineProperty(target,key,source[key]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target}function _defineProperty(obj,key,value){return key=_toPropertyKey(key),key in obj?Object.defineProperty(obj,key,{value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,_toPropertyKey(descriptor.key),descriptor);}}function _createClass(Constructor,protoProps,staticProps){return protoProps&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),Object.defineProperty(Constructor,"prototype",{writable:!1}),Constructor}function _toPropertyKey(arg){var key=_toPrimitive(arg,"string");return typeof key=="symbol"?key:String(key)}function _toPrimitive(input,hint){if(typeof input!="object"||input===null)return input;var prim=input[Symbol.toPrimitive];if(prim!==void 0){var res=prim.call(input,hint||"default");if(typeof res!="object")return res;throw new TypeError("@@toPrimitive must return a primitive value.")}return (hint==="string"?String:Number)(input)}var _require=__require("buffer"),Buffer4=_require.Buffer,_require2=__require("util"),inspect2=_require2.inspect,custom=inspect2&&inspect2.custom||"inspect";function copyBuffer(src,target,offset){Buffer4.prototype.copy.call(src,target,offset);}module.exports=function(){function BufferList(){_classCallCheck(this,BufferList),this.head=null,this.tail=null,this.length=0;}return _createClass(BufferList,[{key:"push",value:function(v){var entry={data:v,next:null};this.length>0?this.tail.next=entry:this.head=entry,this.tail=entry,++this.length;}},{key:"unshift",value:function(v){var entry={data:v,next:this.head};this.length===0&&(this.tail=entry),this.head=entry,++this.length;}},{key:"shift",value:function(){if(this.length!==0){var ret=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,ret}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0;}},{key:"join",value:function(s){if(this.length===0)return "";for(var p=this.head,ret=""+p.data;p=p.next;)ret+=s+p.data;return ret}},{key:"concat",value:function(n){if(this.length===0)return Buffer4.alloc(0);for(var ret=Buffer4.allocUnsafe(n>>>0),p=this.head,i=0;p;)copyBuffer(p.data,ret,i),i+=p.data.length,p=p.next;return ret}},{key:"consume",value:function(n,hasStrings){var ret;return n<this.head.data.length?(ret=this.head.data.slice(0,n),this.head.data=this.head.data.slice(n)):n===this.head.data.length?ret=this.shift():ret=hasStrings?this._getString(n):this._getBuffer(n),ret}},{key:"first",value:function(){return this.head.data}},{key:"_getString",value:function(n){var p=this.head,c=1,ret=p.data;for(n-=ret.length;p=p.next;){var str=p.data,nb=n>str.length?str.length:n;if(nb===str.length?ret+=str:ret+=str.slice(0,n),n-=nb,n===0){nb===str.length?(++c,p.next?this.head=p.next:this.head=this.tail=null):(this.head=p,p.data=str.slice(nb));break}++c;}return this.length-=c,ret}},{key:"_getBuffer",value:function(n){var ret=Buffer4.allocUnsafe(n),p=this.head,c=1;for(p.data.copy(ret),n-=p.data.length;p=p.next;){var buf=p.data,nb=n>buf.length?buf.length:n;if(buf.copy(ret,ret.length-n,0,nb),n-=nb,n===0){nb===buf.length?(++c,p.next?this.head=p.next:this.head=this.tail=null):(this.head=p,p.data=buf.slice(nb));break}++c;}return this.length-=c,ret}},{key:custom,value:function(_,options){return inspect2(this,_objectSpread(_objectSpread({},options),{},{depth:0,customInspect:!1}))}}]),BufferList}();}});var require_destroy=__commonJS({"../../node_modules/readable-stream/lib/internal/streams/destroy.js"(exports,module){function destroy(err,cb){var _this=this,readableDestroyed=this._readableState&&this._readableState.destroyed,writableDestroyed=this._writableState&&this._writableState.destroyed;return readableDestroyed||writableDestroyed?(cb?cb(err):err&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(emitErrorNT,this,err)):process.nextTick(emitErrorNT,this,err)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(err||null,function(err2){!cb&&err2?_this._writableState?_this._writableState.errorEmitted?process.nextTick(emitCloseNT,_this):(_this._writableState.errorEmitted=!0,process.nextTick(emitErrorAndCloseNT,_this,err2)):process.nextTick(emitErrorAndCloseNT,_this,err2):cb?(process.nextTick(emitCloseNT,_this),cb(err2)):process.nextTick(emitCloseNT,_this);}),this)}function emitErrorAndCloseNT(self2,err){emitErrorNT(self2,err),emitCloseNT(self2);}function emitCloseNT(self2){self2._writableState&&!self2._writableState.emitClose||self2._readableState&&!self2._readableState.emitClose||self2.emit("close");}function undestroy(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1);}function emitErrorNT(self2,err){self2.emit("error",err);}function errorOrDestroy(stream3,err){var rState=stream3._readableState,wState=stream3._writableState;rState&&rState.autoDestroy||wState&&wState.autoDestroy?stream3.destroy(err):stream3.emit("error",err);}module.exports={destroy,undestroy,errorOrDestroy};}});var require_errors=__commonJS({"../../node_modules/readable-stream/errors.js"(exports,module){var codes={};function createErrorType(code,message,Base){Base||(Base=Error);function getMessage(arg1,arg2,arg3){return typeof message=="string"?message:message(arg1,arg2,arg3)}class NodeError extends Base{constructor(arg1,arg2,arg3){super(getMessage(arg1,arg2,arg3));}}NodeError.prototype.name=Base.name,NodeError.prototype.code=code,codes[code]=NodeError;}function oneOf(expected,thing){if(Array.isArray(expected)){let len=expected.length;return expected=expected.map(i=>String(i)),len>2?`one of ${thing} ${expected.slice(0,len-1).join(", ")}, or `+expected[len-1]:len===2?`one of ${thing} ${expected[0]} or ${expected[1]}`:`of ${thing} ${expected[0]}`}else return `of ${thing} ${String(expected)}`}function startsWith(str,search,pos){return str.substr(!pos||pos<0?0:+pos,search.length)===search}function endsWith(str,search,this_len){return (this_len===void 0||this_len>str.length)&&(this_len=str.length),str.substring(this_len-search.length,this_len)===search}function includes(str,search,start){return typeof start!="number"&&(start=0),start+search.length>str.length?!1:str.indexOf(search,start)!==-1}createErrorType("ERR_INVALID_OPT_VALUE",function(name,value){return 'The value "'+value+'" is invalid for option "'+name+'"'},TypeError);createErrorType("ERR_INVALID_ARG_TYPE",function(name,expected,actual){let determiner;typeof expected=="string"&&startsWith(expected,"not ")?(determiner="must not be",expected=expected.replace(/^not /,"")):determiner="must be";let msg;if(endsWith(name," argument"))msg=`The ${name} ${determiner} ${oneOf(expected,"type")}`;else {let type=includes(name,".")?"property":"argument";msg=`The "${name}" ${type} ${determiner} ${oneOf(expected,"type")}`;}return msg+=`. Received type ${typeof actual}`,msg},TypeError);createErrorType("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");createErrorType("ERR_METHOD_NOT_IMPLEMENTED",function(name){return "The "+name+" method is not implemented"});createErrorType("ERR_STREAM_PREMATURE_CLOSE","Premature close");createErrorType("ERR_STREAM_DESTROYED",function(name){return "Cannot call "+name+" after a stream was destroyed"});createErrorType("ERR_MULTIPLE_CALLBACK","Callback called multiple times");createErrorType("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");createErrorType("ERR_STREAM_WRITE_AFTER_END","write after end");createErrorType("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);createErrorType("ERR_UNKNOWN_ENCODING",function(arg){return "Unknown encoding: "+arg},TypeError);createErrorType("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");module.exports.codes=codes;}});var require_state=__commonJS({"../../node_modules/readable-stream/lib/internal/streams/state.js"(exports,module){var ERR_INVALID_OPT_VALUE=require_errors().codes.ERR_INVALID_OPT_VALUE;function highWaterMarkFrom(options,isDuplex,duplexKey){return options.highWaterMark!=null?options.highWaterMark:isDuplex?options[duplexKey]:null}function getHighWaterMark(state,options,duplexKey,isDuplex){var hwm=highWaterMarkFrom(options,isDuplex,duplexKey);if(hwm!=null){if(!(isFinite(hwm)&&Math.floor(hwm)===hwm)||hwm<0){var name=isDuplex?duplexKey:"highWaterMark";throw new ERR_INVALID_OPT_VALUE(name,hwm)}return Math.floor(hwm)}return state.objectMode?16:16*1024}module.exports={getHighWaterMark};}});var require_inherits_browser=__commonJS({"../../node_modules/inherits/inherits_browser.js"(exports,module){typeof Object.create=="function"?module.exports=function(ctor,superCtor){superCtor&&(ctor.super_=superCtor,ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:!1,writable:!0,configurable:!0}}));}:module.exports=function(ctor,superCtor){if(superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype,ctor.prototype=new TempCtor,ctor.prototype.constructor=ctor;}};}});var require_inherits=__commonJS({"../../node_modules/inherits/inherits.js"(exports,module){try{if(util=__require("util"),typeof util.inherits!="function")throw "";module.exports=util.inherits;}catch{module.exports=require_inherits_browser();}var util;}});var require_node=__commonJS({"../../node_modules/util-deprecate/node.js"(exports,module){module.exports=__require("util").deprecate;}});var require_stream_writable=__commonJS({"../../node_modules/readable-stream/lib/_stream_writable.js"(exports,module){module.exports=Writable;function CorkedRequest(state){var _this=this;this.next=null,this.entry=null,this.finish=function(){onCorkedFinish(_this,state);};}var Duplex2;Writable.WritableState=WritableState;var internalUtil={deprecate:require_node()},Stream2=require_stream(),Buffer4=__require("buffer").Buffer,OurUint8Array=(typeof global<"u"?global:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function _uint8ArrayToBuffer(chunk){return Buffer4.from(chunk)}function _isUint8Array(obj){return Buffer4.isBuffer(obj)||obj instanceof OurUint8Array}var destroyImpl=require_destroy(),_require=require_state(),getHighWaterMark=_require.getHighWaterMark,_require$codes=require_errors().codes,ERR_INVALID_ARG_TYPE=_require$codes.ERR_INVALID_ARG_TYPE,ERR_METHOD_NOT_IMPLEMENTED=_require$codes.ERR_METHOD_NOT_IMPLEMENTED,ERR_MULTIPLE_CALLBACK=_require$codes.ERR_MULTIPLE_CALLBACK,ERR_STREAM_CANNOT_PIPE=_require$codes.ERR_STREAM_CANNOT_PIPE,ERR_STREAM_DESTROYED=_require$codes.ERR_STREAM_DESTROYED,ERR_STREAM_NULL_VALUES=_require$codes.ERR_STREAM_NULL_VALUES,ERR_STREAM_WRITE_AFTER_END=_require$codes.ERR_STREAM_WRITE_AFTER_END,ERR_UNKNOWN_ENCODING=_require$codes.ERR_UNKNOWN_ENCODING,errorOrDestroy=destroyImpl.errorOrDestroy;require_inherits()(Writable,Stream2);function nop(){}function WritableState(options,stream3,isDuplex){Duplex2=Duplex2||require_stream_duplex(),options=options||{},typeof isDuplex!="boolean"&&(isDuplex=stream3 instanceof Duplex2),this.objectMode=!!options.objectMode,isDuplex&&(this.objectMode=this.objectMode||!!options.writableObjectMode),this.highWaterMark=getHighWaterMark(this,options,"writableHighWaterMark",isDuplex),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var noDecode=options.decodeStrings===!1;this.decodeStrings=!noDecode,this.defaultEncoding=options.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(er){onwrite(stream3,er);},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=options.emitClose!==!1,this.autoDestroy=!!options.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new CorkedRequest(this);}WritableState.prototype.getBuffer=function(){for(var current=this.bufferedRequest,out=[];current;)out.push(current),current=current.next;return out};(function(){try{Object.defineProperty(WritableState.prototype,"buffer",{get:internalUtil.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")});}catch{}})();var realHasInstance;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(realHasInstance=Function.prototype[Symbol.hasInstance],Object.defineProperty(Writable,Symbol.hasInstance,{value:function(object){return realHasInstance.call(this,object)?!0:this!==Writable?!1:object&&object._writableState instanceof WritableState}})):realHasInstance=function(object){return object instanceof this};function Writable(options){Duplex2=Duplex2||require_stream_duplex();var isDuplex=this instanceof Duplex2;if(!isDuplex&&!realHasInstance.call(Writable,this))return new Writable(options);this._writableState=new WritableState(options,this,isDuplex),this.writable=!0,options&&(typeof options.write=="function"&&(this._write=options.write),typeof options.writev=="function"&&(this._writev=options.writev),typeof options.destroy=="function"&&(this._destroy=options.destroy),typeof options.final=="function"&&(this._final=options.final)),Stream2.call(this);}Writable.prototype.pipe=function(){errorOrDestroy(this,new ERR_STREAM_CANNOT_PIPE);};function writeAfterEnd(stream3,cb){var er=new ERR_STREAM_WRITE_AFTER_END;errorOrDestroy(stream3,er),process.nextTick(cb,er);}function validChunk(stream3,state,chunk,cb){var er;return chunk===null?er=new ERR_STREAM_NULL_VALUES:typeof chunk!="string"&&!state.objectMode&&(er=new ERR_INVALID_ARG_TYPE("chunk",["string","Buffer"],chunk)),er?(errorOrDestroy(stream3,er),process.nextTick(cb,er),!1):!0}Writable.prototype.write=function(chunk,encoding,cb){var state=this._writableState,ret=!1,isBuf=!state.objectMode&&_isUint8Array(chunk);return isBuf&&!Buffer4.isBuffer(chunk)&&(chunk=_uint8ArrayToBuffer(chunk)),typeof encoding=="function"&&(cb=encoding,encoding=null),isBuf?encoding="buffer":encoding||(encoding=state.defaultEncoding),typeof cb!="function"&&(cb=nop),state.ending?writeAfterEnd(this,cb):(isBuf||validChunk(this,state,chunk,cb))&&(state.pendingcb++,ret=writeOrBuffer(this,state,isBuf,chunk,encoding,cb)),ret};Writable.prototype.cork=function(){this._writableState.corked++;};Writable.prototype.uncork=function(){var state=this._writableState;state.corked&&(state.corked--,!state.writing&&!state.corked&&!state.bufferProcessing&&state.bufferedRequest&&clearBuffer(this,state));};Writable.prototype.setDefaultEncoding=function(encoding){if(typeof encoding=="string"&&(encoding=encoding.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((encoding+"").toLowerCase())>-1))throw new ERR_UNKNOWN_ENCODING(encoding);return this._writableState.defaultEncoding=encoding,this};Object.defineProperty(Writable.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function decodeChunk(state,chunk,encoding){return !state.objectMode&&state.decodeStrings!==!1&&typeof chunk=="string"&&(chunk=Buffer4.from(chunk,encoding)),chunk}Object.defineProperty(Writable.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function writeOrBuffer(stream3,state,isBuf,chunk,encoding,cb){if(!isBuf){var newChunk=decodeChunk(state,chunk,encoding);chunk!==newChunk&&(isBuf=!0,encoding="buffer",chunk=newChunk);}var len=state.objectMode?1:chunk.length;state.length+=len;var ret=state.length<state.highWaterMark;if(ret||(state.needDrain=!0),state.writing||state.corked){var last=state.lastBufferedRequest;state.lastBufferedRequest={chunk,encoding,isBuf,callback:cb,next:null},last?last.next=state.lastBufferedRequest:state.bufferedRequest=state.lastBufferedRequest,state.bufferedRequestCount+=1;}else doWrite(stream3,state,!1,len,chunk,encoding,cb);return ret}function doWrite(stream3,state,writev,len,chunk,encoding,cb){state.writelen=len,state.writecb=cb,state.writing=!0,state.sync=!0,state.destroyed?state.onwrite(new ERR_STREAM_DESTROYED("write")):writev?stream3._writev(chunk,state.onwrite):stream3._write(chunk,encoding,state.onwrite),state.sync=!1;}function onwriteError(stream3,state,sync2,er,cb){--state.pendingcb,sync2?(process.nextTick(cb,er),process.nextTick(finishMaybe,stream3,state),stream3._writableState.errorEmitted=!0,errorOrDestroy(stream3,er)):(cb(er),stream3._writableState.errorEmitted=!0,errorOrDestroy(stream3,er),finishMaybe(stream3,state));}function onwriteStateUpdate(state){state.writing=!1,state.writecb=null,state.length-=state.writelen,state.writelen=0;}function onwrite(stream3,er){var state=stream3._writableState,sync2=state.sync,cb=state.writecb;if(typeof cb!="function")throw new ERR_MULTIPLE_CALLBACK;if(onwriteStateUpdate(state),er)onwriteError(stream3,state,sync2,er,cb);else {var finished=needFinish(state)||stream3.destroyed;!finished&&!state.corked&&!state.bufferProcessing&&state.bufferedRequest&&clearBuffer(stream3,state),sync2?process.nextTick(afterWrite,stream3,state,finished,cb):afterWrite(stream3,state,finished,cb);}}function afterWrite(stream3,state,finished,cb){finished||onwriteDrain(stream3,state),state.pendingcb--,cb(),finishMaybe(stream3,state);}function onwriteDrain(stream3,state){state.length===0&&state.needDrain&&(state.needDrain=!1,stream3.emit("drain"));}function clearBuffer(stream3,state){state.bufferProcessing=!0;var entry=state.bufferedRequest;if(stream3._writev&&entry&&entry.next){var l=state.bufferedRequestCount,buffer=new Array(l),holder=state.corkedRequestsFree;holder.entry=entry;for(var count=0,allBuffers=!0;entry;)buffer[count]=entry,entry.isBuf||(allBuffers=!1),entry=entry.next,count+=1;buffer.allBuffers=allBuffers,doWrite(stream3,state,!0,state.length,buffer,"",holder.finish),state.pendingcb++,state.lastBufferedRequest=null,holder.next?(state.corkedRequestsFree=holder.next,holder.next=null):state.corkedRequestsFree=new CorkedRequest(state),state.bufferedRequestCount=0;}else {for(;entry;){var chunk=entry.chunk,encoding=entry.encoding,cb=entry.callback,len=state.objectMode?1:chunk.length;if(doWrite(stream3,state,!1,len,chunk,encoding,cb),entry=entry.next,state.bufferedRequestCount--,state.writing)break}entry===null&&(state.lastBufferedRequest=null);}state.bufferedRequest=entry,state.bufferProcessing=!1;}Writable.prototype._write=function(chunk,encoding,cb){cb(new ERR_METHOD_NOT_IMPLEMENTED("_write()"));};Writable.prototype._writev=null;Writable.prototype.end=function(chunk,encoding,cb){var state=this._writableState;return typeof chunk=="function"?(cb=chunk,chunk=null,encoding=null):typeof encoding=="function"&&(cb=encoding,encoding=null),chunk!=null&&this.write(chunk,encoding),state.corked&&(state.corked=1,this.uncork()),state.ending||endWritable(this,state,cb),this};Object.defineProperty(Writable.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}});function needFinish(state){return state.ending&&state.length===0&&state.bufferedRequest===null&&!state.finished&&!state.writing}function callFinal(stream3,state){stream3._final(function(err){state.pendingcb--,err&&errorOrDestroy(stream3,err),state.prefinished=!0,stream3.emit("prefinish"),finishMaybe(stream3,state);});}function prefinish(stream3,state){!state.prefinished&&!state.finalCalled&&(typeof stream3._final=="function"&&!state.destroyed?(state.pendingcb++,state.finalCalled=!0,process.nextTick(callFinal,stream3,state)):(state.prefinished=!0,stream3.emit("prefinish")));}function finishMaybe(stream3,state){var need=needFinish(state);if(need&&(prefinish(stream3,state),state.pendingcb===0&&(state.finished=!0,stream3.emit("finish"),state.autoDestroy))){var rState=stream3._readableState;(!rState||rState.autoDestroy&&rState.endEmitted)&&stream3.destroy();}return need}function endWritable(stream3,state,cb){state.ending=!0,finishMaybe(stream3,state),cb&&(state.finished?process.nextTick(cb):stream3.once("finish",cb)),state.ended=!0,stream3.writable=!1;}function onCorkedFinish(corkReq,state,err){var entry=corkReq.entry;for(corkReq.entry=null;entry;){var cb=entry.callback;state.pendingcb--,cb(err),entry=entry.next;}state.corkedRequestsFree.next=corkReq;}Object.defineProperty(Writable.prototype,"destroyed",{enumerable:!1,get:function(){return this._writableState===void 0?!1:this._writableState.destroyed},set:function(value){this._writableState&&(this._writableState.destroyed=value);}});Writable.prototype.destroy=destroyImpl.destroy;Writable.prototype._undestroy=destroyImpl.undestroy;Writable.prototype._destroy=function(err,cb){cb(err);};}});var require_stream_duplex=__commonJS({"../../node_modules/readable-stream/lib/_stream_duplex.js"(exports,module){var objectKeys=Object.keys||function(obj){var keys2=[];for(var key in obj)keys2.push(key);return keys2};module.exports=Duplex2;var Readable=require_stream_readable(),Writable=require_stream_writable();require_inherits()(Duplex2,Readable);for(keys=objectKeys(Writable.prototype),v=0;v<keys.length;v++)method=keys[v],Duplex2.prototype[method]||(Duplex2.prototype[method]=Writable.prototype[method]);var keys,method,v;function Duplex2(options){if(!(this instanceof Duplex2))return new Duplex2(options);Readable.call(this,options),Writable.call(this,options),this.allowHalfOpen=!0,options&&(options.readable===!1&&(this.readable=!1),options.writable===!1&&(this.writable=!1),options.allowHalfOpen===!1&&(this.allowHalfOpen=!1,this.once("end",onend)));}Object.defineProperty(Duplex2.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});Object.defineProperty(Duplex2.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});Object.defineProperty(Duplex2.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}});function onend(){this._writableState.ended||process.nextTick(onEndNT,this);}function onEndNT(self2){self2.end();}Object.defineProperty(Duplex2.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0||this._writableState===void 0?!1:this._readableState.destroyed&&this._writableState.destroyed},set:function(value){this._readableState===void 0||this._writableState===void 0||(this._readableState.destroyed=value,this._writableState.destroyed=value);}});}});var require_safe_buffer=__commonJS({"../../node_modules/safe-buffer/index.js"(exports,module){var buffer=__require("buffer"),Buffer4=buffer.Buffer;function copyProps(src,dst){for(var key in src)dst[key]=src[key];}Buffer4.from&&Buffer4.alloc&&Buffer4.allocUnsafe&&Buffer4.allocUnsafeSlow?module.exports=buffer:(copyProps(buffer,exports),exports.Buffer=SafeBuffer);function SafeBuffer(arg,encodingOrOffset,length){return Buffer4(arg,encodingOrOffset,length)}SafeBuffer.prototype=Object.create(Buffer4.prototype);copyProps(Buffer4,SafeBuffer);SafeBuffer.from=function(arg,encodingOrOffset,length){if(typeof arg=="number")throw new TypeError("Argument must not be a number");return Buffer4(arg,encodingOrOffset,length)};SafeBuffer.alloc=function(size,fill,encoding){if(typeof size!="number")throw new TypeError("Argument must be a number");var buf=Buffer4(size);return fill!==void 0?typeof encoding=="string"?buf.fill(fill,encoding):buf.fill(fill):buf.fill(0),buf};SafeBuffer.allocUnsafe=function(size){if(typeof size!="number")throw new TypeError("Argument must be a number");return Buffer4(size)};SafeBuffer.allocUnsafeSlow=function(size){if(typeof size!="number")throw new TypeError("Argument must be a number");return buffer.SlowBuffer(size)};}});var require_string_decoder=__commonJS({"../../node_modules/string_decoder/lib/string_decoder.js"(exports){var Buffer4=require_safe_buffer().Buffer,isEncoding=Buffer4.isEncoding||function(encoding){switch(encoding=""+encoding,encoding&&encoding.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return !0;default:return !1}};function _normalizeEncoding(enc){if(!enc)return "utf8";for(var retried;;)switch(enc){case"utf8":case"utf-8":return "utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return "utf16le";case"latin1":case"binary":return "latin1";case"base64":case"ascii":case"hex":return enc;default:if(retried)return;enc=(""+enc).toLowerCase(),retried=!0;}}function normalizeEncoding(enc){var nenc=_normalizeEncoding(enc);if(typeof nenc!="string"&&(Buffer4.isEncoding===isEncoding||!isEncoding(enc)))throw new Error("Unknown encoding: "+enc);return nenc||enc}exports.StringDecoder=StringDecoder2;function StringDecoder2(encoding){this.encoding=normalizeEncoding(encoding);var nb;switch(this.encoding){case"utf16le":this.text=utf16Text,this.end=utf16End,nb=4;break;case"utf8":this.fillLast=utf8FillLast,nb=4;break;case"base64":this.text=base64Text,this.end=base64End,nb=3;break;default:this.write=simpleWrite,this.end=simpleEnd;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=Buffer4.allocUnsafe(nb);}StringDecoder2.prototype.write=function(buf){if(buf.length===0)return "";var r,i;if(this.lastNeed){if(r=this.fillLast(buf),r===void 0)return "";i=this.lastNeed,this.lastNeed=0;}else i=0;return i<buf.length?r?r+this.text(buf,i):this.text(buf,i):r||""};StringDecoder2.prototype.end=utf8End;StringDecoder2.prototype.text=utf8Text;StringDecoder2.prototype.fillLast=function(buf){if(this.lastNeed<=buf.length)return buf.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);buf.copy(this.lastChar,this.lastTotal-this.lastNeed,0,buf.length),this.lastNeed-=buf.length;};function utf8CheckByte(byte){return byte<=127?0:byte>>5===6?2:byte>>4===14?3:byte>>3===30?4:byte>>6===2?-1:-2}function utf8CheckIncomplete(self2,buf,i){var j=buf.length-1;if(j<i)return 0;var nb=utf8CheckByte(buf[j]);return nb>=0?(nb>0&&(self2.lastNeed=nb-1),nb):--j<i||nb===-2?0:(nb=utf8CheckByte(buf[j]),nb>=0?(nb>0&&(self2.lastNeed=nb-2),nb):--j<i||nb===-2?0:(nb=utf8CheckByte(buf[j]),nb>=0?(nb>0&&(nb===2?nb=0:self2.lastNeed=nb-3),nb):0))}function utf8CheckExtraBytes(self2,buf,p){if((buf[0]&192)!==128)return self2.lastNeed=0,"\uFFFD";if(self2.lastNeed>1&&buf.length>1){if((buf[1]&192)!==128)return self2.lastNeed=1,"\uFFFD";if(self2.lastNeed>2&&buf.length>2&&(buf[2]&192)!==128)return self2.lastNeed=2,"\uFFFD"}}function utf8FillLast(buf){var p=this.lastTotal-this.lastNeed,r=utf8CheckExtraBytes(this,buf);if(r!==void 0)return r;if(this.lastNeed<=buf.length)return buf.copy(this.lastChar,p,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);buf.copy(this.lastChar,p,0,buf.length),this.lastNeed-=buf.length;}function utf8Text(buf,i){var total=utf8CheckIncomplete(this,buf,i);if(!this.lastNeed)return buf.toString("utf8",i);this.lastTotal=total;var end=buf.length-(total-this.lastNeed);return buf.copy(this.lastChar,0,end),buf.toString("utf8",i,end)}function utf8End(buf){var r=buf&&buf.length?this.write(buf):"";return this.lastNeed?r+"\uFFFD":r}function utf16Text(buf,i){if((buf.length-i)%2===0){var r=buf.toString("utf16le",i);if(r){var c=r.charCodeAt(r.length-1);if(c>=55296&&c<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=buf[buf.length-2],this.lastChar[1]=buf[buf.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=buf[buf.length-1],buf.toString("utf16le",i,buf.length-1)}function utf16End(buf){var r=buf&&buf.length?this.write(buf):"";if(this.lastNeed){var end=this.lastTotal-this.lastNeed;return r+this.lastChar.toString("utf16le",0,end)}return r}function base64Text(buf,i){var n=(buf.length-i)%3;return n===0?buf.toString("base64",i):(this.lastNeed=3-n,this.lastTotal=3,n===1?this.lastChar[0]=buf[buf.length-1]:(this.lastChar[0]=buf[buf.length-2],this.lastChar[1]=buf[buf.length-1]),buf.toString("base64",i,buf.length-n))}function base64End(buf){var r=buf&&buf.length?this.write(buf):"";return this.lastNeed?r+this.lastChar.toString("base64",0,3-this.lastNeed):r}function simpleWrite(buf){return buf.toString(this.encoding)}function simpleEnd(buf){return buf&&buf.length?this.write(buf):""}}});var require_end_of_stream2=__commonJS({"../../node_modules/readable-stream/lib/internal/streams/end-of-stream.js"(exports,module){var ERR_STREAM_PREMATURE_CLOSE=require_errors().codes.ERR_STREAM_PREMATURE_CLOSE;function once(callback){var called=!1;return function(){if(!called){called=!0;for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];callback.apply(this,args);}}}function noop3(){}function isRequest2(stream3){return stream3.setHeader&&typeof stream3.abort=="function"}function eos(stream3,opts,callback){if(typeof opts=="function")return eos(stream3,null,opts);opts||(opts={}),callback=once(callback||noop3);var readable=opts.readable||opts.readable!==!1&&stream3.readable,writable=opts.writable||opts.writable!==!1&&stream3.writable,onlegacyfinish=function(){stream3.writable||onfinish();},writableEnded=stream3._writableState&&stream3._writableState.finished,onfinish=function(){writable=!1,writableEnded=!0,readable||callback.call(stream3);},readableEnded=stream3._readableState&&stream3._readableState.endEmitted,onend=function(){readable=!1,readableEnded=!0,writable||callback.call(stream3);},onerror=function(err){callback.call(stream3,err);},onclose=function(){var err;if(readable&&!readableEnded)return (!stream3._readableState||!stream3._readableState.ended)&&(err=new ERR_STREAM_PREMATURE_CLOSE),callback.call(stream3,err);if(writable&&!writableEnded)return (!stream3._writableState||!stream3._writableState.ended)&&(err=new ERR_STREAM_PREMATURE_CLOSE),callback.call(stream3,err)},onrequest=function(){stream3.req.on("finish",onfinish);};return isRequest2(stream3)?(stream3.on("complete",onfinish),stream3.on("abort",onclose),stream3.req?onrequest():stream3.on("request",onrequest)):writable&&!stream3._writableState&&(stream3.on("end",onlegacyfinish),stream3.on("close",onlegacyfinish)),stream3.on("end",onend),stream3.on("finish",onfinish),opts.error!==!1&&stream3.on("error",onerror),stream3.on("close",onclose),function(){stream3.removeListener("complete",onfinish),stream3.removeListener("abort",onclose),stream3.removeListener("request",onrequest),stream3.req&&stream3.req.removeListener("finish",onfinish),stream3.removeListener("end",onlegacyfinish),stream3.removeListener("close",onlegacyfinish),stream3.removeListener("finish",onfinish),stream3.removeListener("end",onend),stream3.removeListener("error",onerror),stream3.removeListener("close",onclose);}}module.exports=eos;}});var require_async_iterator=__commonJS({"../../node_modules/readable-stream/lib/internal/streams/async_iterator.js"(exports,module){var _Object$setPrototypeO;function _defineProperty(obj,key,value){return key=_toPropertyKey(key),key in obj?Object.defineProperty(obj,key,{value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}function _toPropertyKey(arg){var key=_toPrimitive(arg,"string");return typeof key=="symbol"?key:String(key)}function _toPrimitive(input,hint){if(typeof input!="object"||input===null)return input;var prim=input[Symbol.toPrimitive];if(prim!==void 0){var res=prim.call(input,hint||"default");if(typeof res!="object")return res;throw new TypeError("@@toPrimitive must return a primitive value.")}return (hint==="string"?String:Number)(input)}var finished=require_end_of_stream2(),kLastResolve=Symbol("lastResolve"),kLastReject=Symbol("lastReject"),kError=Symbol("error"),kEnded=Symbol("ended"),kLastPromise=Symbol("lastPromise"),kHandlePromise=Symbol("handlePromise"),kStream=Symbol("stream");function createIterResult(value,done){return {value,done}}function readAndResolve(iter){var resolve2=iter[kLastResolve];if(resolve2!==null){var data=iter[kStream].read();data!==null&&(iter[kLastPromise]=null,iter[kLastResolve]=null,iter[kLastReject]=null,resolve2(createIterResult(data,!1)));}}function onReadable(iter){process.nextTick(readAndResolve,iter);}function wrapForNext(lastPromise,iter){return function(resolve2,reject){lastPromise.then(function(){if(iter[kEnded]){resolve2(createIterResult(void 0,!0));return}iter[kHandlePromise](resolve2,reject);},reject);}}var AsyncIteratorPrototype=Object.getPrototypeOf(function(){}),ReadableStreamAsyncIteratorPrototype=Object.setPrototypeOf((_Object$setPrototypeO={get stream(){return this[kStream]},next:function(){var _this=this,error=this[kError];if(error!==null)return Promise.reject(error);if(this[kEnded])return Promise.resolve(createIterResult(void 0,!0));if(this[kStream].destroyed)return new Promise(function(resolve2,reject){process.nextTick(function(){_this[kError]?reject(_this[kError]):resolve2(createIterResult(void 0,!0));});});var lastPromise=this[kLastPromise],promise;if(lastPromise)promise=new Promise(wrapForNext(lastPromise,this));else {var data=this[kStream].read();if(data!==null)return Promise.resolve(createIterResult(data,!1));promise=new Promise(this[kHandlePromise]);}return this[kLastPromise]=promise,promise}},_defineProperty(_Object$setPrototypeO,Symbol.asyncIterator,function(){return this}),_defineProperty(_Object$setPrototypeO,"return",function(){var _this2=this;return new Promise(function(resolve2,reject){_this2[kStream].destroy(null,function(err){if(err){reject(err);return}resolve2(createIterResult(void 0,!0));});})}),_Object$setPrototypeO),AsyncIteratorPrototype),createReadableStreamAsyncIterator=function(stream3){var _Object$create,iterator=Object.create(ReadableStreamAsyncIteratorPrototype,(_Object$create={},_defineProperty(_Object$create,kStream,{value:stream3,writable:!0}),_defineProperty(_Object$create,kLastResolve,{value:null,writable:!0}),_defineProperty(_Object$create,kLastReject,{value:null,writable:!0}),_defineProperty(_Object$create,kError,{value:null,writable:!0}),_defineProperty(_Object$create,kEnded,{value:stream3._readableState.endEmitted,writable:!0}),_defineProperty(_Object$create,kHandlePromise,{value:function(resolve2,reject){var data=iterator[kStream].read();data?(iterator[kLastPromise]=null,iterator[kLastResolve]=null,iterator[kLastReject]=null,resolve2(createIterResult(data,!1))):(iterator[kLastResolve]=resolve2,iterator[kLastReject]=reject);},writable:!0}),_Object$create));return iterator[kLastPromise]=null,finished(stream3,function(err){if(err&&err.code!=="ERR_STREAM_PREMATURE_CLOSE"){var reject=iterator[kLastReject];reject!==null&&(iterator[kLastPromise]=null,iterator[kLastResolve]=null,iterator[kLastReject]=null,reject(err)),iterator[kError]=err;return}var resolve2=iterator[kLastResolve];resolve2!==null&&(iterator[kLastPromise]=null,iterator[kLastResolve]=null,iterator[kLastReject]=null,resolve2(createIterResult(void 0,!0))),iterator[kEnded]=!0;}),stream3.on("readable",onReadable.bind(null,iterator)),iterator};module.exports=createReadableStreamAsyncIterator;}});var require_from=__commonJS({"../../node_modules/readable-stream/lib/internal/streams/from.js"(exports,module){function asyncGeneratorStep(gen,resolve2,reject,_next,_throw,key,arg){try{var info=gen[key](arg),value=info.value;}catch(error){reject(error);return}info.done?resolve2(value):Promise.resolve(value).then(_next,_throw);}function _asyncToGenerator(fn){return function(){var self2=this,args=arguments;return new Promise(function(resolve2,reject){var gen=fn.apply(self2,args);function _next(value){asyncGeneratorStep(gen,resolve2,reject,_next,_throw,"next",value);}function _throw(err){asyncGeneratorStep(gen,resolve2,reject,_next,_throw,"throw",err);}_next(void 0);})}}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})),keys.push.apply(keys,symbols);}return keys}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};i%2?ownKeys(Object(source),!0).forEach(function(key){_defineProperty(target,key,source[key]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target}function _defineProperty(obj,key,value){return key=_toPropertyKey(key),key in obj?Object.defineProperty(obj,key,{value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}function _toPropertyKey(arg){var key=_toPrimitive(arg,"string");return typeof key=="symbol"?key:String(key)}function _toPrimitive(input,hint){if(typeof input!="object"||input===null)return input;var prim=input[Symbol.toPrimitive];if(prim!==void 0){var res=prim.call(input,hint||"default");if(typeof res!="object")return res;throw new TypeError("@@toPrimitive must return a primitive value.")}return (hint==="string"?String:Number)(input)}var ERR_INVALID_ARG_TYPE=require_errors().codes.ERR_INVALID_ARG_TYPE;function from(Readable,iterable,opts){var iterator;if(iterable&&typeof iterable.next=="function")iterator=iterable;else if(iterable&&iterable[Symbol.asyncIterator])iterator=iterable[Symbol.asyncIterator]();else if(iterable&&iterable[Symbol.iterator])iterator=iterable[Symbol.iterator]();else throw new ERR_INVALID_ARG_TYPE("iterable",["Iterable"],iterable);var readable=new Readable(_objectSpread({objectMode:!0},opts)),reading=!1;readable._read=function(){reading||(reading=!0,next());};function next(){return _next2.apply(this,arguments)}function _next2(){return _next2=_asyncToGenerator(function*(){try{var _yield$iterator$next=yield iterator.next(),value=_yield$iterator$next.value,done=_yield$iterator$next.done;done?readable.push(null):readable.push(yield value)?next():reading=!1;}catch(err){readable.destroy(err);}}),_next2.apply(this,arguments)}return readable}module.exports=from;}});var require_stream_readable=__commonJS({"../../node_modules/readable-stream/lib/_stream_readable.js"(exports,module){module.exports=Readable;var Duplex2;Readable.ReadableState=ReadableState;__require("events").EventEmitter;var EElistenerCount=function(emitter,type){return emitter.listeners(type).length},Stream2=require_stream(),Buffer4=__require("buffer").Buffer,OurUint8Array=(typeof global<"u"?global:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function _uint8ArrayToBuffer(chunk){return Buffer4.from(chunk)}function _isUint8Array(obj){return Buffer4.isBuffer(obj)||obj instanceof OurUint8Array}var debugUtil=__require("util"),debug;debugUtil&&debugUtil.debuglog?debug=debugUtil.debuglog("stream"):debug=function(){};var BufferList=require_buffer_list(),destroyImpl=require_destroy(),_require=require_state(),getHighWaterMark=_require.getHighWaterMark,_require$codes=require_errors().codes,ERR_INVALID_ARG_TYPE=_require$codes.ERR_INVALID_ARG_TYPE,ERR_STREAM_PUSH_AFTER_EOF=_require$codes.ERR_STREAM_PUSH_AFTER_EOF,ERR_METHOD_NOT_IMPLEMENTED=_require$codes.ERR_METHOD_NOT_IMPLEMENTED,ERR_STREAM_UNSHIFT_AFTER_END_EVENT=_require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,StringDecoder2,createReadableStreamAsyncIterator,from;require_inherits()(Readable,Stream2);var errorOrDestroy=destroyImpl.errorOrDestroy,kProxyEvents=["error","close","destroy","pause","resume"];function prependListener(emitter,event,fn){if(typeof emitter.prependListener=="function")return emitter.prependListener(event,fn);!emitter._events||!emitter._events[event]?emitter.on(event,fn):Array.isArray(emitter._events[event])?emitter._events[event].unshift(fn):emitter._events[event]=[fn,emitter._events[event]];}function ReadableState(options,stream3,isDuplex){Duplex2=Duplex2||require_stream_duplex(),options=options||{},typeof isDuplex!="boolean"&&(isDuplex=stream3 instanceof Duplex2),this.objectMode=!!options.objectMode,isDuplex&&(this.objectMode=this.objectMode||!!options.readableObjectMode),this.highWaterMark=getHighWaterMark(this,options,"readableHighWaterMark",isDuplex),this.buffer=new BufferList,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=options.emitClose!==!1,this.autoDestroy=!!options.autoDestroy,this.destroyed=!1,this.defaultEncoding=options.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,options.encoding&&(StringDecoder2||(StringDecoder2=require_string_decoder().StringDecoder),this.decoder=new StringDecoder2(options.encoding),this.encoding=options.encoding);}function Readable(options){if(Duplex2=Duplex2||require_stream_duplex(),!(this instanceof Readable))return new Readable(options);var isDuplex=this instanceof Duplex2;this._readableState=new ReadableState(options,this,isDuplex),this.readable=!0,options&&(typeof options.read=="function"&&(this._read=options.read),typeof options.destroy=="function"&&(this._destroy=options.destroy)),Stream2.call(this);}Object.defineProperty(Readable.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(value){this._readableState&&(this._readableState.destroyed=value);}});Readable.prototype.destroy=destroyImpl.destroy;Readable.prototype._undestroy=destroyImpl.undestroy;Readable.prototype._destroy=function(err,cb){cb(err);};Readable.prototype.push=function(chunk,encoding){var state=this._readableState,skipChunkCheck;return state.objectMode?skipChunkCheck=!0:typeof chunk=="string"&&(encoding=encoding||state.defaultEncoding,encoding!==state.encoding&&(chunk=Buffer4.from(chunk,encoding),encoding=""),skipChunkCheck=!0),readableAddChunk(this,chunk,encoding,!1,skipChunkCheck)};Readable.prototype.unshift=function(chunk){return readableAddChunk(this,chunk,null,!0,!1)};function readableAddChunk(stream3,chunk,encoding,addToFront,skipChunkCheck){debug("readableAddChunk",chunk);var state=stream3._readableState;if(chunk===null)state.reading=!1,onEofChunk(stream3,state);else {var er;if(skipChunkCheck||(er=chunkInvalid(state,chunk)),er)errorOrDestroy(stream3,er);else if(state.objectMode||chunk&&chunk.length>0)if(typeof chunk!="string"&&!state.objectMode&&Object.getPrototypeOf(chunk)!==Buffer4.prototype&&(chunk=_uint8ArrayToBuffer(chunk)),addToFront)state.endEmitted?errorOrDestroy(stream3,new ERR_STREAM_UNSHIFT_AFTER_END_EVENT):addChunk(stream3,state,chunk,!0);else if(state.ended)errorOrDestroy(stream3,new ERR_STREAM_PUSH_AFTER_EOF);else {if(state.destroyed)return !1;state.reading=!1,state.decoder&&!encoding?(chunk=state.decoder.write(chunk),state.objectMode||chunk.length!==0?addChunk(stream3,state,chunk,!1):maybeReadMore(stream3,state)):addChunk(stream3,state,chunk,!1);}else addToFront||(state.reading=!1,maybeReadMore(stream3,state));}return !state.ended&&(state.length<state.highWaterMark||state.length===0)}function addChunk(stream3,state,chunk,addToFront){state.flowing&&state.length===0&&!state.sync?(state.awaitDrain=0,stream3.emit("data",chunk)):(state.length+=state.objectMode?1:chunk.length,addToFront?state.buffer.unshift(chunk):state.buffer.push(chunk),state.needReadable&&emitReadable(stream3)),maybeReadMore(stream3,state);}function chunkInvalid(state,chunk){var er;return !_isUint8Array(chunk)&&typeof chunk!="string"&&chunk!==void 0&&!state.objectMode&&(er=new ERR_INVALID_ARG_TYPE("chunk",["string","Buffer","Uint8Array"],chunk)),er}Readable.prototype.isPaused=function(){return this._readableState.flowing===!1};Readable.prototype.setEncoding=function(enc){StringDecoder2||(StringDecoder2=require_string_decoder().StringDecoder);var decoder=new StringDecoder2(enc);this._readableState.decoder=decoder,this._readableState.encoding=this._readableState.decoder.encoding;for(var p=this._readableState.buffer.head,content="";p!==null;)content+=decoder.write(p.data),p=p.next;return this._readableState.buffer.clear(),content!==""&&this._readableState.buffer.push(content),this._readableState.length=content.length,this};var MAX_HWM=1073741824;function computeNewHighWaterMark(n){return n>=MAX_HWM?n=MAX_HWM:(n--,n|=n>>>1,n|=n>>>2,n|=n>>>4,n|=n>>>8,n|=n>>>16,n++),n}function howMuchToRead(n,state){return n<=0||state.length===0&&state.ended?0:state.objectMode?1:n!==n?state.flowing&&state.length?state.buffer.head.data.length:state.length:(n>state.highWaterMark&&(state.highWaterMark=computeNewHighWaterMark(n)),n<=state.length?n:state.ended?state.length:(state.needReadable=!0,0))}Readable.prototype.read=function(n){debug("read",n),n=parseInt(n,10);var state=this._readableState,nOrig=n;if(n!==0&&(state.emittedReadable=!1),n===0&&state.needReadable&&((state.highWaterMark!==0?state.length>=state.highWaterMark:state.length>0)||state.ended))return debug("read: emitReadable",state.length,state.ended),state.length===0&&state.ended?endReadable(this):emitReadable(this),null;if(n=howMuchToRead(n,state),n===0&&state.ended)return state.length===0&&endReadable(this),null;var doRead=state.needReadable;debug("need readable",doRead),(state.length===0||state.length-n<state.highWaterMark)&&(doRead=!0,debug("length less than watermark",doRead)),state.ended||state.reading?(doRead=!1,debug("reading or ended",doRead)):doRead&&(debug("do read"),state.reading=!0,state.sync=!0,state.length===0&&(state.needReadable=!0),this._read(state.highWaterMark),state.sync=!1,state.reading||(n=howMuchToRead(nOrig,state)));var ret;return n>0?ret=fromList(n,state):ret=null,ret===null?(state.needReadable=state.length<=state.highWaterMark,n=0):(state.length-=n,state.awaitDrain=0),state.length===0&&(state.ended||(state.needReadable=!0),nOrig!==n&&state.ended&&endReadable(this)),ret!==null&&this.emit("data",ret),ret};function onEofChunk(stream3,state){if(debug("onEofChunk"),!state.ended){if(state.decoder){var chunk=state.decoder.end();chunk&&chunk.length&&(state.buffer.push(chunk),state.length+=state.objectMode?1:chunk.length);}state.ended=!0,state.sync?emitReadable(stream3):(state.needReadable=!1,state.emittedReadable||(state.emittedReadable=!0,emitReadable_(stream3)));}}function emitReadable(stream3){var state=stream3._readableState;debug("emitReadable",state.needReadable,state.emittedReadable),state.needReadable=!1,state.emittedReadable||(debug("emitReadable",state.flowing),state.emittedReadable=!0,process.nextTick(emitReadable_,stream3));}function emitReadable_(stream3){var state=stream3._readableState;debug("emitReadable_",state.destroyed,state.length,state.ended),!state.destroyed&&(state.length||state.ended)&&(stream3.emit("readable"),state.emittedReadable=!1),state.needReadable=!state.flowing&&!state.ended&&state.length<=state.highWaterMark,flow(stream3);}function maybeReadMore(stream3,state){state.readingMore||(state.readingMore=!0,process.nextTick(maybeReadMore_,stream3,state));}function maybeReadMore_(stream3,state){for(;!state.reading&&!state.ended&&(state.length<state.highWaterMark||state.flowing&&state.length===0);){var len=state.length;if(debug("maybeReadMore read 0"),stream3.read(0),len===state.length)break}state.readingMore=!1;}Readable.prototype._read=function(n){errorOrDestroy(this,new ERR_METHOD_NOT_IMPLEMENTED("_read()"));};Readable.prototype.pipe=function(dest,pipeOpts){var src=this,state=this._readableState;switch(state.pipesCount){case 0:state.pipes=dest;break;case 1:state.pipes=[state.pipes,dest];break;default:state.pipes.push(dest);break}state.pipesCount+=1,debug("pipe count=%d opts=%j",state.pipesCount,pipeOpts);var doEnd=(!pipeOpts||pipeOpts.end!==!1)&&dest!==process.stdout&&dest!==process.stderr,endFn=doEnd?onend:unpipe;state.endEmitted?process.nextTick(endFn):src.once("end",endFn),dest.on("unpipe",onunpipe);function onunpipe(readable,unpipeInfo){debug("onunpipe"),readable===src&&unpipeInfo&&unpipeInfo.hasUnpiped===!1&&(unpipeInfo.hasUnpiped=!0,cleanup3());}function onend(){debug("onend"),dest.end();}var ondrain=pipeOnDrain(src);dest.on("drain",ondrain);var cleanedUp=!1;function cleanup3(){debug("cleanup"),dest.removeListener("close",onclose),dest.removeListener("finish",onfinish),dest.removeListener("drain",ondrain),dest.removeListener("error",onerror),dest.removeListener("unpipe",onunpipe),src.removeListener("end",onend),src.removeListener("end",unpipe),src.removeListener("data",ondata),cleanedUp=!0,state.awaitDrain&&(!dest._writableState||dest._writableState.needDrain)&&ondrain();}src.on("data",ondata);function ondata(chunk){debug("ondata");var ret=dest.write(chunk);debug("dest.write",ret),ret===!1&&((state.pipesCount===1&&state.pipes===dest||state.pipesCount>1&&indexOf(state.pipes,dest)!==-1)&&!cleanedUp&&(debug("false write response, pause",state.awaitDrain),state.awaitDrain++),src.pause());}function onerror(er){debug("onerror",er),unpipe(),dest.removeListener("error",onerror),EElistenerCount(dest,"error")===0&&errorOrDestroy(dest,er);}prependListener(dest,"error",onerror);function onclose(){dest.removeListener("finish",onfinish),unpipe();}dest.once("close",onclose);function onfinish(){debug("onfinish"),dest.removeListener("close",onclose),unpipe();}dest.once("finish",onfinish);function unpipe(){debug("unpipe"),src.unpipe(dest);}return dest.emit("pipe",src),state.flowing||(debug("pipe resume"),src.resume()),dest};function pipeOnDrain(src){return function(){var state=src._readableState;debug("pipeOnDrain",state.awaitDrain),state.awaitDrain&&state.awaitDrain--,state.awaitDrain===0&&EElistenerCount(src,"data")&&(state.flowing=!0,flow(src));}}Readable.prototype.unpipe=function(dest){var state=this._readableState,unpipeInfo={hasUnpiped:!1};if(state.pipesCount===0)return this;if(state.pipesCount===1)return dest&&dest!==state.pipes?this:(dest||(dest=state.pipes),state.pipes=null,state.pipesCount=0,state.flowing=!1,dest&&dest.emit("unpipe",this,unpipeInfo),this);if(!dest){var dests=state.pipes,len=state.pipesCount;state.pipes=null,state.pipesCount=0,state.flowing=!1;for(var i=0;i<len;i++)dests[i].emit("unpipe",this,{hasUnpiped:!1});return this}var index=indexOf(state.pipes,dest);return index===-1?this:(state.pipes.splice(index,1),state.pipesCount-=1,state.pipesCount===1&&(state.pipes=state.pipes[0]),dest.emit("unpipe",this,unpipeInfo),this)};Readable.prototype.on=function(ev,fn){var res=Stream2.prototype.on.call(this,ev,fn),state=this._readableState;return ev==="data"?(state.readableListening=this.listenerCount("readable")>0,state.flowing!==!1&&this.resume()):ev==="readable"&&!state.endEmitted&&!state.readableListening&&(state.readableListening=state.needReadable=!0,state.flowing=!1,state.emittedReadable=!1,debug("on readable",state.length,state.reading),state.length?emitReadable(this):state.reading||process.nextTick(nReadingNextTick,this)),res};Readable.prototype.addListener=Readable.prototype.on;Readable.prototype.removeListener=function(ev,fn){var res=Stream2.prototype.removeListener.call(this,ev,fn);return ev==="readable"&&process.nextTick(updateReadableListening,this),res};Readable.prototype.removeAllListeners=function(ev){var res=Stream2.prototype.removeAllListeners.apply(this,arguments);return (ev==="readable"||ev===void 0)&&process.nextTick(updateReadableListening,this),res};function updateReadableListening(self2){var state=self2._readableState;state.readableListening=self2.listenerCount("readable")>0,state.resumeScheduled&&!state.paused?state.flowing=!0:self2.listenerCount("data")>0&&self2.resume();}function nReadingNextTick(self2){debug("readable nexttick read 0"),self2.read(0);}Readable.prototype.resume=function(){var state=this._readableState;return state.flowing||(debug("resume"),state.flowing=!state.readableListening,resume(this,state)),state.paused=!1,this};function resume(stream3,state){state.resumeScheduled||(state.resumeScheduled=!0,process.nextTick(resume_,stream3,state));}function resume_(stream3,state){debug("resume",state.reading),state.reading||stream3.read(0),state.resumeScheduled=!1,stream3.emit("resume"),flow(stream3),state.flowing&&!state.reading&&stream3.read(0);}Readable.prototype.pause=function(){return debug("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(debug("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function flow(stream3){var state=stream3._readableState;for(debug("flow",state.flowing);state.flowing&&stream3.read()!==null;);}Readable.prototype.wrap=function(stream3){var _this=this,state=this._readableState,paused=!1;stream3.on("end",function(){if(debug("wrapped end"),state.decoder&&!state.ended){var chunk=state.decoder.end();chunk&&chunk.length&&_this.push(chunk);}_this.push(null);}),stream3.on("data",function(chunk){if(debug("wrapped data"),state.decoder&&(chunk=state.decoder.write(chunk)),!(state.objectMode&&chunk==null)&&!(!state.objectMode&&(!chunk||!chunk.length))){var ret=_this.push(chunk);ret||(paused=!0,stream3.pause());}});for(var i in stream3)this[i]===void 0&&typeof stream3[i]=="function"&&(this[i]=function(method){return function(){return stream3[method].apply(stream3,arguments)}}(i));for(var n=0;n<kProxyEvents.length;n++)stream3.on(kProxyEvents[n],this.emit.bind(this,kProxyEvents[n]));return this._read=function(n2){debug("wrapped _read",n2),paused&&(paused=!1,stream3.resume());},this};typeof Symbol=="function"&&(Readable.prototype[Symbol.asyncIterator]=function(){return createReadableStreamAsyncIterator===void 0&&(createReadableStreamAsyncIterator=require_async_iterator()),createReadableStreamAsyncIterator(this)});Object.defineProperty(Readable.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}});Object.defineProperty(Readable.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}});Object.defineProperty(Readable.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(state){this._readableState&&(this._readableState.flowing=state);}});Readable._fromList=fromList;Object.defineProperty(Readable.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}});function fromList(n,state){if(state.length===0)return null;var ret;return state.objectMode?ret=state.buffer.shift():!n||n>=state.length?(state.decoder?ret=state.buffer.join(""):state.buffer.length===1?ret=state.buffer.first():ret=state.buffer.concat(state.length),state.buffer.clear()):ret=state.buffer.consume(n,state.decoder),ret}function endReadable(stream3){var state=stream3._readableState;debug("endReadable",state.endEmitted),state.endEmitted||(state.ended=!0,process.nextTick(endReadableNT,state,stream3));}function endReadableNT(state,stream3){if(debug("endReadableNT",state.endEmitted,state.length),!state.endEmitted&&state.length===0&&(state.endEmitted=!0,stream3.readable=!1,stream3.emit("end"),state.autoDestroy)){var wState=stream3._writableState;(!wState||wState.autoDestroy&&wState.finished)&&stream3.destroy();}}typeof Symbol=="function"&&(Readable.from=function(iterable,opts){return from===void 0&&(from=require_from()),from(Readable,iterable,opts)});function indexOf(xs,x){for(var i=0,l=xs.length;i<l;i++)if(xs[i]===x)return i;return -1}}});var require_stream_transform=__commonJS({"../../node_modules/readable-stream/lib/_stream_transform.js"(exports,module){module.exports=Transform;var _require$codes=require_errors().codes,ERR_METHOD_NOT_IMPLEMENTED=_require$codes.ERR_METHOD_NOT_IMPLEMENTED,ERR_MULTIPLE_CALLBACK=_require$codes.ERR_MULTIPLE_CALLBACK,ERR_TRANSFORM_ALREADY_TRANSFORMING=_require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,ERR_TRANSFORM_WITH_LENGTH_0=_require$codes.ERR_TRANSFORM_WITH_LENGTH_0,Duplex2=require_stream_duplex();require_inherits()(Transform,Duplex2);function afterTransform(er,data){var ts=this._transformState;ts.transforming=!1;var cb=ts.writecb;if(cb===null)return this.emit("error",new ERR_MULTIPLE_CALLBACK);ts.writechunk=null,ts.writecb=null,data!=null&&this.push(data),cb(er);var rs=this._readableState;rs.reading=!1,(rs.needReadable||rs.length<rs.highWaterMark)&&this._read(rs.highWaterMark);}function Transform(options){if(!(this instanceof Transform))return new Transform(options);Duplex2.call(this,options),this._transformState={afterTransform:afterTransform.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,options&&(typeof options.transform=="function"&&(this._transform=options.transform),typeof options.flush=="function"&&(this._flush=options.flush)),this.on("prefinish",prefinish);}function prefinish(){var _this=this;typeof this._flush=="function"&&!this._readableState.destroyed?this._flush(function(er,data){done(_this,er,data);}):done(this,null,null);}Transform.prototype.push=function(chunk,encoding){return this._transformState.needTransform=!1,Duplex2.prototype.push.call(this,chunk,encoding)};Transform.prototype._transform=function(chunk,encoding,cb){cb(new ERR_METHOD_NOT_IMPLEMENTED("_transform()"));};Transform.prototype._write=function(chunk,encoding,cb){var ts=this._transformState;if(ts.writecb=cb,ts.writechunk=chunk,ts.writeencoding=encoding,!ts.transforming){var rs=this._readableState;(ts.needTransform||rs.needReadable||rs.length<rs.highWaterMark)&&this._read(rs.highWaterMark);}};Transform.prototype._read=function(n){var ts=this._transformState;ts.writechunk!==null&&!ts.transforming?(ts.transforming=!0,this._transform(ts.writechunk,ts.writeencoding,ts.afterTransform)):ts.needTransform=!0;};Transform.prototype._destroy=function(err,cb){Duplex2.prototype._destroy.call(this,err,function(err2){cb(err2);});};function done(stream3,er,data){if(er)return stream3.emit("error",er);if(data!=null&&stream3.push(data),stream3._writableState.length)throw new ERR_TRANSFORM_WITH_LENGTH_0;if(stream3._transformState.transforming)throw new ERR_TRANSFORM_ALREADY_TRANSFORMING;return stream3.push(null)}}});var require_stream_passthrough=__commonJS({"../../node_modules/readable-stream/lib/_stream_passthrough.js"(exports,module){module.exports=PassThrough;var Transform=require_stream_transform();require_inherits()(PassThrough,Transform);function PassThrough(options){if(!(this instanceof PassThrough))return new PassThrough(options);Transform.call(this,options);}PassThrough.prototype._transform=function(chunk,encoding,cb){cb(null,chunk);};}});var require_pipeline=__commonJS({"../../node_modules/readable-stream/lib/internal/streams/pipeline.js"(exports,module){var eos;function once(callback){var called=!1;return function(){called||(called=!0,callback.apply(void 0,arguments));}}var _require$codes=require_errors().codes,ERR_MISSING_ARGS=_require$codes.ERR_MISSING_ARGS,ERR_STREAM_DESTROYED=_require$codes.ERR_STREAM_DESTROYED;function noop3(err){if(err)throw err}function isRequest2(stream3){return stream3.setHeader&&typeof stream3.abort=="function"}function destroyer(stream3,reading,writing,callback){callback=once(callback);var closed=!1;stream3.on("close",function(){closed=!0;}),eos===void 0&&(eos=require_end_of_stream2()),eos(stream3,{readable:reading,writable:writing},function(err){if(err)return callback(err);closed=!0,callback();});var destroyed=!1;return function(err){if(!closed&&!destroyed){if(destroyed=!0,isRequest2(stream3))return stream3.abort();if(typeof stream3.destroy=="function")return stream3.destroy();callback(err||new ERR_STREAM_DESTROYED("pipe"));}}}function call(fn){fn();}function pipe2(from,to){return from.pipe(to)}function popCallback(streams){return !streams.length||typeof streams[streams.length-1]!="function"?noop3:streams.pop()}function pipeline(){for(var _len=arguments.length,streams=new Array(_len),_key=0;_key<_len;_key++)streams[_key]=arguments[_key];var callback=popCallback(streams);if(Array.isArray(streams[0])&&(streams=streams[0]),streams.length<2)throw new ERR_MISSING_ARGS("streams");var error,destroys=streams.map(function(stream3,i){var reading=i<streams.length-1,writing=i>0;return destroyer(stream3,reading,writing,function(err){error||(error=err),err&&destroys.forEach(call),!reading&&(destroys.forEach(call),callback(error));})});return streams.reduce(pipe2)}module.exports=pipeline;}});var require_readable=__commonJS({"../../node_modules/readable-stream/readable.js"(exports,module){var Stream2=__require("stream");process.env.READABLE_STREAM==="disable"&&Stream2?(module.exports=Stream2.Readable,Object.assign(module.exports,Stream2),module.exports.Stream=Stream2):(exports=module.exports=require_stream_readable(),exports.Stream=Stream2||exports,exports.Readable=exports,exports.Writable=require_stream_writable(),exports.Duplex=require_stream_duplex(),exports.Transform=require_stream_transform(),exports.PassThrough=require_stream_passthrough(),exports.finished=require_end_of_stream2(),exports.pipeline=require_pipeline());}});var require_BufferList=__commonJS({"../../node_modules/bl/BufferList.js"(exports,module){var{Buffer:Buffer4}=__require("buffer"),symbol=Symbol.for("BufferList");function BufferList(buf){if(!(this instanceof BufferList))return new BufferList(buf);BufferList._init.call(this,buf);}BufferList._init=function(buf){Object.defineProperty(this,symbol,{value:!0}),this._bufs=[],this.length=0,buf&&this.append(buf);};BufferList.prototype._new=function(buf){return new BufferList(buf)};BufferList.prototype._offset=function(offset){if(offset===0)return [0,0];let tot=0;for(let i=0;i<this._bufs.length;i++){let _t=tot+this._bufs[i].length;if(offset<_t||i===this._bufs.length-1)return [i,offset-tot];tot=_t;}};BufferList.prototype._reverseOffset=function(blOffset){let bufferId=blOffset[0],offset=blOffset[1];for(let i=0;i<bufferId;i++)offset+=this._bufs[i].length;return offset};BufferList.prototype.get=function(index){if(index>this.length||index<0)return;let offset=this._offset(index);return this._bufs[offset[0]][offset[1]]};BufferList.prototype.slice=function(start,end){return typeof start=="number"&&start<0&&(start+=this.length),typeof end=="number"&&end<0&&(end+=this.length),this.copy(null,0,start,end)};BufferList.prototype.copy=function(dst,dstStart,srcStart,srcEnd){if((typeof srcStart!="number"||srcStart<0)&&(srcStart=0),(typeof srcEnd!="number"||srcEnd>this.length)&&(srcEnd=this.length),srcStart>=this.length||srcEnd<=0)return dst||Buffer4.alloc(0);let copy2=!!dst,off=this._offset(srcStart),len=srcEnd-srcStart,bytes=len,bufoff=copy2&&dstStart||0,start=off[1];if(srcStart===0&&srcEnd===this.length){if(!copy2)return this._bufs.length===1?this._bufs[0]:Buffer4.concat(this._bufs,this.length);for(let i=0;i<this._bufs.length;i++)this._bufs[i].copy(dst,bufoff),bufoff+=this._bufs[i].length;return dst}if(bytes<=this._bufs[off[0]].length-start)return copy2?this._bufs[off[0]].copy(dst,dstStart,start,start+bytes):this._bufs[off[0]].slice(start,start+bytes);copy2||(dst=Buffer4.allocUnsafe(len));for(let i=off[0];i<this._bufs.length;i++){let l=this._bufs[i].length-start;if(bytes>l)this._bufs[i].copy(dst,bufoff,start),bufoff+=l;else {this._bufs[i].copy(dst,bufoff,start,start+bytes),bufoff+=l;break}bytes-=l,start&&(start=0);}return dst.length>bufoff?dst.slice(0,bufoff):dst};BufferList.prototype.shallowSlice=function(start,end){if(start=start||0,end=typeof end!="number"?this.length:end,start<0&&(start+=this.length),end<0&&(end+=this.length),start===end)return this._new();let startOffset=this._offset(start),endOffset=this._offset(end),buffers=this._bufs.slice(startOffset[0],endOffset[0]+1);return endOffset[1]===0?buffers.pop():buffers[buffers.length-1]=buffers[buffers.length-1].slice(0,endOffset[1]),startOffset[1]!==0&&(buffers[0]=buffers[0].slice(startOffset[1])),this._new(buffers)};BufferList.prototype.toString=function(encoding,start,end){return this.slice(start,end).toString(encoding)};BufferList.prototype.consume=function(bytes){if(bytes=Math.trunc(bytes),Number.isNaN(bytes)||bytes<=0)return this;for(;this._bufs.length;)if(bytes>=this._bufs[0].length)bytes-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else {this._bufs[0]=this._bufs[0].slice(bytes),this.length-=bytes;break}return this};BufferList.prototype.duplicate=function(){let copy=this._new();for(let i=0;i<this._bufs.length;i++)copy.append(this._bufs[i]);return copy};BufferList.prototype.append=function(buf){if(buf==null)return this;if(buf.buffer)this._appendBuffer(Buffer4.from(buf.buffer,buf.byteOffset,buf.byteLength));else if(Array.isArray(buf))for(let i=0;i<buf.length;i++)this.append(buf[i]);else if(this._isBufferList(buf))for(let i=0;i<buf._bufs.length;i++)this.append(buf._bufs[i]);else typeof buf=="number"&&(buf=buf.toString()),this._appendBuffer(Buffer4.from(buf));return this};BufferList.prototype._appendBuffer=function(buf){this._bufs.push(buf),this.length+=buf.length;};BufferList.prototype.indexOf=function(search,offset,encoding){if(encoding===void 0&&typeof offset=="string"&&(encoding=offset,offset=void 0),typeof search=="function"||Array.isArray(search))throw new TypeError('The "value" argument must be one of type string, Buffer, BufferList, or Uint8Array.');if(typeof search=="number"?search=Buffer4.from([search]):typeof search=="string"?search=Buffer4.from(search,encoding):this._isBufferList(search)?search=search.slice():Array.isArray(search.buffer)?search=Buffer4.from(search.buffer,search.byteOffset,search.byteLength):Buffer4.isBuffer(search)||(search=Buffer4.from(search)),offset=Number(offset||0),isNaN(offset)&&(offset=0),offset<0&&(offset=this.length+offset),offset<0&&(offset=0),search.length===0)return offset>this.length?this.length:offset;let blOffset=this._offset(offset),blIndex=blOffset[0],buffOffset=blOffset[1];for(;blIndex<this._bufs.length;blIndex++){let buff=this._bufs[blIndex];for(;buffOffset<buff.length;)if(buff.length-buffOffset>=search.length){let nativeSearchResult=buff.indexOf(search,buffOffset);if(nativeSearchResult!==-1)return this._reverseOffset([blIndex,nativeSearchResult]);buffOffset=buff.length-search.length+1;}else {let revOffset=this._reverseOffset([blIndex,buffOffset]);if(this._match(revOffset,search))return revOffset;buffOffset++;}buffOffset=0;}return -1};BufferList.prototype._match=function(offset,search){if(this.length-offset<search.length)return !1;for(let searchOffset=0;searchOffset<search.length;searchOffset++)if(this.get(offset+searchOffset)!==search[searchOffset])return !1;return !0};(function(){let methods={readDoubleBE:8,readDoubleLE:8,readFloatBE:4,readFloatLE:4,readInt32BE:4,readInt32LE:4,readUInt32BE:4,readUInt32LE:4,readInt16BE:2,readInt16LE:2,readUInt16BE:2,readUInt16LE:2,readInt8:1,readUInt8:1,readIntBE:null,readIntLE:null,readUIntBE:null,readUIntLE:null};for(let m in methods)(function(m2){methods[m2]===null?BufferList.prototype[m2]=function(offset,byteLength){return this.slice(offset,offset+byteLength)[m2](0,byteLength)}:BufferList.prototype[m2]=function(offset=0){return this.slice(offset,offset+methods[m2])[m2](0)};})(m);})();BufferList.prototype._isBufferList=function(b){return b instanceof BufferList||BufferList.isBufferList(b)};BufferList.isBufferList=function(b){return b!=null&&b[symbol]};module.exports=BufferList;}});var require_bl=__commonJS({"../../node_modules/bl/bl.js"(exports,module){var DuplexStream=require_readable().Duplex,inherits=require_inherits(),BufferList=require_BufferList();function BufferListStream(callback){if(!(this instanceof BufferListStream))return new BufferListStream(callback);if(typeof callback=="function"){this._callback=callback;let piper=function(err){this._callback&&(this._callback(err),this._callback=null);}.bind(this);this.on("pipe",function(src){src.on("error",piper);}),this.on("unpipe",function(src){src.removeListener("error",piper);}),callback=null;}BufferList._init.call(this,callback),DuplexStream.call(this);}inherits(BufferListStream,DuplexStream);Object.assign(BufferListStream.prototype,BufferList.prototype);BufferListStream.prototype._new=function(callback){return new BufferListStream(callback)};BufferListStream.prototype._write=function(buf,encoding,callback){this._appendBuffer(buf),typeof callback=="function"&&callback();};BufferListStream.prototype._read=function(size){if(!this.length)return this.push(null);size=Math.min(size,this.length),this.push(this.slice(0,size)),this.consume(size);};BufferListStream.prototype.end=function(chunk){DuplexStream.prototype.end.call(this,chunk),this._callback&&(this._callback(null,this.slice()),this._callback=null);};BufferListStream.prototype._destroy=function(err,cb){this._bufs.length=0,this.length=0,cb(err);};BufferListStream.prototype._isBufferList=function(b){return b instanceof BufferListStream||b instanceof BufferList||BufferListStream.isBufferList(b)};BufferListStream.isBufferList=BufferList.isBufferList;module.exports=BufferListStream;module.exports.BufferListStream=BufferListStream;module.exports.BufferList=BufferList;}});var require_headers=__commonJS({"../../node_modules/tar-stream/headers.js"(exports){var alloc=Buffer.alloc,ZEROS="0000000000000000000",SEVENS="7777777777777777777",ZERO_OFFSET=48,USTAR_MAGIC=Buffer.from("ustar\0","binary"),USTAR_VER=Buffer.from("00","binary"),GNU_MAGIC=Buffer.from("ustar ","binary"),GNU_VER=Buffer.from(" \0","binary"),MASK=parseInt("7777",8),MAGIC_OFFSET=257,VERSION_OFFSET=263,clamp=function(index,len,defaultValue){return typeof index!="number"?defaultValue:(index=~~index,index>=len?len:index>=0||(index+=len,index>=0)?index:0)},toType=function(flag){switch(flag){case 0:return "file";case 1:return "link";case 2:return "symlink";case 3:return "character-device";case 4:return "block-device";case 5:return "directory";case 6:return "fifo";case 7:return "contiguous-file";case 72:return "pax-header";case 55:return "pax-global-header";case 27:return "gnu-long-link-path";case 28:case 30:return "gnu-long-path"}return null},toTypeflag=function(flag){switch(flag){case"file":return 0;case"link":return 1;case"symlink":return 2;case"character-device":return 3;case"block-device":return 4;case"directory":return 5;case"fifo":return 6;case"contiguous-file":return 7;case"pax-header":return 72}return 0},indexOf=function(block,num,offset,end){for(;offset<end;offset++)if(block[offset]===num)return offset;return end},cksum=function(block){for(var sum=256,i=0;i<148;i++)sum+=block[i];for(var j=156;j<512;j++)sum+=block[j];return sum},encodeOct=function(val,n){return val=val.toString(8),val.length>n?SEVENS.slice(0,n)+" ":ZEROS.slice(0,n-val.length)+val+" "};function parse256(buf){var positive;if(buf[0]===128)positive=!0;else if(buf[0]===255)positive=!1;else return null;for(var tuple=[],i=buf.length-1;i>0;i--){var byte=buf[i];positive?tuple.push(byte):tuple.push(255-byte);}var sum=0,l=tuple.length;for(i=0;i<l;i++)sum+=tuple[i]*Math.pow(256,i);return positive?sum:-1*sum}var decodeOct=function(val,offset,length){if(val=val.slice(offset,offset+length),offset=0,val[offset]&128)return parse256(val);for(;offset<val.length&&val[offset]===32;)offset++;for(var end=clamp(indexOf(val,32,offset,val.length),val.length,val.length);offset<end&&val[offset]===0;)offset++;return end===offset?0:parseInt(val.slice(offset,end).toString(),8)},decodeStr=function(val,offset,length,encoding){return val.slice(offset,indexOf(val,0,offset,offset+length)).toString(encoding)},addLength=function(str){var len=Buffer.byteLength(str),digits=Math.floor(Math.log(len)/Math.log(10))+1;return len+digits>=Math.pow(10,digits)&&digits++,len+digits+str};exports.decodeLongPath=function(buf,encoding){return decodeStr(buf,0,buf.length,encoding)};exports.encodePax=function(opts){var result="";opts.name&&(result+=addLength(" path="+opts.name+`
|
|
61
|
-
`)),opts.linkname&&(result+=addLength(" linkpath="+opts.linkname+`
|
|
62
|
-
`));var pax=opts.pax;if(pax)for(var key in pax)result+=addLength(" "+key+"="+pax[key]+`
|
|
63
|
-
`);return Buffer.from(result)};exports.decodePax=function(buf){for(var result={};buf.length;){for(var i=0;i<buf.length&&buf[i]!==32;)i++;var len=parseInt(buf.slice(0,i).toString(),10);if(!len)return result;var b=buf.slice(i+1,len-1).toString(),keyIndex=b.indexOf("=");if(keyIndex===-1)return result;result[b.slice(0,keyIndex)]=b.slice(keyIndex+1),buf=buf.slice(len);}return result};exports.encode=function(opts){var buf=alloc(512),name=opts.name,prefix="";if(opts.typeflag===5&&name[name.length-1]!=="/"&&(name+="/"),Buffer.byteLength(name)!==name.length)return null;for(;Buffer.byteLength(name)>100;){var i=name.indexOf("/");if(i===-1)return null;prefix+=prefix?"/"+name.slice(0,i):name.slice(0,i),name=name.slice(i+1);}return Buffer.byteLength(name)>100||Buffer.byteLength(prefix)>155||opts.linkname&&Buffer.byteLength(opts.linkname)>100?null:(buf.write(name),buf.write(encodeOct(opts.mode&MASK,6),100),buf.write(encodeOct(opts.uid,6),108),buf.write(encodeOct(opts.gid,6),116),buf.write(encodeOct(opts.size,11),124),buf.write(encodeOct(opts.mtime.getTime()/1e3|0,11),136),buf[156]=ZERO_OFFSET+toTypeflag(opts.type),opts.linkname&&buf.write(opts.linkname,157),USTAR_MAGIC.copy(buf,MAGIC_OFFSET),USTAR_VER.copy(buf,VERSION_OFFSET),opts.uname&&buf.write(opts.uname,265),opts.gname&&buf.write(opts.gname,297),buf.write(encodeOct(opts.devmajor||0,6),329),buf.write(encodeOct(opts.devminor||0,6),337),prefix&&buf.write(prefix,345),buf.write(encodeOct(cksum(buf),6),148),buf)};exports.decode=function(buf,filenameEncoding,allowUnknownFormat){var typeflag=buf[156]===0?0:buf[156]-ZERO_OFFSET,name=decodeStr(buf,0,100,filenameEncoding),mode=decodeOct(buf,100,8),uid=decodeOct(buf,108,8),gid=decodeOct(buf,116,8),size=decodeOct(buf,124,12),mtime=decodeOct(buf,136,12),type=toType(typeflag),linkname=buf[157]===0?null:decodeStr(buf,157,100,filenameEncoding),uname=decodeStr(buf,265,32),gname=decodeStr(buf,297,32),devmajor=decodeOct(buf,329,8),devminor=decodeOct(buf,337,8),c=cksum(buf);if(c===8*32)return null;if(c!==decodeOct(buf,148,8))throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");if(USTAR_MAGIC.compare(buf,MAGIC_OFFSET,MAGIC_OFFSET+6)===0)buf[345]&&(name=decodeStr(buf,345,155,filenameEncoding)+"/"+name);else if(!(GNU_MAGIC.compare(buf,MAGIC_OFFSET,MAGIC_OFFSET+6)===0&&GNU_VER.compare(buf,VERSION_OFFSET,VERSION_OFFSET+2)===0)){if(!allowUnknownFormat)throw new Error("Invalid tar header: unknown format.")}return typeflag===0&&name&&name[name.length-1]==="/"&&(typeflag=5),{name,mode,uid,gid,size,mtime:new Date(1e3*mtime),type,linkname,uname,gname,devmajor,devminor}};}});var require_extract=__commonJS({"../../node_modules/tar-stream/extract.js"(exports,module){var util=__require("util"),bl=require_bl(),headers=require_headers(),Writable=require_readable().Writable,PassThrough=require_readable().PassThrough,noop3=function(){},overflow=function(size){return size&=511,size&&512-size},emptyStream=function(self2,offset){var s=new Source(self2,offset);return s.end(),s},mixinPax=function(header,pax){return pax.path&&(header.name=pax.path),pax.linkpath&&(header.linkname=pax.linkpath),pax.size&&(header.size=parseInt(pax.size,10)),header.pax=pax,header},Source=function(self2,offset){this._parent=self2,this.offset=offset,PassThrough.call(this,{autoDestroy:!1});};util.inherits(Source,PassThrough);Source.prototype.destroy=function(err){this._parent.destroy(err);};var Extract=function(opts){if(!(this instanceof Extract))return new Extract(opts);Writable.call(this,opts),opts=opts||{},this._offset=0,this._buffer=bl(),this._missing=0,this._partial=!1,this._onparse=noop3,this._header=null,this._stream=null,this._overflow=null,this._cb=null,this._locked=!1,this._destroyed=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null;var self2=this,b=self2._buffer,oncontinue=function(){self2._continue();},onunlock=function(err){if(self2._locked=!1,err)return self2.destroy(err);self2._stream||oncontinue();},onstreamend=function(){self2._stream=null;var drain=overflow(self2._header.size);drain?self2._parse(drain,ondrain):self2._parse(512,onheader),self2._locked||oncontinue();},ondrain=function(){self2._buffer.consume(overflow(self2._header.size)),self2._parse(512,onheader),oncontinue();},onpaxglobalheader=function(){var size=self2._header.size;self2._paxGlobal=headers.decodePax(b.slice(0,size)),b.consume(size),onstreamend();},onpaxheader=function(){var size=self2._header.size;self2._pax=headers.decodePax(b.slice(0,size)),self2._paxGlobal&&(self2._pax=Object.assign({},self2._paxGlobal,self2._pax)),b.consume(size),onstreamend();},ongnulongpath=function(){var size=self2._header.size;this._gnuLongPath=headers.decodeLongPath(b.slice(0,size),opts.filenameEncoding),b.consume(size),onstreamend();},ongnulonglinkpath=function(){var size=self2._header.size;this._gnuLongLinkPath=headers.decodeLongPath(b.slice(0,size),opts.filenameEncoding),b.consume(size),onstreamend();},onheader=function(){var offset=self2._offset,header;try{header=self2._header=headers.decode(b.slice(0,512),opts.filenameEncoding,opts.allowUnknownFormat);}catch(err){self2.emit("error",err);}if(b.consume(512),!header){self2._parse(512,onheader),oncontinue();return}if(header.type==="gnu-long-path"){self2._parse(header.size,ongnulongpath),oncontinue();return}if(header.type==="gnu-long-link-path"){self2._parse(header.size,ongnulonglinkpath),oncontinue();return}if(header.type==="pax-global-header"){self2._parse(header.size,onpaxglobalheader),oncontinue();return}if(header.type==="pax-header"){self2._parse(header.size,onpaxheader),oncontinue();return}if(self2._gnuLongPath&&(header.name=self2._gnuLongPath,self2._gnuLongPath=null),self2._gnuLongLinkPath&&(header.linkname=self2._gnuLongLinkPath,self2._gnuLongLinkPath=null),self2._pax&&(self2._header=header=mixinPax(header,self2._pax),self2._pax=null),self2._locked=!0,!header.size||header.type==="directory"){self2._parse(512,onheader),self2.emit("entry",header,emptyStream(self2,offset),onunlock);return}self2._stream=new Source(self2,offset),self2.emit("entry",header,self2._stream,onunlock),self2._parse(header.size,onstreamend),oncontinue();};this._onheader=onheader,this._parse(512,onheader);};util.inherits(Extract,Writable);Extract.prototype.destroy=function(err){this._destroyed||(this._destroyed=!0,err&&this.emit("error",err),this.emit("close"),this._stream&&this._stream.emit("close"));};Extract.prototype._parse=function(size,onparse){this._destroyed||(this._offset+=size,this._missing=size,onparse===this._onheader&&(this._partial=!1),this._onparse=onparse);};Extract.prototype._continue=function(){if(!this._destroyed){var cb=this._cb;this._cb=noop3,this._overflow?this._write(this._overflow,void 0,cb):cb();}};Extract.prototype._write=function(data,enc,cb){if(!this._destroyed){var s=this._stream,b=this._buffer,missing=this._missing;if(data.length&&(this._partial=!0),data.length<missing)return this._missing-=data.length,this._overflow=null,s?s.write(data,cb):(b.append(data),cb());this._cb=cb,this._missing=0;var overflow2=null;data.length>missing&&(overflow2=data.slice(missing),data=data.slice(0,missing)),s?s.end(data):b.append(data),this._overflow=overflow2,this._onparse();}};Extract.prototype._final=function(cb){if(this._partial)return this.destroy(new Error("Unexpected end of data"));cb();};module.exports=Extract;}});var require_fs_constants=__commonJS({"../../node_modules/fs-constants/index.js"(exports,module){module.exports=__require("fs").constants||__require("constants");}});var require_pack=__commonJS({"../../node_modules/tar-stream/pack.js"(exports,module){var constants=require_fs_constants(),eos=require_end_of_stream(),inherits=require_inherits(),alloc=Buffer.alloc,Readable=require_readable().Readable,Writable=require_readable().Writable,StringDecoder2=__require("string_decoder").StringDecoder,headers=require_headers(),DMODE=parseInt("755",8),FMODE=parseInt("644",8),END_OF_TAR=alloc(1024),noop3=function(){},overflow=function(self2,size){size&=511,size&&self2.push(END_OF_TAR.slice(0,512-size));};function modeToType(mode){switch(mode&constants.S_IFMT){case constants.S_IFBLK:return "block-device";case constants.S_IFCHR:return "character-device";case constants.S_IFDIR:return "directory";case constants.S_IFIFO:return "fifo";case constants.S_IFLNK:return "symlink"}return "file"}var Sink=function(to){Writable.call(this),this.written=0,this._to=to,this._destroyed=!1;};inherits(Sink,Writable);Sink.prototype._write=function(data,enc,cb){if(this.written+=data.length,this._to.push(data))return cb();this._to._drain=cb;};Sink.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"));};var LinkSink=function(){Writable.call(this),this.linkname="",this._decoder=new StringDecoder2("utf-8"),this._destroyed=!1;};inherits(LinkSink,Writable);LinkSink.prototype._write=function(data,enc,cb){this.linkname+=this._decoder.write(data),cb();};LinkSink.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"));};var Void=function(){Writable.call(this),this._destroyed=!1;};inherits(Void,Writable);Void.prototype._write=function(data,enc,cb){cb(new Error("No body allowed for this entry"));};Void.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"));};var Pack=function(opts){if(!(this instanceof Pack))return new Pack(opts);Readable.call(this,opts),this._drain=noop3,this._finalized=!1,this._finalizing=!1,this._destroyed=!1,this._stream=null;};inherits(Pack,Readable);Pack.prototype.entry=function(header,buffer,callback){if(this._stream)throw new Error("already piping an entry");if(!(this._finalized||this._destroyed)){typeof buffer=="function"&&(callback=buffer,buffer=null),callback||(callback=noop3);var self2=this;if((!header.size||header.type==="symlink")&&(header.size=0),header.type||(header.type=modeToType(header.mode)),header.mode||(header.mode=header.type==="directory"?DMODE:FMODE),header.uid||(header.uid=0),header.gid||(header.gid=0),header.mtime||(header.mtime=new Date),typeof buffer=="string"&&(buffer=Buffer.from(buffer)),Buffer.isBuffer(buffer)){header.size=buffer.length,this._encode(header);var ok=this.push(buffer);return overflow(self2,header.size),ok?process.nextTick(callback):this._drain=callback,new Void}if(header.type==="symlink"&&!header.linkname){var linkSink=new LinkSink;return eos(linkSink,function(err){if(err)return self2.destroy(),callback(err);header.linkname=linkSink.linkname,self2._encode(header),callback();}),linkSink}if(this._encode(header),header.type!=="file"&&header.type!=="contiguous-file")return process.nextTick(callback),new Void;var sink=new Sink(this);return this._stream=sink,eos(sink,function(err){if(self2._stream=null,err)return self2.destroy(),callback(err);if(sink.written!==header.size)return self2.destroy(),callback(new Error("size mismatch"));overflow(self2,header.size),self2._finalizing&&self2.finalize(),callback();}),sink}};Pack.prototype.finalize=function(){if(this._stream){this._finalizing=!0;return}this._finalized||(this._finalized=!0,this.push(END_OF_TAR),this.push(null));};Pack.prototype.destroy=function(err){this._destroyed||(this._destroyed=!0,err&&this.emit("error",err),this.emit("close"),this._stream&&this._stream.destroy&&this._stream.destroy());};Pack.prototype._encode=function(header){if(!header.pax){var buf=headers.encode(header);if(buf){this.push(buf);return}}this._encodePax(header);};Pack.prototype._encodePax=function(header){var paxHeader=headers.encodePax({name:header.name,linkname:header.linkname,pax:header.pax}),newHeader={name:"PaxHeader",mode:header.mode,uid:header.uid,gid:header.gid,size:paxHeader.length,mtime:header.mtime,type:"pax-header",linkname:header.linkname&&"PaxHeader",uname:header.uname,gname:header.gname,devmajor:header.devmajor,devminor:header.devminor};this.push(headers.encode(newHeader)),this.push(paxHeader),overflow(this,paxHeader.length),newHeader.size=header.size,newHeader.type=header.type,this.push(headers.encode(newHeader));};Pack.prototype._read=function(n){var drain=this._drain;this._drain=noop3,drain();};module.exports=Pack;}});var require_tar_stream=__commonJS({"../../node_modules/tar-stream/index.js"(exports){exports.extract=require_extract();exports.pack=require_pack();}});var require_mkdirp_classic=__commonJS({"../../node_modules/mkdirp-classic/index.js"(exports,module){var path10=__require("path"),fs6=__require("fs"),_0777=parseInt("0777",8);module.exports=mkdirP.mkdirp=mkdirP.mkdirP=mkdirP;function mkdirP(p,opts,f,made){typeof opts=="function"?(f=opts,opts={}):(!opts||typeof opts!="object")&&(opts={mode:opts});var mode=opts.mode,xfs=opts.fs||fs6;mode===void 0&&(mode=_0777&~process.umask()),made||(made=null);var cb=f||function(){};p=path10.resolve(p),xfs.mkdir(p,mode,function(er){if(!er)return made=made||p,cb(null,made);switch(er.code){case"ENOENT":mkdirP(path10.dirname(p),opts,function(er2,made2){er2?cb(er2,made2):mkdirP(p,opts,cb,made2);});break;default:xfs.stat(p,function(er2,stat){er2||!stat.isDirectory()?cb(er,made):cb(null,made);});break}});}mkdirP.sync=function sync2(p,opts,made){(!opts||typeof opts!="object")&&(opts={mode:opts});var mode=opts.mode,xfs=opts.fs||fs6;mode===void 0&&(mode=_0777&~process.umask()),made||(made=null),p=path10.resolve(p);try{xfs.mkdirSync(p,mode),made=made||p;}catch(err0){switch(err0.code){case"ENOENT":made=sync2(path10.dirname(p),opts,made),sync2(p,opts,made);break;default:var stat;try{stat=xfs.statSync(p);}catch{throw err0}if(!stat.isDirectory())throw err0;break}}return made};}});var require_tar_fs=__commonJS({"../../node_modules/tar-fs/index.js"(exports){var chownr=require_chownr(),tar=require_tar_stream(),pump=require_pump(),mkdirp=require_mkdirp_classic(),fs6=__require("fs"),path10=__require("path"),os2=__require("os"),win322=os2.platform()==="win32",noop3=function(){},echo=function(name){return name},normalize2=win322?function(name){return name.replace(/\\/g,"/").replace(/[:?<>|]/g,"_")}:echo,statAll=function(fs7,stat,cwd,ignore,entries2,sort){var queue=entries2||["."];return function(callback){if(!queue.length)return callback();var next=queue.shift(),nextAbs=path10.join(cwd,next);stat.call(fs7,nextAbs,function(err,stat2){if(err)return callback(err);if(!stat2.isDirectory())return callback(null,next,stat2);fs7.readdir(nextAbs,function(err2,files){if(err2)return callback(err2);sort&&files.sort();for(var i=0;i<files.length;i++)ignore(path10.join(cwd,next,files[i]))||queue.push(path10.join(next,files[i]));callback(null,next,stat2);});});}},strip=function(map,level){return function(header){header.name=header.name.split("/").slice(level).join("/");var linkname=header.linkname;return linkname&&(header.type==="link"||path10.isAbsolute(linkname))&&(header.linkname=linkname.split("/").slice(level).join("/")),map(header)}};exports.pack=function(cwd,opts){cwd||(cwd="."),opts||(opts={});var xfs=opts.fs||fs6,ignore=opts.ignore||opts.filter||noop3,map=opts.map||noop3,mapStream=opts.mapStream||echo,statNext=statAll(xfs,opts.dereference?xfs.stat:xfs.lstat,cwd,ignore,opts.entries,opts.sort),strict=opts.strict!==!1,umask=typeof opts.umask=="number"?~opts.umask:~processUmask(),dmode=typeof opts.dmode=="number"?opts.dmode:0,fmode=typeof opts.fmode=="number"?opts.fmode:0,pack=opts.pack||tar.pack(),finish=opts.finish||noop3;opts.strip&&(map=strip(map,opts.strip)),opts.readable&&(dmode|=parseInt(555,8),fmode|=parseInt(444,8)),opts.writable&&(dmode|=parseInt(333,8),fmode|=parseInt(222,8));var onsymlink=function(filename,header){xfs.readlink(path10.join(cwd,filename),function(err,linkname){if(err)return pack.destroy(err);header.linkname=normalize2(linkname),pack.entry(header,onnextentry);});},onstat=function(err,filename,stat){if(err)return pack.destroy(err);if(!filename)return opts.finalize!==!1&&pack.finalize(),finish(pack);if(stat.isSocket())return onnextentry();var header={name:normalize2(filename),mode:(stat.mode|(stat.isDirectory()?dmode:fmode))&umask,mtime:stat.mtime,size:stat.size,type:"file",uid:stat.uid,gid:stat.gid};if(stat.isDirectory())return header.size=0,header.type="directory",header=map(header)||header,pack.entry(header,onnextentry);if(stat.isSymbolicLink())return header.size=0,header.type="symlink",header=map(header)||header,onsymlink(filename,header);if(header=map(header)||header,!stat.isFile())return strict?pack.destroy(new Error("unsupported type for "+filename)):onnextentry();var entry=pack.entry(header,onnextentry);if(entry){var rs=mapStream(xfs.createReadStream(path10.join(cwd,filename),{start:0,end:header.size>0?header.size-1:header.size}),header);rs.on("error",function(err2){entry.destroy(err2);}),pump(rs,entry);}},onnextentry=function(err){if(err)return pack.destroy(err);statNext(onstat);};return onnextentry(),pack};var head=function(list){return list.length?list[list.length-1]:null},processGetuid=function(){return process.getuid?process.getuid():-1},processUmask=function(){return process.umask?process.umask():0};exports.extract=function(cwd,opts){cwd||(cwd="."),opts||(opts={});var xfs=opts.fs||fs6,ignore=opts.ignore||opts.filter||noop3,map=opts.map||noop3,mapStream=opts.mapStream||echo,own=opts.chown!==!1&&!win322&&processGetuid()===0,extract2=opts.extract||tar.extract(),stack=[],now=new Date,umask=typeof opts.umask=="number"?~opts.umask:~processUmask(),dmode=typeof opts.dmode=="number"?opts.dmode:0,fmode=typeof opts.fmode=="number"?opts.fmode:0,strict=opts.strict!==!1;opts.strip&&(map=strip(map,opts.strip)),opts.readable&&(dmode|=parseInt(555,8),fmode|=parseInt(444,8)),opts.writable&&(dmode|=parseInt(333,8),fmode|=parseInt(222,8));var utimesParent=function(name,cb){for(var top;(top=head(stack))&&name.slice(0,top[0].length)!==top[0];)stack.pop();if(!top)return cb();xfs.utimes(top[0],now,top[1],cb);},utimes=function(name,header,cb){if(opts.utimes===!1)return cb();if(header.type==="directory")return xfs.utimes(name,now,header.mtime,cb);if(header.type==="symlink")return utimesParent(name,cb);xfs.utimes(name,now,header.mtime,function(err){if(err)return cb(err);utimesParent(name,cb);});},chperm=function(name,header,cb){var link2=header.type==="symlink",chmod=link2?xfs.lchmod:xfs.chmod,chown=link2?xfs.lchown:xfs.chown;if(!chmod)return cb();var mode=(header.mode|(header.type==="directory"?dmode:fmode))&umask;chown&&own?chown.call(xfs,name,header.uid,header.gid,onchown):onchown(null);function onchown(err){if(err)return cb(err);if(!chmod)return cb();chmod.call(xfs,name,mode,cb);}};return extract2.on("entry",function(header,stream3,next){header=map(header)||header,header.name=normalize2(header.name);var name=path10.join(cwd,path10.join("/",header.name));if(ignore(name,header))return stream3.resume(),next();var stat=function(err){if(err)return next(err);utimes(name,header,function(err2){if(err2)return next(err2);if(win322)return next();chperm(name,header,next);});},onsymlink=function(){if(win322)return next();xfs.unlink(name,function(){xfs.symlink(header.linkname,name,stat);});},onlink=function(){if(win322)return next();xfs.unlink(name,function(){var srcpath=path10.join(cwd,path10.join("/",header.linkname));xfs.link(srcpath,name,function(err){if(err&&err.code==="EPERM"&&opts.hardlinkAsFilesFallback)return stream3=xfs.createReadStream(srcpath),onfile();stat(err);});});},onfile=function(){var ws=xfs.createWriteStream(name),rs=mapStream(stream3,header);ws.on("error",function(err){rs.destroy(err);}),pump(rs,ws,function(err){if(err)return next(err);ws.on("close",stat);});};if(header.type==="directory")return stack.push([name,header.mtime]),mkdirfix(name,{fs:xfs,own,uid:header.uid,gid:header.gid},stat);var dir=path10.dirname(name);validate(xfs,dir,path10.join(cwd,"."),function(err,valid){if(err)return next(err);if(!valid)return next(new Error(dir+" is not a valid path"));mkdirfix(dir,{fs:xfs,own,uid:header.uid,gid:header.gid},function(err2){if(err2)return next(err2);switch(header.type){case"file":return onfile();case"link":return onlink();case"symlink":return onsymlink()}if(strict)return next(new Error("unsupported type for "+name+" ("+header.type+")"));stream3.resume(),next();});});}),opts.finish&&extract2.on("finish",opts.finish),extract2};function validate(fs7,name,root,cb){if(name===root)return cb(null,!0);fs7.lstat(name,function(err,st){if(err&&err.code!=="ENOENT")return cb(err);if(err||st.isDirectory())return validate(fs7,path10.join(name,".."),root,cb);cb(null,!1);});}function mkdirfix(name,opts,cb){mkdirp(name,{fs:opts.fs},function(err,made){!err&&made&&opts.own?chownr(made,opts.uid,opts.gid,cb):cb(err);});}}});var require_process_nextick_args=__commonJS({"../../node_modules/process-nextick-args/index.js"(exports,module){typeof process>"u"||!process.version||process.version.indexOf("v0.")===0||process.version.indexOf("v1.")===0&&process.version.indexOf("v1.8.")!==0?module.exports={nextTick}:module.exports=process;function nextTick(fn,arg1,arg2,arg3){if(typeof fn!="function")throw new TypeError('"callback" argument must be a function');var len=arguments.length,args,i;switch(len){case 0:case 1:return process.nextTick(fn);case 2:return process.nextTick(function(){fn.call(null,arg1);});case 3:return process.nextTick(function(){fn.call(null,arg1,arg2);});case 4:return process.nextTick(function(){fn.call(null,arg1,arg2,arg3);});default:for(args=new Array(len-1),i=0;i<args.length;)args[i++]=arguments[i];return process.nextTick(function(){fn.apply(null,args);})}}}});var require_isarray=__commonJS({"../../node_modules/peek-stream/node_modules/isarray/index.js"(exports,module){var toString2={}.toString;module.exports=Array.isArray||function(arr){return toString2.call(arr)=="[object Array]"};}});var require_stream2=__commonJS({"../../node_modules/peek-stream/node_modules/readable-stream/lib/internal/streams/stream.js"(exports,module){module.exports=__require("stream");}});var require_safe_buffer2=__commonJS({"../../node_modules/peek-stream/node_modules/safe-buffer/index.js"(exports,module){var buffer=__require("buffer"),Buffer4=buffer.Buffer;function copyProps(src,dst){for(var key in src)dst[key]=src[key];}Buffer4.from&&Buffer4.alloc&&Buffer4.allocUnsafe&&Buffer4.allocUnsafeSlow?module.exports=buffer:(copyProps(buffer,exports),exports.Buffer=SafeBuffer);function SafeBuffer(arg,encodingOrOffset,length){return Buffer4(arg,encodingOrOffset,length)}copyProps(Buffer4,SafeBuffer);SafeBuffer.from=function(arg,encodingOrOffset,length){if(typeof arg=="number")throw new TypeError("Argument must not be a number");return Buffer4(arg,encodingOrOffset,length)};SafeBuffer.alloc=function(size,fill,encoding){if(typeof size!="number")throw new TypeError("Argument must be a number");var buf=Buffer4(size);return fill!==void 0?typeof encoding=="string"?buf.fill(fill,encoding):buf.fill(fill):buf.fill(0),buf};SafeBuffer.allocUnsafe=function(size){if(typeof size!="number")throw new TypeError("Argument must be a number");return Buffer4(size)};SafeBuffer.allocUnsafeSlow=function(size){if(typeof size!="number")throw new TypeError("Argument must be a number");return buffer.SlowBuffer(size)};}});var require_util=__commonJS({"../../node_modules/core-util-is/lib/util.js"(exports){function isArray(arg){return Array.isArray?Array.isArray(arg):objectToString(arg)==="[object Array]"}exports.isArray=isArray;function isBoolean(arg){return typeof arg=="boolean"}exports.isBoolean=isBoolean;function isNull(arg){return arg===null}exports.isNull=isNull;function isNullOrUndefined(arg){return arg==null}exports.isNullOrUndefined=isNullOrUndefined;function isNumber(arg){return typeof arg=="number"}exports.isNumber=isNumber;function isString(arg){return typeof arg=="string"}exports.isString=isString;function isSymbol(arg){return typeof arg=="symbol"}exports.isSymbol=isSymbol;function isUndefined(arg){return arg===void 0}exports.isUndefined=isUndefined;function isRegExp(re){return objectToString(re)==="[object RegExp]"}exports.isRegExp=isRegExp;function isObject(arg){return typeof arg=="object"&&arg!==null}exports.isObject=isObject;function isDate(d){return objectToString(d)==="[object Date]"}exports.isDate=isDate;function isError(e){return objectToString(e)==="[object Error]"||e instanceof Error}exports.isError=isError;function isFunction2(arg){return typeof arg=="function"}exports.isFunction=isFunction2;function isPrimitive(arg){return arg===null||typeof arg=="boolean"||typeof arg=="number"||typeof arg=="string"||typeof arg=="symbol"||typeof arg>"u"}exports.isPrimitive=isPrimitive;exports.isBuffer=__require("buffer").Buffer.isBuffer;function objectToString(o){return Object.prototype.toString.call(o)}}});var require_BufferList2=__commonJS({"../../node_modules/peek-stream/node_modules/readable-stream/lib/internal/streams/BufferList.js"(exports,module){function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}var Buffer4=require_safe_buffer2().Buffer,util=__require("util");function copyBuffer(src,target,offset){src.copy(target,offset);}module.exports=function(){function BufferList(){_classCallCheck(this,BufferList),this.head=null,this.tail=null,this.length=0;}return BufferList.prototype.push=function(v){var entry={data:v,next:null};this.length>0?this.tail.next=entry:this.head=entry,this.tail=entry,++this.length;},BufferList.prototype.unshift=function(v){var entry={data:v,next:this.head};this.length===0&&(this.tail=entry),this.head=entry,++this.length;},BufferList.prototype.shift=function(){if(this.length!==0){var ret=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,ret}},BufferList.prototype.clear=function(){this.head=this.tail=null,this.length=0;},BufferList.prototype.join=function(s){if(this.length===0)return "";for(var p=this.head,ret=""+p.data;p=p.next;)ret+=s+p.data;return ret},BufferList.prototype.concat=function(n){if(this.length===0)return Buffer4.alloc(0);for(var ret=Buffer4.allocUnsafe(n>>>0),p=this.head,i=0;p;)copyBuffer(p.data,ret,i),i+=p.data.length,p=p.next;return ret},BufferList}();util&&util.inspect&&util.inspect.custom&&(module.exports.prototype[util.inspect.custom]=function(){var obj=util.inspect({length:this.length});return this.constructor.name+" "+obj});}});var require_destroy2=__commonJS({"../../node_modules/peek-stream/node_modules/readable-stream/lib/internal/streams/destroy.js"(exports,module){var pna=require_process_nextick_args();function destroy(err,cb){var _this=this,readableDestroyed=this._readableState&&this._readableState.destroyed,writableDestroyed=this._writableState&&this._writableState.destroyed;return readableDestroyed||writableDestroyed?(cb?cb(err):err&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,pna.nextTick(emitErrorNT,this,err)):pna.nextTick(emitErrorNT,this,err)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(err||null,function(err2){!cb&&err2?_this._writableState?_this._writableState.errorEmitted||(_this._writableState.errorEmitted=!0,pna.nextTick(emitErrorNT,_this,err2)):pna.nextTick(emitErrorNT,_this,err2):cb&&cb(err2);}),this)}function undestroy(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1);}function emitErrorNT(self2,err){self2.emit("error",err);}module.exports={destroy,undestroy};}});var require_stream_writable2=__commonJS({"../../node_modules/peek-stream/node_modules/readable-stream/lib/_stream_writable.js"(exports,module){var pna=require_process_nextick_args();module.exports=Writable;function CorkedRequest(state){var _this=this;this.next=null,this.entry=null,this.finish=function(){onCorkedFinish(_this,state);};}var asyncWrite=!process.browser&&["v0.10","v0.9."].indexOf(process.version.slice(0,5))>-1?setImmediate:pna.nextTick,Duplex2;Writable.WritableState=WritableState;var util=Object.create(require_util());util.inherits=require_inherits();var internalUtil={deprecate:require_node()},Stream2=require_stream2(),Buffer4=require_safe_buffer2().Buffer,OurUint8Array=(typeof global<"u"?global:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function _uint8ArrayToBuffer(chunk){return Buffer4.from(chunk)}function _isUint8Array(obj){return Buffer4.isBuffer(obj)||obj instanceof OurUint8Array}var destroyImpl=require_destroy2();util.inherits(Writable,Stream2);function nop(){}function WritableState(options,stream3){Duplex2=Duplex2||require_stream_duplex2(),options=options||{};var isDuplex=stream3 instanceof Duplex2;this.objectMode=!!options.objectMode,isDuplex&&(this.objectMode=this.objectMode||!!options.writableObjectMode);var hwm=options.highWaterMark,writableHwm=options.writableHighWaterMark,defaultHwm=this.objectMode?16:16*1024;hwm||hwm===0?this.highWaterMark=hwm:isDuplex&&(writableHwm||writableHwm===0)?this.highWaterMark=writableHwm:this.highWaterMark=defaultHwm,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var noDecode=options.decodeStrings===!1;this.decodeStrings=!noDecode,this.defaultEncoding=options.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(er){onwrite(stream3,er);},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new CorkedRequest(this);}WritableState.prototype.getBuffer=function(){for(var current=this.bufferedRequest,out=[];current;)out.push(current),current=current.next;return out};(function(){try{Object.defineProperty(WritableState.prototype,"buffer",{get:internalUtil.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")});}catch{}})();var realHasInstance;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(realHasInstance=Function.prototype[Symbol.hasInstance],Object.defineProperty(Writable,Symbol.hasInstance,{value:function(object){return realHasInstance.call(this,object)?!0:this!==Writable?!1:object&&object._writableState instanceof WritableState}})):realHasInstance=function(object){return object instanceof this};function Writable(options){if(Duplex2=Duplex2||require_stream_duplex2(),!realHasInstance.call(Writable,this)&&!(this instanceof Duplex2))return new Writable(options);this._writableState=new WritableState(options,this),this.writable=!0,options&&(typeof options.write=="function"&&(this._write=options.write),typeof options.writev=="function"&&(this._writev=options.writev),typeof options.destroy=="function"&&(this._destroy=options.destroy),typeof options.final=="function"&&(this._final=options.final)),Stream2.call(this);}Writable.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"));};function writeAfterEnd(stream3,cb){var er=new Error("write after end");stream3.emit("error",er),pna.nextTick(cb,er);}function validChunk(stream3,state,chunk,cb){var valid=!0,er=!1;return chunk===null?er=new TypeError("May not write null values to stream"):typeof chunk!="string"&&chunk!==void 0&&!state.objectMode&&(er=new TypeError("Invalid non-string/buffer chunk")),er&&(stream3.emit("error",er),pna.nextTick(cb,er),valid=!1),valid}Writable.prototype.write=function(chunk,encoding,cb){var state=this._writableState,ret=!1,isBuf=!state.objectMode&&_isUint8Array(chunk);return isBuf&&!Buffer4.isBuffer(chunk)&&(chunk=_uint8ArrayToBuffer(chunk)),typeof encoding=="function"&&(cb=encoding,encoding=null),isBuf?encoding="buffer":encoding||(encoding=state.defaultEncoding),typeof cb!="function"&&(cb=nop),state.ended?writeAfterEnd(this,cb):(isBuf||validChunk(this,state,chunk,cb))&&(state.pendingcb++,ret=writeOrBuffer(this,state,isBuf,chunk,encoding,cb)),ret};Writable.prototype.cork=function(){var state=this._writableState;state.corked++;};Writable.prototype.uncork=function(){var state=this._writableState;state.corked&&(state.corked--,!state.writing&&!state.corked&&!state.bufferProcessing&&state.bufferedRequest&&clearBuffer(this,state));};Writable.prototype.setDefaultEncoding=function(encoding){if(typeof encoding=="string"&&(encoding=encoding.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((encoding+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+encoding);return this._writableState.defaultEncoding=encoding,this};function decodeChunk(state,chunk,encoding){return !state.objectMode&&state.decodeStrings!==!1&&typeof chunk=="string"&&(chunk=Buffer4.from(chunk,encoding)),chunk}Object.defineProperty(Writable.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function writeOrBuffer(stream3,state,isBuf,chunk,encoding,cb){if(!isBuf){var newChunk=decodeChunk(state,chunk,encoding);chunk!==newChunk&&(isBuf=!0,encoding="buffer",chunk=newChunk);}var len=state.objectMode?1:chunk.length;state.length+=len;var ret=state.length<state.highWaterMark;if(ret||(state.needDrain=!0),state.writing||state.corked){var last=state.lastBufferedRequest;state.lastBufferedRequest={chunk,encoding,isBuf,callback:cb,next:null},last?last.next=state.lastBufferedRequest:state.bufferedRequest=state.lastBufferedRequest,state.bufferedRequestCount+=1;}else doWrite(stream3,state,!1,len,chunk,encoding,cb);return ret}function doWrite(stream3,state,writev,len,chunk,encoding,cb){state.writelen=len,state.writecb=cb,state.writing=!0,state.sync=!0,writev?stream3._writev(chunk,state.onwrite):stream3._write(chunk,encoding,state.onwrite),state.sync=!1;}function onwriteError(stream3,state,sync2,er,cb){--state.pendingcb,sync2?(pna.nextTick(cb,er),pna.nextTick(finishMaybe,stream3,state),stream3._writableState.errorEmitted=!0,stream3.emit("error",er)):(cb(er),stream3._writableState.errorEmitted=!0,stream3.emit("error",er),finishMaybe(stream3,state));}function onwriteStateUpdate(state){state.writing=!1,state.writecb=null,state.length-=state.writelen,state.writelen=0;}function onwrite(stream3,er){var state=stream3._writableState,sync2=state.sync,cb=state.writecb;if(onwriteStateUpdate(state),er)onwriteError(stream3,state,sync2,er,cb);else {var finished=needFinish(state);!finished&&!state.corked&&!state.bufferProcessing&&state.bufferedRequest&&clearBuffer(stream3,state),sync2?asyncWrite(afterWrite,stream3,state,finished,cb):afterWrite(stream3,state,finished,cb);}}function afterWrite(stream3,state,finished,cb){finished||onwriteDrain(stream3,state),state.pendingcb--,cb(),finishMaybe(stream3,state);}function onwriteDrain(stream3,state){state.length===0&&state.needDrain&&(state.needDrain=!1,stream3.emit("drain"));}function clearBuffer(stream3,state){state.bufferProcessing=!0;var entry=state.bufferedRequest;if(stream3._writev&&entry&&entry.next){var l=state.bufferedRequestCount,buffer=new Array(l),holder=state.corkedRequestsFree;holder.entry=entry;for(var count=0,allBuffers=!0;entry;)buffer[count]=entry,entry.isBuf||(allBuffers=!1),entry=entry.next,count+=1;buffer.allBuffers=allBuffers,doWrite(stream3,state,!0,state.length,buffer,"",holder.finish),state.pendingcb++,state.lastBufferedRequest=null,holder.next?(state.corkedRequestsFree=holder.next,holder.next=null):state.corkedRequestsFree=new CorkedRequest(state),state.bufferedRequestCount=0;}else {for(;entry;){var chunk=entry.chunk,encoding=entry.encoding,cb=entry.callback,len=state.objectMode?1:chunk.length;if(doWrite(stream3,state,!1,len,chunk,encoding,cb),entry=entry.next,state.bufferedRequestCount--,state.writing)break}entry===null&&(state.lastBufferedRequest=null);}state.bufferedRequest=entry,state.bufferProcessing=!1;}Writable.prototype._write=function(chunk,encoding,cb){cb(new Error("_write() is not implemented"));};Writable.prototype._writev=null;Writable.prototype.end=function(chunk,encoding,cb){var state=this._writableState;typeof chunk=="function"?(cb=chunk,chunk=null,encoding=null):typeof encoding=="function"&&(cb=encoding,encoding=null),chunk!=null&&this.write(chunk,encoding),state.corked&&(state.corked=1,this.uncork()),state.ending||endWritable(this,state,cb);};function needFinish(state){return state.ending&&state.length===0&&state.bufferedRequest===null&&!state.finished&&!state.writing}function callFinal(stream3,state){stream3._final(function(err){state.pendingcb--,err&&stream3.emit("error",err),state.prefinished=!0,stream3.emit("prefinish"),finishMaybe(stream3,state);});}function prefinish(stream3,state){!state.prefinished&&!state.finalCalled&&(typeof stream3._final=="function"?(state.pendingcb++,state.finalCalled=!0,pna.nextTick(callFinal,stream3,state)):(state.prefinished=!0,stream3.emit("prefinish")));}function finishMaybe(stream3,state){var need=needFinish(state);return need&&(prefinish(stream3,state),state.pendingcb===0&&(state.finished=!0,stream3.emit("finish"))),need}function endWritable(stream3,state,cb){state.ending=!0,finishMaybe(stream3,state),cb&&(state.finished?pna.nextTick(cb):stream3.once("finish",cb)),state.ended=!0,stream3.writable=!1;}function onCorkedFinish(corkReq,state,err){var entry=corkReq.entry;for(corkReq.entry=null;entry;){var cb=entry.callback;state.pendingcb--,cb(err),entry=entry.next;}state.corkedRequestsFree.next=corkReq;}Object.defineProperty(Writable.prototype,"destroyed",{get:function(){return this._writableState===void 0?!1:this._writableState.destroyed},set:function(value){this._writableState&&(this._writableState.destroyed=value);}});Writable.prototype.destroy=destroyImpl.destroy;Writable.prototype._undestroy=destroyImpl.undestroy;Writable.prototype._destroy=function(err,cb){this.end(),cb(err);};}});var require_stream_duplex2=__commonJS({"../../node_modules/peek-stream/node_modules/readable-stream/lib/_stream_duplex.js"(exports,module){var pna=require_process_nextick_args(),objectKeys=Object.keys||function(obj){var keys2=[];for(var key in obj)keys2.push(key);return keys2};module.exports=Duplex2;var util=Object.create(require_util());util.inherits=require_inherits();var Readable=require_stream_readable2(),Writable=require_stream_writable2();util.inherits(Duplex2,Readable);for(keys=objectKeys(Writable.prototype),v=0;v<keys.length;v++)method=keys[v],Duplex2.prototype[method]||(Duplex2.prototype[method]=Writable.prototype[method]);var keys,method,v;function Duplex2(options){if(!(this instanceof Duplex2))return new Duplex2(options);Readable.call(this,options),Writable.call(this,options),options&&options.readable===!1&&(this.readable=!1),options&&options.writable===!1&&(this.writable=!1),this.allowHalfOpen=!0,options&&options.allowHalfOpen===!1&&(this.allowHalfOpen=!1),this.once("end",onend);}Object.defineProperty(Duplex2.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function onend(){this.allowHalfOpen||this._writableState.ended||pna.nextTick(onEndNT,this);}function onEndNT(self2){self2.end();}Object.defineProperty(Duplex2.prototype,"destroyed",{get:function(){return this._readableState===void 0||this._writableState===void 0?!1:this._readableState.destroyed&&this._writableState.destroyed},set:function(value){this._readableState===void 0||this._writableState===void 0||(this._readableState.destroyed=value,this._writableState.destroyed=value);}});Duplex2.prototype._destroy=function(err,cb){this.push(null),this.end(),pna.nextTick(cb,err);};}});var require_string_decoder2=__commonJS({"../../node_modules/peek-stream/node_modules/string_decoder/lib/string_decoder.js"(exports){var Buffer4=require_safe_buffer2().Buffer,isEncoding=Buffer4.isEncoding||function(encoding){switch(encoding=""+encoding,encoding&&encoding.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return !0;default:return !1}};function _normalizeEncoding(enc){if(!enc)return "utf8";for(var retried;;)switch(enc){case"utf8":case"utf-8":return "utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return "utf16le";case"latin1":case"binary":return "latin1";case"base64":case"ascii":case"hex":return enc;default:if(retried)return;enc=(""+enc).toLowerCase(),retried=!0;}}function normalizeEncoding(enc){var nenc=_normalizeEncoding(enc);if(typeof nenc!="string"&&(Buffer4.isEncoding===isEncoding||!isEncoding(enc)))throw new Error("Unknown encoding: "+enc);return nenc||enc}exports.StringDecoder=StringDecoder2;function StringDecoder2(encoding){this.encoding=normalizeEncoding(encoding);var nb;switch(this.encoding){case"utf16le":this.text=utf16Text,this.end=utf16End,nb=4;break;case"utf8":this.fillLast=utf8FillLast,nb=4;break;case"base64":this.text=base64Text,this.end=base64End,nb=3;break;default:this.write=simpleWrite,this.end=simpleEnd;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=Buffer4.allocUnsafe(nb);}StringDecoder2.prototype.write=function(buf){if(buf.length===0)return "";var r,i;if(this.lastNeed){if(r=this.fillLast(buf),r===void 0)return "";i=this.lastNeed,this.lastNeed=0;}else i=0;return i<buf.length?r?r+this.text(buf,i):this.text(buf,i):r||""};StringDecoder2.prototype.end=utf8End;StringDecoder2.prototype.text=utf8Text;StringDecoder2.prototype.fillLast=function(buf){if(this.lastNeed<=buf.length)return buf.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);buf.copy(this.lastChar,this.lastTotal-this.lastNeed,0,buf.length),this.lastNeed-=buf.length;};function utf8CheckByte(byte){return byte<=127?0:byte>>5===6?2:byte>>4===14?3:byte>>3===30?4:byte>>6===2?-1:-2}function utf8CheckIncomplete(self2,buf,i){var j=buf.length-1;if(j<i)return 0;var nb=utf8CheckByte(buf[j]);return nb>=0?(nb>0&&(self2.lastNeed=nb-1),nb):--j<i||nb===-2?0:(nb=utf8CheckByte(buf[j]),nb>=0?(nb>0&&(self2.lastNeed=nb-2),nb):--j<i||nb===-2?0:(nb=utf8CheckByte(buf[j]),nb>=0?(nb>0&&(nb===2?nb=0:self2.lastNeed=nb-3),nb):0))}function utf8CheckExtraBytes(self2,buf,p){if((buf[0]&192)!==128)return self2.lastNeed=0,"\uFFFD";if(self2.lastNeed>1&&buf.length>1){if((buf[1]&192)!==128)return self2.lastNeed=1,"\uFFFD";if(self2.lastNeed>2&&buf.length>2&&(buf[2]&192)!==128)return self2.lastNeed=2,"\uFFFD"}}function utf8FillLast(buf){var p=this.lastTotal-this.lastNeed,r=utf8CheckExtraBytes(this,buf);if(r!==void 0)return r;if(this.lastNeed<=buf.length)return buf.copy(this.lastChar,p,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);buf.copy(this.lastChar,p,0,buf.length),this.lastNeed-=buf.length;}function utf8Text(buf,i){var total=utf8CheckIncomplete(this,buf,i);if(!this.lastNeed)return buf.toString("utf8",i);this.lastTotal=total;var end=buf.length-(total-this.lastNeed);return buf.copy(this.lastChar,0,end),buf.toString("utf8",i,end)}function utf8End(buf){var r=buf&&buf.length?this.write(buf):"";return this.lastNeed?r+"\uFFFD":r}function utf16Text(buf,i){if((buf.length-i)%2===0){var r=buf.toString("utf16le",i);if(r){var c=r.charCodeAt(r.length-1);if(c>=55296&&c<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=buf[buf.length-2],this.lastChar[1]=buf[buf.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=buf[buf.length-1],buf.toString("utf16le",i,buf.length-1)}function utf16End(buf){var r=buf&&buf.length?this.write(buf):"";if(this.lastNeed){var end=this.lastTotal-this.lastNeed;return r+this.lastChar.toString("utf16le",0,end)}return r}function base64Text(buf,i){var n=(buf.length-i)%3;return n===0?buf.toString("base64",i):(this.lastNeed=3-n,this.lastTotal=3,n===1?this.lastChar[0]=buf[buf.length-1]:(this.lastChar[0]=buf[buf.length-2],this.lastChar[1]=buf[buf.length-1]),buf.toString("base64",i,buf.length-n))}function base64End(buf){var r=buf&&buf.length?this.write(buf):"";return this.lastNeed?r+this.lastChar.toString("base64",0,3-this.lastNeed):r}function simpleWrite(buf){return buf.toString(this.encoding)}function simpleEnd(buf){return buf&&buf.length?this.write(buf):""}}});var require_stream_readable2=__commonJS({"../../node_modules/peek-stream/node_modules/readable-stream/lib/_stream_readable.js"(exports,module){var pna=require_process_nextick_args();module.exports=Readable;var isArray=require_isarray(),Duplex2;Readable.ReadableState=ReadableState;__require("events").EventEmitter;var EElistenerCount=function(emitter,type){return emitter.listeners(type).length},Stream2=require_stream2(),Buffer4=require_safe_buffer2().Buffer,OurUint8Array=(typeof global<"u"?global:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function _uint8ArrayToBuffer(chunk){return Buffer4.from(chunk)}function _isUint8Array(obj){return Buffer4.isBuffer(obj)||obj instanceof OurUint8Array}var util=Object.create(require_util());util.inherits=require_inherits();var debugUtil=__require("util"),debug=void 0;debugUtil&&debugUtil.debuglog?debug=debugUtil.debuglog("stream"):debug=function(){};var BufferList=require_BufferList2(),destroyImpl=require_destroy2(),StringDecoder2;util.inherits(Readable,Stream2);var kProxyEvents=["error","close","destroy","pause","resume"];function prependListener(emitter,event,fn){if(typeof emitter.prependListener=="function")return emitter.prependListener(event,fn);!emitter._events||!emitter._events[event]?emitter.on(event,fn):isArray(emitter._events[event])?emitter._events[event].unshift(fn):emitter._events[event]=[fn,emitter._events[event]];}function ReadableState(options,stream3){Duplex2=Duplex2||require_stream_duplex2(),options=options||{};var isDuplex=stream3 instanceof Duplex2;this.objectMode=!!options.objectMode,isDuplex&&(this.objectMode=this.objectMode||!!options.readableObjectMode);var hwm=options.highWaterMark,readableHwm=options.readableHighWaterMark,defaultHwm=this.objectMode?16:16*1024;hwm||hwm===0?this.highWaterMark=hwm:isDuplex&&(readableHwm||readableHwm===0)?this.highWaterMark=readableHwm:this.highWaterMark=defaultHwm,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new BufferList,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=options.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,options.encoding&&(StringDecoder2||(StringDecoder2=require_string_decoder2().StringDecoder),this.decoder=new StringDecoder2(options.encoding),this.encoding=options.encoding);}function Readable(options){if(Duplex2=Duplex2||require_stream_duplex2(),!(this instanceof Readable))return new Readable(options);this._readableState=new ReadableState(options,this),this.readable=!0,options&&(typeof options.read=="function"&&(this._read=options.read),typeof options.destroy=="function"&&(this._destroy=options.destroy)),Stream2.call(this);}Object.defineProperty(Readable.prototype,"destroyed",{get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(value){this._readableState&&(this._readableState.destroyed=value);}});Readable.prototype.destroy=destroyImpl.destroy;Readable.prototype._undestroy=destroyImpl.undestroy;Readable.prototype._destroy=function(err,cb){this.push(null),cb(err);};Readable.prototype.push=function(chunk,encoding){var state=this._readableState,skipChunkCheck;return state.objectMode?skipChunkCheck=!0:typeof chunk=="string"&&(encoding=encoding||state.defaultEncoding,encoding!==state.encoding&&(chunk=Buffer4.from(chunk,encoding),encoding=""),skipChunkCheck=!0),readableAddChunk(this,chunk,encoding,!1,skipChunkCheck)};Readable.prototype.unshift=function(chunk){return readableAddChunk(this,chunk,null,!0,!1)};function readableAddChunk(stream3,chunk,encoding,addToFront,skipChunkCheck){var state=stream3._readableState;if(chunk===null)state.reading=!1,onEofChunk(stream3,state);else {var er;skipChunkCheck||(er=chunkInvalid(state,chunk)),er?stream3.emit("error",er):state.objectMode||chunk&&chunk.length>0?(typeof chunk!="string"&&!state.objectMode&&Object.getPrototypeOf(chunk)!==Buffer4.prototype&&(chunk=_uint8ArrayToBuffer(chunk)),addToFront?state.endEmitted?stream3.emit("error",new Error("stream.unshift() after end event")):addChunk(stream3,state,chunk,!0):state.ended?stream3.emit("error",new Error("stream.push() after EOF")):(state.reading=!1,state.decoder&&!encoding?(chunk=state.decoder.write(chunk),state.objectMode||chunk.length!==0?addChunk(stream3,state,chunk,!1):maybeReadMore(stream3,state)):addChunk(stream3,state,chunk,!1))):addToFront||(state.reading=!1);}return needMoreData(state)}function addChunk(stream3,state,chunk,addToFront){state.flowing&&state.length===0&&!state.sync?(stream3.emit("data",chunk),stream3.read(0)):(state.length+=state.objectMode?1:chunk.length,addToFront?state.buffer.unshift(chunk):state.buffer.push(chunk),state.needReadable&&emitReadable(stream3)),maybeReadMore(stream3,state);}function chunkInvalid(state,chunk){var er;return !_isUint8Array(chunk)&&typeof chunk!="string"&&chunk!==void 0&&!state.objectMode&&(er=new TypeError("Invalid non-string/buffer chunk")),er}function needMoreData(state){return !state.ended&&(state.needReadable||state.length<state.highWaterMark||state.length===0)}Readable.prototype.isPaused=function(){return this._readableState.flowing===!1};Readable.prototype.setEncoding=function(enc){return StringDecoder2||(StringDecoder2=require_string_decoder2().StringDecoder),this._readableState.decoder=new StringDecoder2(enc),this._readableState.encoding=enc,this};var MAX_HWM=8388608;function computeNewHighWaterMark(n){return n>=MAX_HWM?n=MAX_HWM:(n--,n|=n>>>1,n|=n>>>2,n|=n>>>4,n|=n>>>8,n|=n>>>16,n++),n}function howMuchToRead(n,state){return n<=0||state.length===0&&state.ended?0:state.objectMode?1:n!==n?state.flowing&&state.length?state.buffer.head.data.length:state.length:(n>state.highWaterMark&&(state.highWaterMark=computeNewHighWaterMark(n)),n<=state.length?n:state.ended?state.length:(state.needReadable=!0,0))}Readable.prototype.read=function(n){debug("read",n),n=parseInt(n,10);var state=this._readableState,nOrig=n;if(n!==0&&(state.emittedReadable=!1),n===0&&state.needReadable&&(state.length>=state.highWaterMark||state.ended))return debug("read: emitReadable",state.length,state.ended),state.length===0&&state.ended?endReadable(this):emitReadable(this),null;if(n=howMuchToRead(n,state),n===0&&state.ended)return state.length===0&&endReadable(this),null;var doRead=state.needReadable;debug("need readable",doRead),(state.length===0||state.length-n<state.highWaterMark)&&(doRead=!0,debug("length less than watermark",doRead)),state.ended||state.reading?(doRead=!1,debug("reading or ended",doRead)):doRead&&(debug("do read"),state.reading=!0,state.sync=!0,state.length===0&&(state.needReadable=!0),this._read(state.highWaterMark),state.sync=!1,state.reading||(n=howMuchToRead(nOrig,state)));var ret;return n>0?ret=fromList(n,state):ret=null,ret===null?(state.needReadable=!0,n=0):state.length-=n,state.length===0&&(state.ended||(state.needReadable=!0),nOrig!==n&&state.ended&&endReadable(this)),ret!==null&&this.emit("data",ret),ret};function onEofChunk(stream3,state){if(!state.ended){if(state.decoder){var chunk=state.decoder.end();chunk&&chunk.length&&(state.buffer.push(chunk),state.length+=state.objectMode?1:chunk.length);}state.ended=!0,emitReadable(stream3);}}function emitReadable(stream3){var state=stream3._readableState;state.needReadable=!1,state.emittedReadable||(debug("emitReadable",state.flowing),state.emittedReadable=!0,state.sync?pna.nextTick(emitReadable_,stream3):emitReadable_(stream3));}function emitReadable_(stream3){debug("emit readable"),stream3.emit("readable"),flow(stream3);}function maybeReadMore(stream3,state){state.readingMore||(state.readingMore=!0,pna.nextTick(maybeReadMore_,stream3,state));}function maybeReadMore_(stream3,state){for(var len=state.length;!state.reading&&!state.flowing&&!state.ended&&state.length<state.highWaterMark&&(debug("maybeReadMore read 0"),stream3.read(0),len!==state.length);)len=state.length;state.readingMore=!1;}Readable.prototype._read=function(n){this.emit("error",new Error("_read() is not implemented"));};Readable.prototype.pipe=function(dest,pipeOpts){var src=this,state=this._readableState;switch(state.pipesCount){case 0:state.pipes=dest;break;case 1:state.pipes=[state.pipes,dest];break;default:state.pipes.push(dest);break}state.pipesCount+=1,debug("pipe count=%d opts=%j",state.pipesCount,pipeOpts);var doEnd=(!pipeOpts||pipeOpts.end!==!1)&&dest!==process.stdout&&dest!==process.stderr,endFn=doEnd?onend:unpipe;state.endEmitted?pna.nextTick(endFn):src.once("end",endFn),dest.on("unpipe",onunpipe);function onunpipe(readable,unpipeInfo){debug("onunpipe"),readable===src&&unpipeInfo&&unpipeInfo.hasUnpiped===!1&&(unpipeInfo.hasUnpiped=!0,cleanup3());}function onend(){debug("onend"),dest.end();}var ondrain=pipeOnDrain(src);dest.on("drain",ondrain);var cleanedUp=!1;function cleanup3(){debug("cleanup"),dest.removeListener("close",onclose),dest.removeListener("finish",onfinish),dest.removeListener("drain",ondrain),dest.removeListener("error",onerror),dest.removeListener("unpipe",onunpipe),src.removeListener("end",onend),src.removeListener("end",unpipe),src.removeListener("data",ondata),cleanedUp=!0,state.awaitDrain&&(!dest._writableState||dest._writableState.needDrain)&&ondrain();}var increasedAwaitDrain=!1;src.on("data",ondata);function ondata(chunk){debug("ondata"),increasedAwaitDrain=!1;var ret=dest.write(chunk);ret===!1&&!increasedAwaitDrain&&((state.pipesCount===1&&state.pipes===dest||state.pipesCount>1&&indexOf(state.pipes,dest)!==-1)&&!cleanedUp&&(debug("false write response, pause",state.awaitDrain),state.awaitDrain++,increasedAwaitDrain=!0),src.pause());}function onerror(er){debug("onerror",er),unpipe(),dest.removeListener("error",onerror),EElistenerCount(dest,"error")===0&&dest.emit("error",er);}prependListener(dest,"error",onerror);function onclose(){dest.removeListener("finish",onfinish),unpipe();}dest.once("close",onclose);function onfinish(){debug("onfinish"),dest.removeListener("close",onclose),unpipe();}dest.once("finish",onfinish);function unpipe(){debug("unpipe"),src.unpipe(dest);}return dest.emit("pipe",src),state.flowing||(debug("pipe resume"),src.resume()),dest};function pipeOnDrain(src){return function(){var state=src._readableState;debug("pipeOnDrain",state.awaitDrain),state.awaitDrain&&state.awaitDrain--,state.awaitDrain===0&&EElistenerCount(src,"data")&&(state.flowing=!0,flow(src));}}Readable.prototype.unpipe=function(dest){var state=this._readableState,unpipeInfo={hasUnpiped:!1};if(state.pipesCount===0)return this;if(state.pipesCount===1)return dest&&dest!==state.pipes?this:(dest||(dest=state.pipes),state.pipes=null,state.pipesCount=0,state.flowing=!1,dest&&dest.emit("unpipe",this,unpipeInfo),this);if(!dest){var dests=state.pipes,len=state.pipesCount;state.pipes=null,state.pipesCount=0,state.flowing=!1;for(var i=0;i<len;i++)dests[i].emit("unpipe",this,{hasUnpiped:!1});return this}var index=indexOf(state.pipes,dest);return index===-1?this:(state.pipes.splice(index,1),state.pipesCount-=1,state.pipesCount===1&&(state.pipes=state.pipes[0]),dest.emit("unpipe",this,unpipeInfo),this)};Readable.prototype.on=function(ev,fn){var res=Stream2.prototype.on.call(this,ev,fn);if(ev==="data")this._readableState.flowing!==!1&&this.resume();else if(ev==="readable"){var state=this._readableState;!state.endEmitted&&!state.readableListening&&(state.readableListening=state.needReadable=!0,state.emittedReadable=!1,state.reading?state.length&&emitReadable(this):pna.nextTick(nReadingNextTick,this));}return res};Readable.prototype.addListener=Readable.prototype.on;function nReadingNextTick(self2){debug("readable nexttick read 0"),self2.read(0);}Readable.prototype.resume=function(){var state=this._readableState;return state.flowing||(debug("resume"),state.flowing=!0,resume(this,state)),this};function resume(stream3,state){state.resumeScheduled||(state.resumeScheduled=!0,pna.nextTick(resume_,stream3,state));}function resume_(stream3,state){state.reading||(debug("resume read 0"),stream3.read(0)),state.resumeScheduled=!1,state.awaitDrain=0,stream3.emit("resume"),flow(stream3),state.flowing&&!state.reading&&stream3.read(0);}Readable.prototype.pause=function(){return debug("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(debug("pause"),this._readableState.flowing=!1,this.emit("pause")),this};function flow(stream3){var state=stream3._readableState;for(debug("flow",state.flowing);state.flowing&&stream3.read()!==null;);}Readable.prototype.wrap=function(stream3){var _this=this,state=this._readableState,paused=!1;stream3.on("end",function(){if(debug("wrapped end"),state.decoder&&!state.ended){var chunk=state.decoder.end();chunk&&chunk.length&&_this.push(chunk);}_this.push(null);}),stream3.on("data",function(chunk){if(debug("wrapped data"),state.decoder&&(chunk=state.decoder.write(chunk)),!(state.objectMode&&chunk==null)&&!(!state.objectMode&&(!chunk||!chunk.length))){var ret=_this.push(chunk);ret||(paused=!0,stream3.pause());}});for(var i in stream3)this[i]===void 0&&typeof stream3[i]=="function"&&(this[i]=function(method){return function(){return stream3[method].apply(stream3,arguments)}}(i));for(var n=0;n<kProxyEvents.length;n++)stream3.on(kProxyEvents[n],this.emit.bind(this,kProxyEvents[n]));return this._read=function(n2){debug("wrapped _read",n2),paused&&(paused=!1,stream3.resume());},this};Object.defineProperty(Readable.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}});Readable._fromList=fromList;function fromList(n,state){if(state.length===0)return null;var ret;return state.objectMode?ret=state.buffer.shift():!n||n>=state.length?(state.decoder?ret=state.buffer.join(""):state.buffer.length===1?ret=state.buffer.head.data:ret=state.buffer.concat(state.length),state.buffer.clear()):ret=fromListPartial(n,state.buffer,state.decoder),ret}function fromListPartial(n,list,hasStrings){var ret;return n<list.head.data.length?(ret=list.head.data.slice(0,n),list.head.data=list.head.data.slice(n)):n===list.head.data.length?ret=list.shift():ret=hasStrings?copyFromBufferString(n,list):copyFromBuffer(n,list),ret}function copyFromBufferString(n,list){var p=list.head,c=1,ret=p.data;for(n-=ret.length;p=p.next;){var str=p.data,nb=n>str.length?str.length:n;if(nb===str.length?ret+=str:ret+=str.slice(0,n),n-=nb,n===0){nb===str.length?(++c,p.next?list.head=p.next:list.head=list.tail=null):(list.head=p,p.data=str.slice(nb));break}++c;}return list.length-=c,ret}function copyFromBuffer(n,list){var ret=Buffer4.allocUnsafe(n),p=list.head,c=1;for(p.data.copy(ret),n-=p.data.length;p=p.next;){var buf=p.data,nb=n>buf.length?buf.length:n;if(buf.copy(ret,ret.length-n,0,nb),n-=nb,n===0){nb===buf.length?(++c,p.next?list.head=p.next:list.head=list.tail=null):(list.head=p,p.data=buf.slice(nb));break}++c;}return list.length-=c,ret}function endReadable(stream3){var state=stream3._readableState;if(state.length>0)throw new Error('"endReadable()" called on non-empty stream');state.endEmitted||(state.ended=!0,pna.nextTick(endReadableNT,state,stream3));}function endReadableNT(state,stream3){!state.endEmitted&&state.length===0&&(state.endEmitted=!0,stream3.readable=!1,stream3.emit("end"));}function indexOf(xs,x){for(var i=0,l=xs.length;i<l;i++)if(xs[i]===x)return i;return -1}}});var require_stream_transform2=__commonJS({"../../node_modules/peek-stream/node_modules/readable-stream/lib/_stream_transform.js"(exports,module){module.exports=Transform;var Duplex2=require_stream_duplex2(),util=Object.create(require_util());util.inherits=require_inherits();util.inherits(Transform,Duplex2);function afterTransform(er,data){var ts=this._transformState;ts.transforming=!1;var cb=ts.writecb;if(!cb)return this.emit("error",new Error("write callback called multiple times"));ts.writechunk=null,ts.writecb=null,data!=null&&this.push(data),cb(er);var rs=this._readableState;rs.reading=!1,(rs.needReadable||rs.length<rs.highWaterMark)&&this._read(rs.highWaterMark);}function Transform(options){if(!(this instanceof Transform))return new Transform(options);Duplex2.call(this,options),this._transformState={afterTransform:afterTransform.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,options&&(typeof options.transform=="function"&&(this._transform=options.transform),typeof options.flush=="function"&&(this._flush=options.flush)),this.on("prefinish",prefinish);}function prefinish(){var _this=this;typeof this._flush=="function"?this._flush(function(er,data){done(_this,er,data);}):done(this,null,null);}Transform.prototype.push=function(chunk,encoding){return this._transformState.needTransform=!1,Duplex2.prototype.push.call(this,chunk,encoding)};Transform.prototype._transform=function(chunk,encoding,cb){throw new Error("_transform() is not implemented")};Transform.prototype._write=function(chunk,encoding,cb){var ts=this._transformState;if(ts.writecb=cb,ts.writechunk=chunk,ts.writeencoding=encoding,!ts.transforming){var rs=this._readableState;(ts.needTransform||rs.needReadable||rs.length<rs.highWaterMark)&&this._read(rs.highWaterMark);}};Transform.prototype._read=function(n){var ts=this._transformState;ts.writechunk!==null&&ts.writecb&&!ts.transforming?(ts.transforming=!0,this._transform(ts.writechunk,ts.writeencoding,ts.afterTransform)):ts.needTransform=!0;};Transform.prototype._destroy=function(err,cb){var _this2=this;Duplex2.prototype._destroy.call(this,err,function(err2){cb(err2),_this2.emit("close");});};function done(stream3,er,data){if(er)return stream3.emit("error",er);if(data!=null&&stream3.push(data),stream3._writableState.length)throw new Error("Calling transform done when ws.length != 0");if(stream3._transformState.transforming)throw new Error("Calling transform done when still transforming");return stream3.push(null)}}});var require_stream_passthrough2=__commonJS({"../../node_modules/peek-stream/node_modules/readable-stream/lib/_stream_passthrough.js"(exports,module){module.exports=PassThrough;var Transform=require_stream_transform2(),util=Object.create(require_util());util.inherits=require_inherits();util.inherits(PassThrough,Transform);function PassThrough(options){if(!(this instanceof PassThrough))return new PassThrough(options);Transform.call(this,options);}PassThrough.prototype._transform=function(chunk,encoding,cb){cb(null,chunk);};}});var require_readable2=__commonJS({"../../node_modules/peek-stream/node_modules/readable-stream/readable.js"(exports,module){var Stream2=__require("stream");process.env.READABLE_STREAM==="disable"&&Stream2?(module.exports=Stream2,exports=module.exports=Stream2.Readable,exports.Readable=Stream2.Readable,exports.Writable=Stream2.Writable,exports.Duplex=Stream2.Duplex,exports.Transform=Stream2.Transform,exports.PassThrough=Stream2.PassThrough,exports.Stream=Stream2):(exports=module.exports=require_stream_readable2(),exports.Stream=Stream2||exports,exports.Readable=exports,exports.Writable=require_stream_writable2(),exports.Duplex=require_stream_duplex2(),exports.Transform=require_stream_transform2(),exports.PassThrough=require_stream_passthrough2());}});var require_stream_shift=__commonJS({"../../node_modules/stream-shift/index.js"(exports,module){module.exports=shift;function shift(stream3){var rs=stream3._readableState;return rs?rs.objectMode||typeof stream3._duplexState=="number"?stream3.read():stream3.read(getStateLength(rs)):null}function getStateLength(state){return state.buffer.length?state.buffer.head?state.buffer.head.data.length:state.buffer[0].length:state.length}}});var require_duplexify=__commonJS({"../../node_modules/peek-stream/node_modules/duplexify/index.js"(exports,module){var stream3=require_readable2(),eos=require_end_of_stream(),inherits=require_inherits(),shift=require_stream_shift(),SIGNAL_FLUSH=Buffer.from&&Buffer.from!==Uint8Array.from?Buffer.from([0]):new Buffer([0]),onuncork=function(self2,fn){self2._corked?self2.once("uncork",fn):fn();},autoDestroy=function(self2,err){self2._autoDestroy&&self2.destroy(err);},destroyer=function(self2,end2){return function(err){err?autoDestroy(self2,err.message==="premature close"?null:err):end2&&!self2._ended&&self2.end();}},end=function(ws,fn){if(!ws||ws._writableState&&ws._writableState.finished)return fn();if(ws._writableState)return ws.end(fn);ws.end(),fn();},toStreams2=function(rs){return new stream3.Readable({objectMode:!0,highWaterMark:16}).wrap(rs)},Duplexify=function(writable,readable,opts){if(!(this instanceof Duplexify))return new Duplexify(writable,readable,opts);stream3.Duplex.call(this,opts),this._writable=null,this._readable=null,this._readable2=null,this._autoDestroy=!opts||opts.autoDestroy!==!1,this._forwardDestroy=!opts||opts.destroy!==!1,this._forwardEnd=!opts||opts.end!==!1,this._corked=1,this._ondrain=null,this._drained=!1,this._forwarding=!1,this._unwrite=null,this._unread=null,this._ended=!1,this.destroyed=!1,writable&&this.setWritable(writable),readable&&this.setReadable(readable);};inherits(Duplexify,stream3.Duplex);Duplexify.obj=function(writable,readable,opts){return opts||(opts={}),opts.objectMode=!0,opts.highWaterMark=16,new Duplexify(writable,readable,opts)};Duplexify.prototype.cork=function(){++this._corked===1&&this.emit("cork");};Duplexify.prototype.uncork=function(){this._corked&&--this._corked===0&&this.emit("uncork");};Duplexify.prototype.setWritable=function(writable){if(this._unwrite&&this._unwrite(),this.destroyed){writable&&writable.destroy&&writable.destroy();return}if(writable===null||writable===!1){this.end();return}var self2=this,unend=eos(writable,{writable:!0,readable:!1},destroyer(this,this._forwardEnd)),ondrain=function(){var ondrain2=self2._ondrain;self2._ondrain=null,ondrain2&&ondrain2();},clear=function(){self2._writable.removeListener("drain",ondrain),unend();};this._unwrite&&process.nextTick(ondrain),this._writable=writable,this._writable.on("drain",ondrain),this._unwrite=clear,this.uncork();};Duplexify.prototype.setReadable=function(readable){if(this._unread&&this._unread(),this.destroyed){readable&&readable.destroy&&readable.destroy();return}if(readable===null||readable===!1){this.push(null),this.resume();return}var self2=this,unend=eos(readable,{writable:!1,readable:!0},destroyer(this)),onreadable=function(){self2._forward();},onend=function(){self2.push(null);},clear=function(){self2._readable2.removeListener("readable",onreadable),self2._readable2.removeListener("end",onend),unend();};this._drained=!0,this._readable=readable,this._readable2=readable._readableState?readable:toStreams2(readable),this._readable2.on("readable",onreadable),this._readable2.on("end",onend),this._unread=clear,this._forward();};Duplexify.prototype._read=function(){this._drained=!0,this._forward();};Duplexify.prototype._forward=function(){if(!(this._forwarding||!this._readable2||!this._drained)){this._forwarding=!0;for(var data;this._drained&&(data=shift(this._readable2))!==null;)this.destroyed||(this._drained=this.push(data));this._forwarding=!1;}};Duplexify.prototype.destroy=function(err){if(!this.destroyed){this.destroyed=!0;var self2=this;process.nextTick(function(){self2._destroy(err);});}};Duplexify.prototype._destroy=function(err){if(err){var ondrain=this._ondrain;this._ondrain=null,ondrain?ondrain(err):this.emit("error",err);}this._forwardDestroy&&(this._readable&&this._readable.destroy&&this._readable.destroy(),this._writable&&this._writable.destroy&&this._writable.destroy()),this.emit("close");};Duplexify.prototype._write=function(data,enc,cb){if(this.destroyed)return cb();if(this._corked)return onuncork(this,this._write.bind(this,data,enc,cb));if(data===SIGNAL_FLUSH)return this._finish(cb);if(!this._writable)return cb();this._writable.write(data)===!1?this._ondrain=cb:cb();};Duplexify.prototype._finish=function(cb){var self2=this;this.emit("preend"),onuncork(this,function(){end(self2._forwardEnd&&self2._writable,function(){self2._writableState.prefinished===!1&&(self2._writableState.prefinished=!0),self2.emit("prefinish"),onuncork(self2,cb);});});};Duplexify.prototype.end=function(data,enc,cb){return typeof data=="function"?this.end(null,null,data):typeof enc=="function"?this.end(data,null,enc):(this._ended=!0,data&&this.write(data),this._writableState.ending||this.write(SIGNAL_FLUSH),stream3.Writable.prototype.end.call(this,cb))};module.exports=Duplexify;}});var require_isarray2=__commonJS({"../../node_modules/through2/node_modules/isarray/index.js"(exports,module){var toString2={}.toString;module.exports=Array.isArray||function(arr){return toString2.call(arr)=="[object Array]"};}});var require_stream3=__commonJS({"../../node_modules/through2/node_modules/readable-stream/lib/internal/streams/stream.js"(exports,module){module.exports=__require("stream");}});var require_safe_buffer3=__commonJS({"../../node_modules/through2/node_modules/safe-buffer/index.js"(exports,module){var buffer=__require("buffer"),Buffer4=buffer.Buffer;function copyProps(src,dst){for(var key in src)dst[key]=src[key];}Buffer4.from&&Buffer4.alloc&&Buffer4.allocUnsafe&&Buffer4.allocUnsafeSlow?module.exports=buffer:(copyProps(buffer,exports),exports.Buffer=SafeBuffer);function SafeBuffer(arg,encodingOrOffset,length){return Buffer4(arg,encodingOrOffset,length)}copyProps(Buffer4,SafeBuffer);SafeBuffer.from=function(arg,encodingOrOffset,length){if(typeof arg=="number")throw new TypeError("Argument must not be a number");return Buffer4(arg,encodingOrOffset,length)};SafeBuffer.alloc=function(size,fill,encoding){if(typeof size!="number")throw new TypeError("Argument must be a number");var buf=Buffer4(size);return fill!==void 0?typeof encoding=="string"?buf.fill(fill,encoding):buf.fill(fill):buf.fill(0),buf};SafeBuffer.allocUnsafe=function(size){if(typeof size!="number")throw new TypeError("Argument must be a number");return Buffer4(size)};SafeBuffer.allocUnsafeSlow=function(size){if(typeof size!="number")throw new TypeError("Argument must be a number");return buffer.SlowBuffer(size)};}});var require_BufferList3=__commonJS({"../../node_modules/through2/node_modules/readable-stream/lib/internal/streams/BufferList.js"(exports,module){function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}var Buffer4=require_safe_buffer3().Buffer,util=__require("util");function copyBuffer(src,target,offset){src.copy(target,offset);}module.exports=function(){function BufferList(){_classCallCheck(this,BufferList),this.head=null,this.tail=null,this.length=0;}return BufferList.prototype.push=function(v){var entry={data:v,next:null};this.length>0?this.tail.next=entry:this.head=entry,this.tail=entry,++this.length;},BufferList.prototype.unshift=function(v){var entry={data:v,next:this.head};this.length===0&&(this.tail=entry),this.head=entry,++this.length;},BufferList.prototype.shift=function(){if(this.length!==0){var ret=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,ret}},BufferList.prototype.clear=function(){this.head=this.tail=null,this.length=0;},BufferList.prototype.join=function(s){if(this.length===0)return "";for(var p=this.head,ret=""+p.data;p=p.next;)ret+=s+p.data;return ret},BufferList.prototype.concat=function(n){if(this.length===0)return Buffer4.alloc(0);for(var ret=Buffer4.allocUnsafe(n>>>0),p=this.head,i=0;p;)copyBuffer(p.data,ret,i),i+=p.data.length,p=p.next;return ret},BufferList}();util&&util.inspect&&util.inspect.custom&&(module.exports.prototype[util.inspect.custom]=function(){var obj=util.inspect({length:this.length});return this.constructor.name+" "+obj});}});var require_destroy3=__commonJS({"../../node_modules/through2/node_modules/readable-stream/lib/internal/streams/destroy.js"(exports,module){var pna=require_process_nextick_args();function destroy(err,cb){var _this=this,readableDestroyed=this._readableState&&this._readableState.destroyed,writableDestroyed=this._writableState&&this._writableState.destroyed;return readableDestroyed||writableDestroyed?(cb?cb(err):err&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,pna.nextTick(emitErrorNT,this,err)):pna.nextTick(emitErrorNT,this,err)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(err||null,function(err2){!cb&&err2?_this._writableState?_this._writableState.errorEmitted||(_this._writableState.errorEmitted=!0,pna.nextTick(emitErrorNT,_this,err2)):pna.nextTick(emitErrorNT,_this,err2):cb&&cb(err2);}),this)}function undestroy(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1);}function emitErrorNT(self2,err){self2.emit("error",err);}module.exports={destroy,undestroy};}});var require_stream_writable3=__commonJS({"../../node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js"(exports,module){var pna=require_process_nextick_args();module.exports=Writable;function CorkedRequest(state){var _this=this;this.next=null,this.entry=null,this.finish=function(){onCorkedFinish(_this,state);};}var asyncWrite=!process.browser&&["v0.10","v0.9."].indexOf(process.version.slice(0,5))>-1?setImmediate:pna.nextTick,Duplex2;Writable.WritableState=WritableState;var util=Object.create(require_util());util.inherits=require_inherits();var internalUtil={deprecate:require_node()},Stream2=require_stream3(),Buffer4=require_safe_buffer3().Buffer,OurUint8Array=(typeof global<"u"?global:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function _uint8ArrayToBuffer(chunk){return Buffer4.from(chunk)}function _isUint8Array(obj){return Buffer4.isBuffer(obj)||obj instanceof OurUint8Array}var destroyImpl=require_destroy3();util.inherits(Writable,Stream2);function nop(){}function WritableState(options,stream3){Duplex2=Duplex2||require_stream_duplex3(),options=options||{};var isDuplex=stream3 instanceof Duplex2;this.objectMode=!!options.objectMode,isDuplex&&(this.objectMode=this.objectMode||!!options.writableObjectMode);var hwm=options.highWaterMark,writableHwm=options.writableHighWaterMark,defaultHwm=this.objectMode?16:16*1024;hwm||hwm===0?this.highWaterMark=hwm:isDuplex&&(writableHwm||writableHwm===0)?this.highWaterMark=writableHwm:this.highWaterMark=defaultHwm,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var noDecode=options.decodeStrings===!1;this.decodeStrings=!noDecode,this.defaultEncoding=options.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(er){onwrite(stream3,er);},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new CorkedRequest(this);}WritableState.prototype.getBuffer=function(){for(var current=this.bufferedRequest,out=[];current;)out.push(current),current=current.next;return out};(function(){try{Object.defineProperty(WritableState.prototype,"buffer",{get:internalUtil.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")});}catch{}})();var realHasInstance;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(realHasInstance=Function.prototype[Symbol.hasInstance],Object.defineProperty(Writable,Symbol.hasInstance,{value:function(object){return realHasInstance.call(this,object)?!0:this!==Writable?!1:object&&object._writableState instanceof WritableState}})):realHasInstance=function(object){return object instanceof this};function Writable(options){if(Duplex2=Duplex2||require_stream_duplex3(),!realHasInstance.call(Writable,this)&&!(this instanceof Duplex2))return new Writable(options);this._writableState=new WritableState(options,this),this.writable=!0,options&&(typeof options.write=="function"&&(this._write=options.write),typeof options.writev=="function"&&(this._writev=options.writev),typeof options.destroy=="function"&&(this._destroy=options.destroy),typeof options.final=="function"&&(this._final=options.final)),Stream2.call(this);}Writable.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"));};function writeAfterEnd(stream3,cb){var er=new Error("write after end");stream3.emit("error",er),pna.nextTick(cb,er);}function validChunk(stream3,state,chunk,cb){var valid=!0,er=!1;return chunk===null?er=new TypeError("May not write null values to stream"):typeof chunk!="string"&&chunk!==void 0&&!state.objectMode&&(er=new TypeError("Invalid non-string/buffer chunk")),er&&(stream3.emit("error",er),pna.nextTick(cb,er),valid=!1),valid}Writable.prototype.write=function(chunk,encoding,cb){var state=this._writableState,ret=!1,isBuf=!state.objectMode&&_isUint8Array(chunk);return isBuf&&!Buffer4.isBuffer(chunk)&&(chunk=_uint8ArrayToBuffer(chunk)),typeof encoding=="function"&&(cb=encoding,encoding=null),isBuf?encoding="buffer":encoding||(encoding=state.defaultEncoding),typeof cb!="function"&&(cb=nop),state.ended?writeAfterEnd(this,cb):(isBuf||validChunk(this,state,chunk,cb))&&(state.pendingcb++,ret=writeOrBuffer(this,state,isBuf,chunk,encoding,cb)),ret};Writable.prototype.cork=function(){var state=this._writableState;state.corked++;};Writable.prototype.uncork=function(){var state=this._writableState;state.corked&&(state.corked--,!state.writing&&!state.corked&&!state.bufferProcessing&&state.bufferedRequest&&clearBuffer(this,state));};Writable.prototype.setDefaultEncoding=function(encoding){if(typeof encoding=="string"&&(encoding=encoding.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((encoding+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+encoding);return this._writableState.defaultEncoding=encoding,this};function decodeChunk(state,chunk,encoding){return !state.objectMode&&state.decodeStrings!==!1&&typeof chunk=="string"&&(chunk=Buffer4.from(chunk,encoding)),chunk}Object.defineProperty(Writable.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function writeOrBuffer(stream3,state,isBuf,chunk,encoding,cb){if(!isBuf){var newChunk=decodeChunk(state,chunk,encoding);chunk!==newChunk&&(isBuf=!0,encoding="buffer",chunk=newChunk);}var len=state.objectMode?1:chunk.length;state.length+=len;var ret=state.length<state.highWaterMark;if(ret||(state.needDrain=!0),state.writing||state.corked){var last=state.lastBufferedRequest;state.lastBufferedRequest={chunk,encoding,isBuf,callback:cb,next:null},last?last.next=state.lastBufferedRequest:state.bufferedRequest=state.lastBufferedRequest,state.bufferedRequestCount+=1;}else doWrite(stream3,state,!1,len,chunk,encoding,cb);return ret}function doWrite(stream3,state,writev,len,chunk,encoding,cb){state.writelen=len,state.writecb=cb,state.writing=!0,state.sync=!0,writev?stream3._writev(chunk,state.onwrite):stream3._write(chunk,encoding,state.onwrite),state.sync=!1;}function onwriteError(stream3,state,sync2,er,cb){--state.pendingcb,sync2?(pna.nextTick(cb,er),pna.nextTick(finishMaybe,stream3,state),stream3._writableState.errorEmitted=!0,stream3.emit("error",er)):(cb(er),stream3._writableState.errorEmitted=!0,stream3.emit("error",er),finishMaybe(stream3,state));}function onwriteStateUpdate(state){state.writing=!1,state.writecb=null,state.length-=state.writelen,state.writelen=0;}function onwrite(stream3,er){var state=stream3._writableState,sync2=state.sync,cb=state.writecb;if(onwriteStateUpdate(state),er)onwriteError(stream3,state,sync2,er,cb);else {var finished=needFinish(state);!finished&&!state.corked&&!state.bufferProcessing&&state.bufferedRequest&&clearBuffer(stream3,state),sync2?asyncWrite(afterWrite,stream3,state,finished,cb):afterWrite(stream3,state,finished,cb);}}function afterWrite(stream3,state,finished,cb){finished||onwriteDrain(stream3,state),state.pendingcb--,cb(),finishMaybe(stream3,state);}function onwriteDrain(stream3,state){state.length===0&&state.needDrain&&(state.needDrain=!1,stream3.emit("drain"));}function clearBuffer(stream3,state){state.bufferProcessing=!0;var entry=state.bufferedRequest;if(stream3._writev&&entry&&entry.next){var l=state.bufferedRequestCount,buffer=new Array(l),holder=state.corkedRequestsFree;holder.entry=entry;for(var count=0,allBuffers=!0;entry;)buffer[count]=entry,entry.isBuf||(allBuffers=!1),entry=entry.next,count+=1;buffer.allBuffers=allBuffers,doWrite(stream3,state,!0,state.length,buffer,"",holder.finish),state.pendingcb++,state.lastBufferedRequest=null,holder.next?(state.corkedRequestsFree=holder.next,holder.next=null):state.corkedRequestsFree=new CorkedRequest(state),state.bufferedRequestCount=0;}else {for(;entry;){var chunk=entry.chunk,encoding=entry.encoding,cb=entry.callback,len=state.objectMode?1:chunk.length;if(doWrite(stream3,state,!1,len,chunk,encoding,cb),entry=entry.next,state.bufferedRequestCount--,state.writing)break}entry===null&&(state.lastBufferedRequest=null);}state.bufferedRequest=entry,state.bufferProcessing=!1;}Writable.prototype._write=function(chunk,encoding,cb){cb(new Error("_write() is not implemented"));};Writable.prototype._writev=null;Writable.prototype.end=function(chunk,encoding,cb){var state=this._writableState;typeof chunk=="function"?(cb=chunk,chunk=null,encoding=null):typeof encoding=="function"&&(cb=encoding,encoding=null),chunk!=null&&this.write(chunk,encoding),state.corked&&(state.corked=1,this.uncork()),state.ending||endWritable(this,state,cb);};function needFinish(state){return state.ending&&state.length===0&&state.bufferedRequest===null&&!state.finished&&!state.writing}function callFinal(stream3,state){stream3._final(function(err){state.pendingcb--,err&&stream3.emit("error",err),state.prefinished=!0,stream3.emit("prefinish"),finishMaybe(stream3,state);});}function prefinish(stream3,state){!state.prefinished&&!state.finalCalled&&(typeof stream3._final=="function"?(state.pendingcb++,state.finalCalled=!0,pna.nextTick(callFinal,stream3,state)):(state.prefinished=!0,stream3.emit("prefinish")));}function finishMaybe(stream3,state){var need=needFinish(state);return need&&(prefinish(stream3,state),state.pendingcb===0&&(state.finished=!0,stream3.emit("finish"))),need}function endWritable(stream3,state,cb){state.ending=!0,finishMaybe(stream3,state),cb&&(state.finished?pna.nextTick(cb):stream3.once("finish",cb)),state.ended=!0,stream3.writable=!1;}function onCorkedFinish(corkReq,state,err){var entry=corkReq.entry;for(corkReq.entry=null;entry;){var cb=entry.callback;state.pendingcb--,cb(err),entry=entry.next;}state.corkedRequestsFree.next=corkReq;}Object.defineProperty(Writable.prototype,"destroyed",{get:function(){return this._writableState===void 0?!1:this._writableState.destroyed},set:function(value){this._writableState&&(this._writableState.destroyed=value);}});Writable.prototype.destroy=destroyImpl.destroy;Writable.prototype._undestroy=destroyImpl.undestroy;Writable.prototype._destroy=function(err,cb){this.end(),cb(err);};}});var require_stream_duplex3=__commonJS({"../../node_modules/through2/node_modules/readable-stream/lib/_stream_duplex.js"(exports,module){var pna=require_process_nextick_args(),objectKeys=Object.keys||function(obj){var keys2=[];for(var key in obj)keys2.push(key);return keys2};module.exports=Duplex2;var util=Object.create(require_util());util.inherits=require_inherits();var Readable=require_stream_readable3(),Writable=require_stream_writable3();util.inherits(Duplex2,Readable);for(keys=objectKeys(Writable.prototype),v=0;v<keys.length;v++)method=keys[v],Duplex2.prototype[method]||(Duplex2.prototype[method]=Writable.prototype[method]);var keys,method,v;function Duplex2(options){if(!(this instanceof Duplex2))return new Duplex2(options);Readable.call(this,options),Writable.call(this,options),options&&options.readable===!1&&(this.readable=!1),options&&options.writable===!1&&(this.writable=!1),this.allowHalfOpen=!0,options&&options.allowHalfOpen===!1&&(this.allowHalfOpen=!1),this.once("end",onend);}Object.defineProperty(Duplex2.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function onend(){this.allowHalfOpen||this._writableState.ended||pna.nextTick(onEndNT,this);}function onEndNT(self2){self2.end();}Object.defineProperty(Duplex2.prototype,"destroyed",{get:function(){return this._readableState===void 0||this._writableState===void 0?!1:this._readableState.destroyed&&this._writableState.destroyed},set:function(value){this._readableState===void 0||this._writableState===void 0||(this._readableState.destroyed=value,this._writableState.destroyed=value);}});Duplex2.prototype._destroy=function(err,cb){this.push(null),this.end(),pna.nextTick(cb,err);};}});var require_string_decoder3=__commonJS({"../../node_modules/through2/node_modules/string_decoder/lib/string_decoder.js"(exports){var Buffer4=require_safe_buffer3().Buffer,isEncoding=Buffer4.isEncoding||function(encoding){switch(encoding=""+encoding,encoding&&encoding.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return !0;default:return !1}};function _normalizeEncoding(enc){if(!enc)return "utf8";for(var retried;;)switch(enc){case"utf8":case"utf-8":return "utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return "utf16le";case"latin1":case"binary":return "latin1";case"base64":case"ascii":case"hex":return enc;default:if(retried)return;enc=(""+enc).toLowerCase(),retried=!0;}}function normalizeEncoding(enc){var nenc=_normalizeEncoding(enc);if(typeof nenc!="string"&&(Buffer4.isEncoding===isEncoding||!isEncoding(enc)))throw new Error("Unknown encoding: "+enc);return nenc||enc}exports.StringDecoder=StringDecoder2;function StringDecoder2(encoding){this.encoding=normalizeEncoding(encoding);var nb;switch(this.encoding){case"utf16le":this.text=utf16Text,this.end=utf16End,nb=4;break;case"utf8":this.fillLast=utf8FillLast,nb=4;break;case"base64":this.text=base64Text,this.end=base64End,nb=3;break;default:this.write=simpleWrite,this.end=simpleEnd;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=Buffer4.allocUnsafe(nb);}StringDecoder2.prototype.write=function(buf){if(buf.length===0)return "";var r,i;if(this.lastNeed){if(r=this.fillLast(buf),r===void 0)return "";i=this.lastNeed,this.lastNeed=0;}else i=0;return i<buf.length?r?r+this.text(buf,i):this.text(buf,i):r||""};StringDecoder2.prototype.end=utf8End;StringDecoder2.prototype.text=utf8Text;StringDecoder2.prototype.fillLast=function(buf){if(this.lastNeed<=buf.length)return buf.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);buf.copy(this.lastChar,this.lastTotal-this.lastNeed,0,buf.length),this.lastNeed-=buf.length;};function utf8CheckByte(byte){return byte<=127?0:byte>>5===6?2:byte>>4===14?3:byte>>3===30?4:byte>>6===2?-1:-2}function utf8CheckIncomplete(self2,buf,i){var j=buf.length-1;if(j<i)return 0;var nb=utf8CheckByte(buf[j]);return nb>=0?(nb>0&&(self2.lastNeed=nb-1),nb):--j<i||nb===-2?0:(nb=utf8CheckByte(buf[j]),nb>=0?(nb>0&&(self2.lastNeed=nb-2),nb):--j<i||nb===-2?0:(nb=utf8CheckByte(buf[j]),nb>=0?(nb>0&&(nb===2?nb=0:self2.lastNeed=nb-3),nb):0))}function utf8CheckExtraBytes(self2,buf,p){if((buf[0]&192)!==128)return self2.lastNeed=0,"\uFFFD";if(self2.lastNeed>1&&buf.length>1){if((buf[1]&192)!==128)return self2.lastNeed=1,"\uFFFD";if(self2.lastNeed>2&&buf.length>2&&(buf[2]&192)!==128)return self2.lastNeed=2,"\uFFFD"}}function utf8FillLast(buf){var p=this.lastTotal-this.lastNeed,r=utf8CheckExtraBytes(this,buf);if(r!==void 0)return r;if(this.lastNeed<=buf.length)return buf.copy(this.lastChar,p,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);buf.copy(this.lastChar,p,0,buf.length),this.lastNeed-=buf.length;}function utf8Text(buf,i){var total=utf8CheckIncomplete(this,buf,i);if(!this.lastNeed)return buf.toString("utf8",i);this.lastTotal=total;var end=buf.length-(total-this.lastNeed);return buf.copy(this.lastChar,0,end),buf.toString("utf8",i,end)}function utf8End(buf){var r=buf&&buf.length?this.write(buf):"";return this.lastNeed?r+"\uFFFD":r}function utf16Text(buf,i){if((buf.length-i)%2===0){var r=buf.toString("utf16le",i);if(r){var c=r.charCodeAt(r.length-1);if(c>=55296&&c<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=buf[buf.length-2],this.lastChar[1]=buf[buf.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=buf[buf.length-1],buf.toString("utf16le",i,buf.length-1)}function utf16End(buf){var r=buf&&buf.length?this.write(buf):"";if(this.lastNeed){var end=this.lastTotal-this.lastNeed;return r+this.lastChar.toString("utf16le",0,end)}return r}function base64Text(buf,i){var n=(buf.length-i)%3;return n===0?buf.toString("base64",i):(this.lastNeed=3-n,this.lastTotal=3,n===1?this.lastChar[0]=buf[buf.length-1]:(this.lastChar[0]=buf[buf.length-2],this.lastChar[1]=buf[buf.length-1]),buf.toString("base64",i,buf.length-n))}function base64End(buf){var r=buf&&buf.length?this.write(buf):"";return this.lastNeed?r+this.lastChar.toString("base64",0,3-this.lastNeed):r}function simpleWrite(buf){return buf.toString(this.encoding)}function simpleEnd(buf){return buf&&buf.length?this.write(buf):""}}});var require_stream_readable3=__commonJS({"../../node_modules/through2/node_modules/readable-stream/lib/_stream_readable.js"(exports,module){var pna=require_process_nextick_args();module.exports=Readable;var isArray=require_isarray2(),Duplex2;Readable.ReadableState=ReadableState;__require("events").EventEmitter;var EElistenerCount=function(emitter,type){return emitter.listeners(type).length},Stream2=require_stream3(),Buffer4=require_safe_buffer3().Buffer,OurUint8Array=(typeof global<"u"?global:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function _uint8ArrayToBuffer(chunk){return Buffer4.from(chunk)}function _isUint8Array(obj){return Buffer4.isBuffer(obj)||obj instanceof OurUint8Array}var util=Object.create(require_util());util.inherits=require_inherits();var debugUtil=__require("util"),debug=void 0;debugUtil&&debugUtil.debuglog?debug=debugUtil.debuglog("stream"):debug=function(){};var BufferList=require_BufferList3(),destroyImpl=require_destroy3(),StringDecoder2;util.inherits(Readable,Stream2);var kProxyEvents=["error","close","destroy","pause","resume"];function prependListener(emitter,event,fn){if(typeof emitter.prependListener=="function")return emitter.prependListener(event,fn);!emitter._events||!emitter._events[event]?emitter.on(event,fn):isArray(emitter._events[event])?emitter._events[event].unshift(fn):emitter._events[event]=[fn,emitter._events[event]];}function ReadableState(options,stream3){Duplex2=Duplex2||require_stream_duplex3(),options=options||{};var isDuplex=stream3 instanceof Duplex2;this.objectMode=!!options.objectMode,isDuplex&&(this.objectMode=this.objectMode||!!options.readableObjectMode);var hwm=options.highWaterMark,readableHwm=options.readableHighWaterMark,defaultHwm=this.objectMode?16:16*1024;hwm||hwm===0?this.highWaterMark=hwm:isDuplex&&(readableHwm||readableHwm===0)?this.highWaterMark=readableHwm:this.highWaterMark=defaultHwm,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new BufferList,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=options.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,options.encoding&&(StringDecoder2||(StringDecoder2=require_string_decoder3().StringDecoder),this.decoder=new StringDecoder2(options.encoding),this.encoding=options.encoding);}function Readable(options){if(Duplex2=Duplex2||require_stream_duplex3(),!(this instanceof Readable))return new Readable(options);this._readableState=new ReadableState(options,this),this.readable=!0,options&&(typeof options.read=="function"&&(this._read=options.read),typeof options.destroy=="function"&&(this._destroy=options.destroy)),Stream2.call(this);}Object.defineProperty(Readable.prototype,"destroyed",{get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(value){this._readableState&&(this._readableState.destroyed=value);}});Readable.prototype.destroy=destroyImpl.destroy;Readable.prototype._undestroy=destroyImpl.undestroy;Readable.prototype._destroy=function(err,cb){this.push(null),cb(err);};Readable.prototype.push=function(chunk,encoding){var state=this._readableState,skipChunkCheck;return state.objectMode?skipChunkCheck=!0:typeof chunk=="string"&&(encoding=encoding||state.defaultEncoding,encoding!==state.encoding&&(chunk=Buffer4.from(chunk,encoding),encoding=""),skipChunkCheck=!0),readableAddChunk(this,chunk,encoding,!1,skipChunkCheck)};Readable.prototype.unshift=function(chunk){return readableAddChunk(this,chunk,null,!0,!1)};function readableAddChunk(stream3,chunk,encoding,addToFront,skipChunkCheck){var state=stream3._readableState;if(chunk===null)state.reading=!1,onEofChunk(stream3,state);else {var er;skipChunkCheck||(er=chunkInvalid(state,chunk)),er?stream3.emit("error",er):state.objectMode||chunk&&chunk.length>0?(typeof chunk!="string"&&!state.objectMode&&Object.getPrototypeOf(chunk)!==Buffer4.prototype&&(chunk=_uint8ArrayToBuffer(chunk)),addToFront?state.endEmitted?stream3.emit("error",new Error("stream.unshift() after end event")):addChunk(stream3,state,chunk,!0):state.ended?stream3.emit("error",new Error("stream.push() after EOF")):(state.reading=!1,state.decoder&&!encoding?(chunk=state.decoder.write(chunk),state.objectMode||chunk.length!==0?addChunk(stream3,state,chunk,!1):maybeReadMore(stream3,state)):addChunk(stream3,state,chunk,!1))):addToFront||(state.reading=!1);}return needMoreData(state)}function addChunk(stream3,state,chunk,addToFront){state.flowing&&state.length===0&&!state.sync?(stream3.emit("data",chunk),stream3.read(0)):(state.length+=state.objectMode?1:chunk.length,addToFront?state.buffer.unshift(chunk):state.buffer.push(chunk),state.needReadable&&emitReadable(stream3)),maybeReadMore(stream3,state);}function chunkInvalid(state,chunk){var er;return !_isUint8Array(chunk)&&typeof chunk!="string"&&chunk!==void 0&&!state.objectMode&&(er=new TypeError("Invalid non-string/buffer chunk")),er}function needMoreData(state){return !state.ended&&(state.needReadable||state.length<state.highWaterMark||state.length===0)}Readable.prototype.isPaused=function(){return this._readableState.flowing===!1};Readable.prototype.setEncoding=function(enc){return StringDecoder2||(StringDecoder2=require_string_decoder3().StringDecoder),this._readableState.decoder=new StringDecoder2(enc),this._readableState.encoding=enc,this};var MAX_HWM=8388608;function computeNewHighWaterMark(n){return n>=MAX_HWM?n=MAX_HWM:(n--,n|=n>>>1,n|=n>>>2,n|=n>>>4,n|=n>>>8,n|=n>>>16,n++),n}function howMuchToRead(n,state){return n<=0||state.length===0&&state.ended?0:state.objectMode?1:n!==n?state.flowing&&state.length?state.buffer.head.data.length:state.length:(n>state.highWaterMark&&(state.highWaterMark=computeNewHighWaterMark(n)),n<=state.length?n:state.ended?state.length:(state.needReadable=!0,0))}Readable.prototype.read=function(n){debug("read",n),n=parseInt(n,10);var state=this._readableState,nOrig=n;if(n!==0&&(state.emittedReadable=!1),n===0&&state.needReadable&&(state.length>=state.highWaterMark||state.ended))return debug("read: emitReadable",state.length,state.ended),state.length===0&&state.ended?endReadable(this):emitReadable(this),null;if(n=howMuchToRead(n,state),n===0&&state.ended)return state.length===0&&endReadable(this),null;var doRead=state.needReadable;debug("need readable",doRead),(state.length===0||state.length-n<state.highWaterMark)&&(doRead=!0,debug("length less than watermark",doRead)),state.ended||state.reading?(doRead=!1,debug("reading or ended",doRead)):doRead&&(debug("do read"),state.reading=!0,state.sync=!0,state.length===0&&(state.needReadable=!0),this._read(state.highWaterMark),state.sync=!1,state.reading||(n=howMuchToRead(nOrig,state)));var ret;return n>0?ret=fromList(n,state):ret=null,ret===null?(state.needReadable=!0,n=0):state.length-=n,state.length===0&&(state.ended||(state.needReadable=!0),nOrig!==n&&state.ended&&endReadable(this)),ret!==null&&this.emit("data",ret),ret};function onEofChunk(stream3,state){if(!state.ended){if(state.decoder){var chunk=state.decoder.end();chunk&&chunk.length&&(state.buffer.push(chunk),state.length+=state.objectMode?1:chunk.length);}state.ended=!0,emitReadable(stream3);}}function emitReadable(stream3){var state=stream3._readableState;state.needReadable=!1,state.emittedReadable||(debug("emitReadable",state.flowing),state.emittedReadable=!0,state.sync?pna.nextTick(emitReadable_,stream3):emitReadable_(stream3));}function emitReadable_(stream3){debug("emit readable"),stream3.emit("readable"),flow(stream3);}function maybeReadMore(stream3,state){state.readingMore||(state.readingMore=!0,pna.nextTick(maybeReadMore_,stream3,state));}function maybeReadMore_(stream3,state){for(var len=state.length;!state.reading&&!state.flowing&&!state.ended&&state.length<state.highWaterMark&&(debug("maybeReadMore read 0"),stream3.read(0),len!==state.length);)len=state.length;state.readingMore=!1;}Readable.prototype._read=function(n){this.emit("error",new Error("_read() is not implemented"));};Readable.prototype.pipe=function(dest,pipeOpts){var src=this,state=this._readableState;switch(state.pipesCount){case 0:state.pipes=dest;break;case 1:state.pipes=[state.pipes,dest];break;default:state.pipes.push(dest);break}state.pipesCount+=1,debug("pipe count=%d opts=%j",state.pipesCount,pipeOpts);var doEnd=(!pipeOpts||pipeOpts.end!==!1)&&dest!==process.stdout&&dest!==process.stderr,endFn=doEnd?onend:unpipe;state.endEmitted?pna.nextTick(endFn):src.once("end",endFn),dest.on("unpipe",onunpipe);function onunpipe(readable,unpipeInfo){debug("onunpipe"),readable===src&&unpipeInfo&&unpipeInfo.hasUnpiped===!1&&(unpipeInfo.hasUnpiped=!0,cleanup3());}function onend(){debug("onend"),dest.end();}var ondrain=pipeOnDrain(src);dest.on("drain",ondrain);var cleanedUp=!1;function cleanup3(){debug("cleanup"),dest.removeListener("close",onclose),dest.removeListener("finish",onfinish),dest.removeListener("drain",ondrain),dest.removeListener("error",onerror),dest.removeListener("unpipe",onunpipe),src.removeListener("end",onend),src.removeListener("end",unpipe),src.removeListener("data",ondata),cleanedUp=!0,state.awaitDrain&&(!dest._writableState||dest._writableState.needDrain)&&ondrain();}var increasedAwaitDrain=!1;src.on("data",ondata);function ondata(chunk){debug("ondata"),increasedAwaitDrain=!1;var ret=dest.write(chunk);ret===!1&&!increasedAwaitDrain&&((state.pipesCount===1&&state.pipes===dest||state.pipesCount>1&&indexOf(state.pipes,dest)!==-1)&&!cleanedUp&&(debug("false write response, pause",state.awaitDrain),state.awaitDrain++,increasedAwaitDrain=!0),src.pause());}function onerror(er){debug("onerror",er),unpipe(),dest.removeListener("error",onerror),EElistenerCount(dest,"error")===0&&dest.emit("error",er);}prependListener(dest,"error",onerror);function onclose(){dest.removeListener("finish",onfinish),unpipe();}dest.once("close",onclose);function onfinish(){debug("onfinish"),dest.removeListener("close",onclose),unpipe();}dest.once("finish",onfinish);function unpipe(){debug("unpipe"),src.unpipe(dest);}return dest.emit("pipe",src),state.flowing||(debug("pipe resume"),src.resume()),dest};function pipeOnDrain(src){return function(){var state=src._readableState;debug("pipeOnDrain",state.awaitDrain),state.awaitDrain&&state.awaitDrain--,state.awaitDrain===0&&EElistenerCount(src,"data")&&(state.flowing=!0,flow(src));}}Readable.prototype.unpipe=function(dest){var state=this._readableState,unpipeInfo={hasUnpiped:!1};if(state.pipesCount===0)return this;if(state.pipesCount===1)return dest&&dest!==state.pipes?this:(dest||(dest=state.pipes),state.pipes=null,state.pipesCount=0,state.flowing=!1,dest&&dest.emit("unpipe",this,unpipeInfo),this);if(!dest){var dests=state.pipes,len=state.pipesCount;state.pipes=null,state.pipesCount=0,state.flowing=!1;for(var i=0;i<len;i++)dests[i].emit("unpipe",this,{hasUnpiped:!1});return this}var index=indexOf(state.pipes,dest);return index===-1?this:(state.pipes.splice(index,1),state.pipesCount-=1,state.pipesCount===1&&(state.pipes=state.pipes[0]),dest.emit("unpipe",this,unpipeInfo),this)};Readable.prototype.on=function(ev,fn){var res=Stream2.prototype.on.call(this,ev,fn);if(ev==="data")this._readableState.flowing!==!1&&this.resume();else if(ev==="readable"){var state=this._readableState;!state.endEmitted&&!state.readableListening&&(state.readableListening=state.needReadable=!0,state.emittedReadable=!1,state.reading?state.length&&emitReadable(this):pna.nextTick(nReadingNextTick,this));}return res};Readable.prototype.addListener=Readable.prototype.on;function nReadingNextTick(self2){debug("readable nexttick read 0"),self2.read(0);}Readable.prototype.resume=function(){var state=this._readableState;return state.flowing||(debug("resume"),state.flowing=!0,resume(this,state)),this};function resume(stream3,state){state.resumeScheduled||(state.resumeScheduled=!0,pna.nextTick(resume_,stream3,state));}function resume_(stream3,state){state.reading||(debug("resume read 0"),stream3.read(0)),state.resumeScheduled=!1,state.awaitDrain=0,stream3.emit("resume"),flow(stream3),state.flowing&&!state.reading&&stream3.read(0);}Readable.prototype.pause=function(){return debug("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(debug("pause"),this._readableState.flowing=!1,this.emit("pause")),this};function flow(stream3){var state=stream3._readableState;for(debug("flow",state.flowing);state.flowing&&stream3.read()!==null;);}Readable.prototype.wrap=function(stream3){var _this=this,state=this._readableState,paused=!1;stream3.on("end",function(){if(debug("wrapped end"),state.decoder&&!state.ended){var chunk=state.decoder.end();chunk&&chunk.length&&_this.push(chunk);}_this.push(null);}),stream3.on("data",function(chunk){if(debug("wrapped data"),state.decoder&&(chunk=state.decoder.write(chunk)),!(state.objectMode&&chunk==null)&&!(!state.objectMode&&(!chunk||!chunk.length))){var ret=_this.push(chunk);ret||(paused=!0,stream3.pause());}});for(var i in stream3)this[i]===void 0&&typeof stream3[i]=="function"&&(this[i]=function(method){return function(){return stream3[method].apply(stream3,arguments)}}(i));for(var n=0;n<kProxyEvents.length;n++)stream3.on(kProxyEvents[n],this.emit.bind(this,kProxyEvents[n]));return this._read=function(n2){debug("wrapped _read",n2),paused&&(paused=!1,stream3.resume());},this};Object.defineProperty(Readable.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}});Readable._fromList=fromList;function fromList(n,state){if(state.length===0)return null;var ret;return state.objectMode?ret=state.buffer.shift():!n||n>=state.length?(state.decoder?ret=state.buffer.join(""):state.buffer.length===1?ret=state.buffer.head.data:ret=state.buffer.concat(state.length),state.buffer.clear()):ret=fromListPartial(n,state.buffer,state.decoder),ret}function fromListPartial(n,list,hasStrings){var ret;return n<list.head.data.length?(ret=list.head.data.slice(0,n),list.head.data=list.head.data.slice(n)):n===list.head.data.length?ret=list.shift():ret=hasStrings?copyFromBufferString(n,list):copyFromBuffer(n,list),ret}function copyFromBufferString(n,list){var p=list.head,c=1,ret=p.data;for(n-=ret.length;p=p.next;){var str=p.data,nb=n>str.length?str.length:n;if(nb===str.length?ret+=str:ret+=str.slice(0,n),n-=nb,n===0){nb===str.length?(++c,p.next?list.head=p.next:list.head=list.tail=null):(list.head=p,p.data=str.slice(nb));break}++c;}return list.length-=c,ret}function copyFromBuffer(n,list){var ret=Buffer4.allocUnsafe(n),p=list.head,c=1;for(p.data.copy(ret),n-=p.data.length;p=p.next;){var buf=p.data,nb=n>buf.length?buf.length:n;if(buf.copy(ret,ret.length-n,0,nb),n-=nb,n===0){nb===buf.length?(++c,p.next?list.head=p.next:list.head=list.tail=null):(list.head=p,p.data=buf.slice(nb));break}++c;}return list.length-=c,ret}function endReadable(stream3){var state=stream3._readableState;if(state.length>0)throw new Error('"endReadable()" called on non-empty stream');state.endEmitted||(state.ended=!0,pna.nextTick(endReadableNT,state,stream3));}function endReadableNT(state,stream3){!state.endEmitted&&state.length===0&&(state.endEmitted=!0,stream3.readable=!1,stream3.emit("end"));}function indexOf(xs,x){for(var i=0,l=xs.length;i<l;i++)if(xs[i]===x)return i;return -1}}});var require_stream_transform3=__commonJS({"../../node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js"(exports,module){module.exports=Transform;var Duplex2=require_stream_duplex3(),util=Object.create(require_util());util.inherits=require_inherits();util.inherits(Transform,Duplex2);function afterTransform(er,data){var ts=this._transformState;ts.transforming=!1;var cb=ts.writecb;if(!cb)return this.emit("error",new Error("write callback called multiple times"));ts.writechunk=null,ts.writecb=null,data!=null&&this.push(data),cb(er);var rs=this._readableState;rs.reading=!1,(rs.needReadable||rs.length<rs.highWaterMark)&&this._read(rs.highWaterMark);}function Transform(options){if(!(this instanceof Transform))return new Transform(options);Duplex2.call(this,options),this._transformState={afterTransform:afterTransform.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,options&&(typeof options.transform=="function"&&(this._transform=options.transform),typeof options.flush=="function"&&(this._flush=options.flush)),this.on("prefinish",prefinish);}function prefinish(){var _this=this;typeof this._flush=="function"?this._flush(function(er,data){done(_this,er,data);}):done(this,null,null);}Transform.prototype.push=function(chunk,encoding){return this._transformState.needTransform=!1,Duplex2.prototype.push.call(this,chunk,encoding)};Transform.prototype._transform=function(chunk,encoding,cb){throw new Error("_transform() is not implemented")};Transform.prototype._write=function(chunk,encoding,cb){var ts=this._transformState;if(ts.writecb=cb,ts.writechunk=chunk,ts.writeencoding=encoding,!ts.transforming){var rs=this._readableState;(ts.needTransform||rs.needReadable||rs.length<rs.highWaterMark)&&this._read(rs.highWaterMark);}};Transform.prototype._read=function(n){var ts=this._transformState;ts.writechunk!==null&&ts.writecb&&!ts.transforming?(ts.transforming=!0,this._transform(ts.writechunk,ts.writeencoding,ts.afterTransform)):ts.needTransform=!0;};Transform.prototype._destroy=function(err,cb){var _this2=this;Duplex2.prototype._destroy.call(this,err,function(err2){cb(err2),_this2.emit("close");});};function done(stream3,er,data){if(er)return stream3.emit("error",er);if(data!=null&&stream3.push(data),stream3._writableState.length)throw new Error("Calling transform done when ws.length != 0");if(stream3._transformState.transforming)throw new Error("Calling transform done when still transforming");return stream3.push(null)}}});var require_stream_passthrough3=__commonJS({"../../node_modules/through2/node_modules/readable-stream/lib/_stream_passthrough.js"(exports,module){module.exports=PassThrough;var Transform=require_stream_transform3(),util=Object.create(require_util());util.inherits=require_inherits();util.inherits(PassThrough,Transform);function PassThrough(options){if(!(this instanceof PassThrough))return new PassThrough(options);Transform.call(this,options);}PassThrough.prototype._transform=function(chunk,encoding,cb){cb(null,chunk);};}});var require_readable3=__commonJS({"../../node_modules/through2/node_modules/readable-stream/readable.js"(exports,module){var Stream2=__require("stream");process.env.READABLE_STREAM==="disable"&&Stream2?(module.exports=Stream2,exports=module.exports=Stream2.Readable,exports.Readable=Stream2.Readable,exports.Writable=Stream2.Writable,exports.Duplex=Stream2.Duplex,exports.Transform=Stream2.Transform,exports.PassThrough=Stream2.PassThrough,exports.Stream=Stream2):(exports=module.exports=require_stream_readable3(),exports.Stream=Stream2||exports,exports.Readable=exports,exports.Writable=require_stream_writable3(),exports.Duplex=require_stream_duplex3(),exports.Transform=require_stream_transform3(),exports.PassThrough=require_stream_passthrough3());}});var require_immutable=__commonJS({"../../node_modules/xtend/immutable.js"(exports,module){module.exports=extend;var hasOwnProperty=Object.prototype.hasOwnProperty;function extend(){for(var target={},i=0;i<arguments.length;i++){var source=arguments[i];for(var key in source)hasOwnProperty.call(source,key)&&(target[key]=source[key]);}return target}}});var require_through2=__commonJS({"../../node_modules/through2/through2.js"(exports,module){var Transform=require_readable3().Transform,inherits=__require("util").inherits,xtend=require_immutable();function DestroyableTransform(opts){Transform.call(this,opts),this._destroyed=!1;}inherits(DestroyableTransform,Transform);DestroyableTransform.prototype.destroy=function(err){if(!this._destroyed){this._destroyed=!0;var self2=this;process.nextTick(function(){err&&self2.emit("error",err),self2.emit("close");});}};function noop3(chunk,enc,callback){callback(null,chunk);}function through2(construct){return function(options,transform,flush){return typeof options=="function"&&(flush=transform,transform=options,options={}),typeof transform!="function"&&(transform=noop3),typeof flush!="function"&&(flush=null),construct(options,transform,flush)}}module.exports=through2(function(options,transform,flush){var t2=new DestroyableTransform(options);return t2._transform=transform,flush&&(t2._flush=flush),t2});module.exports.ctor=through2(function(options,transform,flush){function Through2(override){if(!(this instanceof Through2))return new Through2(override);this.options=xtend(options,override),DestroyableTransform.call(this,this.options);}return inherits(Through2,DestroyableTransform),Through2.prototype._transform=transform,flush&&(Through2.prototype._flush=flush),Through2});module.exports.obj=through2(function(options,transform,flush){var t2=new DestroyableTransform(xtend({objectMode:!0,highWaterMark:16},options));return t2._transform=transform,flush&&(t2._flush=flush),t2});}});var require_buffer_from=__commonJS({"../../node_modules/buffer-from/index.js"(exports,module){var toString2=Object.prototype.toString,isModern=typeof Buffer<"u"&&typeof Buffer.alloc=="function"&&typeof Buffer.allocUnsafe=="function"&&typeof Buffer.from=="function";function isArrayBuffer(input){return toString2.call(input).slice(8,-1)==="ArrayBuffer"}function fromArrayBuffer(obj,byteOffset,length){byteOffset>>>=0;var maxLength=obj.byteLength-byteOffset;if(maxLength<0)throw new RangeError("'offset' is out of bounds");if(length===void 0)length=maxLength;else if(length>>>=0,length>maxLength)throw new RangeError("'length' is out of bounds");return isModern?Buffer.from(obj.slice(byteOffset,byteOffset+length)):new Buffer(new Uint8Array(obj.slice(byteOffset,byteOffset+length)))}function fromString(string,encoding){if((typeof encoding!="string"||encoding==="")&&(encoding="utf8"),!Buffer.isEncoding(encoding))throw new TypeError('"encoding" must be a valid string encoding');return isModern?Buffer.from(string,encoding):new Buffer(string,encoding)}function bufferFrom(value,encodingOrOffset,length){if(typeof value=="number")throw new TypeError('"value" argument must not be a number');return isArrayBuffer(value)?fromArrayBuffer(value,encodingOrOffset,length):typeof value=="string"?fromString(value,encodingOrOffset):isModern?Buffer.from(value):new Buffer(value)}module.exports=bufferFrom;}});var require_peek_stream=__commonJS({"../../node_modules/peek-stream/index.js"(exports,module){var duplexify=require_duplexify(),through=require_through2(),bufferFrom=require_buffer_from(),isObject=function(data){return !Buffer.isBuffer(data)&&typeof data!="string"},peek=function(opts,onpeek){if(typeof opts=="number"&&(opts={maxBuffer:opts}),typeof opts=="function")return peek(null,opts);opts||(opts={});var maxBuffer=typeof opts.maxBuffer=="number"?opts.maxBuffer:65535,strict=opts.strict,newline=opts.newline!==!1,buffer=[],bufferSize=0,dup=duplexify.obj(),peeker=through.obj({highWaterMark:1},function(data,enc,cb){if(isObject(data))return ready(data,null,cb);if(Buffer.isBuffer(data)||(data=bufferFrom(data)),newline){var nl=Array.prototype.indexOf.call(data,10);if(nl>0&&data[nl-1]===13&&nl--,nl>-1)return buffer.push(data.slice(0,nl)),ready(Buffer.concat(buffer),data.slice(nl),cb)}if(buffer.push(data),bufferSize+=data.length,bufferSize<maxBuffer)return cb();if(strict)return cb(new Error("No newline found"));ready(Buffer.concat(buffer),null,cb);}),onpreend=function(){if(strict)return dup.destroy(new Error("No newline found"));dup.cork(),ready(Buffer.concat(buffer),null,function(err){if(err)return dup.destroy(err);dup.uncork();});},ready=function(data,overflow,cb){dup.removeListener("preend",onpreend),onpeek(data,function(err,parser){if(err)return cb(err);dup.setWritable(parser),dup.setReadable(parser),data&&parser.write(data),overflow&&parser.write(overflow),overflow=buffer=peeker=null,cb();});};return dup.on("preend",onpreend),dup.setWritable(peeker),dup};module.exports=peek;}});var require_pump2=__commonJS({"../../node_modules/pumpify/node_modules/pump/index.js"(exports,module){var once=require_once(),eos=require_end_of_stream(),fs6=__require("fs"),noop3=function(){},ancient=/^v?\.0/.test(process.version),isFn=function(fn){return typeof fn=="function"},isFS=function(stream3){return !ancient||!fs6?!1:(stream3 instanceof(fs6.ReadStream||noop3)||stream3 instanceof(fs6.WriteStream||noop3))&&isFn(stream3.close)},isRequest2=function(stream3){return stream3.setHeader&&isFn(stream3.abort)},destroyer=function(stream3,reading,writing,callback){callback=once(callback);var closed=!1;stream3.on("close",function(){closed=!0;}),eos(stream3,{readable:reading,writable:writing},function(err){if(err)return callback(err);closed=!0,callback();});var destroyed=!1;return function(err){if(!closed&&!destroyed){if(destroyed=!0,isFS(stream3))return stream3.close(noop3);if(isRequest2(stream3))return stream3.abort();if(isFn(stream3.destroy))return stream3.destroy();callback(err||new Error("stream was destroyed"));}}},call=function(fn){fn();},pipe2=function(from,to){return from.pipe(to)},pump=function(){var streams=Array.prototype.slice.call(arguments),callback=isFn(streams[streams.length-1]||noop3)&&streams.pop()||noop3;if(Array.isArray(streams[0])&&(streams=streams[0]),streams.length<2)throw new Error("pump requires two streams per minimum");var error,destroys=streams.map(function(stream3,i){var reading=i<streams.length-1,writing=i>0;return destroyer(stream3,reading,writing,function(err){error||(error=err),err&&destroys.forEach(call),!reading&&(destroys.forEach(call),callback(error));})});streams.reduce(pipe2);};module.exports=pump;}});var require_isarray3=__commonJS({"../../node_modules/pumpify/node_modules/isarray/index.js"(exports,module){var toString2={}.toString;module.exports=Array.isArray||function(arr){return toString2.call(arr)=="[object Array]"};}});var require_stream4=__commonJS({"../../node_modules/pumpify/node_modules/readable-stream/lib/internal/streams/stream.js"(exports,module){module.exports=__require("stream");}});var require_safe_buffer4=__commonJS({"../../node_modules/pumpify/node_modules/safe-buffer/index.js"(exports,module){var buffer=__require("buffer"),Buffer4=buffer.Buffer;function copyProps(src,dst){for(var key in src)dst[key]=src[key];}Buffer4.from&&Buffer4.alloc&&Buffer4.allocUnsafe&&Buffer4.allocUnsafeSlow?module.exports=buffer:(copyProps(buffer,exports),exports.Buffer=SafeBuffer);function SafeBuffer(arg,encodingOrOffset,length){return Buffer4(arg,encodingOrOffset,length)}copyProps(Buffer4,SafeBuffer);SafeBuffer.from=function(arg,encodingOrOffset,length){if(typeof arg=="number")throw new TypeError("Argument must not be a number");return Buffer4(arg,encodingOrOffset,length)};SafeBuffer.alloc=function(size,fill,encoding){if(typeof size!="number")throw new TypeError("Argument must be a number");var buf=Buffer4(size);return fill!==void 0?typeof encoding=="string"?buf.fill(fill,encoding):buf.fill(fill):buf.fill(0),buf};SafeBuffer.allocUnsafe=function(size){if(typeof size!="number")throw new TypeError("Argument must be a number");return Buffer4(size)};SafeBuffer.allocUnsafeSlow=function(size){if(typeof size!="number")throw new TypeError("Argument must be a number");return buffer.SlowBuffer(size)};}});var require_BufferList4=__commonJS({"../../node_modules/pumpify/node_modules/readable-stream/lib/internal/streams/BufferList.js"(exports,module){function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}var Buffer4=require_safe_buffer4().Buffer,util=__require("util");function copyBuffer(src,target,offset){src.copy(target,offset);}module.exports=function(){function BufferList(){_classCallCheck(this,BufferList),this.head=null,this.tail=null,this.length=0;}return BufferList.prototype.push=function(v){var entry={data:v,next:null};this.length>0?this.tail.next=entry:this.head=entry,this.tail=entry,++this.length;},BufferList.prototype.unshift=function(v){var entry={data:v,next:this.head};this.length===0&&(this.tail=entry),this.head=entry,++this.length;},BufferList.prototype.shift=function(){if(this.length!==0){var ret=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,ret}},BufferList.prototype.clear=function(){this.head=this.tail=null,this.length=0;},BufferList.prototype.join=function(s){if(this.length===0)return "";for(var p=this.head,ret=""+p.data;p=p.next;)ret+=s+p.data;return ret},BufferList.prototype.concat=function(n){if(this.length===0)return Buffer4.alloc(0);for(var ret=Buffer4.allocUnsafe(n>>>0),p=this.head,i=0;p;)copyBuffer(p.data,ret,i),i+=p.data.length,p=p.next;return ret},BufferList}();util&&util.inspect&&util.inspect.custom&&(module.exports.prototype[util.inspect.custom]=function(){var obj=util.inspect({length:this.length});return this.constructor.name+" "+obj});}});var require_destroy4=__commonJS({"../../node_modules/pumpify/node_modules/readable-stream/lib/internal/streams/destroy.js"(exports,module){var pna=require_process_nextick_args();function destroy(err,cb){var _this=this,readableDestroyed=this._readableState&&this._readableState.destroyed,writableDestroyed=this._writableState&&this._writableState.destroyed;return readableDestroyed||writableDestroyed?(cb?cb(err):err&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,pna.nextTick(emitErrorNT,this,err)):pna.nextTick(emitErrorNT,this,err)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(err||null,function(err2){!cb&&err2?_this._writableState?_this._writableState.errorEmitted||(_this._writableState.errorEmitted=!0,pna.nextTick(emitErrorNT,_this,err2)):pna.nextTick(emitErrorNT,_this,err2):cb&&cb(err2);}),this)}function undestroy(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1);}function emitErrorNT(self2,err){self2.emit("error",err);}module.exports={destroy,undestroy};}});var require_stream_writable4=__commonJS({"../../node_modules/pumpify/node_modules/readable-stream/lib/_stream_writable.js"(exports,module){var pna=require_process_nextick_args();module.exports=Writable;function CorkedRequest(state){var _this=this;this.next=null,this.entry=null,this.finish=function(){onCorkedFinish(_this,state);};}var asyncWrite=!process.browser&&["v0.10","v0.9."].indexOf(process.version.slice(0,5))>-1?setImmediate:pna.nextTick,Duplex2;Writable.WritableState=WritableState;var util=Object.create(require_util());util.inherits=require_inherits();var internalUtil={deprecate:require_node()},Stream2=require_stream4(),Buffer4=require_safe_buffer4().Buffer,OurUint8Array=(typeof global<"u"?global:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function _uint8ArrayToBuffer(chunk){return Buffer4.from(chunk)}function _isUint8Array(obj){return Buffer4.isBuffer(obj)||obj instanceof OurUint8Array}var destroyImpl=require_destroy4();util.inherits(Writable,Stream2);function nop(){}function WritableState(options,stream3){Duplex2=Duplex2||require_stream_duplex4(),options=options||{};var isDuplex=stream3 instanceof Duplex2;this.objectMode=!!options.objectMode,isDuplex&&(this.objectMode=this.objectMode||!!options.writableObjectMode);var hwm=options.highWaterMark,writableHwm=options.writableHighWaterMark,defaultHwm=this.objectMode?16:16*1024;hwm||hwm===0?this.highWaterMark=hwm:isDuplex&&(writableHwm||writableHwm===0)?this.highWaterMark=writableHwm:this.highWaterMark=defaultHwm,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var noDecode=options.decodeStrings===!1;this.decodeStrings=!noDecode,this.defaultEncoding=options.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(er){onwrite(stream3,er);},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new CorkedRequest(this);}WritableState.prototype.getBuffer=function(){for(var current=this.bufferedRequest,out=[];current;)out.push(current),current=current.next;return out};(function(){try{Object.defineProperty(WritableState.prototype,"buffer",{get:internalUtil.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")});}catch{}})();var realHasInstance;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(realHasInstance=Function.prototype[Symbol.hasInstance],Object.defineProperty(Writable,Symbol.hasInstance,{value:function(object){return realHasInstance.call(this,object)?!0:this!==Writable?!1:object&&object._writableState instanceof WritableState}})):realHasInstance=function(object){return object instanceof this};function Writable(options){if(Duplex2=Duplex2||require_stream_duplex4(),!realHasInstance.call(Writable,this)&&!(this instanceof Duplex2))return new Writable(options);this._writableState=new WritableState(options,this),this.writable=!0,options&&(typeof options.write=="function"&&(this._write=options.write),typeof options.writev=="function"&&(this._writev=options.writev),typeof options.destroy=="function"&&(this._destroy=options.destroy),typeof options.final=="function"&&(this._final=options.final)),Stream2.call(this);}Writable.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"));};function writeAfterEnd(stream3,cb){var er=new Error("write after end");stream3.emit("error",er),pna.nextTick(cb,er);}function validChunk(stream3,state,chunk,cb){var valid=!0,er=!1;return chunk===null?er=new TypeError("May not write null values to stream"):typeof chunk!="string"&&chunk!==void 0&&!state.objectMode&&(er=new TypeError("Invalid non-string/buffer chunk")),er&&(stream3.emit("error",er),pna.nextTick(cb,er),valid=!1),valid}Writable.prototype.write=function(chunk,encoding,cb){var state=this._writableState,ret=!1,isBuf=!state.objectMode&&_isUint8Array(chunk);return isBuf&&!Buffer4.isBuffer(chunk)&&(chunk=_uint8ArrayToBuffer(chunk)),typeof encoding=="function"&&(cb=encoding,encoding=null),isBuf?encoding="buffer":encoding||(encoding=state.defaultEncoding),typeof cb!="function"&&(cb=nop),state.ended?writeAfterEnd(this,cb):(isBuf||validChunk(this,state,chunk,cb))&&(state.pendingcb++,ret=writeOrBuffer(this,state,isBuf,chunk,encoding,cb)),ret};Writable.prototype.cork=function(){var state=this._writableState;state.corked++;};Writable.prototype.uncork=function(){var state=this._writableState;state.corked&&(state.corked--,!state.writing&&!state.corked&&!state.bufferProcessing&&state.bufferedRequest&&clearBuffer(this,state));};Writable.prototype.setDefaultEncoding=function(encoding){if(typeof encoding=="string"&&(encoding=encoding.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((encoding+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+encoding);return this._writableState.defaultEncoding=encoding,this};function decodeChunk(state,chunk,encoding){return !state.objectMode&&state.decodeStrings!==!1&&typeof chunk=="string"&&(chunk=Buffer4.from(chunk,encoding)),chunk}Object.defineProperty(Writable.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function writeOrBuffer(stream3,state,isBuf,chunk,encoding,cb){if(!isBuf){var newChunk=decodeChunk(state,chunk,encoding);chunk!==newChunk&&(isBuf=!0,encoding="buffer",chunk=newChunk);}var len=state.objectMode?1:chunk.length;state.length+=len;var ret=state.length<state.highWaterMark;if(ret||(state.needDrain=!0),state.writing||state.corked){var last=state.lastBufferedRequest;state.lastBufferedRequest={chunk,encoding,isBuf,callback:cb,next:null},last?last.next=state.lastBufferedRequest:state.bufferedRequest=state.lastBufferedRequest,state.bufferedRequestCount+=1;}else doWrite(stream3,state,!1,len,chunk,encoding,cb);return ret}function doWrite(stream3,state,writev,len,chunk,encoding,cb){state.writelen=len,state.writecb=cb,state.writing=!0,state.sync=!0,writev?stream3._writev(chunk,state.onwrite):stream3._write(chunk,encoding,state.onwrite),state.sync=!1;}function onwriteError(stream3,state,sync2,er,cb){--state.pendingcb,sync2?(pna.nextTick(cb,er),pna.nextTick(finishMaybe,stream3,state),stream3._writableState.errorEmitted=!0,stream3.emit("error",er)):(cb(er),stream3._writableState.errorEmitted=!0,stream3.emit("error",er),finishMaybe(stream3,state));}function onwriteStateUpdate(state){state.writing=!1,state.writecb=null,state.length-=state.writelen,state.writelen=0;}function onwrite(stream3,er){var state=stream3._writableState,sync2=state.sync,cb=state.writecb;if(onwriteStateUpdate(state),er)onwriteError(stream3,state,sync2,er,cb);else {var finished=needFinish(state);!finished&&!state.corked&&!state.bufferProcessing&&state.bufferedRequest&&clearBuffer(stream3,state),sync2?asyncWrite(afterWrite,stream3,state,finished,cb):afterWrite(stream3,state,finished,cb);}}function afterWrite(stream3,state,finished,cb){finished||onwriteDrain(stream3,state),state.pendingcb--,cb(),finishMaybe(stream3,state);}function onwriteDrain(stream3,state){state.length===0&&state.needDrain&&(state.needDrain=!1,stream3.emit("drain"));}function clearBuffer(stream3,state){state.bufferProcessing=!0;var entry=state.bufferedRequest;if(stream3._writev&&entry&&entry.next){var l=state.bufferedRequestCount,buffer=new Array(l),holder=state.corkedRequestsFree;holder.entry=entry;for(var count=0,allBuffers=!0;entry;)buffer[count]=entry,entry.isBuf||(allBuffers=!1),entry=entry.next,count+=1;buffer.allBuffers=allBuffers,doWrite(stream3,state,!0,state.length,buffer,"",holder.finish),state.pendingcb++,state.lastBufferedRequest=null,holder.next?(state.corkedRequestsFree=holder.next,holder.next=null):state.corkedRequestsFree=new CorkedRequest(state),state.bufferedRequestCount=0;}else {for(;entry;){var chunk=entry.chunk,encoding=entry.encoding,cb=entry.callback,len=state.objectMode?1:chunk.length;if(doWrite(stream3,state,!1,len,chunk,encoding,cb),entry=entry.next,state.bufferedRequestCount--,state.writing)break}entry===null&&(state.lastBufferedRequest=null);}state.bufferedRequest=entry,state.bufferProcessing=!1;}Writable.prototype._write=function(chunk,encoding,cb){cb(new Error("_write() is not implemented"));};Writable.prototype._writev=null;Writable.prototype.end=function(chunk,encoding,cb){var state=this._writableState;typeof chunk=="function"?(cb=chunk,chunk=null,encoding=null):typeof encoding=="function"&&(cb=encoding,encoding=null),chunk!=null&&this.write(chunk,encoding),state.corked&&(state.corked=1,this.uncork()),state.ending||endWritable(this,state,cb);};function needFinish(state){return state.ending&&state.length===0&&state.bufferedRequest===null&&!state.finished&&!state.writing}function callFinal(stream3,state){stream3._final(function(err){state.pendingcb--,err&&stream3.emit("error",err),state.prefinished=!0,stream3.emit("prefinish"),finishMaybe(stream3,state);});}function prefinish(stream3,state){!state.prefinished&&!state.finalCalled&&(typeof stream3._final=="function"?(state.pendingcb++,state.finalCalled=!0,pna.nextTick(callFinal,stream3,state)):(state.prefinished=!0,stream3.emit("prefinish")));}function finishMaybe(stream3,state){var need=needFinish(state);return need&&(prefinish(stream3,state),state.pendingcb===0&&(state.finished=!0,stream3.emit("finish"))),need}function endWritable(stream3,state,cb){state.ending=!0,finishMaybe(stream3,state),cb&&(state.finished?pna.nextTick(cb):stream3.once("finish",cb)),state.ended=!0,stream3.writable=!1;}function onCorkedFinish(corkReq,state,err){var entry=corkReq.entry;for(corkReq.entry=null;entry;){var cb=entry.callback;state.pendingcb--,cb(err),entry=entry.next;}state.corkedRequestsFree.next=corkReq;}Object.defineProperty(Writable.prototype,"destroyed",{get:function(){return this._writableState===void 0?!1:this._writableState.destroyed},set:function(value){this._writableState&&(this._writableState.destroyed=value);}});Writable.prototype.destroy=destroyImpl.destroy;Writable.prototype._undestroy=destroyImpl.undestroy;Writable.prototype._destroy=function(err,cb){this.end(),cb(err);};}});var require_stream_duplex4=__commonJS({"../../node_modules/pumpify/node_modules/readable-stream/lib/_stream_duplex.js"(exports,module){var pna=require_process_nextick_args(),objectKeys=Object.keys||function(obj){var keys2=[];for(var key in obj)keys2.push(key);return keys2};module.exports=Duplex2;var util=Object.create(require_util());util.inherits=require_inherits();var Readable=require_stream_readable4(),Writable=require_stream_writable4();util.inherits(Duplex2,Readable);for(keys=objectKeys(Writable.prototype),v=0;v<keys.length;v++)method=keys[v],Duplex2.prototype[method]||(Duplex2.prototype[method]=Writable.prototype[method]);var keys,method,v;function Duplex2(options){if(!(this instanceof Duplex2))return new Duplex2(options);Readable.call(this,options),Writable.call(this,options),options&&options.readable===!1&&(this.readable=!1),options&&options.writable===!1&&(this.writable=!1),this.allowHalfOpen=!0,options&&options.allowHalfOpen===!1&&(this.allowHalfOpen=!1),this.once("end",onend);}Object.defineProperty(Duplex2.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function onend(){this.allowHalfOpen||this._writableState.ended||pna.nextTick(onEndNT,this);}function onEndNT(self2){self2.end();}Object.defineProperty(Duplex2.prototype,"destroyed",{get:function(){return this._readableState===void 0||this._writableState===void 0?!1:this._readableState.destroyed&&this._writableState.destroyed},set:function(value){this._readableState===void 0||this._writableState===void 0||(this._readableState.destroyed=value,this._writableState.destroyed=value);}});Duplex2.prototype._destroy=function(err,cb){this.push(null),this.end(),pna.nextTick(cb,err);};}});var require_string_decoder4=__commonJS({"../../node_modules/pumpify/node_modules/string_decoder/lib/string_decoder.js"(exports){var Buffer4=require_safe_buffer4().Buffer,isEncoding=Buffer4.isEncoding||function(encoding){switch(encoding=""+encoding,encoding&&encoding.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return !0;default:return !1}};function _normalizeEncoding(enc){if(!enc)return "utf8";for(var retried;;)switch(enc){case"utf8":case"utf-8":return "utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return "utf16le";case"latin1":case"binary":return "latin1";case"base64":case"ascii":case"hex":return enc;default:if(retried)return;enc=(""+enc).toLowerCase(),retried=!0;}}function normalizeEncoding(enc){var nenc=_normalizeEncoding(enc);if(typeof nenc!="string"&&(Buffer4.isEncoding===isEncoding||!isEncoding(enc)))throw new Error("Unknown encoding: "+enc);return nenc||enc}exports.StringDecoder=StringDecoder2;function StringDecoder2(encoding){this.encoding=normalizeEncoding(encoding);var nb;switch(this.encoding){case"utf16le":this.text=utf16Text,this.end=utf16End,nb=4;break;case"utf8":this.fillLast=utf8FillLast,nb=4;break;case"base64":this.text=base64Text,this.end=base64End,nb=3;break;default:this.write=simpleWrite,this.end=simpleEnd;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=Buffer4.allocUnsafe(nb);}StringDecoder2.prototype.write=function(buf){if(buf.length===0)return "";var r,i;if(this.lastNeed){if(r=this.fillLast(buf),r===void 0)return "";i=this.lastNeed,this.lastNeed=0;}else i=0;return i<buf.length?r?r+this.text(buf,i):this.text(buf,i):r||""};StringDecoder2.prototype.end=utf8End;StringDecoder2.prototype.text=utf8Text;StringDecoder2.prototype.fillLast=function(buf){if(this.lastNeed<=buf.length)return buf.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);buf.copy(this.lastChar,this.lastTotal-this.lastNeed,0,buf.length),this.lastNeed-=buf.length;};function utf8CheckByte(byte){return byte<=127?0:byte>>5===6?2:byte>>4===14?3:byte>>3===30?4:byte>>6===2?-1:-2}function utf8CheckIncomplete(self2,buf,i){var j=buf.length-1;if(j<i)return 0;var nb=utf8CheckByte(buf[j]);return nb>=0?(nb>0&&(self2.lastNeed=nb-1),nb):--j<i||nb===-2?0:(nb=utf8CheckByte(buf[j]),nb>=0?(nb>0&&(self2.lastNeed=nb-2),nb):--j<i||nb===-2?0:(nb=utf8CheckByte(buf[j]),nb>=0?(nb>0&&(nb===2?nb=0:self2.lastNeed=nb-3),nb):0))}function utf8CheckExtraBytes(self2,buf,p){if((buf[0]&192)!==128)return self2.lastNeed=0,"\uFFFD";if(self2.lastNeed>1&&buf.length>1){if((buf[1]&192)!==128)return self2.lastNeed=1,"\uFFFD";if(self2.lastNeed>2&&buf.length>2&&(buf[2]&192)!==128)return self2.lastNeed=2,"\uFFFD"}}function utf8FillLast(buf){var p=this.lastTotal-this.lastNeed,r=utf8CheckExtraBytes(this,buf);if(r!==void 0)return r;if(this.lastNeed<=buf.length)return buf.copy(this.lastChar,p,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);buf.copy(this.lastChar,p,0,buf.length),this.lastNeed-=buf.length;}function utf8Text(buf,i){var total=utf8CheckIncomplete(this,buf,i);if(!this.lastNeed)return buf.toString("utf8",i);this.lastTotal=total;var end=buf.length-(total-this.lastNeed);return buf.copy(this.lastChar,0,end),buf.toString("utf8",i,end)}function utf8End(buf){var r=buf&&buf.length?this.write(buf):"";return this.lastNeed?r+"\uFFFD":r}function utf16Text(buf,i){if((buf.length-i)%2===0){var r=buf.toString("utf16le",i);if(r){var c=r.charCodeAt(r.length-1);if(c>=55296&&c<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=buf[buf.length-2],this.lastChar[1]=buf[buf.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=buf[buf.length-1],buf.toString("utf16le",i,buf.length-1)}function utf16End(buf){var r=buf&&buf.length?this.write(buf):"";if(this.lastNeed){var end=this.lastTotal-this.lastNeed;return r+this.lastChar.toString("utf16le",0,end)}return r}function base64Text(buf,i){var n=(buf.length-i)%3;return n===0?buf.toString("base64",i):(this.lastNeed=3-n,this.lastTotal=3,n===1?this.lastChar[0]=buf[buf.length-1]:(this.lastChar[0]=buf[buf.length-2],this.lastChar[1]=buf[buf.length-1]),buf.toString("base64",i,buf.length-n))}function base64End(buf){var r=buf&&buf.length?this.write(buf):"";return this.lastNeed?r+this.lastChar.toString("base64",0,3-this.lastNeed):r}function simpleWrite(buf){return buf.toString(this.encoding)}function simpleEnd(buf){return buf&&buf.length?this.write(buf):""}}});var require_stream_readable4=__commonJS({"../../node_modules/pumpify/node_modules/readable-stream/lib/_stream_readable.js"(exports,module){var pna=require_process_nextick_args();module.exports=Readable;var isArray=require_isarray3(),Duplex2;Readable.ReadableState=ReadableState;__require("events").EventEmitter;var EElistenerCount=function(emitter,type){return emitter.listeners(type).length},Stream2=require_stream4(),Buffer4=require_safe_buffer4().Buffer,OurUint8Array=(typeof global<"u"?global:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function _uint8ArrayToBuffer(chunk){return Buffer4.from(chunk)}function _isUint8Array(obj){return Buffer4.isBuffer(obj)||obj instanceof OurUint8Array}var util=Object.create(require_util());util.inherits=require_inherits();var debugUtil=__require("util"),debug=void 0;debugUtil&&debugUtil.debuglog?debug=debugUtil.debuglog("stream"):debug=function(){};var BufferList=require_BufferList4(),destroyImpl=require_destroy4(),StringDecoder2;util.inherits(Readable,Stream2);var kProxyEvents=["error","close","destroy","pause","resume"];function prependListener(emitter,event,fn){if(typeof emitter.prependListener=="function")return emitter.prependListener(event,fn);!emitter._events||!emitter._events[event]?emitter.on(event,fn):isArray(emitter._events[event])?emitter._events[event].unshift(fn):emitter._events[event]=[fn,emitter._events[event]];}function ReadableState(options,stream3){Duplex2=Duplex2||require_stream_duplex4(),options=options||{};var isDuplex=stream3 instanceof Duplex2;this.objectMode=!!options.objectMode,isDuplex&&(this.objectMode=this.objectMode||!!options.readableObjectMode);var hwm=options.highWaterMark,readableHwm=options.readableHighWaterMark,defaultHwm=this.objectMode?16:16*1024;hwm||hwm===0?this.highWaterMark=hwm:isDuplex&&(readableHwm||readableHwm===0)?this.highWaterMark=readableHwm:this.highWaterMark=defaultHwm,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new BufferList,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=options.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,options.encoding&&(StringDecoder2||(StringDecoder2=require_string_decoder4().StringDecoder),this.decoder=new StringDecoder2(options.encoding),this.encoding=options.encoding);}function Readable(options){if(Duplex2=Duplex2||require_stream_duplex4(),!(this instanceof Readable))return new Readable(options);this._readableState=new ReadableState(options,this),this.readable=!0,options&&(typeof options.read=="function"&&(this._read=options.read),typeof options.destroy=="function"&&(this._destroy=options.destroy)),Stream2.call(this);}Object.defineProperty(Readable.prototype,"destroyed",{get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(value){this._readableState&&(this._readableState.destroyed=value);}});Readable.prototype.destroy=destroyImpl.destroy;Readable.prototype._undestroy=destroyImpl.undestroy;Readable.prototype._destroy=function(err,cb){this.push(null),cb(err);};Readable.prototype.push=function(chunk,encoding){var state=this._readableState,skipChunkCheck;return state.objectMode?skipChunkCheck=!0:typeof chunk=="string"&&(encoding=encoding||state.defaultEncoding,encoding!==state.encoding&&(chunk=Buffer4.from(chunk,encoding),encoding=""),skipChunkCheck=!0),readableAddChunk(this,chunk,encoding,!1,skipChunkCheck)};Readable.prototype.unshift=function(chunk){return readableAddChunk(this,chunk,null,!0,!1)};function readableAddChunk(stream3,chunk,encoding,addToFront,skipChunkCheck){var state=stream3._readableState;if(chunk===null)state.reading=!1,onEofChunk(stream3,state);else {var er;skipChunkCheck||(er=chunkInvalid(state,chunk)),er?stream3.emit("error",er):state.objectMode||chunk&&chunk.length>0?(typeof chunk!="string"&&!state.objectMode&&Object.getPrototypeOf(chunk)!==Buffer4.prototype&&(chunk=_uint8ArrayToBuffer(chunk)),addToFront?state.endEmitted?stream3.emit("error",new Error("stream.unshift() after end event")):addChunk(stream3,state,chunk,!0):state.ended?stream3.emit("error",new Error("stream.push() after EOF")):(state.reading=!1,state.decoder&&!encoding?(chunk=state.decoder.write(chunk),state.objectMode||chunk.length!==0?addChunk(stream3,state,chunk,!1):maybeReadMore(stream3,state)):addChunk(stream3,state,chunk,!1))):addToFront||(state.reading=!1);}return needMoreData(state)}function addChunk(stream3,state,chunk,addToFront){state.flowing&&state.length===0&&!state.sync?(stream3.emit("data",chunk),stream3.read(0)):(state.length+=state.objectMode?1:chunk.length,addToFront?state.buffer.unshift(chunk):state.buffer.push(chunk),state.needReadable&&emitReadable(stream3)),maybeReadMore(stream3,state);}function chunkInvalid(state,chunk){var er;return !_isUint8Array(chunk)&&typeof chunk!="string"&&chunk!==void 0&&!state.objectMode&&(er=new TypeError("Invalid non-string/buffer chunk")),er}function needMoreData(state){return !state.ended&&(state.needReadable||state.length<state.highWaterMark||state.length===0)}Readable.prototype.isPaused=function(){return this._readableState.flowing===!1};Readable.prototype.setEncoding=function(enc){return StringDecoder2||(StringDecoder2=require_string_decoder4().StringDecoder),this._readableState.decoder=new StringDecoder2(enc),this._readableState.encoding=enc,this};var MAX_HWM=8388608;function computeNewHighWaterMark(n){return n>=MAX_HWM?n=MAX_HWM:(n--,n|=n>>>1,n|=n>>>2,n|=n>>>4,n|=n>>>8,n|=n>>>16,n++),n}function howMuchToRead(n,state){return n<=0||state.length===0&&state.ended?0:state.objectMode?1:n!==n?state.flowing&&state.length?state.buffer.head.data.length:state.length:(n>state.highWaterMark&&(state.highWaterMark=computeNewHighWaterMark(n)),n<=state.length?n:state.ended?state.length:(state.needReadable=!0,0))}Readable.prototype.read=function(n){debug("read",n),n=parseInt(n,10);var state=this._readableState,nOrig=n;if(n!==0&&(state.emittedReadable=!1),n===0&&state.needReadable&&(state.length>=state.highWaterMark||state.ended))return debug("read: emitReadable",state.length,state.ended),state.length===0&&state.ended?endReadable(this):emitReadable(this),null;if(n=howMuchToRead(n,state),n===0&&state.ended)return state.length===0&&endReadable(this),null;var doRead=state.needReadable;debug("need readable",doRead),(state.length===0||state.length-n<state.highWaterMark)&&(doRead=!0,debug("length less than watermark",doRead)),state.ended||state.reading?(doRead=!1,debug("reading or ended",doRead)):doRead&&(debug("do read"),state.reading=!0,state.sync=!0,state.length===0&&(state.needReadable=!0),this._read(state.highWaterMark),state.sync=!1,state.reading||(n=howMuchToRead(nOrig,state)));var ret;return n>0?ret=fromList(n,state):ret=null,ret===null?(state.needReadable=!0,n=0):state.length-=n,state.length===0&&(state.ended||(state.needReadable=!0),nOrig!==n&&state.ended&&endReadable(this)),ret!==null&&this.emit("data",ret),ret};function onEofChunk(stream3,state){if(!state.ended){if(state.decoder){var chunk=state.decoder.end();chunk&&chunk.length&&(state.buffer.push(chunk),state.length+=state.objectMode?1:chunk.length);}state.ended=!0,emitReadable(stream3);}}function emitReadable(stream3){var state=stream3._readableState;state.needReadable=!1,state.emittedReadable||(debug("emitReadable",state.flowing),state.emittedReadable=!0,state.sync?pna.nextTick(emitReadable_,stream3):emitReadable_(stream3));}function emitReadable_(stream3){debug("emit readable"),stream3.emit("readable"),flow(stream3);}function maybeReadMore(stream3,state){state.readingMore||(state.readingMore=!0,pna.nextTick(maybeReadMore_,stream3,state));}function maybeReadMore_(stream3,state){for(var len=state.length;!state.reading&&!state.flowing&&!state.ended&&state.length<state.highWaterMark&&(debug("maybeReadMore read 0"),stream3.read(0),len!==state.length);)len=state.length;state.readingMore=!1;}Readable.prototype._read=function(n){this.emit("error",new Error("_read() is not implemented"));};Readable.prototype.pipe=function(dest,pipeOpts){var src=this,state=this._readableState;switch(state.pipesCount){case 0:state.pipes=dest;break;case 1:state.pipes=[state.pipes,dest];break;default:state.pipes.push(dest);break}state.pipesCount+=1,debug("pipe count=%d opts=%j",state.pipesCount,pipeOpts);var doEnd=(!pipeOpts||pipeOpts.end!==!1)&&dest!==process.stdout&&dest!==process.stderr,endFn=doEnd?onend:unpipe;state.endEmitted?pna.nextTick(endFn):src.once("end",endFn),dest.on("unpipe",onunpipe);function onunpipe(readable,unpipeInfo){debug("onunpipe"),readable===src&&unpipeInfo&&unpipeInfo.hasUnpiped===!1&&(unpipeInfo.hasUnpiped=!0,cleanup3());}function onend(){debug("onend"),dest.end();}var ondrain=pipeOnDrain(src);dest.on("drain",ondrain);var cleanedUp=!1;function cleanup3(){debug("cleanup"),dest.removeListener("close",onclose),dest.removeListener("finish",onfinish),dest.removeListener("drain",ondrain),dest.removeListener("error",onerror),dest.removeListener("unpipe",onunpipe),src.removeListener("end",onend),src.removeListener("end",unpipe),src.removeListener("data",ondata),cleanedUp=!0,state.awaitDrain&&(!dest._writableState||dest._writableState.needDrain)&&ondrain();}var increasedAwaitDrain=!1;src.on("data",ondata);function ondata(chunk){debug("ondata"),increasedAwaitDrain=!1;var ret=dest.write(chunk);ret===!1&&!increasedAwaitDrain&&((state.pipesCount===1&&state.pipes===dest||state.pipesCount>1&&indexOf(state.pipes,dest)!==-1)&&!cleanedUp&&(debug("false write response, pause",state.awaitDrain),state.awaitDrain++,increasedAwaitDrain=!0),src.pause());}function onerror(er){debug("onerror",er),unpipe(),dest.removeListener("error",onerror),EElistenerCount(dest,"error")===0&&dest.emit("error",er);}prependListener(dest,"error",onerror);function onclose(){dest.removeListener("finish",onfinish),unpipe();}dest.once("close",onclose);function onfinish(){debug("onfinish"),dest.removeListener("close",onclose),unpipe();}dest.once("finish",onfinish);function unpipe(){debug("unpipe"),src.unpipe(dest);}return dest.emit("pipe",src),state.flowing||(debug("pipe resume"),src.resume()),dest};function pipeOnDrain(src){return function(){var state=src._readableState;debug("pipeOnDrain",state.awaitDrain),state.awaitDrain&&state.awaitDrain--,state.awaitDrain===0&&EElistenerCount(src,"data")&&(state.flowing=!0,flow(src));}}Readable.prototype.unpipe=function(dest){var state=this._readableState,unpipeInfo={hasUnpiped:!1};if(state.pipesCount===0)return this;if(state.pipesCount===1)return dest&&dest!==state.pipes?this:(dest||(dest=state.pipes),state.pipes=null,state.pipesCount=0,state.flowing=!1,dest&&dest.emit("unpipe",this,unpipeInfo),this);if(!dest){var dests=state.pipes,len=state.pipesCount;state.pipes=null,state.pipesCount=0,state.flowing=!1;for(var i=0;i<len;i++)dests[i].emit("unpipe",this,{hasUnpiped:!1});return this}var index=indexOf(state.pipes,dest);return index===-1?this:(state.pipes.splice(index,1),state.pipesCount-=1,state.pipesCount===1&&(state.pipes=state.pipes[0]),dest.emit("unpipe",this,unpipeInfo),this)};Readable.prototype.on=function(ev,fn){var res=Stream2.prototype.on.call(this,ev,fn);if(ev==="data")this._readableState.flowing!==!1&&this.resume();else if(ev==="readable"){var state=this._readableState;!state.endEmitted&&!state.readableListening&&(state.readableListening=state.needReadable=!0,state.emittedReadable=!1,state.reading?state.length&&emitReadable(this):pna.nextTick(nReadingNextTick,this));}return res};Readable.prototype.addListener=Readable.prototype.on;function nReadingNextTick(self2){debug("readable nexttick read 0"),self2.read(0);}Readable.prototype.resume=function(){var state=this._readableState;return state.flowing||(debug("resume"),state.flowing=!0,resume(this,state)),this};function resume(stream3,state){state.resumeScheduled||(state.resumeScheduled=!0,pna.nextTick(resume_,stream3,state));}function resume_(stream3,state){state.reading||(debug("resume read 0"),stream3.read(0)),state.resumeScheduled=!1,state.awaitDrain=0,stream3.emit("resume"),flow(stream3),state.flowing&&!state.reading&&stream3.read(0);}Readable.prototype.pause=function(){return debug("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(debug("pause"),this._readableState.flowing=!1,this.emit("pause")),this};function flow(stream3){var state=stream3._readableState;for(debug("flow",state.flowing);state.flowing&&stream3.read()!==null;);}Readable.prototype.wrap=function(stream3){var _this=this,state=this._readableState,paused=!1;stream3.on("end",function(){if(debug("wrapped end"),state.decoder&&!state.ended){var chunk=state.decoder.end();chunk&&chunk.length&&_this.push(chunk);}_this.push(null);}),stream3.on("data",function(chunk){if(debug("wrapped data"),state.decoder&&(chunk=state.decoder.write(chunk)),!(state.objectMode&&chunk==null)&&!(!state.objectMode&&(!chunk||!chunk.length))){var ret=_this.push(chunk);ret||(paused=!0,stream3.pause());}});for(var i in stream3)this[i]===void 0&&typeof stream3[i]=="function"&&(this[i]=function(method){return function(){return stream3[method].apply(stream3,arguments)}}(i));for(var n=0;n<kProxyEvents.length;n++)stream3.on(kProxyEvents[n],this.emit.bind(this,kProxyEvents[n]));return this._read=function(n2){debug("wrapped _read",n2),paused&&(paused=!1,stream3.resume());},this};Object.defineProperty(Readable.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}});Readable._fromList=fromList;function fromList(n,state){if(state.length===0)return null;var ret;return state.objectMode?ret=state.buffer.shift():!n||n>=state.length?(state.decoder?ret=state.buffer.join(""):state.buffer.length===1?ret=state.buffer.head.data:ret=state.buffer.concat(state.length),state.buffer.clear()):ret=fromListPartial(n,state.buffer,state.decoder),ret}function fromListPartial(n,list,hasStrings){var ret;return n<list.head.data.length?(ret=list.head.data.slice(0,n),list.head.data=list.head.data.slice(n)):n===list.head.data.length?ret=list.shift():ret=hasStrings?copyFromBufferString(n,list):copyFromBuffer(n,list),ret}function copyFromBufferString(n,list){var p=list.head,c=1,ret=p.data;for(n-=ret.length;p=p.next;){var str=p.data,nb=n>str.length?str.length:n;if(nb===str.length?ret+=str:ret+=str.slice(0,n),n-=nb,n===0){nb===str.length?(++c,p.next?list.head=p.next:list.head=list.tail=null):(list.head=p,p.data=str.slice(nb));break}++c;}return list.length-=c,ret}function copyFromBuffer(n,list){var ret=Buffer4.allocUnsafe(n),p=list.head,c=1;for(p.data.copy(ret),n-=p.data.length;p=p.next;){var buf=p.data,nb=n>buf.length?buf.length:n;if(buf.copy(ret,ret.length-n,0,nb),n-=nb,n===0){nb===buf.length?(++c,p.next?list.head=p.next:list.head=list.tail=null):(list.head=p,p.data=buf.slice(nb));break}++c;}return list.length-=c,ret}function endReadable(stream3){var state=stream3._readableState;if(state.length>0)throw new Error('"endReadable()" called on non-empty stream');state.endEmitted||(state.ended=!0,pna.nextTick(endReadableNT,state,stream3));}function endReadableNT(state,stream3){!state.endEmitted&&state.length===0&&(state.endEmitted=!0,stream3.readable=!1,stream3.emit("end"));}function indexOf(xs,x){for(var i=0,l=xs.length;i<l;i++)if(xs[i]===x)return i;return -1}}});var require_stream_transform4=__commonJS({"../../node_modules/pumpify/node_modules/readable-stream/lib/_stream_transform.js"(exports,module){module.exports=Transform;var Duplex2=require_stream_duplex4(),util=Object.create(require_util());util.inherits=require_inherits();util.inherits(Transform,Duplex2);function afterTransform(er,data){var ts=this._transformState;ts.transforming=!1;var cb=ts.writecb;if(!cb)return this.emit("error",new Error("write callback called multiple times"));ts.writechunk=null,ts.writecb=null,data!=null&&this.push(data),cb(er);var rs=this._readableState;rs.reading=!1,(rs.needReadable||rs.length<rs.highWaterMark)&&this._read(rs.highWaterMark);}function Transform(options){if(!(this instanceof Transform))return new Transform(options);Duplex2.call(this,options),this._transformState={afterTransform:afterTransform.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,options&&(typeof options.transform=="function"&&(this._transform=options.transform),typeof options.flush=="function"&&(this._flush=options.flush)),this.on("prefinish",prefinish);}function prefinish(){var _this=this;typeof this._flush=="function"?this._flush(function(er,data){done(_this,er,data);}):done(this,null,null);}Transform.prototype.push=function(chunk,encoding){return this._transformState.needTransform=!1,Duplex2.prototype.push.call(this,chunk,encoding)};Transform.prototype._transform=function(chunk,encoding,cb){throw new Error("_transform() is not implemented")};Transform.prototype._write=function(chunk,encoding,cb){var ts=this._transformState;if(ts.writecb=cb,ts.writechunk=chunk,ts.writeencoding=encoding,!ts.transforming){var rs=this._readableState;(ts.needTransform||rs.needReadable||rs.length<rs.highWaterMark)&&this._read(rs.highWaterMark);}};Transform.prototype._read=function(n){var ts=this._transformState;ts.writechunk!==null&&ts.writecb&&!ts.transforming?(ts.transforming=!0,this._transform(ts.writechunk,ts.writeencoding,ts.afterTransform)):ts.needTransform=!0;};Transform.prototype._destroy=function(err,cb){var _this2=this;Duplex2.prototype._destroy.call(this,err,function(err2){cb(err2),_this2.emit("close");});};function done(stream3,er,data){if(er)return stream3.emit("error",er);if(data!=null&&stream3.push(data),stream3._writableState.length)throw new Error("Calling transform done when ws.length != 0");if(stream3._transformState.transforming)throw new Error("Calling transform done when still transforming");return stream3.push(null)}}});var require_stream_passthrough4=__commonJS({"../../node_modules/pumpify/node_modules/readable-stream/lib/_stream_passthrough.js"(exports,module){module.exports=PassThrough;var Transform=require_stream_transform4(),util=Object.create(require_util());util.inherits=require_inherits();util.inherits(PassThrough,Transform);function PassThrough(options){if(!(this instanceof PassThrough))return new PassThrough(options);Transform.call(this,options);}PassThrough.prototype._transform=function(chunk,encoding,cb){cb(null,chunk);};}});var require_readable4=__commonJS({"../../node_modules/pumpify/node_modules/readable-stream/readable.js"(exports,module){var Stream2=__require("stream");process.env.READABLE_STREAM==="disable"&&Stream2?(module.exports=Stream2,exports=module.exports=Stream2.Readable,exports.Readable=Stream2.Readable,exports.Writable=Stream2.Writable,exports.Duplex=Stream2.Duplex,exports.Transform=Stream2.Transform,exports.PassThrough=Stream2.PassThrough,exports.Stream=Stream2):(exports=module.exports=require_stream_readable4(),exports.Stream=Stream2||exports,exports.Readable=exports,exports.Writable=require_stream_writable4(),exports.Duplex=require_stream_duplex4(),exports.Transform=require_stream_transform4(),exports.PassThrough=require_stream_passthrough4());}});var require_duplexify2=__commonJS({"../../node_modules/pumpify/node_modules/duplexify/index.js"(exports,module){var stream3=require_readable4(),eos=require_end_of_stream(),inherits=require_inherits(),shift=require_stream_shift(),SIGNAL_FLUSH=Buffer.from&&Buffer.from!==Uint8Array.from?Buffer.from([0]):new Buffer([0]),onuncork=function(self2,fn){self2._corked?self2.once("uncork",fn):fn();},autoDestroy=function(self2,err){self2._autoDestroy&&self2.destroy(err);},destroyer=function(self2,end2){return function(err){err?autoDestroy(self2,err.message==="premature close"?null:err):end2&&!self2._ended&&self2.end();}},end=function(ws,fn){if(!ws||ws._writableState&&ws._writableState.finished)return fn();if(ws._writableState)return ws.end(fn);ws.end(),fn();},toStreams2=function(rs){return new stream3.Readable({objectMode:!0,highWaterMark:16}).wrap(rs)},Duplexify=function(writable,readable,opts){if(!(this instanceof Duplexify))return new Duplexify(writable,readable,opts);stream3.Duplex.call(this,opts),this._writable=null,this._readable=null,this._readable2=null,this._autoDestroy=!opts||opts.autoDestroy!==!1,this._forwardDestroy=!opts||opts.destroy!==!1,this._forwardEnd=!opts||opts.end!==!1,this._corked=1,this._ondrain=null,this._drained=!1,this._forwarding=!1,this._unwrite=null,this._unread=null,this._ended=!1,this.destroyed=!1,writable&&this.setWritable(writable),readable&&this.setReadable(readable);};inherits(Duplexify,stream3.Duplex);Duplexify.obj=function(writable,readable,opts){return opts||(opts={}),opts.objectMode=!0,opts.highWaterMark=16,new Duplexify(writable,readable,opts)};Duplexify.prototype.cork=function(){++this._corked===1&&this.emit("cork");};Duplexify.prototype.uncork=function(){this._corked&&--this._corked===0&&this.emit("uncork");};Duplexify.prototype.setWritable=function(writable){if(this._unwrite&&this._unwrite(),this.destroyed){writable&&writable.destroy&&writable.destroy();return}if(writable===null||writable===!1){this.end();return}var self2=this,unend=eos(writable,{writable:!0,readable:!1},destroyer(this,this._forwardEnd)),ondrain=function(){var ondrain2=self2._ondrain;self2._ondrain=null,ondrain2&&ondrain2();},clear=function(){self2._writable.removeListener("drain",ondrain),unend();};this._unwrite&&process.nextTick(ondrain),this._writable=writable,this._writable.on("drain",ondrain),this._unwrite=clear,this.uncork();};Duplexify.prototype.setReadable=function(readable){if(this._unread&&this._unread(),this.destroyed){readable&&readable.destroy&&readable.destroy();return}if(readable===null||readable===!1){this.push(null),this.resume();return}var self2=this,unend=eos(readable,{writable:!1,readable:!0},destroyer(this)),onreadable=function(){self2._forward();},onend=function(){self2.push(null);},clear=function(){self2._readable2.removeListener("readable",onreadable),self2._readable2.removeListener("end",onend),unend();};this._drained=!0,this._readable=readable,this._readable2=readable._readableState?readable:toStreams2(readable),this._readable2.on("readable",onreadable),this._readable2.on("end",onend),this._unread=clear,this._forward();};Duplexify.prototype._read=function(){this._drained=!0,this._forward();};Duplexify.prototype._forward=function(){if(!(this._forwarding||!this._readable2||!this._drained)){this._forwarding=!0;for(var data;this._drained&&(data=shift(this._readable2))!==null;)this.destroyed||(this._drained=this.push(data));this._forwarding=!1;}};Duplexify.prototype.destroy=function(err){if(!this.destroyed){this.destroyed=!0;var self2=this;process.nextTick(function(){self2._destroy(err);});}};Duplexify.prototype._destroy=function(err){if(err){var ondrain=this._ondrain;this._ondrain=null,ondrain?ondrain(err):this.emit("error",err);}this._forwardDestroy&&(this._readable&&this._readable.destroy&&this._readable.destroy(),this._writable&&this._writable.destroy&&this._writable.destroy()),this.emit("close");};Duplexify.prototype._write=function(data,enc,cb){if(this.destroyed)return cb();if(this._corked)return onuncork(this,this._write.bind(this,data,enc,cb));if(data===SIGNAL_FLUSH)return this._finish(cb);if(!this._writable)return cb();this._writable.write(data)===!1?this._ondrain=cb:cb();};Duplexify.prototype._finish=function(cb){var self2=this;this.emit("preend"),onuncork(this,function(){end(self2._forwardEnd&&self2._writable,function(){self2._writableState.prefinished===!1&&(self2._writableState.prefinished=!0),self2.emit("prefinish"),onuncork(self2,cb);});});};Duplexify.prototype.end=function(data,enc,cb){return typeof data=="function"?this.end(null,null,data):typeof enc=="function"?this.end(data,null,enc):(this._ended=!0,data&&this.write(data),this._writableState.ending||this.write(SIGNAL_FLUSH),stream3.Writable.prototype.end.call(this,cb))};module.exports=Duplexify;}});var require_pumpify=__commonJS({"../../node_modules/pumpify/index.js"(exports,module){var pump=require_pump2(),inherits=require_inherits(),Duplexify=require_duplexify2(),toArray=function(args){return args.length?Array.isArray(args[0])?args[0]:Array.prototype.slice.call(args):[]},define=function(opts){var Pumpify=function(){var streams=toArray(arguments);if(!(this instanceof Pumpify))return new Pumpify(streams);Duplexify.call(this,null,null,opts),streams.length&&this.setPipeline(streams);};return inherits(Pumpify,Duplexify),Pumpify.prototype.setPipeline=function(){var streams=toArray(arguments),self2=this,ended=!1,w=streams[0],r=streams[streams.length-1];r=r.readable?r:null,w=w.writable?w:null;var onclose=function(){streams[0].emit("error",new Error("stream was destroyed"));};if(this.on("close",onclose),this.on("prefinish",function(){ended||self2.cork();}),pump(streams,function(err){if(self2.removeListener("close",onclose),err)return self2.destroy(err.message==="premature close"?null:err);ended=!0,self2._autoDestroy===!1&&(self2._autoDestroy=!0),self2.uncork();}),this.destroyed)return onclose();this.setWritable(w),this.setReadable(r);},Pumpify};module.exports=define({autoDestroy:!1,destroy:!1});module.exports.obj=define({autoDestroy:!1,destroy:!1,objectMode:!0,highWaterMark:16});module.exports.ctor=define;}});var require_is_gzip=__commonJS({"../../node_modules/is-gzip/index.js"(exports,module){module.exports=function(buf){return !buf||buf.length<3?!1:buf[0]===31&&buf[1]===139&&buf[2]===8};}});var require_is_deflate=__commonJS({"../../node_modules/is-deflate/index.js"(exports,module){module.exports=function(buf){return !buf||buf.length<2?!1:buf[0]===120&&(buf[1]===1||buf[1]===156||buf[1]===218)};}});var require_gunzip_maybe=__commonJS({"../../node_modules/gunzip-maybe/index.js"(exports,module){var zlib=__require("zlib"),peek=require_peek_stream(),through=require_through2(),pumpify=require_pumpify(),isGzip=require_is_gzip(),isDeflate=require_is_deflate(),isCompressed=function(data){return isGzip(data)?1:isDeflate(data)?2:0},gunzip=function(maxRecursion){return maxRecursion===void 0&&(maxRecursion=3),peek({newline:!1,maxBuffer:10},function(data,swap){if(maxRecursion<0)return swap(new Error("Maximum recursion reached"));switch(isCompressed(data)){case 1:swap(null,pumpify(zlib.createGunzip(),gunzip(maxRecursion-1)));break;case 2:swap(null,pumpify(zlib.createInflate(),gunzip(maxRecursion-1)));break;default:swap(null,through());}})};module.exports=gunzip;}});var require_balanced_match=__commonJS({"../../node_modules/balanced-match/index.js"(exports,module){module.exports=balanced;function balanced(a,b,str){a instanceof RegExp&&(a=maybeMatch(a,str)),b instanceof RegExp&&(b=maybeMatch(b,str));var r=range(a,b,str);return r&&{start:r[0],end:r[1],pre:str.slice(0,r[0]),body:str.slice(r[0]+a.length,r[1]),post:str.slice(r[1]+b.length)}}function maybeMatch(reg,str){var m=str.match(reg);return m?m[0]:null}balanced.range=range;function range(a,b,str){var begs,beg,left,right,result,ai=str.indexOf(a),bi=str.indexOf(b,ai+1),i=ai;if(ai>=0&&bi>0){if(a===b)return [ai,bi];for(begs=[],left=str.length;i>=0&&!result;)i==ai?(begs.push(i),ai=str.indexOf(a,i+1)):begs.length==1?result=[begs.pop(),bi]:(beg=begs.pop(),beg<left&&(left=beg,right=bi),bi=str.indexOf(b,i+1)),i=ai<bi&&ai>=0?ai:bi;begs.length&&(result=[left,right]);}return result}}});var require_brace_expansion=__commonJS({"../../node_modules/brace-expansion/index.js"(exports,module){var balanced=require_balanced_match();module.exports=expandTop;var escSlash="\0SLASH"+Math.random()+"\0",escOpen="\0OPEN"+Math.random()+"\0",escClose="\0CLOSE"+Math.random()+"\0",escComma="\0COMMA"+Math.random()+"\0",escPeriod="\0PERIOD"+Math.random()+"\0";function numeric(str){return parseInt(str,10)==str?parseInt(str,10):str.charCodeAt(0)}function escapeBraces(str){return str.split("\\\\").join(escSlash).split("\\{").join(escOpen).split("\\}").join(escClose).split("\\,").join(escComma).split("\\.").join(escPeriod)}function unescapeBraces(str){return str.split(escSlash).join("\\").split(escOpen).join("{").split(escClose).join("}").split(escComma).join(",").split(escPeriod).join(".")}function parseCommaParts(str){if(!str)return [""];var parts=[],m=balanced("{","}",str);if(!m)return str.split(",");var pre=m.pre,body=m.body,post=m.post,p=pre.split(",");p[p.length-1]+="{"+body+"}";var postParts=parseCommaParts(post);return post.length&&(p[p.length-1]+=postParts.shift(),p.push.apply(p,postParts)),parts.push.apply(parts,p),parts}function expandTop(str){return str?(str.substr(0,2)==="{}"&&(str="\\{\\}"+str.substr(2)),expand2(escapeBraces(str),!0).map(unescapeBraces)):[]}function embrace(str){return "{"+str+"}"}function isPadded(el){return /^-?0\d/.test(el)}function lte(i,y){return i<=y}function gte(i,y){return i>=y}function expand2(str,isTop){var expansions=[],m=balanced("{","}",str);if(!m)return [str];var pre=m.pre,post=m.post.length?expand2(m.post,!1):[""];if(/\$$/.test(m.pre))for(var k=0;k<post.length;k++){var expansion=pre+"{"+m.body+"}"+post[k];expansions.push(expansion);}else {var isNumericSequence=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body),isAlphaSequence=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body),isSequence=isNumericSequence||isAlphaSequence,isOptions=m.body.indexOf(",")>=0;if(!isSequence&&!isOptions)return m.post.match(/,.*\}/)?(str=m.pre+"{"+m.body+escClose+m.post,expand2(str)):[str];var n;if(isSequence)n=m.body.split(/\.\./);else if(n=parseCommaParts(m.body),n.length===1&&(n=expand2(n[0],!1).map(embrace),n.length===1))return post.map(function(p){return m.pre+n[0]+p});var N;if(isSequence){var x=numeric(n[0]),y=numeric(n[1]),width=Math.max(n[0].length,n[1].length),incr=n.length==3?Math.abs(numeric(n[2])):1,test=lte,reverse=y<x;reverse&&(incr*=-1,test=gte);var pad=n.some(isPadded);N=[];for(var i=x;test(i,y);i+=incr){var c;if(isAlphaSequence)c=String.fromCharCode(i),c==="\\"&&(c="");else if(c=String(i),pad){var need=width-c.length;if(need>0){var z=new Array(need+1).join("0");i<0?c="-"+z+c.slice(1):c=z+c;}}N.push(c);}}else {N=[];for(var j=0;j<n.length;j++)N.push.apply(N,expand2(n[j],!1));}for(var j=0;j<N.length;j++)for(var k=0;k<post.length;k++){var expansion=pre+N[j]+post[k];(!isTop||isSequence||expansion)&&expansions.push(expansion);}}return expansions}}});function ansiRegex({onlyFirst=!1}={}){let pattern=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(pattern,onlyFirst?void 0:"g")}var regex=ansiRegex();function stripAnsi(string){if(typeof string!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof string}\``);return string.replace(regex,"")}var import_eastasianwidth=__toESM(require_eastasianwidth(),1),import_emoji_regex=__toESM(require_emoji_regex(),1);function stringWidth(string,options={}){if(typeof string!="string"||string.length===0||(options={ambiguousIsNarrow:!0,...options},string=stripAnsi(string),string.length===0))return 0;string=string.replace((0, import_emoji_regex.default)()," ");let ambiguousCharacterWidth=options.ambiguousIsNarrow?1:2,width=0;for(let character of string){let codePoint=character.codePointAt(0);if(codePoint<=31||codePoint>=127&&codePoint<=159||codePoint>=768&&codePoint<=879)continue;switch(import_eastasianwidth.default.eastAsianWidth(character)){case"F":case"W":width+=2;break;case"A":width+=ambiguousCharacterWidth;break;default:width+=1;}}return width}var import_eastasianwidth2=__toESM(require_eastasianwidth(),1),import_emoji_regex2=__toESM(require_emoji_regex(),1);function stringWidth2(string,options={}){if(typeof string!="string"||string.length===0||(options={ambiguousIsNarrow:!0,...options},string=stripAnsi(string),string.length===0))return 0;string=string.replace((0, import_emoji_regex2.default)()," ");let ambiguousCharacterWidth=options.ambiguousIsNarrow?1:2,width=0;for(let character of string){let codePoint=character.codePointAt(0);if(codePoint<=31||codePoint>=127&&codePoint<=159||codePoint>=768&&codePoint<=879)continue;switch(import_eastasianwidth2.default.eastAsianWidth(character)){case"F":case"W":width+=2;break;case"A":width+=ambiguousCharacterWidth;break;default:width+=1;}}return width}function widestLine(string){let lineWidth=0;for(let line of string.split(`
|
|
64
|
-
`))lineWidth=Math.max(lineWidth,stringWidth2(line));return lineWidth}var import_cli_boxes=__toESM(require_cli_boxes(),1);var UPPERCASE=/[\p{Lu}]/u,LOWERCASE=/[\p{Ll}]/u,LEADING_CAPITAL=/^[\p{Lu}](?![\p{Lu}])/gu,IDENTIFIER=/([\p{Alpha}\p{N}_]|$)/u,SEPARATORS=/[_.\- ]+/,LEADING_SEPARATORS=new RegExp("^"+SEPARATORS.source),SEPARATORS_AND_IDENTIFIER=new RegExp(SEPARATORS.source+IDENTIFIER.source,"gu"),NUMBERS_AND_IDENTIFIER=new RegExp("\\d+"+IDENTIFIER.source,"gu"),preserveCamelCase=(string,toLowerCase,toUpperCase,preserveConsecutiveUppercase2)=>{let isLastCharLower=!1,isLastCharUpper=!1,isLastLastCharUpper=!1,isLastLastCharPreserved=!1;for(let index=0;index<string.length;index++){let character=string[index];isLastLastCharPreserved=index>2?string[index-3]==="-":!0,isLastCharLower&&UPPERCASE.test(character)?(string=string.slice(0,index)+"-"+string.slice(index),isLastCharLower=!1,isLastLastCharUpper=isLastCharUpper,isLastCharUpper=!0,index++):isLastCharUpper&&isLastLastCharUpper&&LOWERCASE.test(character)&&(!isLastLastCharPreserved||preserveConsecutiveUppercase2)?(string=string.slice(0,index-1)+"-"+string.slice(index-1),isLastLastCharUpper=isLastCharUpper,isLastCharUpper=!1,isLastCharLower=!0):(isLastCharLower=toLowerCase(character)===character&&toUpperCase(character)!==character,isLastLastCharUpper=isLastCharUpper,isLastCharUpper=toUpperCase(character)===character&&toLowerCase(character)!==character);}return string},preserveConsecutiveUppercase=(input,toLowerCase)=>(LEADING_CAPITAL.lastIndex=0,input.replace(LEADING_CAPITAL,m1=>toLowerCase(m1))),postProcess=(input,toUpperCase)=>(SEPARATORS_AND_IDENTIFIER.lastIndex=0,NUMBERS_AND_IDENTIFIER.lastIndex=0,input.replace(SEPARATORS_AND_IDENTIFIER,(_,identifier2)=>toUpperCase(identifier2)).replace(NUMBERS_AND_IDENTIFIER,m=>toUpperCase(m)));function camelCase(input,options){if(!(typeof input=="string"||Array.isArray(input)))throw new TypeError("Expected the input to be `string | string[]`");if(options={pascalCase:!1,preserveConsecutiveUppercase:!1,...options},Array.isArray(input)?input=input.map(x=>x.trim()).filter(x=>x.length).join("-"):input=input.trim(),input.length===0)return "";let toLowerCase=options.locale===!1?string=>string.toLowerCase():string=>string.toLocaleLowerCase(options.locale),toUpperCase=options.locale===!1?string=>string.toUpperCase():string=>string.toLocaleUpperCase(options.locale);return input.length===1?SEPARATORS.test(input)?"":options.pascalCase?toUpperCase(input):toLowerCase(input):(input!==toLowerCase(input)&&(input=preserveCamelCase(input,toLowerCase,toUpperCase,options.preserveConsecutiveUppercase)),input=input.replace(LEADING_SEPARATORS,""),input=options.preserveConsecutiveUppercase?preserveConsecutiveUppercase(input,toLowerCase):toLowerCase(input),options.pascalCase&&(input=toUpperCase(input.charAt(0))+input.slice(1)),postProcess(input,toUpperCase))}var import_ansi_align=__toESM(require_ansi_align(),1);var import_eastasianwidth3=__toESM(require_eastasianwidth(),1),import_emoji_regex3=__toESM(require_emoji_regex(),1);function stringWidth3(string,options={}){if(typeof string!="string"||string.length===0||(options={ambiguousIsNarrow:!0,...options},string=stripAnsi(string),string.length===0))return 0;string=string.replace((0, import_emoji_regex3.default)()," ");let ambiguousCharacterWidth=options.ambiguousIsNarrow?1:2,width=0;for(let character of string){let codePoint=character.codePointAt(0);if(codePoint<=31||codePoint>=127&&codePoint<=159||codePoint>=768&&codePoint<=879)continue;switch(import_eastasianwidth3.default.eastAsianWidth(character)){case"F":case"W":width+=2;break;case"A":width+=ambiguousCharacterWidth;break;default:width+=1;}}return width}var wrapAnsi16=(offset=0)=>code=>`\x1B[${code+offset}m`,wrapAnsi256=(offset=0)=>code=>`\x1B[${38+offset};5;${code}m`,wrapAnsi16m=(offset=0)=>(red,green,blue)=>`\x1B[${38+offset};2;${red};${green};${blue}m`,styles={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(styles.modifier);var foregroundColorNames=Object.keys(styles.color),backgroundColorNames=Object.keys(styles.bgColor);[...foregroundColorNames,...backgroundColorNames];function assembleStyles(){let codes=new Map;for(let[groupName,group]of Object.entries(styles)){for(let[styleName,style]of Object.entries(group))styles[styleName]={open:`\x1B[${style[0]}m`,close:`\x1B[${style[1]}m`},group[styleName]=styles[styleName],codes.set(style[0],style[1]);Object.defineProperty(styles,groupName,{value:group,enumerable:!1});}return Object.defineProperty(styles,"codes",{value:codes,enumerable:!1}),styles.color.close="\x1B[39m",styles.bgColor.close="\x1B[49m",styles.color.ansi=wrapAnsi16(),styles.color.ansi256=wrapAnsi256(),styles.color.ansi16m=wrapAnsi16m(),styles.bgColor.ansi=wrapAnsi16(10),styles.bgColor.ansi256=wrapAnsi256(10),styles.bgColor.ansi16m=wrapAnsi16m(10),Object.defineProperties(styles,{rgbToAnsi256:{value:(red,green,blue)=>red===green&&green===blue?red<8?16:red>248?231:Math.round((red-8)/247*24)+232:16+36*Math.round(red/255*5)+6*Math.round(green/255*5)+Math.round(blue/255*5),enumerable:!1},hexToRgb:{value:hex=>{let matches=/[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));if(!matches)return [0,0,0];let[colorString]=matches;colorString.length===3&&(colorString=[...colorString].map(character=>character+character).join(""));let integer=Number.parseInt(colorString,16);return [integer>>16&255,integer>>8&255,integer&255]},enumerable:!1},hexToAnsi256:{value:hex=>styles.rgbToAnsi256(...styles.hexToRgb(hex)),enumerable:!1},ansi256ToAnsi:{value:code=>{if(code<8)return 30+code;if(code<16)return 90+(code-8);let red,green,blue;if(code>=232)red=((code-232)*10+8)/255,green=red,blue=red;else {code-=16;let remainder=code%36;red=Math.floor(code/36)/5,green=Math.floor(remainder/6)/5,blue=remainder%6/5;}let value=Math.max(red,green,blue)*2;if(value===0)return 30;let result=30+(Math.round(blue)<<2|Math.round(green)<<1|Math.round(red));return value===2&&(result+=60),result},enumerable:!1},rgbToAnsi:{value:(red,green,blue)=>styles.ansi256ToAnsi(styles.rgbToAnsi256(red,green,blue)),enumerable:!1},hexToAnsi:{value:hex=>styles.ansi256ToAnsi(styles.hexToAnsi256(hex)),enumerable:!1}}),styles}var ansiStyles=assembleStyles(),ansi_styles_default=ansiStyles;var ESCAPES=new Set(["\x1B","\x9B"]),END_CODE=39,ANSI_ESCAPE_BELL="\x07",ANSI_CSI="[",ANSI_OSC="]",ANSI_SGR_TERMINATOR="m",ANSI_ESCAPE_LINK=`${ANSI_OSC}8;;`,wrapAnsiCode=code=>`${ESCAPES.values().next().value}${ANSI_CSI}${code}${ANSI_SGR_TERMINATOR}`,wrapAnsiHyperlink=uri=>`${ESCAPES.values().next().value}${ANSI_ESCAPE_LINK}${uri}${ANSI_ESCAPE_BELL}`,wordLengths=string=>string.split(" ").map(character=>stringWidth3(character)),wrapWord=(rows,word,columns)=>{let characters=[...word],isInsideEscape=!1,isInsideLinkEscape=!1,visible=stringWidth3(stripAnsi(rows[rows.length-1]));for(let[index,character]of characters.entries()){let characterLength=stringWidth3(character);if(visible+characterLength<=columns?rows[rows.length-1]+=character:(rows.push(character),visible=0),ESCAPES.has(character)&&(isInsideEscape=!0,isInsideLinkEscape=characters.slice(index+1).join("").startsWith(ANSI_ESCAPE_LINK)),isInsideEscape){isInsideLinkEscape?character===ANSI_ESCAPE_BELL&&(isInsideEscape=!1,isInsideLinkEscape=!1):character===ANSI_SGR_TERMINATOR&&(isInsideEscape=!1);continue}visible+=characterLength,visible===columns&&index<characters.length-1&&(rows.push(""),visible=0);}!visible&&rows[rows.length-1].length>0&&rows.length>1&&(rows[rows.length-2]+=rows.pop());},stringVisibleTrimSpacesRight=string=>{let words=string.split(" "),last=words.length;for(;last>0&&!(stringWidth3(words[last-1])>0);)last--;return last===words.length?string:words.slice(0,last).join(" ")+words.slice(last).join("")},exec=(string,columns,options={})=>{if(options.trim!==!1&&string.trim()==="")return "";let returnValue="",escapeCode,escapeUrl,lengths=wordLengths(string),rows=[""];for(let[index,word]of string.split(" ").entries()){options.trim!==!1&&(rows[rows.length-1]=rows[rows.length-1].trimStart());let rowLength=stringWidth3(rows[rows.length-1]);if(index!==0&&(rowLength>=columns&&(options.wordWrap===!1||options.trim===!1)&&(rows.push(""),rowLength=0),(rowLength>0||options.trim===!1)&&(rows[rows.length-1]+=" ",rowLength++)),options.hard&&lengths[index]>columns){let remainingColumns=columns-rowLength,breaksStartingThisLine=1+Math.floor((lengths[index]-remainingColumns-1)/columns);Math.floor((lengths[index]-1)/columns)<breaksStartingThisLine&&rows.push(""),wrapWord(rows,word,columns);continue}if(rowLength+lengths[index]>columns&&rowLength>0&&lengths[index]>0){if(options.wordWrap===!1&&rowLength<columns){wrapWord(rows,word,columns);continue}rows.push("");}if(rowLength+lengths[index]>columns&&options.wordWrap===!1){wrapWord(rows,word,columns);continue}rows[rows.length-1]+=word;}options.trim!==!1&&(rows=rows.map(row=>stringVisibleTrimSpacesRight(row)));let pre=[...rows.join(`
|
|
65
|
-
`)];for(let[index,character]of pre.entries()){if(returnValue+=character,ESCAPES.has(character)){let{groups}=new RegExp(`(?:\\${ANSI_CSI}(?<code>\\d+)m|\\${ANSI_ESCAPE_LINK}(?<uri>.*)${ANSI_ESCAPE_BELL})`).exec(pre.slice(index).join(""))||{groups:{}};if(groups.code!==void 0){let code2=Number.parseFloat(groups.code);escapeCode=code2===END_CODE?void 0:code2;}else groups.uri!==void 0&&(escapeUrl=groups.uri.length===0?void 0:groups.uri);}let code=ansi_styles_default.codes.get(Number(escapeCode));pre[index+1]===`
|
|
66
|
-
`?(escapeUrl&&(returnValue+=wrapAnsiHyperlink("")),escapeCode&&code&&(returnValue+=wrapAnsiCode(code))):character===`
|
|
67
|
-
`&&(escapeCode&&code&&(returnValue+=wrapAnsiCode(escapeCode)),escapeUrl&&(returnValue+=wrapAnsiHyperlink(escapeUrl)));}return returnValue};function wrapAnsi(string,columns,options){return String(string).normalize().replace(/\r\n/g,`
|
|
68
|
-
`).split(`
|
|
69
|
-
`).map(line=>exec(line,columns,options)).join(`
|
|
70
|
-
`)}__toESM(require_cli_boxes(),1);var NEWLINE=`
|
|
71
|
-
`,PAD=" ",NONE="none",terminalColumns=()=>{let{env,stdout,stderr}=process2;return stdout?.columns?stdout.columns:stderr?.columns?stderr.columns:env.COLUMNS?Number.parseInt(env.COLUMNS,10):80},getObject=detail=>typeof detail=="number"?{top:detail,right:detail*3,bottom:detail,left:detail*3}:{top:0,right:0,bottom:0,left:0,...detail},getBorderWidth=borderStyle=>borderStyle===NONE?0:2,getBorderChars=borderStyle=>{let sides=["topLeft","topRight","bottomRight","bottomLeft","left","right","top","bottom"],characters;if(borderStyle===NONE){borderStyle={};for(let side of sides)borderStyle[side]="";}if(typeof borderStyle=="string"){if(characters=import_cli_boxes.default[borderStyle],!characters)throw new TypeError(`Invalid border style: ${borderStyle}`)}else {typeof borderStyle?.vertical=="string"&&(borderStyle.left=borderStyle.vertical,borderStyle.right=borderStyle.vertical),typeof borderStyle?.horizontal=="string"&&(borderStyle.top=borderStyle.horizontal,borderStyle.bottom=borderStyle.horizontal);for(let side of sides)if(borderStyle[side]===null||typeof borderStyle[side]!="string")throw new TypeError(`Invalid border style: ${side}`);characters=borderStyle;}return characters},makeTitle=(text,horizontal,alignment)=>{let title="",textWidth=stringWidth(text);switch(alignment){case"left":{title=text+horizontal.slice(textWidth);break}case"right":{title=horizontal.slice(textWidth)+text;break}default:{horizontal=horizontal.slice(textWidth),horizontal.length%2===1?(horizontal=horizontal.slice(Math.floor(horizontal.length/2)),title=horizontal.slice(1)+text+horizontal):(horizontal=horizontal.slice(horizontal.length/2),title=horizontal+text+horizontal);break}}return title},makeContentText=(text,{padding,width,textAlignment,height})=>{text=(0, import_ansi_align.default)(text,{align:textAlignment});let lines=text.split(NEWLINE),textWidth=widestLine(text),max=width-padding.left-padding.right;if(textWidth>max){let newLines=[];for(let line of lines){let createdLines=wrapAnsi(line,max,{hard:!0}),alignedLinesArray=(0, import_ansi_align.default)(createdLines,{align:textAlignment}).split(`
|
|
72
|
-
`),longestLength=Math.max(...alignedLinesArray.map(s=>stringWidth(s)));for(let alignedLine of alignedLinesArray){let paddedLine;switch(textAlignment){case"center":{paddedLine=PAD.repeat((max-longestLength)/2)+alignedLine;break}case"right":{paddedLine=PAD.repeat(max-longestLength)+alignedLine;break}default:{paddedLine=alignedLine;break}}newLines.push(paddedLine);}}lines=newLines;}textAlignment==="center"&&textWidth<max?lines=lines.map(line=>PAD.repeat((max-textWidth)/2)+line):textAlignment==="right"&&textWidth<max&&(lines=lines.map(line=>PAD.repeat(max-textWidth)+line));let paddingLeft=PAD.repeat(padding.left),paddingRight=PAD.repeat(padding.right);return lines=lines.map(line=>paddingLeft+line+paddingRight),lines=lines.map(line=>{if(width-stringWidth(line)>0)switch(textAlignment){case"center":return line+PAD.repeat(width-stringWidth(line));case"right":return line+PAD.repeat(width-stringWidth(line));default:return line+PAD.repeat(width-stringWidth(line))}return line}),padding.top>0&&(lines=[...Array.from({length:padding.top}).fill(PAD.repeat(width)),...lines]),padding.bottom>0&&(lines=[...lines,...Array.from({length:padding.bottom}).fill(PAD.repeat(width))]),height&&lines.length>height?lines=lines.slice(0,height):height&&lines.length<height&&(lines=[...lines,...Array.from({length:height-lines.length}).fill(PAD.repeat(width))]),lines.join(NEWLINE)},boxContent=(content,contentWidth,options)=>{let colorizeBorder=border=>{let newBorder=options.borderColor?getColorFn(options.borderColor)(border):border;return options.dimBorder?chalk15.dim(newBorder):newBorder},colorizeContent=content2=>options.backgroundColor?getBGColorFn(options.backgroundColor)(content2):content2,chars=getBorderChars(options.borderStyle),columns=terminalColumns(),marginLeft=PAD.repeat(options.margin.left);if(options.float==="center"){let marginWidth=Math.max((columns-contentWidth-getBorderWidth(options.borderStyle))/2,0);marginLeft=PAD.repeat(marginWidth);}else if(options.float==="right"){let marginWidth=Math.max(columns-contentWidth-options.margin.right-getBorderWidth(options.borderStyle),0);marginLeft=PAD.repeat(marginWidth);}let result="";options.margin.top&&(result+=NEWLINE.repeat(options.margin.top)),(options.borderStyle!==NONE||options.title)&&(result+=colorizeBorder(marginLeft+chars.topLeft+(options.title?makeTitle(options.title,chars.top.repeat(contentWidth),options.titleAlignment):chars.top.repeat(contentWidth))+chars.topRight)+NEWLINE);let lines=content.split(NEWLINE);return result+=lines.map(line=>marginLeft+colorizeBorder(chars.left)+colorizeContent(line)+colorizeBorder(chars.right)).join(NEWLINE),options.borderStyle!==NONE&&(result+=NEWLINE+colorizeBorder(marginLeft+chars.bottomLeft+chars.bottom.repeat(contentWidth)+chars.bottomRight)),options.margin.bottom&&(result+=NEWLINE.repeat(options.margin.bottom)),result},sanitizeOptions=options=>{if(options.fullscreen&&process2?.stdout){let newDimensions=[process2.stdout.columns,process2.stdout.rows];typeof options.fullscreen=="function"&&(newDimensions=options.fullscreen(...newDimensions)),options.width||(options.width=newDimensions[0]),options.height||(options.height=newDimensions[1]);}return options.width&&(options.width=Math.max(1,options.width-getBorderWidth(options.borderStyle))),options.height&&(options.height=Math.max(1,options.height-getBorderWidth(options.borderStyle))),options},formatTitle=(title,borderStyle)=>borderStyle===NONE?title:` ${title} `,determineDimensions=(text,options)=>{options=sanitizeOptions(options);let widthOverride=options.width!==void 0,columns=terminalColumns(),borderWidth=getBorderWidth(options.borderStyle),maxWidth=columns-options.margin.left-options.margin.right-borderWidth,widest=widestLine(wrapAnsi(text,columns-borderWidth,{hard:!0,trim:!1}))+options.padding.left+options.padding.right;if(options.title&&widthOverride?(options.title=options.title.slice(0,Math.max(0,options.width-2)),options.title&&(options.title=formatTitle(options.title,options.borderStyle))):options.title&&(options.title=options.title.slice(0,Math.max(0,maxWidth-2)),options.title&&(options.title=formatTitle(options.title,options.borderStyle),stringWidth(options.title)>widest&&(options.width=stringWidth(options.title)))),options.width=options.width?options.width:widest,!widthOverride){if(options.margin.left&&options.margin.right&&options.width>maxWidth){let multiplier=(columns-options.width-borderWidth)/(options.margin.left+options.margin.right);options.margin.left=Math.max(0,Math.floor(options.margin.left*multiplier)),options.margin.right=Math.max(0,Math.floor(options.margin.right*multiplier));}options.width=Math.min(options.width,columns-borderWidth-options.margin.left-options.margin.right);}return options.width-(options.padding.left+options.padding.right)<=0&&(options.padding.left=0,options.padding.right=0),options.height&&options.height-(options.padding.top+options.padding.bottom)<=0&&(options.padding.top=0,options.padding.bottom=0),options},isHex=color=>color.match(/^#(?:[0-f]{3}){1,2}$/i),isColorValid=color=>typeof color=="string"&&(chalk15[color]??isHex(color)),getColorFn=color=>isHex(color)?chalk15.hex(color):chalk15[color],getBGColorFn=color=>isHex(color)?chalk15.bgHex(color):chalk15[camelCase(["bg",color])];function boxen(text,options){if(options={padding:0,borderStyle:"single",dimBorder:!1,textAlignment:"left",float:"left",titleAlignment:"left",...options},options.align&&(options.textAlignment=options.align),options.borderColor&&!isColorValid(options.borderColor))throw new Error(`${options.borderColor} is not a valid borderColor`);if(options.backgroundColor&&!isColorValid(options.backgroundColor))throw new Error(`${options.backgroundColor} is not a valid backgroundColor`);return options.padding=getObject(options.padding),options.margin=getObject(options.margin),options=determineDimensions(text,options),text=makeContentText(text,options),boxContent(text,options.width,options)}function eqMajor(versionRange,major2){return validRange(versionRange)?minVersion(versionRange)?.major===major2:!1}var externalFrameworks=[{name:"qwik",packageName:"storybook-framework-qwik"},{name:"solid",frameworks:["storybook-solidjs-vite"],renderer:"storybook-solidjs"}];var ProjectType=(ProjectType2=>(ProjectType2.UNDETECTED="UNDETECTED",ProjectType2.UNSUPPORTED="UNSUPPORTED",ProjectType2.REACT="REACT",ProjectType2.REACT_SCRIPTS="REACT_SCRIPTS",ProjectType2.REACT_NATIVE="REACT_NATIVE",ProjectType2.REACT_PROJECT="REACT_PROJECT",ProjectType2.WEBPACK_REACT="WEBPACK_REACT",ProjectType2.NEXTJS="NEXTJS",ProjectType2.VUE3="VUE3",ProjectType2.ANGULAR="ANGULAR",ProjectType2.EMBER="EMBER",ProjectType2.WEB_COMPONENTS="WEB_COMPONENTS",ProjectType2.HTML="HTML",ProjectType2.QWIK="QWIK",ProjectType2.PREACT="PREACT",ProjectType2.SVELTE="SVELTE",ProjectType2.SVELTEKIT="SVELTEKIT",ProjectType2.SERVER="SERVER",ProjectType2.NX="NX",ProjectType2.SOLID="SOLID",ProjectType2))(ProjectType||{});var compilerNameToCoreCompiler={"@storybook/addon-webpack5-compiler-babel":"babel","@storybook/addon-webpack5-compiler-swc":"swc"},builderNameToCoreBuilder={"@storybook/builder-webpack5":"webpack5","@storybook/builder-vite":"vite"};var supportedTemplates=[{preset:"VUE3",dependencies:{vue:versionRange=>versionRange==="next"||eqMajor(versionRange,3)},matcherFunction:({dependencies})=>dependencies?.some(Boolean)??!1},{preset:"EMBER",dependencies:["ember-cli"],matcherFunction:({dependencies})=>dependencies?.every(Boolean)??!0},{preset:"NEXTJS",dependencies:["next"],matcherFunction:({dependencies})=>dependencies?.every(Boolean)??!0},{preset:"QWIK",dependencies:["@builder.io/qwik"],matcherFunction:({dependencies})=>dependencies?.every(Boolean)??!0},{preset:"REACT_PROJECT",peerDependencies:["react"],matcherFunction:({peerDependencies})=>peerDependencies?.every(Boolean)??!0},{preset:"REACT_NATIVE",dependencies:["react-native","react-native-scripts"],matcherFunction:({dependencies})=>dependencies?.some(Boolean)??!1},{preset:"REACT_SCRIPTS",files:["/node_modules/.bin/react-scripts"],dependencies:["react-scripts"],matcherFunction:({dependencies,files})=>(dependencies?.every(Boolean)||files?.every(Boolean))??!1},{preset:"ANGULAR",dependencies:["@angular/core"],matcherFunction:({dependencies})=>dependencies?.every(Boolean)??!0},{preset:"WEB_COMPONENTS",dependencies:["lit-element","lit-html","lit"],matcherFunction:({dependencies})=>dependencies?.some(Boolean)??!1},{preset:"PREACT",dependencies:["preact"],matcherFunction:({dependencies})=>dependencies?.every(Boolean)??!0},{preset:"SVELTEKIT",dependencies:["@sveltejs/kit"],matcherFunction:({dependencies})=>dependencies?.every(Boolean)??!0},{preset:"SVELTE",dependencies:["svelte"],matcherFunction:({dependencies})=>dependencies?.every(Boolean)??!0},{preset:"SOLID",dependencies:["solid-js"],matcherFunction:({dependencies})=>dependencies?.every(Boolean)??!0},{preset:"WEBPACK_REACT",dependencies:["react","webpack"],matcherFunction:({dependencies})=>dependencies?.every(Boolean)??!0},{preset:"REACT",dependencies:["react"],matcherFunction:({dependencies})=>dependencies?.every(Boolean)??!0}],unsupportedTemplate={preset:"UNSUPPORTED",dependencies:{nuxt:versionRange=>eqMajor(versionRange,3)},matcherFunction:({dependencies})=>dependencies?.some(Boolean)??!1},notInstallableProjectTypes=["UNDETECTED","UNSUPPORTED","NX"],installableProjectTypes=Object.values(ProjectType).filter(type=>!notInstallableProjectTypes.includes(type)).map(type=>type.toLowerCase());var import_pump=__toESM(require_pump(),1),import_tar_fs=__toESM(require_tar_fs(),1),import_gunzip_maybe=__toESM(require_gunzip_maybe(),1);var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__require2=(x=>typeof __require<"u"?__require:typeof Proxy<"u"?new Proxy(x,{get:(a,b)=>(typeof __require<"u"?__require:a)[b]}):x)(function(x){if(typeof __require<"u")return __require.apply(this,arguments);throw new Error('Dynamic require of "'+x+'" is not supported')}),__commonJS2=(cb,mod)=>function(){return mod||(0, cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toESM2=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),require_source=__commonJS2({"node_modules/.pnpm/defer-to-connect@2.0.1/node_modules/defer-to-connect/dist/source/index.js"(exports,module){Object.defineProperty(exports,"__esModule",{value:!0});function isTLSSocket(socket){return socket.encrypted}var deferToConnect2=(socket,fn)=>{let listeners;typeof fn=="function"?listeners={connect:fn}:listeners=fn;let hasConnectListener=typeof listeners.connect=="function",hasSecureConnectListener=typeof listeners.secureConnect=="function",hasCloseListener=typeof listeners.close=="function",onConnect=()=>{hasConnectListener&&listeners.connect(),isTLSSocket(socket)&&hasSecureConnectListener&&(socket.authorized?listeners.secureConnect():socket.authorizationError||socket.once("secureConnect",listeners.secureConnect)),hasCloseListener&&socket.once("close",listeners.close);};socket.writable&&!socket.connecting?onConnect():socket.connecting?socket.once("connect",onConnect):socket.destroyed&&hasCloseListener&&listeners.close(socket._hadError);};exports.default=deferToConnect2,module.exports=deferToConnect2,module.exports.default=deferToConnect2;}}),require_buffer_stream=__commonJS2({"node_modules/.pnpm/get-stream@6.0.1/node_modules/get-stream/buffer-stream.js"(exports,module){var{PassThrough:PassThroughStream2}=__require2("stream");module.exports=options=>{options={...options};let{array}=options,{encoding}=options,isBuffer=encoding==="buffer",objectMode=!1;array?objectMode=!(encoding||isBuffer):encoding=encoding||"utf8",isBuffer&&(encoding=null);let stream22=new PassThroughStream2({objectMode});encoding&&stream22.setEncoding(encoding);let length=0,chunks=[];return stream22.on("data",chunk=>{chunks.push(chunk),objectMode?length=chunks.length:length+=chunk.length;}),stream22.getBufferedValue=()=>array?chunks:isBuffer?Buffer.concat(chunks,length):chunks.join(""),stream22.getBufferedLength=()=>length,stream22};}}),require_get_stream=__commonJS2({"node_modules/.pnpm/get-stream@6.0.1/node_modules/get-stream/index.js"(exports,module){var{constants:BufferConstants}=__require2("buffer"),stream22=__require2("stream"),{promisify:promisify4}=__require2("util"),bufferStream=require_buffer_stream(),streamPipelinePromisified=promisify4(stream22.pipeline),MaxBufferError=class extends Error{constructor(){super("maxBuffer exceeded"),this.name="MaxBufferError";}};async function getStream2(inputStream,options){if(!inputStream)throw new Error("Expected a stream");options={maxBuffer:1/0,...options};let{maxBuffer}=options,stream3=bufferStream(options);return await new Promise((resolve2,reject)=>{let rejectPromise=error=>{error&&stream3.getBufferedLength()<=BufferConstants.MAX_LENGTH&&(error.bufferedData=stream3.getBufferedValue()),reject(error);};(async()=>{try{await streamPipelinePromisified(inputStream,stream3),resolve2();}catch(error){rejectPromise(error);}})(),stream3.on("data",()=>{stream3.getBufferedLength()>maxBuffer&&rejectPromise(new MaxBufferError);});}),stream3.getBufferedValue()}module.exports=getStream2,module.exports.buffer=(stream3,options)=>getStream2(stream3,{...options,encoding:"buffer"}),module.exports.array=(stream3,options)=>getStream2(stream3,{...options,array:!0}),module.exports.MaxBufferError=MaxBufferError;}}),require_http_cache_semantics=__commonJS2({"node_modules/.pnpm/http-cache-semantics@4.1.1/node_modules/http-cache-semantics/index.js"(exports,module){var statusCodeCacheableByDefault=new Set([200,203,204,206,300,301,308,404,405,410,414,501]),understoodStatuses=new Set([200,203,204,300,301,302,303,307,308,404,405,410,414,501]),errorStatusCodes=new Set([500,502,503,504]),hopByHopHeaders={date:!0,connection:!0,"keep-alive":!0,"proxy-authenticate":!0,"proxy-authorization":!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0},excludedFromRevalidationUpdate={"content-length":!0,"content-encoding":!0,"transfer-encoding":!0,"content-range":!0};function toNumberOrZero(s){let n=parseInt(s,10);return isFinite(n)?n:0}function isErrorResponse(response){return response?errorStatusCodes.has(response.status):!0}function parseCacheControl(header){let cc={};if(!header)return cc;let parts=header.trim().split(/,/);for(let part of parts){let[k,v]=part.split(/=/,2);cc[k.trim()]=v===void 0?!0:v.trim().replace(/^"|"$/g,"");}return cc}function formatCacheControl(cc){let parts=[];for(let k in cc){let v=cc[k];parts.push(v===!0?k:k+"="+v);}if(parts.length)return parts.join(", ")}module.exports=class{constructor(req,res,{shared,cacheHeuristic,immutableMinTimeToLive,ignoreCargoCult,_fromObject}={}){if(_fromObject){this._fromObject(_fromObject);return}if(!res||!res.headers)throw Error("Response headers missing");this._assertRequestHasHeaders(req),this._responseTime=this.now(),this._isShared=shared!==!1,this._cacheHeuristic=cacheHeuristic!==void 0?cacheHeuristic:.1,this._immutableMinTtl=immutableMinTimeToLive!==void 0?immutableMinTimeToLive:24*3600*1e3,this._status="status"in res?res.status:200,this._resHeaders=res.headers,this._rescc=parseCacheControl(res.headers["cache-control"]),this._method="method"in req?req.method:"GET",this._url=req.url,this._host=req.headers.host,this._noAuthorization=!req.headers.authorization,this._reqHeaders=res.headers.vary?req.headers:null,this._reqcc=parseCacheControl(req.headers["cache-control"]),ignoreCargoCult&&"pre-check"in this._rescc&&"post-check"in this._rescc&&(delete this._rescc["pre-check"],delete this._rescc["post-check"],delete this._rescc["no-cache"],delete this._rescc["no-store"],delete this._rescc["must-revalidate"],this._resHeaders=Object.assign({},this._resHeaders,{"cache-control":formatCacheControl(this._rescc)}),delete this._resHeaders.expires,delete this._resHeaders.pragma),res.headers["cache-control"]==null&&/no-cache/.test(res.headers.pragma)&&(this._rescc["no-cache"]=!0);}now(){return Date.now()}storable(){return !!(!this._reqcc["no-store"]&&(this._method==="GET"||this._method==="HEAD"||this._method==="POST"&&this._hasExplicitExpiration())&&understoodStatuses.has(this._status)&&!this._rescc["no-store"]&&(!this._isShared||!this._rescc.private)&&(!this._isShared||this._noAuthorization||this._allowsStoringAuthenticated())&&(this._resHeaders.expires||this._rescc["max-age"]||this._isShared&&this._rescc["s-maxage"]||this._rescc.public||statusCodeCacheableByDefault.has(this._status)))}_hasExplicitExpiration(){return this._isShared&&this._rescc["s-maxage"]||this._rescc["max-age"]||this._resHeaders.expires}_assertRequestHasHeaders(req){if(!req||!req.headers)throw Error("Request headers missing")}satisfiesWithoutRevalidation(req){this._assertRequestHasHeaders(req);let requestCC=parseCacheControl(req.headers["cache-control"]);return requestCC["no-cache"]||/no-cache/.test(req.headers.pragma)||requestCC["max-age"]&&this.age()>requestCC["max-age"]||requestCC["min-fresh"]&&this.timeToLive()<1e3*requestCC["min-fresh"]||this.stale()&&!(requestCC["max-stale"]&&!this._rescc["must-revalidate"]&&(requestCC["max-stale"]===!0||requestCC["max-stale"]>this.age()-this.maxAge()))?!1:this._requestMatches(req,!1)}_requestMatches(req,allowHeadMethod){return (!this._url||this._url===req.url)&&this._host===req.headers.host&&(!req.method||this._method===req.method||allowHeadMethod&&req.method==="HEAD")&&this._varyMatches(req)}_allowsStoringAuthenticated(){return this._rescc["must-revalidate"]||this._rescc.public||this._rescc["s-maxage"]}_varyMatches(req){if(!this._resHeaders.vary)return !0;if(this._resHeaders.vary==="*")return !1;let fields=this._resHeaders.vary.trim().toLowerCase().split(/\s*,\s*/);for(let name of fields)if(req.headers[name]!==this._reqHeaders[name])return !1;return !0}_copyWithoutHopByHopHeaders(inHeaders){let headers={};for(let name in inHeaders)hopByHopHeaders[name]||(headers[name]=inHeaders[name]);if(inHeaders.connection){let tokens=inHeaders.connection.trim().split(/\s*,\s*/);for(let name of tokens)delete headers[name];}if(headers.warning){let warnings=headers.warning.split(/,/).filter(warning=>!/^\s*1[0-9][0-9]/.test(warning));warnings.length?headers.warning=warnings.join(",").trim():delete headers.warning;}return headers}responseHeaders(){let headers=this._copyWithoutHopByHopHeaders(this._resHeaders),age=this.age();return age>3600*24&&!this._hasExplicitExpiration()&&this.maxAge()>3600*24&&(headers.warning=(headers.warning?`${headers.warning}, `:"")+'113 - "rfc7234 5.5.4"'),headers.age=`${Math.round(age)}`,headers.date=new Date(this.now()).toUTCString(),headers}date(){let serverDate=Date.parse(this._resHeaders.date);return isFinite(serverDate)?serverDate:this._responseTime}age(){let age=this._ageValue(),residentTime=(this.now()-this._responseTime)/1e3;return age+residentTime}_ageValue(){return toNumberOrZero(this._resHeaders.age)}maxAge(){if(!this.storable()||this._rescc["no-cache"]||this._isShared&&this._resHeaders["set-cookie"]&&!this._rescc.public&&!this._rescc.immutable||this._resHeaders.vary==="*")return 0;if(this._isShared){if(this._rescc["proxy-revalidate"])return 0;if(this._rescc["s-maxage"])return toNumberOrZero(this._rescc["s-maxage"])}if(this._rescc["max-age"])return toNumberOrZero(this._rescc["max-age"]);let defaultMinTtl=this._rescc.immutable?this._immutableMinTtl:0,serverDate=this.date();if(this._resHeaders.expires){let expires=Date.parse(this._resHeaders.expires);return Number.isNaN(expires)||expires<serverDate?0:Math.max(defaultMinTtl,(expires-serverDate)/1e3)}if(this._resHeaders["last-modified"]){let lastModified=Date.parse(this._resHeaders["last-modified"]);if(isFinite(lastModified)&&serverDate>lastModified)return Math.max(defaultMinTtl,(serverDate-lastModified)/1e3*this._cacheHeuristic)}return defaultMinTtl}timeToLive(){let age=this.maxAge()-this.age(),staleIfErrorAge=age+toNumberOrZero(this._rescc["stale-if-error"]),staleWhileRevalidateAge=age+toNumberOrZero(this._rescc["stale-while-revalidate"]);return Math.max(0,age,staleIfErrorAge,staleWhileRevalidateAge)*1e3}stale(){return this.maxAge()<=this.age()}_useStaleIfError(){return this.maxAge()+toNumberOrZero(this._rescc["stale-if-error"])>this.age()}useStaleWhileRevalidate(){return this.maxAge()+toNumberOrZero(this._rescc["stale-while-revalidate"])>this.age()}static fromObject(obj){return new this(void 0,void 0,{_fromObject:obj})}_fromObject(obj){if(this._responseTime)throw Error("Reinitialized");if(!obj||obj.v!==1)throw Error("Invalid serialization");this._responseTime=obj.t,this._isShared=obj.sh,this._cacheHeuristic=obj.ch,this._immutableMinTtl=obj.imm!==void 0?obj.imm:24*3600*1e3,this._status=obj.st,this._resHeaders=obj.resh,this._rescc=obj.rescc,this._method=obj.m,this._url=obj.u,this._host=obj.h,this._noAuthorization=obj.a,this._reqHeaders=obj.reqh,this._reqcc=obj.reqcc;}toObject(){return {v:1,t:this._responseTime,sh:this._isShared,ch:this._cacheHeuristic,imm:this._immutableMinTtl,st:this._status,resh:this._resHeaders,rescc:this._rescc,m:this._method,u:this._url,h:this._host,a:this._noAuthorization,reqh:this._reqHeaders,reqcc:this._reqcc}}revalidationHeaders(incomingReq){this._assertRequestHasHeaders(incomingReq);let headers=this._copyWithoutHopByHopHeaders(incomingReq.headers);if(delete headers["if-range"],!this._requestMatches(incomingReq,!0)||!this.storable())return delete headers["if-none-match"],delete headers["if-modified-since"],headers;if(this._resHeaders.etag&&(headers["if-none-match"]=headers["if-none-match"]?`${headers["if-none-match"]}, ${this._resHeaders.etag}`:this._resHeaders.etag),headers["accept-ranges"]||headers["if-match"]||headers["if-unmodified-since"]||this._method&&this._method!="GET"){if(delete headers["if-modified-since"],headers["if-none-match"]){let etags=headers["if-none-match"].split(/,/).filter(etag=>!/^\s*W\//.test(etag));etags.length?headers["if-none-match"]=etags.join(",").trim():delete headers["if-none-match"];}}else this._resHeaders["last-modified"]&&!headers["if-modified-since"]&&(headers["if-modified-since"]=this._resHeaders["last-modified"]);return headers}revalidatedPolicy(request,response){if(this._assertRequestHasHeaders(request),this._useStaleIfError()&&isErrorResponse(response))return {modified:!1,matches:!1,policy:this};if(!response||!response.headers)throw Error("Response headers missing");let matches=!1;if(response.status!==void 0&&response.status!=304?matches=!1:response.headers.etag&&!/^\s*W\//.test(response.headers.etag)?matches=this._resHeaders.etag&&this._resHeaders.etag.replace(/^\s*W\//,"")===response.headers.etag:this._resHeaders.etag&&response.headers.etag?matches=this._resHeaders.etag.replace(/^\s*W\//,"")===response.headers.etag.replace(/^\s*W\//,""):this._resHeaders["last-modified"]?matches=this._resHeaders["last-modified"]===response.headers["last-modified"]:!this._resHeaders.etag&&!this._resHeaders["last-modified"]&&!response.headers.etag&&!response.headers["last-modified"]&&(matches=!0),!matches)return {policy:new this.constructor(request,response),modified:response.status!=304,matches:!1};let headers={};for(let k in this._resHeaders)headers[k]=k in response.headers&&!excludedFromRevalidationUpdate[k]?response.headers[k]:this._resHeaders[k];let newResponse=Object.assign({},response,{status:this._status,method:this._method,headers});return {policy:new this.constructor(request,newResponse,{shared:this._isShared,cacheHeuristic:this._cacheHeuristic,immutableMinTimeToLive:this._immutableMinTtl}),modified:!1,matches:!0}}};}}),require_json_buffer=__commonJS2({"node_modules/.pnpm/json-buffer@3.0.1/node_modules/json-buffer/index.js"(exports){exports.stringify=function stringify(o){if(typeof o>"u")return o;if(o&&Buffer.isBuffer(o))return JSON.stringify(":base64:"+o.toString("base64"));if(o&&o.toJSON&&(o=o.toJSON()),o&&typeof o=="object"){var s="",array=Array.isArray(o);s=array?"[":"{";var first=!0;for(var k in o){var ignore=typeof o[k]=="function"||!array&&typeof o[k]>"u";Object.hasOwnProperty.call(o,k)&&!ignore&&(first||(s+=","),first=!1,array?o[k]==null?s+="null":s+=stringify(o[k]):o[k]!==void 0&&(s+=stringify(k)+":"+stringify(o[k])));}return s+=array?"]":"}",s}else return typeof o=="string"?JSON.stringify(/^:/.test(o)?":"+o:o):typeof o>"u"?"null":JSON.stringify(o)},exports.parse=function(s){return JSON.parse(s,function(key,value){return typeof value=="string"?/^:base64:/.test(value)?Buffer.from(value.substring(8),"base64"):/^:/.test(value)?value.substring(1):value:value})};}}),require_src=__commonJS2({"node_modules/.pnpm/keyv@4.5.2/node_modules/keyv/src/index.js"(exports,module){var EventEmitter32=__require2("events"),JSONB=require_json_buffer(),loadStore=options=>{let adapters={redis:"@keyv/redis",rediss:"@keyv/redis",mongodb:"@keyv/mongo",mongo:"@keyv/mongo",sqlite:"@keyv/sqlite",postgresql:"@keyv/postgres",postgres:"@keyv/postgres",mysql:"@keyv/mysql",etcd:"@keyv/etcd",offline:"@keyv/offline",tiered:"@keyv/tiered"};if(options.adapter||options.uri){let adapter=options.adapter||/^[^:+]*/.exec(options.uri)[0];return new(__require2(adapters[adapter]))(options)}return new Map},iterableAdapters=["sqlite","postgres","mysql","mongo","redis","tiered"],Keyv2=class extends EventEmitter32{constructor(uri,{emitErrors=!0,...options}={}){if(super(),this.opts={namespace:"keyv",serialize:JSONB.stringify,deserialize:JSONB.parse,...typeof uri=="string"?{uri}:uri,...options},!this.opts.store){let adapterOptions={...this.opts};this.opts.store=loadStore(adapterOptions);}if(this.opts.compression){let compression=this.opts.compression;this.opts.serialize=compression.serialize.bind(compression),this.opts.deserialize=compression.deserialize.bind(compression);}typeof this.opts.store.on=="function"&&emitErrors&&this.opts.store.on("error",error=>this.emit("error",error)),this.opts.store.namespace=this.opts.namespace;let generateIterator=iterator=>async function*(){for await(let[key,raw]of typeof iterator=="function"?iterator(this.opts.store.namespace):iterator){let data=this.opts.deserialize(raw);if(!(this.opts.store.namespace&&!key.includes(this.opts.store.namespace))){if(typeof data.expires=="number"&&Date.now()>data.expires){this.delete(key);continue}yield [this._getKeyUnprefix(key),data.value];}}};typeof this.opts.store[Symbol.iterator]=="function"&&this.opts.store instanceof Map?this.iterator=generateIterator(this.opts.store):typeof this.opts.store.iterator=="function"&&this.opts.store.opts&&this._checkIterableAdaptar()&&(this.iterator=generateIterator(this.opts.store.iterator.bind(this.opts.store)));}_checkIterableAdaptar(){return iterableAdapters.includes(this.opts.store.opts.dialect)||iterableAdapters.findIndex(element=>this.opts.store.opts.url.includes(element))>=0}_getKeyPrefix(key){return `${this.opts.namespace}:${key}`}_getKeyPrefixArray(keys){return keys.map(key=>`${this.opts.namespace}:${key}`)}_getKeyUnprefix(key){return key.split(":").splice(1).join(":")}get(key,options){let{store}=this.opts,isArray=Array.isArray(key),keyPrefixed=isArray?this._getKeyPrefixArray(key):this._getKeyPrefix(key);if(isArray&&store.getMany===void 0){let promises=[];for(let key2 of keyPrefixed)promises.push(Promise.resolve().then(()=>store.get(key2)).then(data=>typeof data=="string"?this.opts.deserialize(data):this.opts.compression?this.opts.deserialize(data):data).then(data=>{if(data!=null)return typeof data.expires=="number"&&Date.now()>data.expires?this.delete(key2).then(()=>{}):options&&options.raw?data:data.value}));return Promise.allSettled(promises).then(values=>{let data=[];for(let value of values)data.push(value.value);return data})}return Promise.resolve().then(()=>isArray?store.getMany(keyPrefixed):store.get(keyPrefixed)).then(data=>typeof data=="string"?this.opts.deserialize(data):this.opts.compression?this.opts.deserialize(data):data).then(data=>{if(data!=null){if(isArray){let result=[];for(let row of data){if(typeof row=="string"&&(row=this.opts.deserialize(row)),row==null){result.push(void 0);continue}typeof row.expires=="number"&&Date.now()>row.expires?(this.delete(key).then(()=>{}),result.push(void 0)):result.push(options&&options.raw?row:row.value);}return result}return typeof data.expires=="number"&&Date.now()>data.expires?this.delete(key).then(()=>{}):options&&options.raw?data:data.value}})}set(key,value,ttl2){let keyPrefixed=this._getKeyPrefix(key);typeof ttl2>"u"&&(ttl2=this.opts.ttl),ttl2===0&&(ttl2=void 0);let{store}=this.opts;return Promise.resolve().then(()=>{let expires=typeof ttl2=="number"?Date.now()+ttl2:null;return typeof value=="symbol"&&this.emit("error","symbol cannot be serialized"),value={value,expires},this.opts.serialize(value)}).then(value2=>store.set(keyPrefixed,value2,ttl2)).then(()=>!0)}delete(key){let{store}=this.opts;if(Array.isArray(key)){let keyPrefixed2=this._getKeyPrefixArray(key);if(store.deleteMany===void 0){let promises=[];for(let key2 of keyPrefixed2)promises.push(store.delete(key2));return Promise.allSettled(promises).then(values=>values.every(x=>x.value===!0))}return Promise.resolve().then(()=>store.deleteMany(keyPrefixed2))}let keyPrefixed=this._getKeyPrefix(key);return Promise.resolve().then(()=>store.delete(keyPrefixed))}clear(){let{store}=this.opts;return Promise.resolve().then(()=>store.clear())}has(key){let keyPrefixed=this._getKeyPrefix(key),{store}=this.opts;return Promise.resolve().then(async()=>typeof store.has=="function"?store.has(keyPrefixed):await store.get(keyPrefixed)!==void 0)}disconnect(){let{store}=this.opts;if(typeof store.disconnect=="function")return store.disconnect()}};module.exports=Keyv2;}}),require_mimic_response=__commonJS2({"node_modules/.pnpm/mimic-response@3.1.0/node_modules/mimic-response/index.js"(exports,module){var knownProperties2=["aborted","complete","headers","httpVersion","httpVersionMinor","httpVersionMajor","method","rawHeaders","rawTrailers","setTimeout","socket","statusCode","statusMessage","trailers","url"];module.exports=(fromStream,toStream)=>{if(toStream._readableState.autoDestroy)throw new Error("The second stream must have the `autoDestroy` option set to `false`");let fromProperties=new Set(Object.keys(fromStream).concat(knownProperties2)),properties={};for(let property of fromProperties)property in toStream||(properties[property]={get(){let value=fromStream[property];return typeof value=="function"?value.bind(fromStream):value},set(value){fromStream[property]=value;},enumerable:!0,configurable:!1});return Object.defineProperties(toStream,properties),fromStream.once("aborted",()=>{toStream.destroy(),toStream.emit("aborted");}),fromStream.once("close",()=>{fromStream.complete&&toStream.readable?toStream.once("end",()=>{toStream.emit("close");}):toStream.emit("close");}),toStream};}}),require_decompress_response=__commonJS2({"node_modules/.pnpm/decompress-response@6.0.0/node_modules/decompress-response/index.js"(exports,module){var{Transform,PassThrough}=__require2("stream"),zlib=__require2("zlib"),mimicResponse2=require_mimic_response();module.exports=response=>{let contentEncoding=(response.headers["content-encoding"]||"").toLowerCase();if(!["gzip","deflate","br"].includes(contentEncoding))return response;let isBrotli=contentEncoding==="br";if(isBrotli&&typeof zlib.createBrotliDecompress!="function")return response.destroy(new Error("Brotli is not supported on Node.js < 12")),response;let isEmpty=!0,checker=new Transform({transform(data,_encoding,callback){isEmpty=!1,callback(null,data);},flush(callback){callback();}}),finalStream=new PassThrough({autoDestroy:!1,destroy(error,callback){response.destroy(),callback(error);}}),decompressStream=isBrotli?zlib.createBrotliDecompress():zlib.createUnzip();return decompressStream.once("error",error=>{if(isEmpty&&!response.readable){finalStream.end();return}finalStream.destroy(error);}),mimicResponse2(response,finalStream),response.pipe(checker).pipe(decompressStream).pipe(finalStream),finalStream};}}),require_quick_lru=__commonJS2({"node_modules/.pnpm/quick-lru@5.1.1/node_modules/quick-lru/index.js"(exports,module){var QuickLRU=class{constructor(options={}){if(!(options.maxSize&&options.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");this.maxSize=options.maxSize,this.onEviction=options.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0;}_set(key,value){if(this.cache.set(key,value),this._size++,this._size>=this.maxSize){if(this._size=0,typeof this.onEviction=="function")for(let[key2,value2]of this.oldCache.entries())this.onEviction(key2,value2);this.oldCache=this.cache,this.cache=new Map;}}get(key){if(this.cache.has(key))return this.cache.get(key);if(this.oldCache.has(key)){let value=this.oldCache.get(key);return this.oldCache.delete(key),this._set(key,value),value}}set(key,value){return this.cache.has(key)?this.cache.set(key,value):this._set(key,value),this}has(key){return this.cache.has(key)||this.oldCache.has(key)}peek(key){if(this.cache.has(key))return this.cache.get(key);if(this.oldCache.has(key))return this.oldCache.get(key)}delete(key){let deleted=this.cache.delete(key);return deleted&&this._size--,this.oldCache.delete(key)||deleted}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0;}*keys(){for(let[key]of this)yield key;}*values(){for(let[,value]of this)yield value;}*[Symbol.iterator](){for(let item of this.cache)yield item;for(let item of this.oldCache){let[key]=item;this.cache.has(key)||(yield item);}}get size(){let oldCacheSize=0;for(let key of this.oldCache.keys())this.cache.has(key)||oldCacheSize++;return Math.min(this._size+oldCacheSize,this.maxSize)}};module.exports=QuickLRU;}}),require_delay_async_destroy=__commonJS2({"node_modules/.pnpm/http2-wrapper@2.2.0/node_modules/http2-wrapper/source/utils/delay-async-destroy.js"(exports,module){module.exports=stream22=>{if(stream22.listenerCount("error")!==0)return stream22;stream22.__destroy=stream22._destroy,stream22._destroy=(...args)=>{let callback=args.pop();stream22.__destroy(...args,async error=>{await Promise.resolve(),callback(error);});};let onError=error=>{Promise.resolve().then(()=>{stream22.emit("error",error);});};return stream22.once("error",onError),Promise.resolve().then(()=>{stream22.off("error",onError);}),stream22};}}),require_agent=__commonJS2({"node_modules/.pnpm/http2-wrapper@2.2.0/node_modules/http2-wrapper/source/agent.js"(exports,module){var{URL:URL4}=__require2("url"),EventEmitter32=__require2("events"),tls=__require2("tls"),http22=__require2("http2"),QuickLRU=require_quick_lru(),delayAsyncDestroy=require_delay_async_destroy(),kCurrentStreamCount=Symbol("currentStreamCount"),kRequest=Symbol("request"),kOriginSet=Symbol("cachedOriginSet"),kGracefullyClosing=Symbol("gracefullyClosing"),kLength=Symbol("length"),nameKeys=["createConnection","maxDeflateDynamicTableSize","maxSettings","maxSessionMemory","maxHeaderListPairs","maxOutstandingPings","maxReservedRemoteStreams","maxSendHeaderBlockLength","paddingStrategy","peerMaxConcurrentStreams","settings","family","localAddress","rejectUnauthorized","pskCallback","minDHSize","path","socket","ca","cert","sigalgs","ciphers","clientCertEngine","crl","dhparam","ecdhCurve","honorCipherOrder","key","privateKeyEngine","privateKeyIdentifier","maxVersion","minVersion","pfx","secureOptions","secureProtocol","sessionIdContext","ticketKeys"],getSortedIndex=(array,value,compare)=>{let low=0,high=array.length;for(;low<high;){let mid=low+high>>>1;compare(array[mid],value)?low=mid+1:high=mid;}return low},compareSessions=(a,b)=>a.remoteSettings.maxConcurrentStreams>b.remoteSettings.maxConcurrentStreams,closeCoveredSessions=(where,session)=>{for(let index=0;index<where.length;index++){let coveredSession=where[index];coveredSession[kOriginSet].length>0&&coveredSession[kOriginSet].length<session[kOriginSet].length&&coveredSession[kOriginSet].every(origin=>session[kOriginSet].includes(origin))&&coveredSession[kCurrentStreamCount]+session[kCurrentStreamCount]<=session.remoteSettings.maxConcurrentStreams&&gracefullyClose(coveredSession);}},closeSessionIfCovered=(where,coveredSession)=>{for(let index=0;index<where.length;index++){let session=where[index];if(coveredSession[kOriginSet].length>0&&coveredSession[kOriginSet].length<session[kOriginSet].length&&coveredSession[kOriginSet].every(origin=>session[kOriginSet].includes(origin))&&coveredSession[kCurrentStreamCount]+session[kCurrentStreamCount]<=session.remoteSettings.maxConcurrentStreams)return gracefullyClose(coveredSession),!0}return !1},gracefullyClose=session=>{session[kGracefullyClosing]=!0,session[kCurrentStreamCount]===0&&session.close();},Agent=class extends EventEmitter32{constructor({timeout=0,maxSessions=Number.POSITIVE_INFINITY,maxEmptySessions=10,maxCachedTlsSessions=100}={}){super(),this.sessions={},this.queue={},this.timeout=timeout,this.maxSessions=maxSessions,this.maxEmptySessions=maxEmptySessions,this._emptySessionCount=0,this._sessionCount=0,this.settings={enablePush:!1,initialWindowSize:1024*1024*32},this.tlsSessionCache=new QuickLRU({maxSize:maxCachedTlsSessions});}get protocol(){return "https:"}normalizeOptions(options){let normalized="";for(let index=0;index<nameKeys.length;index++){let key=nameKeys[index];normalized+=":",options&&options[key]!==void 0&&(normalized+=options[key]);}return normalized}_processQueue(){if(this._sessionCount>=this.maxSessions){this.closeEmptySessions(this.maxSessions-this._sessionCount+1);return}for(let normalizedOptions in this.queue)for(let normalizedOrigin in this.queue[normalizedOptions]){let item=this.queue[normalizedOptions][normalizedOrigin];item.completed||(item.completed=!0,item());}}_isBetterSession(thisStreamCount,thatStreamCount){return thisStreamCount>thatStreamCount}_accept(session,listeners,normalizedOrigin,options){let index=0;for(;index<listeners.length&&session[kCurrentStreamCount]<session.remoteSettings.maxConcurrentStreams;)listeners[index].resolve(session),index++;listeners.splice(0,index),listeners.length>0&&(this.getSession(normalizedOrigin,options,listeners),listeners.length=0);}getSession(origin,options,listeners){return new Promise((resolve2,reject)=>{Array.isArray(listeners)&&listeners.length>0?(listeners=[...listeners],resolve2()):listeners=[{resolve:resolve2,reject}];try{if(typeof origin=="string")origin=new URL4(origin);else if(!(origin instanceof URL4))throw new TypeError("The `origin` argument needs to be a string or an URL object");if(options){let{servername}=options,{hostname}=origin;if(servername&&hostname!==servername)throw new Error(`Origin ${hostname} differs from servername ${servername}`)}}catch(error){for(let index=0;index<listeners.length;index++)listeners[index].reject(error);return}let normalizedOptions=this.normalizeOptions(options),normalizedOrigin=origin.origin;if(normalizedOptions in this.sessions){let sessions=this.sessions[normalizedOptions],maxConcurrentStreams=-1,currentStreamsCount=-1,optimalSession;for(let index=0;index<sessions.length;index++){let session=sessions[index],sessionMaxConcurrentStreams=session.remoteSettings.maxConcurrentStreams;if(sessionMaxConcurrentStreams<maxConcurrentStreams)break;if(!session[kOriginSet].includes(normalizedOrigin))continue;let sessionCurrentStreamsCount=session[kCurrentStreamCount];sessionCurrentStreamsCount>=sessionMaxConcurrentStreams||session[kGracefullyClosing]||session.destroyed||(optimalSession||(maxConcurrentStreams=sessionMaxConcurrentStreams),this._isBetterSession(sessionCurrentStreamsCount,currentStreamsCount)&&(optimalSession=session,currentStreamsCount=sessionCurrentStreamsCount));}if(optimalSession){this._accept(optimalSession,listeners,normalizedOrigin,options);return}}if(normalizedOptions in this.queue){if(normalizedOrigin in this.queue[normalizedOptions]){this.queue[normalizedOptions][normalizedOrigin].listeners.push(...listeners);return}}else this.queue[normalizedOptions]={[kLength]:0};let removeFromQueue=()=>{normalizedOptions in this.queue&&this.queue[normalizedOptions][normalizedOrigin]===entry&&(delete this.queue[normalizedOptions][normalizedOrigin],--this.queue[normalizedOptions][kLength]===0&&delete this.queue[normalizedOptions]);},entry=async()=>{this._sessionCount++;let name=`${normalizedOrigin}:${normalizedOptions}`,receivedSettings=!1,socket;try{let computedOptions={...options};computedOptions.settings===void 0&&(computedOptions.settings=this.settings),computedOptions.session===void 0&&(computedOptions.session=this.tlsSessionCache.get(name)),socket=await(computedOptions.createConnection||this.createConnection).call(this,origin,computedOptions),computedOptions.createConnection=()=>socket;let session=http22.connect(origin,computedOptions);session[kCurrentStreamCount]=0,session[kGracefullyClosing]=!1;let getOriginSet=()=>{let{socket:socket2}=session,originSet;return socket2.servername===!1?(socket2.servername=socket2.remoteAddress,originSet=session.originSet,socket2.servername=!1):originSet=session.originSet,originSet},isFree=()=>session[kCurrentStreamCount]<session.remoteSettings.maxConcurrentStreams;session.socket.once("session",tlsSession=>{this.tlsSessionCache.set(name,tlsSession);}),session.once("error",error=>{for(let index=0;index<listeners.length;index++)listeners[index].reject(error);this.tlsSessionCache.delete(name);}),session.setTimeout(this.timeout,()=>{session.destroy();}),session.once("close",()=>{if(this._sessionCount--,receivedSettings){this._emptySessionCount--;let where=this.sessions[normalizedOptions];where.length===1?delete this.sessions[normalizedOptions]:where.splice(where.indexOf(session),1);}else {removeFromQueue();let error=new Error("Session closed without receiving a SETTINGS frame");error.code="HTTP2WRAPPER_NOSETTINGS";for(let index=0;index<listeners.length;index++)listeners[index].reject(error);}this._processQueue();});let processListeners=()=>{let queue=this.queue[normalizedOptions];if(!queue)return;let originSet=session[kOriginSet];for(let index=0;index<originSet.length;index++){let origin2=originSet[index];if(origin2 in queue){let{listeners:listeners2,completed}=queue[origin2],index2=0;for(;index2<listeners2.length&&isFree();)listeners2[index2].resolve(session),index2++;if(queue[origin2].listeners.splice(0,index2),queue[origin2].listeners.length===0&&!completed&&(delete queue[origin2],--queue[kLength]===0)){delete this.queue[normalizedOptions];break}if(!isFree())break}}};session.on("origin",()=>{session[kOriginSet]=getOriginSet()||[],session[kGracefullyClosing]=!1,closeSessionIfCovered(this.sessions[normalizedOptions],session),!(session[kGracefullyClosing]||!isFree())&&(processListeners(),isFree()&&closeCoveredSessions(this.sessions[normalizedOptions],session));}),session.once("remoteSettings",()=>{if(entry.destroyed){let error=new Error("Agent has been destroyed");for(let index=0;index<listeners.length;index++)listeners[index].reject(error);session.destroy();return}if(session.setLocalWindowSize&&session.setLocalWindowSize(1024*1024*4),session[kOriginSet]=getOriginSet()||[],session.socket.encrypted){let mainOrigin=session[kOriginSet][0];if(mainOrigin!==normalizedOrigin){let error=new Error(`Requested origin ${normalizedOrigin} does not match server ${mainOrigin}`);for(let index=0;index<listeners.length;index++)listeners[index].reject(error);session.destroy();return}}removeFromQueue();{let where=this.sessions;if(normalizedOptions in where){let sessions=where[normalizedOptions];sessions.splice(getSortedIndex(sessions,session,compareSessions),0,session);}else where[normalizedOptions]=[session];}receivedSettings=!0,this._emptySessionCount++,this.emit("session",session),this._accept(session,listeners,normalizedOrigin,options),session[kCurrentStreamCount]===0&&this._emptySessionCount>this.maxEmptySessions&&this.closeEmptySessions(this._emptySessionCount-this.maxEmptySessions),session.on("remoteSettings",()=>{isFree()&&(processListeners(),isFree()&&closeCoveredSessions(this.sessions[normalizedOptions],session));});}),session[kRequest]=session.request,session.request=(headers,streamOptions)=>{if(session[kGracefullyClosing])throw new Error("The session is gracefully closing. No new streams are allowed.");let stream22=session[kRequest](headers,streamOptions);return session.ref(),session[kCurrentStreamCount]++===0&&this._emptySessionCount--,stream22.once("close",()=>{if(--session[kCurrentStreamCount]===0&&(this._emptySessionCount++,session.unref(),this._emptySessionCount>this.maxEmptySessions||session[kGracefullyClosing])){session.close();return}session.destroyed||session.closed||isFree()&&!closeSessionIfCovered(this.sessions[normalizedOptions],session)&&(closeCoveredSessions(this.sessions[normalizedOptions],session),processListeners(),session[kCurrentStreamCount]===0&&this._processQueue());}),stream22};}catch(error){removeFromQueue(),this._sessionCount--;for(let index=0;index<listeners.length;index++)listeners[index].reject(error);}};entry.listeners=listeners,entry.completed=!1,entry.destroyed=!1,this.queue[normalizedOptions][normalizedOrigin]=entry,this.queue[normalizedOptions][kLength]++,this._processQueue();})}request(origin,options,headers,streamOptions){return new Promise((resolve2,reject)=>{this.getSession(origin,options,[{reject,resolve:session=>{try{let stream22=session.request(headers,streamOptions);delayAsyncDestroy(stream22),resolve2(stream22);}catch(error){reject(error);}}}]);})}async createConnection(origin,options){return Agent.connect(origin,options)}static connect(origin,options){options.ALPNProtocols=["h2"];let port=origin.port||443,host=origin.hostname;typeof options.servername>"u"&&(options.servername=host);let socket=tls.connect(port,host,options);return options.socket&&(socket._peername={family:void 0,address:void 0,port}),socket}closeEmptySessions(maxCount=Number.POSITIVE_INFINITY){let closedCount=0,{sessions}=this;for(let key in sessions){let thisSessions=sessions[key];for(let index=0;index<thisSessions.length;index++){let session=thisSessions[index];if(session[kCurrentStreamCount]===0&&(closedCount++,session.close(),closedCount>=maxCount))return closedCount}}return closedCount}destroy(reason){let{sessions,queue}=this;for(let key in sessions){let thisSessions=sessions[key];for(let index=0;index<thisSessions.length;index++)thisSessions[index].destroy(reason);}for(let normalizedOptions in queue){let entries2=queue[normalizedOptions];for(let normalizedOrigin in entries2)entries2[normalizedOrigin].destroyed=!0;}this.queue={},this.tlsSessionCache.clear();}get emptySessionCount(){return this._emptySessionCount}get pendingSessionCount(){return this._sessionCount-this._emptySessionCount}get sessionCount(){return this._sessionCount}};Agent.kCurrentStreamCount=kCurrentStreamCount,Agent.kGracefullyClosing=kGracefullyClosing,module.exports={Agent,globalAgent:new Agent};}}),require_incoming_message=__commonJS2({"node_modules/.pnpm/http2-wrapper@2.2.0/node_modules/http2-wrapper/source/incoming-message.js"(exports,module){var{Readable}=__require2("stream"),IncomingMessage=class extends Readable{constructor(socket,highWaterMark){super({emitClose:!1,autoDestroy:!0,highWaterMark}),this.statusCode=null,this.statusMessage="",this.httpVersion="2.0",this.httpVersionMajor=2,this.httpVersionMinor=0,this.headers={},this.trailers={},this.req=null,this.aborted=!1,this.complete=!1,this.upgrade=null,this.rawHeaders=[],this.rawTrailers=[],this.socket=socket,this._dumped=!1;}get connection(){return this.socket}set connection(value){this.socket=value;}_destroy(error,callback){this.readableEnded||(this.aborted=!0),callback(),this.req._request.destroy(error);}setTimeout(ms,callback){return this.req.setTimeout(ms,callback),this}_dump(){this._dumped||(this._dumped=!0,this.removeAllListeners("data"),this.resume());}_read(){this.req&&this.req._request.resume();}};module.exports=IncomingMessage;}}),require_proxy_events=__commonJS2({"node_modules/.pnpm/http2-wrapper@2.2.0/node_modules/http2-wrapper/source/utils/proxy-events.js"(exports,module){module.exports=(from,to,events)=>{for(let event of events)from.on(event,(...args)=>to.emit(event,...args));};}}),require_errors2=__commonJS2({"node_modules/.pnpm/http2-wrapper@2.2.0/node_modules/http2-wrapper/source/utils/errors.js"(exports,module){var makeError=(Base,key,getMessage)=>{module.exports[key]=class extends Base{constructor(...args){super(typeof getMessage=="string"?getMessage:getMessage(args)),this.name=`${super.name} [${key}]`,this.code=key;}};};makeError(TypeError,"ERR_INVALID_ARG_TYPE",args=>{let type=args[0].includes(".")?"property":"argument",valid=args[1],isManyTypes=Array.isArray(valid);return isManyTypes&&(valid=`${valid.slice(0,-1).join(", ")} or ${valid.slice(-1)}`),`The "${args[0]}" ${type} must be ${isManyTypes?"one of":"of"} type ${valid}. Received ${typeof args[2]}`}),makeError(TypeError,"ERR_INVALID_PROTOCOL",args=>`Protocol "${args[0]}" not supported. Expected "${args[1]}"`),makeError(Error,"ERR_HTTP_HEADERS_SENT",args=>`Cannot ${args[0]} headers after they are sent to the client`),makeError(TypeError,"ERR_INVALID_HTTP_TOKEN",args=>`${args[0]} must be a valid HTTP token [${args[1]}]`),makeError(TypeError,"ERR_HTTP_INVALID_HEADER_VALUE",args=>`Invalid value "${args[0]} for header "${args[1]}"`),makeError(TypeError,"ERR_INVALID_CHAR",args=>`Invalid character in ${args[0]} [${args[1]}]`),makeError(Error,"ERR_HTTP2_NO_SOCKET_MANIPULATION","HTTP/2 sockets should not be directly manipulated (e.g. read and written)");}}),require_is_request_pseudo_header=__commonJS2({"node_modules/.pnpm/http2-wrapper@2.2.0/node_modules/http2-wrapper/source/utils/is-request-pseudo-header.js"(exports,module){module.exports=header=>{switch(header){case":method":case":scheme":case":authority":case":path":return !0;default:return !1}};}}),require_validate_header_name=__commonJS2({"node_modules/.pnpm/http2-wrapper@2.2.0/node_modules/http2-wrapper/source/utils/validate-header-name.js"(exports,module){var{ERR_INVALID_HTTP_TOKEN}=require_errors2(),isRequestPseudoHeader=require_is_request_pseudo_header(),isValidHttpToken=/^[\^`\-\w!#$%&*+.|~]+$/;module.exports=name=>{if(typeof name!="string"||!isValidHttpToken.test(name)&&!isRequestPseudoHeader(name))throw new ERR_INVALID_HTTP_TOKEN("Header name",name)};}}),require_validate_header_value=__commonJS2({"node_modules/.pnpm/http2-wrapper@2.2.0/node_modules/http2-wrapper/source/utils/validate-header-value.js"(exports,module){var{ERR_HTTP_INVALID_HEADER_VALUE,ERR_INVALID_CHAR}=require_errors2(),isInvalidHeaderValue=/[^\t\u0020-\u007E\u0080-\u00FF]/;module.exports=(name,value)=>{if(typeof value>"u")throw new ERR_HTTP_INVALID_HEADER_VALUE(value,name);if(isInvalidHeaderValue.test(value))throw new ERR_INVALID_CHAR("header content",name)};}}),require_proxy_socket_handler=__commonJS2({"node_modules/.pnpm/http2-wrapper@2.2.0/node_modules/http2-wrapper/source/utils/proxy-socket-handler.js"(exports,module){var{ERR_HTTP2_NO_SOCKET_MANIPULATION}=require_errors2(),proxySocketHandler={has(stream22,property){let reference=stream22.session===void 0?stream22:stream22.session.socket;return property in stream22||property in reference},get(stream22,property){switch(property){case"on":case"once":case"end":case"emit":case"destroy":return stream22[property].bind(stream22);case"writable":case"destroyed":return stream22[property];case"readable":return stream22.destroyed?!1:stream22.readable;case"setTimeout":{let{session}=stream22;return session!==void 0?session.setTimeout.bind(session):stream22.setTimeout.bind(stream22)}case"write":case"read":case"pause":case"resume":throw new ERR_HTTP2_NO_SOCKET_MANIPULATION;default:{let reference=stream22.session===void 0?stream22:stream22.session.socket,value=reference[property];return typeof value=="function"?value.bind(reference):value}}},getPrototypeOf(stream22){return stream22.session!==void 0?Reflect.getPrototypeOf(stream22.session.socket):Reflect.getPrototypeOf(stream22)},set(stream22,property,value){switch(property){case"writable":case"readable":case"destroyed":case"on":case"once":case"end":case"emit":case"destroy":return stream22[property]=value,!0;case"setTimeout":{let{session}=stream22;return session===void 0?stream22.setTimeout=value:session.setTimeout=value,!0}case"write":case"read":case"pause":case"resume":throw new ERR_HTTP2_NO_SOCKET_MANIPULATION;default:{let reference=stream22.session===void 0?stream22:stream22.session.socket;return reference[property]=value,!0}}}};module.exports=proxySocketHandler;}}),require_client_request=__commonJS2({"node_modules/.pnpm/http2-wrapper@2.2.0/node_modules/http2-wrapper/source/client-request.js"(exports,module){var{URL:URL4,urlToHttpOptions}=__require2("url"),http22=__require2("http2"),{Writable}=__require2("stream"),{Agent,globalAgent}=require_agent(),IncomingMessage=require_incoming_message(),proxyEvents2=require_proxy_events(),{ERR_INVALID_ARG_TYPE,ERR_INVALID_PROTOCOL,ERR_HTTP_HEADERS_SENT}=require_errors2(),validateHeaderName=require_validate_header_name(),validateHeaderValue=require_validate_header_value(),proxySocketHandler=require_proxy_socket_handler(),{HTTP2_HEADER_STATUS,HTTP2_HEADER_METHOD,HTTP2_HEADER_PATH,HTTP2_HEADER_AUTHORITY,HTTP2_METHOD_CONNECT}=http22.constants,kHeaders=Symbol("headers"),kOrigin=Symbol("origin"),kSession=Symbol("session"),kOptions=Symbol("options"),kFlushedHeaders=Symbol("flushedHeaders"),kJobs=Symbol("jobs"),kPendingAgentPromise=Symbol("pendingAgentPromise"),ClientRequest=class extends Writable{constructor(input,options,callback){if(super({autoDestroy:!1,emitClose:!1}),typeof input=="string"?input=urlToHttpOptions(new URL4(input)):input instanceof URL4?input=urlToHttpOptions(input):input={...input},typeof options=="function"||options===void 0?(callback=options,options=input):options=Object.assign(input,options),options.h2session){if(this[kSession]=options.h2session,this[kSession].destroyed)throw new Error("The session has been closed already");this.protocol=this[kSession].socket.encrypted?"https:":"http:";}else if(options.agent===!1)this.agent=new Agent({maxEmptySessions:0});else if(typeof options.agent>"u"||options.agent===null)this.agent=globalAgent;else if(typeof options.agent.request=="function")this.agent=options.agent;else throw new ERR_INVALID_ARG_TYPE("options.agent",["http2wrapper.Agent-like Object","undefined","false"],options.agent);if(this.agent&&(this.protocol=this.agent.protocol),options.protocol&&options.protocol!==this.protocol)throw new ERR_INVALID_PROTOCOL(options.protocol,this.protocol);options.port||(options.port=options.defaultPort||this.agent&&this.agent.defaultPort||443),options.host=options.hostname||options.host||"localhost",delete options.hostname;let{timeout}=options;options.timeout=void 0,this[kHeaders]=Object.create(null),this[kJobs]=[],this[kPendingAgentPromise]=void 0,this.socket=null,this.connection=null,this.method=options.method||"GET",this.method==="CONNECT"&&(options.path==="/"||options.path===void 0)||(this.path=options.path),this.res=null,this.aborted=!1,this.reusedSocket=!1;let{headers}=options;if(headers)for(let header in headers)this.setHeader(header,headers[header]);options.auth&&!("authorization"in this[kHeaders])&&(this[kHeaders].authorization="Basic "+Buffer.from(options.auth).toString("base64")),options.session=options.tlsSession,options.path=options.socketPath,this[kOptions]=options,this[kOrigin]=new URL4(`${this.protocol}//${options.servername||options.host}:${options.port}`);let reuseSocket=options._reuseSocket;reuseSocket&&(options.createConnection=(...args)=>reuseSocket.destroyed?this.agent.createConnection(...args):reuseSocket,this.agent.getSession(this[kOrigin],this[kOptions]).catch(()=>{})),timeout&&this.setTimeout(timeout),callback&&this.once("response",callback),this[kFlushedHeaders]=!1;}get method(){return this[kHeaders][HTTP2_HEADER_METHOD]}set method(value){value&&(this[kHeaders][HTTP2_HEADER_METHOD]=value.toUpperCase());}get path(){let header=this.method==="CONNECT"?HTTP2_HEADER_AUTHORITY:HTTP2_HEADER_PATH;return this[kHeaders][header]}set path(value){if(value){let header=this.method==="CONNECT"?HTTP2_HEADER_AUTHORITY:HTTP2_HEADER_PATH;this[kHeaders][header]=value;}}get host(){return this[kOrigin].hostname}set host(_value){}get _mustNotHaveABody(){return this.method==="GET"||this.method==="HEAD"||this.method==="DELETE"}_write(chunk,encoding,callback){if(this._mustNotHaveABody){callback(new Error("The GET, HEAD and DELETE methods must NOT have a body"));return}this.flushHeaders();let callWrite=()=>this._request.write(chunk,encoding,callback);this._request?callWrite():this[kJobs].push(callWrite);}_final(callback){this.flushHeaders();let callEnd=()=>{if(this._mustNotHaveABody||this.method==="CONNECT"){callback();return}this._request.end(callback);};this._request?callEnd():this[kJobs].push(callEnd);}abort(){this.res&&this.res.complete||(this.aborted||process.nextTick(()=>this.emit("abort")),this.aborted=!0,this.destroy());}async _destroy(error,callback){this.res&&this.res._dump(),this._request?this._request.destroy():process.nextTick(()=>{this.emit("close");});try{await this[kPendingAgentPromise];}catch(internalError){this.aborted&&(error=internalError);}callback(error);}async flushHeaders(){if(this[kFlushedHeaders]||this.destroyed)return;this[kFlushedHeaders]=!0;let isConnectMethod=this.method===HTTP2_METHOD_CONNECT,onStream=stream22=>{if(this._request=stream22,this.destroyed){stream22.destroy();return}isConnectMethod||proxyEvents2(stream22,this,["timeout","continue"]),stream22.once("error",error=>{this.destroy(error);}),stream22.once("aborted",()=>{let{res}=this;res?(res.aborted=!0,res.emit("aborted"),res.destroy()):this.destroy(new Error("The server aborted the HTTP/2 stream"));});let onResponse=(headers,flags,rawHeaders)=>{let response=new IncomingMessage(this.socket,stream22.readableHighWaterMark);this.res=response,response.url=`${this[kOrigin].origin}${this.path}`,response.req=this,response.statusCode=headers[HTTP2_HEADER_STATUS],response.headers=headers,response.rawHeaders=rawHeaders,response.once("end",()=>{response.complete=!0,response.socket=null,response.connection=null;}),isConnectMethod?(response.upgrade=!0,this.emit("connect",response,stream22,Buffer.alloc(0))?this.emit("close"):stream22.destroy()):(stream22.on("data",chunk=>{!response._dumped&&!response.push(chunk)&&stream22.pause();}),stream22.once("end",()=>{this.aborted||response.push(null);}),this.emit("response",response)||response._dump());};stream22.once("response",onResponse),stream22.once("headers",headers=>this.emit("information",{statusCode:headers[HTTP2_HEADER_STATUS]})),stream22.once("trailers",(trailers,flags,rawTrailers)=>{let{res}=this;if(res===null){onResponse(trailers,flags,rawTrailers);return}res.trailers=trailers,res.rawTrailers=rawTrailers;}),stream22.once("close",()=>{let{aborted,res}=this;if(res){aborted&&(res.aborted=!0,res.emit("aborted"),res.destroy());let finish=()=>{res.emit("close"),this.destroy(),this.emit("close");};res.readable?res.once("end",finish):finish();return}if(!this.destroyed){this.destroy(new Error("The HTTP/2 stream has been early terminated")),this.emit("close");return}this.destroy(),this.emit("close");}),this.socket=new Proxy(stream22,proxySocketHandler);for(let job of this[kJobs])job();this[kJobs].length=0,this.emit("socket",this.socket);};if(!(HTTP2_HEADER_AUTHORITY in this[kHeaders])&&!isConnectMethod&&(this[kHeaders][HTTP2_HEADER_AUTHORITY]=this[kOrigin].host),this[kSession])try{onStream(this[kSession].request(this[kHeaders]));}catch(error){this.destroy(error);}else {this.reusedSocket=!0;try{let promise=this.agent.request(this[kOrigin],this[kOptions],this[kHeaders]);this[kPendingAgentPromise]=promise,onStream(await promise),this[kPendingAgentPromise]=!1;}catch(error){this[kPendingAgentPromise]=!1,this.destroy(error);}}}get connection(){return this.socket}set connection(value){this.socket=value;}getHeaderNames(){return Object.keys(this[kHeaders])}hasHeader(name){if(typeof name!="string")throw new ERR_INVALID_ARG_TYPE("name","string",name);return !!this[kHeaders][name.toLowerCase()]}getHeader(name){if(typeof name!="string")throw new ERR_INVALID_ARG_TYPE("name","string",name);return this[kHeaders][name.toLowerCase()]}get headersSent(){return this[kFlushedHeaders]}removeHeader(name){if(typeof name!="string")throw new ERR_INVALID_ARG_TYPE("name","string",name);if(this.headersSent)throw new ERR_HTTP_HEADERS_SENT("remove");delete this[kHeaders][name.toLowerCase()];}setHeader(name,value){if(this.headersSent)throw new ERR_HTTP_HEADERS_SENT("set");validateHeaderName(name),validateHeaderValue(name,value);let lowercased=name.toLowerCase();if(lowercased==="connection"){if(value.toLowerCase()==="keep-alive")return;throw new Error(`Invalid 'connection' header: ${value}`)}lowercased==="host"&&this.method==="CONNECT"?this[kHeaders][HTTP2_HEADER_AUTHORITY]=value:this[kHeaders][lowercased]=value;}setNoDelay(){}setSocketKeepAlive(){}setTimeout(ms,callback){let applyTimeout=()=>this._request.setTimeout(ms,callback);return this._request?applyTimeout():this[kJobs].push(applyTimeout),this}get maxHeadersCount(){if(!this.destroyed&&this._request)return this._request.session.localSettings.maxHeaderListSize}set maxHeadersCount(_value){}};module.exports=ClientRequest;}}),require_resolve_alpn=__commonJS2({"node_modules/.pnpm/resolve-alpn@1.2.1/node_modules/resolve-alpn/index.js"(exports,module){var tls=__require2("tls");module.exports=(options={},connect=tls.connect)=>new Promise((resolve2,reject)=>{let timeout=!1,socket,callback=async()=>{await socketPromise,socket.off("timeout",onTimeout),socket.off("error",reject),options.resolveSocket?(resolve2({alpnProtocol:socket.alpnProtocol,socket,timeout}),timeout&&(await Promise.resolve(),socket.emit("timeout"))):(socket.destroy(),resolve2({alpnProtocol:socket.alpnProtocol,timeout}));},onTimeout=async()=>{timeout=!0,callback();},socketPromise=(async()=>{try{socket=await connect(options,callback),socket.on("error",reject),socket.once("timeout",onTimeout);}catch(error){reject(error);}})();});}}),require_calculate_server_name=__commonJS2({"node_modules/.pnpm/http2-wrapper@2.2.0/node_modules/http2-wrapper/source/utils/calculate-server-name.js"(exports,module){var{isIP}=__require2("net"),assert2=__require2("assert"),getHost=host=>{if(host[0]==="["){let idx2=host.indexOf("]");return assert2(idx2!==-1),host.slice(1,idx2)}let idx=host.indexOf(":");return idx===-1?host:host.slice(0,idx)};module.exports=host=>{let servername=getHost(host);return isIP(servername)?"":servername};}}),require_auto=__commonJS2({"node_modules/.pnpm/http2-wrapper@2.2.0/node_modules/http2-wrapper/source/auto.js"(exports,module){var{URL:URL4,urlToHttpOptions}=__require2("url"),http3=__require2("http"),https2=__require2("https"),resolveALPN=require_resolve_alpn(),QuickLRU=require_quick_lru(),{Agent,globalAgent}=require_agent(),Http2ClientRequest=require_client_request(),calculateServerName=require_calculate_server_name(),delayAsyncDestroy=require_delay_async_destroy(),cache3=new QuickLRU({maxSize:100}),queue=new Map,installSocket=(agent2,socket,options)=>{socket._httpMessage={shouldKeepAlive:!0};let onFree=()=>{agent2.emit("free",socket,options);};socket.on("free",onFree);let onClose=()=>{agent2.removeSocket(socket,options);};socket.on("close",onClose);let onTimeout=()=>{let{freeSockets}=agent2;for(let sockets of Object.values(freeSockets))if(sockets.includes(socket)){socket.destroy();return}};socket.on("timeout",onTimeout);let onRemove=()=>{agent2.removeSocket(socket,options),socket.off("close",onClose),socket.off("free",onFree),socket.off("timeout",onTimeout),socket.off("agentRemove",onRemove);};socket.on("agentRemove",onRemove),agent2.emit("free",socket,options);},createResolveProtocol=(cache22,queue2=new Map,connect=void 0)=>async options=>{let name=`${options.host}:${options.port}:${options.ALPNProtocols.sort()}`;if(!cache22.has(name)){if(queue2.has(name))return {alpnProtocol:(await queue2.get(name)).alpnProtocol};let{path:path10}=options;options.path=options.socketPath;let resultPromise=resolveALPN(options,connect);queue2.set(name,resultPromise);try{let result=await resultPromise;return cache22.set(name,result.alpnProtocol),queue2.delete(name),options.path=path10,result}catch(error){throw queue2.delete(name),options.path=path10,error}}return {alpnProtocol:cache22.get(name)}},defaultResolveProtocol=createResolveProtocol(cache3,queue);module.exports=async(input,options,callback)=>{if(typeof input=="string"?input=urlToHttpOptions(new URL4(input)):input instanceof URL4?input=urlToHttpOptions(input):input={...input},typeof options=="function"||options===void 0?(callback=options,options=input):options=Object.assign(input,options),options.ALPNProtocols=options.ALPNProtocols||["h2","http/1.1"],!Array.isArray(options.ALPNProtocols)||options.ALPNProtocols.length===0)throw new Error("The `ALPNProtocols` option must be an Array with at least one entry");options.protocol=options.protocol||"https:";let isHttps=options.protocol==="https:";options.host=options.hostname||options.host||"localhost",options.session=options.tlsSession,options.servername=options.servername||calculateServerName(options.headers&&options.headers.host||options.host),options.port=options.port||(isHttps?443:80),options._defaultAgent=isHttps?https2.globalAgent:http3.globalAgent;let resolveProtocol=options.resolveProtocol||defaultResolveProtocol,{agent:agent2}=options;if(agent2!==void 0&&agent2!==!1&&agent2.constructor.name!=="Object")throw new Error("The `options.agent` can be only an object `http`, `https` or `http2` properties");if(isHttps){options.resolveSocket=!0;let{socket,alpnProtocol,timeout}=await resolveProtocol(options);if(timeout){socket&&socket.destroy();let error=new Error(`Timed out resolving ALPN: ${options.timeout} ms`);throw error.code="ETIMEDOUT",error.ms=options.timeout,error}socket&&options.createConnection&&(socket.destroy(),socket=void 0),delete options.resolveSocket;let isHttp2=alpnProtocol==="h2";if(agent2&&(agent2=isHttp2?agent2.http2:agent2.https,options.agent=agent2),agent2===void 0&&(agent2=isHttp2?globalAgent:https2.globalAgent),socket)if(agent2===!1)socket.destroy();else {let defaultCreateConnection=(isHttp2?Agent:https2.Agent).prototype.createConnection;agent2.createConnection===defaultCreateConnection?isHttp2?options._reuseSocket=socket:installSocket(agent2,socket,options):socket.destroy();}if(isHttp2)return delayAsyncDestroy(new Http2ClientRequest(options,callback))}else agent2&&(options.agent=agent2.http);return delayAsyncDestroy(http3.request(options,callback))},module.exports.protocolCache=cache3,module.exports.resolveProtocol=defaultResolveProtocol,module.exports.createResolveProtocol=createResolveProtocol;}}),require_js_stream_socket=__commonJS2({"node_modules/.pnpm/http2-wrapper@2.2.0/node_modules/http2-wrapper/source/utils/js-stream-socket.js"(exports,module){var stream22=__require2("stream"),tls=__require2("tls"),JSStreamSocket=new tls.TLSSocket(new stream22.PassThrough)._handle._parentWrap.constructor;module.exports=JSStreamSocket;}}),require_unexpected_status_code_error=__commonJS2({"node_modules/.pnpm/http2-wrapper@2.2.0/node_modules/http2-wrapper/source/proxies/unexpected-status-code-error.js"(exports,module){var UnexpectedStatusCodeError=class extends Error{constructor(statusCode,statusMessage=""){super(`The proxy server rejected the request with status code ${statusCode} (${statusMessage||"empty status message"})`),this.statusCode=statusCode,this.statusMessage=statusMessage;}};module.exports=UnexpectedStatusCodeError;}}),require_check_type=__commonJS2({"node_modules/.pnpm/http2-wrapper@2.2.0/node_modules/http2-wrapper/source/utils/check-type.js"(exports,module){var checkType=(name,value,types22)=>{if(!types22.some(type=>typeof type==="string"?typeof value===type:value instanceof type)){let names=types22.map(type=>typeof type=="string"?type:type.name);throw new TypeError(`Expected '${name}' to be a type of ${names.join(" or ")}, got ${typeof value}`)}};module.exports=checkType;}}),require_initialize=__commonJS2({"node_modules/.pnpm/http2-wrapper@2.2.0/node_modules/http2-wrapper/source/proxies/initialize.js"(exports,module){var{URL:URL4}=__require2("url"),checkType=require_check_type();module.exports=(self2,proxyOptions)=>{checkType("proxyOptions",proxyOptions,["object"]),checkType("proxyOptions.headers",proxyOptions.headers,["object","undefined"]),checkType("proxyOptions.raw",proxyOptions.raw,["boolean","undefined"]),checkType("proxyOptions.url",proxyOptions.url,[URL4,"string"]);let url=new URL4(proxyOptions.url);self2.proxyOptions={raw:!0,...proxyOptions,headers:{...proxyOptions.headers},url};};}}),require_get_auth_headers=__commonJS2({"node_modules/.pnpm/http2-wrapper@2.2.0/node_modules/http2-wrapper/source/proxies/get-auth-headers.js"(exports,module){module.exports=self2=>{let{username,password}=self2.proxyOptions.url;if(username||password){let data=`${username}:${password}`,authorization=`Basic ${Buffer.from(data).toString("base64")}`;return {"proxy-authorization":authorization,authorization}}return {}};}}),require_h1_over_h2=__commonJS2({"node_modules/.pnpm/http2-wrapper@2.2.0/node_modules/http2-wrapper/source/proxies/h1-over-h2.js"(exports,module){var tls=__require2("tls"),http3=__require2("http"),https2=__require2("https"),JSStreamSocket=require_js_stream_socket(),{globalAgent}=require_agent(),UnexpectedStatusCodeError=require_unexpected_status_code_error(),initialize=require_initialize(),getAuthorizationHeaders=require_get_auth_headers(),createConnection=(self2,options,callback)=>{(async()=>{try{let{proxyOptions}=self2,{url,headers,raw}=proxyOptions,stream22=await globalAgent.request(url,proxyOptions,{...getAuthorizationHeaders(self2),...headers,":method":"CONNECT",":authority":`${options.host}:${options.port}`});stream22.once("error",callback),stream22.once("response",headers2=>{let statusCode=headers2[":status"];if(statusCode!==200){callback(new UnexpectedStatusCodeError(statusCode,""));return}let encrypted=self2 instanceof https2.Agent;if(raw&&encrypted){options.socket=stream22;let secureStream=tls.connect(options);secureStream.once("close",()=>{stream22.destroy();}),callback(null,secureStream);return}let socket=new JSStreamSocket(stream22);socket.encrypted=!1,socket._handle.getpeername=out=>{out.family=void 0,out.address=void 0,out.port=void 0;},callback(null,socket);});}catch(error){callback(error);}})();},HttpOverHttp2=class extends http3.Agent{constructor(options){super(options),initialize(this,options.proxyOptions);}createConnection(options,callback){createConnection(this,options,callback);}},HttpsOverHttp2=class extends https2.Agent{constructor(options){super(options),initialize(this,options.proxyOptions);}createConnection(options,callback){createConnection(this,options,callback);}};module.exports={HttpOverHttp2,HttpsOverHttp2};}}),require_h2_over_hx=__commonJS2({"node_modules/.pnpm/http2-wrapper@2.2.0/node_modules/http2-wrapper/source/proxies/h2-over-hx.js"(exports,module){var{Agent}=require_agent(),JSStreamSocket=require_js_stream_socket(),UnexpectedStatusCodeError=require_unexpected_status_code_error(),initialize=require_initialize(),Http2OverHttpX=class extends Agent{constructor(options){super(options),initialize(this,options.proxyOptions);}async createConnection(origin,options){let authority=`${origin.hostname}:${origin.port||443}`,[stream22,statusCode,statusMessage]=await this._getProxyStream(authority);if(statusCode!==200)throw new UnexpectedStatusCodeError(statusCode,statusMessage);if(this.proxyOptions.raw)options.socket=stream22;else {let socket=new JSStreamSocket(stream22);return socket.encrypted=!1,socket._handle.getpeername=out=>{out.family=void 0,out.address=void 0,out.port=void 0;},socket}return super.createConnection(origin,options)}};module.exports=Http2OverHttpX;}}),require_h2_over_h2=__commonJS2({"node_modules/.pnpm/http2-wrapper@2.2.0/node_modules/http2-wrapper/source/proxies/h2-over-h2.js"(exports,module){var{globalAgent}=require_agent(),Http2OverHttpX=require_h2_over_hx(),getAuthorizationHeaders=require_get_auth_headers(),getStatusCode=stream22=>new Promise((resolve2,reject)=>{stream22.once("error",reject),stream22.once("response",headers=>{stream22.off("error",reject),resolve2(headers[":status"]);});}),Http2OverHttp2=class extends Http2OverHttpX{async _getProxyStream(authority){let{proxyOptions}=this,headers={...getAuthorizationHeaders(this),...proxyOptions.headers,":method":"CONNECT",":authority":authority},stream22=await globalAgent.request(proxyOptions.url,proxyOptions,headers),statusCode=await getStatusCode(stream22);return [stream22,statusCode,""]}};module.exports=Http2OverHttp2;}}),require_h2_over_h1=__commonJS2({"node_modules/.pnpm/http2-wrapper@2.2.0/node_modules/http2-wrapper/source/proxies/h2-over-h1.js"(exports,module){var http3=__require2("http"),https2=__require2("https"),Http2OverHttpX=require_h2_over_hx(),getAuthorizationHeaders=require_get_auth_headers(),getStream2=request=>new Promise((resolve2,reject)=>{let onConnect=(response,socket,head)=>{socket.unshift(head),request.off("error",reject),resolve2([socket,response.statusCode,response.statusMessage]);};request.once("error",reject),request.once("connect",onConnect);}),Http2OverHttp=class extends Http2OverHttpX{async _getProxyStream(authority){let{proxyOptions}=this,{url,headers}=this.proxyOptions,request=(url.protocol==="https:"?https2:http3).request({...proxyOptions,hostname:url.hostname,port:url.port,path:authority,headers:{...getAuthorizationHeaders(this),...headers,host:authority},method:"CONNECT"}).end();return getStream2(request)}};module.exports={Http2OverHttp,Http2OverHttps:Http2OverHttp};}}),require_source2=__commonJS2({"node_modules/.pnpm/http2-wrapper@2.2.0/node_modules/http2-wrapper/source/index.js"(exports,module){var http22=__require2("http2"),{Agent,globalAgent}=require_agent(),ClientRequest=require_client_request(),IncomingMessage=require_incoming_message(),auto=require_auto(),{HttpOverHttp2,HttpsOverHttp2}=require_h1_over_h2(),Http2OverHttp2=require_h2_over_h2(),{Http2OverHttp,Http2OverHttps}=require_h2_over_h1(),validateHeaderName=require_validate_header_name(),validateHeaderValue=require_validate_header_value(),request=(url,options,callback)=>new ClientRequest(url,options,callback),get=(url,options,callback)=>{let req=new ClientRequest(url,options,callback);return req.end(),req};module.exports={...http22,ClientRequest,IncomingMessage,Agent,globalAgent,request,get,auto,proxies:{HttpOverHttp2,HttpsOverHttp2,Http2OverHttp2,Http2OverHttp,Http2OverHttps},validateHeaderName,validateHeaderValue};}}),typedArrayTypeNames=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function isTypedArrayName(name){return typedArrayTypeNames.includes(name)}var objectTypeNames=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Blob","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","WeakRef","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","FormData","URLSearchParams","HTMLElement","NaN",...typedArrayTypeNames];function isObjectTypeName(name){return objectTypeNames.includes(name)}var primitiveTypeNames=["null","undefined","string","number","bigint","boolean","symbol"];function isPrimitiveTypeName(name){return primitiveTypeNames.includes(name)}function isOfType(type){return value=>typeof value===type}var{toString}=Object.prototype,getObjectType=value=>{let objectTypeName=toString.call(value).slice(8,-1);if(/HTML\w+Element/.test(objectTypeName)&&is.domElement(value))return "HTMLElement";if(isObjectTypeName(objectTypeName))return objectTypeName},isObjectOfType=type=>value=>getObjectType(value)===type;function is(value){if(value===null)return "null";switch(typeof value){case"undefined":return "undefined";case"string":return "string";case"number":return Number.isNaN(value)?"NaN":"number";case"boolean":return "boolean";case"function":return "Function";case"bigint":return "bigint";case"symbol":return "symbol";}if(is.observable(value))return "Observable";if(is.array(value))return "Array";if(is.buffer(value))return "Buffer";let tagType=getObjectType(value);if(tagType)return tagType;if(value instanceof String||value instanceof Boolean||value instanceof Number)throw new TypeError("Please don't use object wrappers for primitive types");return "Object"}is.undefined=isOfType("undefined");is.string=isOfType("string");var isNumberType=isOfType("number");is.number=value=>isNumberType(value)&&!is.nan(value);is.bigint=isOfType("bigint");is.function_=isOfType("function");is.null_=value=>value===null;is.class_=value=>is.function_(value)&&value.toString().startsWith("class ");is.boolean=value=>value===!0||value===!1;is.symbol=isOfType("symbol");is.numericString=value=>is.string(value)&&!is.emptyStringOrWhitespace(value)&&!Number.isNaN(Number(value));is.array=(value,assertion)=>Array.isArray(value)?is.function_(assertion)?value.every(element=>assertion(element)):!0:!1;is.buffer=value=>{var _a,_b;return ((_b=(_a=value?.constructor)==null?void 0:_a.isBuffer)==null?void 0:_b.call(_a,value))??!1};is.blob=value=>isObjectOfType("Blob")(value);is.nullOrUndefined=value=>is.null_(value)||is.undefined(value);is.object=value=>!is.null_(value)&&(typeof value=="object"||is.function_(value));is.iterable=value=>is.function_(value?.[Symbol.iterator]);is.asyncIterable=value=>is.function_(value?.[Symbol.asyncIterator]);is.generator=value=>is.iterable(value)&&is.function_(value?.next)&&is.function_(value?.throw);is.asyncGenerator=value=>is.asyncIterable(value)&&is.function_(value.next)&&is.function_(value.throw);is.nativePromise=value=>isObjectOfType("Promise")(value);var hasPromiseApi=value=>is.function_(value?.then)&&is.function_(value?.catch);is.promise=value=>is.nativePromise(value)||hasPromiseApi(value);is.generatorFunction=isObjectOfType("GeneratorFunction");is.asyncGeneratorFunction=value=>getObjectType(value)==="AsyncGeneratorFunction";is.asyncFunction=value=>getObjectType(value)==="AsyncFunction";is.boundFunction=value=>is.function_(value)&&!value.hasOwnProperty("prototype");is.regExp=isObjectOfType("RegExp");is.date=isObjectOfType("Date");is.error=isObjectOfType("Error");is.map=value=>isObjectOfType("Map")(value);is.set=value=>isObjectOfType("Set")(value);is.weakMap=value=>isObjectOfType("WeakMap")(value);is.weakSet=value=>isObjectOfType("WeakSet")(value);is.weakRef=value=>isObjectOfType("WeakRef")(value);is.int8Array=isObjectOfType("Int8Array");is.uint8Array=isObjectOfType("Uint8Array");is.uint8ClampedArray=isObjectOfType("Uint8ClampedArray");is.int16Array=isObjectOfType("Int16Array");is.uint16Array=isObjectOfType("Uint16Array");is.int32Array=isObjectOfType("Int32Array");is.uint32Array=isObjectOfType("Uint32Array");is.float32Array=isObjectOfType("Float32Array");is.float64Array=isObjectOfType("Float64Array");is.bigInt64Array=isObjectOfType("BigInt64Array");is.bigUint64Array=isObjectOfType("BigUint64Array");is.arrayBuffer=isObjectOfType("ArrayBuffer");is.sharedArrayBuffer=isObjectOfType("SharedArrayBuffer");is.dataView=isObjectOfType("DataView");is.enumCase=(value,targetEnum)=>Object.values(targetEnum).includes(value);is.directInstanceOf=(instance,class_)=>Object.getPrototypeOf(instance)===class_.prototype;is.urlInstance=value=>isObjectOfType("URL")(value);is.urlString=value=>{if(!is.string(value))return !1;try{return new URL(value),!0}catch{return !1}};is.truthy=value=>!!value;is.falsy=value=>!value;is.nan=value=>Number.isNaN(value);is.primitive=value=>is.null_(value)||isPrimitiveTypeName(typeof value);is.integer=value=>Number.isInteger(value);is.safeInteger=value=>Number.isSafeInteger(value);is.plainObject=value=>{if(typeof value!="object"||value===null)return !1;let prototype=Object.getPrototypeOf(value);return (prototype===null||prototype===Object.prototype||Object.getPrototypeOf(prototype)===null)&&!(Symbol.toStringTag in value)&&!(Symbol.iterator in value)};is.typedArray=value=>isTypedArrayName(getObjectType(value));var isValidLength=value=>is.safeInteger(value)&&value>=0;is.arrayLike=value=>!is.nullOrUndefined(value)&&!is.function_(value)&&isValidLength(value.length);is.inRange=(value,range)=>{if(is.number(range))return value>=Math.min(0,range)&&value<=Math.max(range,0);if(is.array(range)&&range.length===2)return value>=Math.min(...range)&&value<=Math.max(...range);throw new TypeError(`Invalid range: ${JSON.stringify(range)}`)};var NODE_TYPE_ELEMENT=1,DOM_PROPERTIES_TO_CHECK=["innerHTML","ownerDocument","style","attributes","nodeValue"];is.domElement=value=>is.object(value)&&value.nodeType===NODE_TYPE_ELEMENT&&is.string(value.nodeName)&&!is.plainObject(value)&&DOM_PROPERTIES_TO_CHECK.every(property=>property in value);is.observable=value=>{var _a,_b;return value?value===((_a=value[Symbol.observable])==null?void 0:_a.call(value))||value===((_b=value["@@observable"])==null?void 0:_b.call(value)):!1};is.nodeStream=value=>is.object(value)&&is.function_(value.pipe)&&!is.observable(value);is.infinite=value=>value===Number.POSITIVE_INFINITY||value===Number.NEGATIVE_INFINITY;var isAbsoluteMod2=remainder=>value=>is.integer(value)&&Math.abs(value%2)===remainder;is.evenInteger=isAbsoluteMod2(0);is.oddInteger=isAbsoluteMod2(1);is.emptyArray=value=>is.array(value)&&value.length===0;is.nonEmptyArray=value=>is.array(value)&&value.length>0;is.emptyString=value=>is.string(value)&&value.length===0;var isWhiteSpaceString=value=>is.string(value)&&!/\S/.test(value);is.emptyStringOrWhitespace=value=>is.emptyString(value)||isWhiteSpaceString(value);is.nonEmptyString=value=>is.string(value)&&value.length>0;is.nonEmptyStringAndNotWhitespace=value=>is.string(value)&&!is.emptyStringOrWhitespace(value);is.emptyObject=value=>is.object(value)&&!is.map(value)&&!is.set(value)&&Object.keys(value).length===0;is.nonEmptyObject=value=>is.object(value)&&!is.map(value)&&!is.set(value)&&Object.keys(value).length>0;is.emptySet=value=>is.set(value)&&value.size===0;is.nonEmptySet=value=>is.set(value)&&value.size>0;is.emptyMap=value=>is.map(value)&&value.size===0;is.nonEmptyMap=value=>is.map(value)&&value.size>0;is.propertyKey=value=>is.any([is.string,is.number,is.symbol],value);is.formData=value=>isObjectOfType("FormData")(value);is.urlSearchParams=value=>isObjectOfType("URLSearchParams")(value);var predicateOnArray=(method,predicate,values)=>{if(!is.function_(predicate))throw new TypeError(`Invalid predicate: ${JSON.stringify(predicate)}`);if(values.length===0)throw new TypeError("Invalid number of values");return method.call(values,predicate)};is.any=(predicate,...values)=>(is.array(predicate)?predicate:[predicate]).some(singlePredicate=>predicateOnArray(Array.prototype.some,singlePredicate,values));is.all=(predicate,...values)=>predicateOnArray(Array.prototype.every,predicate,values);var assertType=(condition,description,value,options={})=>{if(!condition){let{multipleValues}=options,valuesMessage=multipleValues?`received values of types ${[...new Set(value.map(singleValue=>`\`${is(singleValue)}\``))].join(", ")}`:`received value of type \`${is(value)}\``;throw new TypeError(`Expected value which is \`${description}\`, ${valuesMessage}.`)}},assert={undefined:value=>assertType(is.undefined(value),"undefined",value),string:value=>assertType(is.string(value),"string",value),number:value=>assertType(is.number(value),"number",value),bigint:value=>assertType(is.bigint(value),"bigint",value),function_:value=>assertType(is.function_(value),"Function",value),null_:value=>assertType(is.null_(value),"null",value),class_:value=>assertType(is.class_(value),"Class",value),boolean:value=>assertType(is.boolean(value),"boolean",value),symbol:value=>assertType(is.symbol(value),"symbol",value),numericString:value=>assertType(is.numericString(value),"string with a number",value),array:(value,assertion)=>{assertType(is.array(value),"Array",value),assertion&&value.forEach(assertion);},buffer:value=>assertType(is.buffer(value),"Buffer",value),blob:value=>assertType(is.blob(value),"Blob",value),nullOrUndefined:value=>assertType(is.nullOrUndefined(value),"null or undefined",value),object:value=>assertType(is.object(value),"Object",value),iterable:value=>assertType(is.iterable(value),"Iterable",value),asyncIterable:value=>assertType(is.asyncIterable(value),"AsyncIterable",value),generator:value=>assertType(is.generator(value),"Generator",value),asyncGenerator:value=>assertType(is.asyncGenerator(value),"AsyncGenerator",value),nativePromise:value=>assertType(is.nativePromise(value),"native Promise",value),promise:value=>assertType(is.promise(value),"Promise",value),generatorFunction:value=>assertType(is.generatorFunction(value),"GeneratorFunction",value),asyncGeneratorFunction:value=>assertType(is.asyncGeneratorFunction(value),"AsyncGeneratorFunction",value),asyncFunction:value=>assertType(is.asyncFunction(value),"AsyncFunction",value),boundFunction:value=>assertType(is.boundFunction(value),"Function",value),regExp:value=>assertType(is.regExp(value),"RegExp",value),date:value=>assertType(is.date(value),"Date",value),error:value=>assertType(is.error(value),"Error",value),map:value=>assertType(is.map(value),"Map",value),set:value=>assertType(is.set(value),"Set",value),weakMap:value=>assertType(is.weakMap(value),"WeakMap",value),weakSet:value=>assertType(is.weakSet(value),"WeakSet",value),weakRef:value=>assertType(is.weakRef(value),"WeakRef",value),int8Array:value=>assertType(is.int8Array(value),"Int8Array",value),uint8Array:value=>assertType(is.uint8Array(value),"Uint8Array",value),uint8ClampedArray:value=>assertType(is.uint8ClampedArray(value),"Uint8ClampedArray",value),int16Array:value=>assertType(is.int16Array(value),"Int16Array",value),uint16Array:value=>assertType(is.uint16Array(value),"Uint16Array",value),int32Array:value=>assertType(is.int32Array(value),"Int32Array",value),uint32Array:value=>assertType(is.uint32Array(value),"Uint32Array",value),float32Array:value=>assertType(is.float32Array(value),"Float32Array",value),float64Array:value=>assertType(is.float64Array(value),"Float64Array",value),bigInt64Array:value=>assertType(is.bigInt64Array(value),"BigInt64Array",value),bigUint64Array:value=>assertType(is.bigUint64Array(value),"BigUint64Array",value),arrayBuffer:value=>assertType(is.arrayBuffer(value),"ArrayBuffer",value),sharedArrayBuffer:value=>assertType(is.sharedArrayBuffer(value),"SharedArrayBuffer",value),dataView:value=>assertType(is.dataView(value),"DataView",value),enumCase:(value,targetEnum)=>assertType(is.enumCase(value,targetEnum),"EnumCase",value),urlInstance:value=>assertType(is.urlInstance(value),"URL",value),urlString:value=>assertType(is.urlString(value),"string with a URL",value),truthy:value=>assertType(is.truthy(value),"truthy",value),falsy:value=>assertType(is.falsy(value),"falsy",value),nan:value=>assertType(is.nan(value),"NaN",value),primitive:value=>assertType(is.primitive(value),"primitive",value),integer:value=>assertType(is.integer(value),"integer",value),safeInteger:value=>assertType(is.safeInteger(value),"integer",value),plainObject:value=>assertType(is.plainObject(value),"plain object",value),typedArray:value=>assertType(is.typedArray(value),"TypedArray",value),arrayLike:value=>assertType(is.arrayLike(value),"array-like",value),domElement:value=>assertType(is.domElement(value),"HTMLElement",value),observable:value=>assertType(is.observable(value),"Observable",value),nodeStream:value=>assertType(is.nodeStream(value),"Node.js Stream",value),infinite:value=>assertType(is.infinite(value),"infinite number",value),emptyArray:value=>assertType(is.emptyArray(value),"empty array",value),nonEmptyArray:value=>assertType(is.nonEmptyArray(value),"non-empty array",value),emptyString:value=>assertType(is.emptyString(value),"empty string",value),emptyStringOrWhitespace:value=>assertType(is.emptyStringOrWhitespace(value),"empty string or whitespace",value),nonEmptyString:value=>assertType(is.nonEmptyString(value),"non-empty string",value),nonEmptyStringAndNotWhitespace:value=>assertType(is.nonEmptyStringAndNotWhitespace(value),"non-empty string and not whitespace",value),emptyObject:value=>assertType(is.emptyObject(value),"empty object",value),nonEmptyObject:value=>assertType(is.nonEmptyObject(value),"non-empty object",value),emptySet:value=>assertType(is.emptySet(value),"empty set",value),nonEmptySet:value=>assertType(is.nonEmptySet(value),"non-empty set",value),emptyMap:value=>assertType(is.emptyMap(value),"empty map",value),nonEmptyMap:value=>assertType(is.nonEmptyMap(value),"non-empty map",value),propertyKey:value=>assertType(is.propertyKey(value),"PropertyKey",value),formData:value=>assertType(is.formData(value),"FormData",value),urlSearchParams:value=>assertType(is.urlSearchParams(value),"URLSearchParams",value),evenInteger:value=>assertType(is.evenInteger(value),"even integer",value),oddInteger:value=>assertType(is.oddInteger(value),"odd integer",value),directInstanceOf:(instance,class_)=>assertType(is.directInstanceOf(instance,class_),"T",instance),inRange:(value,range)=>assertType(is.inRange(value,range),"in range",value),any:(predicate,...values)=>assertType(is.any(predicate,...values),"predicate returns truthy for any value",values,{multipleValues:!0}),all:(predicate,...values)=>assertType(is.all(predicate,...values),"predicate returns truthy for all values",values,{multipleValues:!0})};Object.defineProperties(is,{class:{value:is.class_},function:{value:is.function_},null:{value:is.null_}});Object.defineProperties(assert,{class:{value:assert.class_},function:{value:assert.function_},null:{value:assert.null_}});var dist_default=is,CancelError=class extends Error{constructor(reason){super(reason||"Promise was canceled"),this.name="CancelError";}get isCanceled(){return !0}},PCancelable=class{static fn(userFunction){return (...arguments_)=>new PCancelable((resolve2,reject,onCancel)=>{arguments_.push(onCancel),userFunction(...arguments_).then(resolve2,reject);})}constructor(executor){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((resolve2,reject)=>{this._reject=reject;let onResolve=value=>{(!this._isCanceled||!onCancel.shouldReject)&&(this._isPending=!1,resolve2(value));},onReject=error=>{this._isPending=!1,reject(error);},onCancel=handler=>{if(!this._isPending)throw new Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(handler);};Object.defineProperties(onCancel,{shouldReject:{get:()=>this._rejectOnCancel,set:boolean=>{this._rejectOnCancel=boolean;}}}),executor(onResolve,onReject,onCancel);});}then(onFulfilled,onRejected){return this._promise.then(onFulfilled,onRejected)}catch(onRejected){return this._promise.catch(onRejected)}finally(onFinally){return this._promise.finally(onFinally)}cancel(reason){if(!(!this._isPending||this._isCanceled)){if(this._isCanceled=!0,this._cancelHandlers.length>0)try{for(let handler of this._cancelHandlers)handler();}catch(error){this._reject(error);return}this._rejectOnCancel&&this._reject(new CancelError(reason));}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(PCancelable.prototype,Promise.prototype);function isRequest(x){return dist_default.object(x)&&"_onResponse"in x}var RequestError=class extends Error{constructor(message,error,self2){var _a;if(super(message),Object.defineProperty(this,"input",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"stack",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"response",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"request",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"timings",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Error.captureStackTrace(this,this.constructor),this.name="RequestError",this.code=error.code??"ERR_GOT_REQUEST_ERROR",this.input=error.input,isRequest(self2)?(Object.defineProperty(this,"request",{enumerable:!1,value:self2}),Object.defineProperty(this,"response",{enumerable:!1,value:self2.response}),this.options=self2.options):this.options=self2,this.timings=(_a=this.request)==null?void 0:_a.timings,dist_default.string(error.stack)&&dist_default.string(this.stack)){let indexOfMessage=this.stack.indexOf(this.message)+this.message.length,thisStackTrace=this.stack.slice(indexOfMessage).split(`
|
|
73
|
-
`).reverse(),errorStackTrace=error.stack.slice(error.stack.indexOf(error.message)+error.message.length).split(`
|
|
74
|
-
`).reverse();for(;errorStackTrace.length>0&&errorStackTrace[0]===thisStackTrace[0];)thisStackTrace.shift();this.stack=`${this.stack.slice(0,indexOfMessage)}${thisStackTrace.reverse().join(`
|
|
75
|
-
`)}${errorStackTrace.reverse().join(`
|
|
76
|
-
`)}`;}}},MaxRedirectsError=class extends RequestError{constructor(request){super(`Redirected ${request.options.maxRedirects} times. Aborting.`,{},request),this.name="MaxRedirectsError",this.code="ERR_TOO_MANY_REDIRECTS";}},HTTPError=class extends RequestError{constructor(response){super(`Response code ${response.statusCode} (${response.statusMessage})`,{},response.request),this.name="HTTPError",this.code="ERR_NON_2XX_3XX_RESPONSE";}},CacheError=class extends RequestError{constructor(error,request){super(error.message,error,request),this.name="CacheError",this.code=this.code==="ERR_GOT_REQUEST_ERROR"?"ERR_CACHE_ACCESS":this.code;}},UploadError=class extends RequestError{constructor(error,request){super(error.message,error,request),this.name="UploadError",this.code=this.code==="ERR_GOT_REQUEST_ERROR"?"ERR_UPLOAD":this.code;}},TimeoutError=class extends RequestError{constructor(error,timings,request){super(error.message,error,request),Object.defineProperty(this,"timings",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"event",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name="TimeoutError",this.event=error.event,this.timings=timings;}},ReadError=class extends RequestError{constructor(error,request){super(error.message,error,request),this.name="ReadError",this.code=this.code==="ERR_GOT_REQUEST_ERROR"?"ERR_READING_RESPONSE_STREAM":this.code;}},RetryError=class extends RequestError{constructor(request){super("Retrying",{},request),this.name="RetryError",this.code="ERR_RETRYING";}},AbortError=class extends RequestError{constructor(request){super("This operation was aborted.",{},request),this.code="ERR_ABORTED",this.name="AbortError";}},import_defer_to_connect=__toESM2(require_source(),1),timer=request=>{if(request.timings)return request.timings;let timings={start:Date.now(),socket:void 0,lookup:void 0,connect:void 0,secureConnect:void 0,upload:void 0,response:void 0,end:void 0,error:void 0,abort:void 0,phases:{wait:void 0,dns:void 0,tcp:void 0,tls:void 0,request:void 0,firstByte:void 0,download:void 0,total:void 0}};request.timings=timings;let handleError=origin=>{origin.once(errorMonitor,()=>{timings.error=Date.now(),timings.phases.total=timings.error-timings.start;});};handleError(request);let onAbort=()=>{timings.abort=Date.now(),timings.phases.total=timings.abort-timings.start;};request.prependOnceListener("abort",onAbort);let onSocket=socket=>{if(timings.socket=Date.now(),timings.phases.wait=timings.socket-timings.start,types.isProxy(socket))return;let lookupListener=()=>{timings.lookup=Date.now(),timings.phases.dns=timings.lookup-timings.socket;};socket.prependOnceListener("lookup",lookupListener),(0, import_defer_to_connect.default)(socket,{connect:()=>{timings.connect=Date.now(),timings.lookup===void 0&&(socket.removeListener("lookup",lookupListener),timings.lookup=timings.connect,timings.phases.dns=timings.lookup-timings.socket),timings.phases.tcp=timings.connect-timings.lookup;},secureConnect:()=>{timings.secureConnect=Date.now(),timings.phases.tls=timings.secureConnect-timings.connect;}});};request.socket?onSocket(request.socket):request.prependOnceListener("socket",onSocket);let onUpload=()=>{timings.upload=Date.now(),timings.phases.request=timings.upload-(timings.secureConnect??timings.connect);};return request.writableFinished?onUpload():request.prependOnceListener("finish",onUpload),request.prependOnceListener("response",response=>{timings.response=Date.now(),timings.phases.firstByte=timings.response-timings.upload,response.timings=timings,handleError(response),response.prependOnceListener("end",()=>{request.off("abort",onAbort),response.off("aborted",onAbort),!timings.phases.total&&(timings.end=Date.now(),timings.phases.download=timings.end-timings.response,timings.phases.total=timings.end-timings.start);}),response.prependOnceListener("aborted",onAbort);}),timings},source_default=timer,DATA_URL_DEFAULT_MIME_TYPE="text/plain",DATA_URL_DEFAULT_CHARSET="us-ascii",testParameter=(name,filters)=>filters.some(filter2=>filter2 instanceof RegExp?filter2.test(name):filter2===name),supportedProtocols=new Set(["https:","http:","file:"]),hasCustomProtocol=urlString=>{try{let{protocol}=new URL(urlString);return protocol.endsWith(":")&&!supportedProtocols.has(protocol)}catch{return !1}},normalizeDataURL=(urlString,{stripHash})=>{var _a;let match2=/^data:(?<type>[^,]*?),(?<data>[^#]*?)(?:#(?<hash>.*))?$/.exec(urlString);if(!match2)throw new Error(`Invalid URL: ${urlString}`);let{type,data,hash}=match2.groups,mediaType=type.split(";");hash=stripHash?"":hash;let isBase64=!1;mediaType[mediaType.length-1]==="base64"&&(mediaType.pop(),isBase64=!0);let mimeType=((_a=mediaType.shift())==null?void 0:_a.toLowerCase())??"",normalizedMediaType=[...mediaType.map(attribute=>{let[key,value=""]=attribute.split("=").map(string=>string.trim());return key==="charset"&&(value=value.toLowerCase(),value===DATA_URL_DEFAULT_CHARSET)?"":`${key}${value?`=${value}`:""}`}).filter(Boolean)];return isBase64&&normalizedMediaType.push("base64"),(normalizedMediaType.length>0||mimeType&&mimeType!==DATA_URL_DEFAULT_MIME_TYPE)&&normalizedMediaType.unshift(mimeType),`data:${normalizedMediaType.join(";")},${isBase64?data.trim():data}${hash?`#${hash}`:""}`};function normalizeUrl(urlString,options){if(options={defaultProtocol:"http",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripTextFragment:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeSingleSlash:!0,removeDirectoryIndex:!1,removeExplicitPort:!1,sortQueryParameters:!0,...options},typeof options.defaultProtocol=="string"&&!options.defaultProtocol.endsWith(":")&&(options.defaultProtocol=`${options.defaultProtocol}:`),urlString=urlString.trim(),/^data:/i.test(urlString))return normalizeDataURL(urlString,options);if(hasCustomProtocol(urlString))return urlString;let hasRelativeProtocol=urlString.startsWith("//");!hasRelativeProtocol&&/^\.*\//.test(urlString)||(urlString=urlString.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,options.defaultProtocol));let urlObject=new URL(urlString);if(options.forceHttp&&options.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(options.forceHttp&&urlObject.protocol==="https:"&&(urlObject.protocol="http:"),options.forceHttps&&urlObject.protocol==="http:"&&(urlObject.protocol="https:"),options.stripAuthentication&&(urlObject.username="",urlObject.password=""),options.stripHash?urlObject.hash="":options.stripTextFragment&&(urlObject.hash=urlObject.hash.replace(/#?:~:text.*?$/i,"")),urlObject.pathname){let protocolRegex=/\b[a-z][a-z\d+\-.]{1,50}:\/\//g,lastIndex=0,result="";for(;;){let match2=protocolRegex.exec(urlObject.pathname);if(!match2)break;let protocol=match2[0],protocolAtIndex=match2.index,intermediate=urlObject.pathname.slice(lastIndex,protocolAtIndex);result+=intermediate.replace(/\/{2,}/g,"/"),result+=protocol,lastIndex=protocolAtIndex+protocol.length;}let remnant=urlObject.pathname.slice(lastIndex,urlObject.pathname.length);result+=remnant.replace(/\/{2,}/g,"/"),urlObject.pathname=result;}if(urlObject.pathname)try{urlObject.pathname=decodeURI(urlObject.pathname);}catch{}if(options.removeDirectoryIndex===!0&&(options.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(options.removeDirectoryIndex)&&options.removeDirectoryIndex.length>0){let pathComponents=urlObject.pathname.split("/"),lastComponent=pathComponents[pathComponents.length-1];testParameter(lastComponent,options.removeDirectoryIndex)&&(pathComponents=pathComponents.slice(0,-1),urlObject.pathname=pathComponents.slice(1).join("/")+"/");}if(urlObject.hostname&&(urlObject.hostname=urlObject.hostname.replace(/\.$/,""),options.stripWWW&&/^www\.(?!www\.)[a-z\-\d]{1,63}\.[a-z.\-\d]{2,63}$/.test(urlObject.hostname)&&(urlObject.hostname=urlObject.hostname.replace(/^www\./,""))),Array.isArray(options.removeQueryParameters))for(let key of [...urlObject.searchParams.keys()])testParameter(key,options.removeQueryParameters)&&urlObject.searchParams.delete(key);if(!Array.isArray(options.keepQueryParameters)&&options.removeQueryParameters===!0&&(urlObject.search=""),Array.isArray(options.keepQueryParameters)&&options.keepQueryParameters.length>0)for(let key of [...urlObject.searchParams.keys()])testParameter(key,options.keepQueryParameters)||urlObject.searchParams.delete(key);if(options.sortQueryParameters){urlObject.searchParams.sort();try{urlObject.search=decodeURIComponent(urlObject.search);}catch{}}options.removeTrailingSlash&&(urlObject.pathname=urlObject.pathname.replace(/\/$/,"")),options.removeExplicitPort&&urlObject.port&&(urlObject.port="");let oldUrlString=urlString;return urlString=urlObject.toString(),!options.removeSingleSlash&&urlObject.pathname==="/"&&!oldUrlString.endsWith("/")&&urlObject.hash===""&&(urlString=urlString.replace(/\/$/,"")),(options.removeTrailingSlash||urlObject.pathname==="/")&&urlObject.hash===""&&options.removeSingleSlash&&(urlString=urlString.replace(/\/$/,"")),hasRelativeProtocol&&!options.normalizeProtocol&&(urlString=urlString.replace(/^http:\/\//,"//")),options.stripProtocol&&(urlString=urlString.replace(/^(?:https?:)?\/\//,"")),urlString}var import_get_stream=__toESM2(require_get_stream(),1),import_http_cache_semantics=__toESM2(require_http_cache_semantics(),1);function lowercaseKeys(object){return Object.fromEntries(Object.entries(object).map(([key,value])=>[key.toLowerCase(),value]))}var Response=class extends Readable{statusCode;headers;body;url;constructor({statusCode,headers,body,url}){if(typeof statusCode!="number")throw new TypeError("Argument `statusCode` should be a number");if(typeof headers!="object")throw new TypeError("Argument `headers` should be an object");if(!(body instanceof Uint8Array))throw new TypeError("Argument `body` should be a buffer");if(typeof url!="string")throw new TypeError("Argument `url` should be a string");super({read(){this.push(body),this.push(null);}}),this.statusCode=statusCode,this.headers=lowercaseKeys(headers),this.body=body,this.url=url;}},import_keyv=__toESM2(require_src(),1),knownProperties=["aborted","complete","headers","httpVersion","httpVersionMinor","httpVersionMajor","method","rawHeaders","rawTrailers","setTimeout","socket","statusCode","statusMessage","trailers","url"];function mimicResponse(fromStream,toStream){if(toStream._readableState.autoDestroy)throw new Error("The second stream must have the `autoDestroy` option set to `false`");let fromProperties=new Set([...Object.keys(fromStream),...knownProperties]),properties={};for(let property of fromProperties)property in toStream||(properties[property]={get(){let value=fromStream[property];return typeof value=="function"?value.bind(fromStream):value},set(value){fromStream[property]=value;},enumerable:!0,configurable:!1});return Object.defineProperties(toStream,properties),fromStream.once("aborted",()=>{toStream.destroy(),toStream.emit("aborted");}),fromStream.once("close",()=>{fromStream.complete&&toStream.readable?toStream.once("end",()=>{toStream.emit("close");}):toStream.emit("close");}),toStream}var RequestError2=class extends Error{constructor(error){super(error.message),Object.assign(this,error);}},CacheError2=class extends Error{constructor(error){super(error.message),Object.assign(this,error);}},CacheableRequest=class{constructor(cacheRequest,cacheAdapter){this.hooks=new Map,this.request=()=>(options,cb)=>{let url;if(typeof options=="string")url=normalizeUrlObject(urlLib.parse(options)),options={};else if(options instanceof urlLib.URL)url=normalizeUrlObject(urlLib.parse(options.toString())),options={};else {let[pathname,...searchParts]=(options.path??"").split("?"),search=searchParts.length>0?`?${searchParts.join("?")}`:"";url=normalizeUrlObject({...options,pathname,search});}options={headers:{},method:"GET",cache:!0,strictTtl:!1,automaticFailover:!1,...options,...urlObjectToRequestOptions(url)},options.headers=Object.fromEntries(entries(options.headers).map(([key2,value])=>[key2.toLowerCase(),value]));let ee=new EventEmitter$2,normalizedUrlString=normalizeUrl(urlLib.format(url),{stripWWW:!1,removeTrailingSlash:!1,stripAuthentication:!1}),key=`${options.method}:${normalizedUrlString}`;options.body&&options.method!==void 0&&["POST","PATCH","PUT"].includes(options.method)&&(options.body instanceof stream.Readable?options.cache=!1:key+=`:${crypto.createHash("md5").update(options.body).digest("hex")}`);let revalidate=!1,madeRequest=!1,makeRequest=options_=>{madeRequest=!0;let requestErrored=!1,requestErrorCallback=()=>{},requestErrorPromise=new Promise(resolve2=>{requestErrorCallback=()=>{requestErrored||(requestErrored=!0,resolve2());};}),handler=async response=>{if(revalidate){response.status=response.statusCode;let revalidatedPolicy=import_http_cache_semantics.default.fromObject(revalidate.cachePolicy).revalidatedPolicy(options_,response);if(!revalidatedPolicy.modified){response.resume(),await new Promise(resolve2=>{response.once("end",resolve2);});let headers=convertHeaders(revalidatedPolicy.policy.responseHeaders());response=new Response({statusCode:revalidate.statusCode,headers,body:revalidate.body,url:revalidate.url}),response.cachePolicy=revalidatedPolicy.policy,response.fromCache=!0;}}response.fromCache||(response.cachePolicy=new import_http_cache_semantics.default(options_,response,options_),response.fromCache=!1);let clonedResponse;options_.cache&&response.cachePolicy.storable()?(clonedResponse=cloneResponse(response),(async()=>{try{let bodyPromise=import_get_stream.default.buffer(response);await Promise.race([requestErrorPromise,new Promise(resolve2=>response.once("end",resolve2)),new Promise(resolve2=>response.once("close",resolve2))]);let body=await bodyPromise,value={url:response.url,statusCode:response.fromCache?revalidate.statusCode:response.statusCode,body,cachePolicy:response.cachePolicy.toObject()},ttl2=options_.strictTtl?response.cachePolicy.timeToLive():void 0;if(options_.maxTtl&&(ttl2=ttl2?Math.min(ttl2,options_.maxTtl):options_.maxTtl),this.hooks.size>0)for(let key_ of this.hooks.keys())value=await this.runHook(key_,value,response);await this.cache.set(key,value,ttl2);}catch(error){ee.emit("error",new CacheError2(error));}})()):options_.cache&&revalidate&&(async()=>{try{await this.cache.delete(key);}catch(error){ee.emit("error",new CacheError2(error));}})(),ee.emit("response",clonedResponse??response),typeof cb=="function"&&cb(clonedResponse??response);};try{let request_=this.cacheRequest(options_,handler);request_.once("error",requestErrorCallback),request_.once("abort",requestErrorCallback),request_.once("destroy",requestErrorCallback),ee.emit("request",request_);}catch(error){ee.emit("error",new RequestError2(error));}};return (async()=>{let get=async options_=>{await Promise.resolve();let cacheEntry=options_.cache?await this.cache.get(key):void 0;if(typeof cacheEntry>"u"&&!options_.forceRefresh){makeRequest(options_);return}let policy=import_http_cache_semantics.default.fromObject(cacheEntry.cachePolicy);if(policy.satisfiesWithoutRevalidation(options_)&&!options_.forceRefresh){let headers=convertHeaders(policy.responseHeaders()),response=new Response({statusCode:cacheEntry.statusCode,headers,body:cacheEntry.body,url:cacheEntry.url});response.cachePolicy=policy,response.fromCache=!0,ee.emit("response",response),typeof cb=="function"&&cb(response);}else policy.satisfiesWithoutRevalidation(options_)&&Date.now()>=policy.timeToLive()&&options_.forceRefresh?(await this.cache.delete(key),options_.headers=policy.revalidationHeaders(options_),makeRequest(options_)):(revalidate=cacheEntry,options_.headers=policy.revalidationHeaders(options_),makeRequest(options_));},errorHandler=error=>ee.emit("error",new CacheError2(error));if(this.cache instanceof import_keyv.default){let cachek=this.cache;cachek.once("error",errorHandler),ee.on("error",()=>cachek.removeListener("error",errorHandler)),ee.on("response",()=>cachek.removeListener("error",errorHandler));}try{await get(options);}catch(error){options.automaticFailover&&!madeRequest&&makeRequest(options),ee.emit("error",new CacheError2(error));}})(),ee},this.addHook=(name,fn)=>{this.hooks.has(name)||this.hooks.set(name,fn);},this.removeHook=name=>this.hooks.delete(name),this.getHook=name=>this.hooks.get(name),this.runHook=async(name,...args)=>{var _a;return (_a=this.hooks.get(name))==null?void 0:_a(...args)},cacheAdapter instanceof import_keyv.default?this.cache=cacheAdapter:typeof cacheAdapter=="string"?this.cache=new import_keyv.default({uri:cacheAdapter,namespace:"cacheable-request"}):this.cache=new import_keyv.default({store:cacheAdapter,namespace:"cacheable-request"}),this.request=this.request.bind(this),this.cacheRequest=cacheRequest;}},entries=Object.entries,cloneResponse=response=>{let clone=new PassThrough({autoDestroy:!1});return mimicResponse(response,clone),response.pipe(clone)},urlObjectToRequestOptions=url=>{let options={...url};return options.path=`${url.pathname||"/"}${url.search||""}`,delete options.pathname,delete options.search,options},normalizeUrlObject=url=>({protocol:url.protocol,auth:url.auth,hostname:url.hostname||url.host||"localhost",port:url.port,pathname:url.pathname,search:url.search}),convertHeaders=headers=>{let result=[];for(let name of Object.keys(headers))result[name.toLowerCase()]=headers[name];return result},dist_default2=CacheableRequest,import_decompress_response=__toESM2(require_decompress_response(),1),import_get_stream2=__toESM2(require_get_stream(),1),isFunction=value=>typeof value=="function",isAsyncIterable=value=>isFunction(value[Symbol.asyncIterator]);async function*readStream(readable){let reader=readable.getReader();for(;;){let{done,value}=await reader.read();if(done)break;yield value;}}var getStreamIterator=source=>{if(isAsyncIterable(source))return source;if(isFunction(source.getReader))return readStream(source);throw new TypeError("Unsupported data source: Expected either ReadableStream or async iterable.")},alphabet="abcdefghijklmnopqrstuvwxyz0123456789";function createBoundary(){let size=16,res="";for(;size--;)res+=alphabet[Math.random()*alphabet.length<<0];return res}var normalizeValue=value=>String(value).replace(/\r|\n/g,(match2,i,str)=>match2==="\r"&&str[i+1]!==`
|
|
77
|
-
`||match2===`
|
|
78
|
-
`&&str[i-1]!=="\r"?`\r
|
|
79
|
-
`:match2),getType=value=>Object.prototype.toString.call(value).slice(8,-1).toLowerCase();function isPlainObject(value){if(getType(value)!=="object")return !1;let pp=Object.getPrototypeOf(value);return pp==null?!0:(pp.constructor&&pp.constructor.toString())===Object.toString()}function getProperty(target,prop){if(typeof prop=="string"){for(let[name,value]of Object.entries(target))if(prop.toLowerCase()===name.toLowerCase())return value}}var proxyHeaders=object=>new Proxy(object,{get:(target,prop)=>getProperty(target,prop),has:(target,prop)=>getProperty(target,prop)!==void 0}),isFormData=value=>!!(value&&isFunction(value.constructor)&&value[Symbol.toStringTag]==="FormData"&&isFunction(value.append)&&isFunction(value.getAll)&&isFunction(value.entries)&&isFunction(value[Symbol.iterator])),escapeName=name=>String(name).replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/"/g,"%22"),isFile=value=>!!(value&&typeof value=="object"&&isFunction(value.constructor)&&value[Symbol.toStringTag]==="File"&&isFunction(value.stream)&&value.name!=null),__classPrivateFieldSet=function(receiver,state,value,kind,f){if(kind==="m")throw new TypeError("Private method is not writable");if(kind==="a"&&!f)throw new TypeError("Private accessor was defined without a setter");if(typeof state=="function"?receiver!==state||!f:!state.has(receiver))throw new TypeError("Cannot write private member to an object whose class did not declare it");return kind==="a"?f.call(receiver,value):f?f.value=value:state.set(receiver,value),value},__classPrivateFieldGet=function(receiver,state,kind,f){if(kind==="a"&&!f)throw new TypeError("Private accessor was defined without a getter");if(typeof state=="function"?receiver!==state||!f:!state.has(receiver))throw new TypeError("Cannot read private member from an object whose class did not declare it");return kind==="m"?f:kind==="a"?f.call(receiver):f?f.value:state.get(receiver)},_FormDataEncoder_instances,_FormDataEncoder_CRLF,_FormDataEncoder_CRLF_BYTES,_FormDataEncoder_CRLF_BYTES_LENGTH,_FormDataEncoder_DASHES,_FormDataEncoder_encoder,_FormDataEncoder_footer,_FormDataEncoder_form,_FormDataEncoder_options,_FormDataEncoder_getFieldHeader,_FormDataEncoder_getContentLength,defaultOptions={enableAdditionalHeaders:!1},readonlyProp={writable:!1,configurable:!1},FormDataEncoder=class{constructor(form,boundaryOrOptions,options){if(_FormDataEncoder_instances.add(this),_FormDataEncoder_CRLF.set(this,`\r
|
|
80
|
-
`),_FormDataEncoder_CRLF_BYTES.set(this,void 0),_FormDataEncoder_CRLF_BYTES_LENGTH.set(this,void 0),_FormDataEncoder_DASHES.set(this,"-".repeat(2)),_FormDataEncoder_encoder.set(this,new TextEncoder),_FormDataEncoder_footer.set(this,void 0),_FormDataEncoder_form.set(this,void 0),_FormDataEncoder_options.set(this,void 0),!isFormData(form))throw new TypeError("Expected first argument to be a FormData instance.");let boundary;if(isPlainObject(boundaryOrOptions)?options=boundaryOrOptions:boundary=boundaryOrOptions,boundary||(boundary=createBoundary()),typeof boundary!="string")throw new TypeError("Expected boundary argument to be a string.");if(options&&!isPlainObject(options))throw new TypeError("Expected options argument to be an object.");__classPrivateFieldSet(this,_FormDataEncoder_form,Array.from(form.entries()),"f"),__classPrivateFieldSet(this,_FormDataEncoder_options,{...defaultOptions,...options},"f"),__classPrivateFieldSet(this,_FormDataEncoder_CRLF_BYTES,__classPrivateFieldGet(this,_FormDataEncoder_encoder,"f").encode(__classPrivateFieldGet(this,_FormDataEncoder_CRLF,"f")),"f"),__classPrivateFieldSet(this,_FormDataEncoder_CRLF_BYTES_LENGTH,__classPrivateFieldGet(this,_FormDataEncoder_CRLF_BYTES,"f").byteLength,"f"),this.boundary=`form-data-boundary-${boundary}`,this.contentType=`multipart/form-data; boundary=${this.boundary}`,__classPrivateFieldSet(this,_FormDataEncoder_footer,__classPrivateFieldGet(this,_FormDataEncoder_encoder,"f").encode(`${__classPrivateFieldGet(this,_FormDataEncoder_DASHES,"f")}${this.boundary}${__classPrivateFieldGet(this,_FormDataEncoder_DASHES,"f")}${__classPrivateFieldGet(this,_FormDataEncoder_CRLF,"f").repeat(2)}`),"f");let headers={"Content-Type":this.contentType},contentLength=__classPrivateFieldGet(this,_FormDataEncoder_instances,"m",_FormDataEncoder_getContentLength).call(this);contentLength&&(this.contentLength=contentLength,headers["Content-Length"]=contentLength),this.headers=proxyHeaders(Object.freeze(headers)),Object.defineProperties(this,{boundary:readonlyProp,contentType:readonlyProp,contentLength:readonlyProp,headers:readonlyProp});}getContentLength(){return this.contentLength==null?void 0:Number(this.contentLength)}*values(){for(let[name,raw]of __classPrivateFieldGet(this,_FormDataEncoder_form,"f")){let value=isFile(raw)?raw:__classPrivateFieldGet(this,_FormDataEncoder_encoder,"f").encode(normalizeValue(raw));yield __classPrivateFieldGet(this,_FormDataEncoder_instances,"m",_FormDataEncoder_getFieldHeader).call(this,name,value),yield value,yield __classPrivateFieldGet(this,_FormDataEncoder_CRLF_BYTES,"f");}yield __classPrivateFieldGet(this,_FormDataEncoder_footer,"f");}async*encode(){for(let part of this.values())isFile(part)?yield*getStreamIterator(part.stream()):yield part;}[(_FormDataEncoder_CRLF=new WeakMap,_FormDataEncoder_CRLF_BYTES=new WeakMap,_FormDataEncoder_CRLF_BYTES_LENGTH=new WeakMap,_FormDataEncoder_DASHES=new WeakMap,_FormDataEncoder_encoder=new WeakMap,_FormDataEncoder_footer=new WeakMap,_FormDataEncoder_form=new WeakMap,_FormDataEncoder_options=new WeakMap,_FormDataEncoder_instances=new WeakSet,_FormDataEncoder_getFieldHeader=function(name,value){let header="";header+=`${__classPrivateFieldGet(this,_FormDataEncoder_DASHES,"f")}${this.boundary}${__classPrivateFieldGet(this,_FormDataEncoder_CRLF,"f")}`,header+=`Content-Disposition: form-data; name="${escapeName(name)}"`,isFile(value)&&(header+=`; filename="${escapeName(value.name)}"${__classPrivateFieldGet(this,_FormDataEncoder_CRLF,"f")}`,header+=`Content-Type: ${value.type||"application/octet-stream"}`);let size=isFile(value)?value.size:value.byteLength;return __classPrivateFieldGet(this,_FormDataEncoder_options,"f").enableAdditionalHeaders===!0&&size!=null&&!isNaN(size)&&(header+=`${__classPrivateFieldGet(this,_FormDataEncoder_CRLF,"f")}Content-Length: ${isFile(value)?value.size:value.byteLength}`),__classPrivateFieldGet(this,_FormDataEncoder_encoder,"f").encode(`${header}${__classPrivateFieldGet(this,_FormDataEncoder_CRLF,"f").repeat(2)}`)},_FormDataEncoder_getContentLength=function(){let length=0;for(let[name,raw]of __classPrivateFieldGet(this,_FormDataEncoder_form,"f")){let value=isFile(raw)?raw:__classPrivateFieldGet(this,_FormDataEncoder_encoder,"f").encode(normalizeValue(raw)),size=isFile(value)?value.size:value.byteLength;if(size==null||isNaN(size))return;length+=__classPrivateFieldGet(this,_FormDataEncoder_instances,"m",_FormDataEncoder_getFieldHeader).call(this,name,value).byteLength,length+=size,length+=__classPrivateFieldGet(this,_FormDataEncoder_CRLF_BYTES_LENGTH,"f");}return String(length+__classPrivateFieldGet(this,_FormDataEncoder_footer,"f").byteLength)},Symbol.iterator)](){return this.values()}[Symbol.asyncIterator](){return this.encode()}};function isFormData2(body){return dist_default.nodeStream(body)&&dist_default.function_(body.getBoundary)}async function getBodySize(body,headers){if(headers&&"content-length"in headers)return Number(headers["content-length"]);if(!body)return 0;if(dist_default.string(body))return Buffer$1.byteLength(body);if(dist_default.buffer(body))return body.length;if(isFormData2(body))return promisify(body.getLength.bind(body))()}function proxyEvents(from,to,events){let eventFunctions={};for(let event of events){let eventFunction=(...args)=>{to.emit(event,...args);};eventFunctions[event]=eventFunction,from.on(event,eventFunction);}return ()=>{for(let[event,eventFunction]of Object.entries(eventFunctions))from.off(event,eventFunction);}}function unhandle(){let handlers=[];return {once(origin,event,fn){origin.once(event,fn),handlers.push({origin,event,fn});},unhandleAll(){for(let handler of handlers){let{origin,event,fn}=handler;origin.removeListener(event,fn);}handlers.length=0;}}}var reentry=Symbol("reentry"),noop=()=>{},TimeoutError2=class extends Error{constructor(threshold,event){super(`Timeout awaiting '${event}' for ${threshold}ms`),Object.defineProperty(this,"event",{enumerable:!0,configurable:!0,writable:!0,value:event}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name="TimeoutError",this.code="ETIMEDOUT";}};function timedOut(request,delays,options){if(reentry in request)return noop;request[reentry]=!0;let cancelers=[],{once,unhandleAll}=unhandle(),addTimeout=(delay2,callback,event)=>{var _a;let timeout=setTimeout(callback,delay2,delay2,event);(_a=timeout.unref)==null||_a.call(timeout);let cancel=()=>{clearTimeout(timeout);};return cancelers.push(cancel),cancel},{host,hostname}=options,timeoutHandler=(delay2,event)=>{request.destroy(new TimeoutError2(delay2,event));},cancelTimeouts=()=>{for(let cancel of cancelers)cancel();unhandleAll();};if(request.once("error",error=>{if(cancelTimeouts(),request.listenerCount("error")===0)throw error}),typeof delays.request<"u"){let cancelTimeout=addTimeout(delays.request,timeoutHandler,"request");once(request,"response",response=>{once(response,"end",cancelTimeout);});}if(typeof delays.socket<"u"){let{socket}=delays,socketTimeoutHandler=()=>{timeoutHandler(socket,"socket");};request.setTimeout(socket,socketTimeoutHandler),cancelers.push(()=>{request.removeListener("timeout",socketTimeoutHandler);});}let hasLookup=typeof delays.lookup<"u",hasConnect=typeof delays.connect<"u",hasSecureConnect=typeof delays.secureConnect<"u",hasSend=typeof delays.send<"u";return (hasLookup||hasConnect||hasSecureConnect||hasSend)&&once(request,"socket",socket=>{let{socketPath}=request;if(socket.connecting){let hasPath=!!(socketPath??net.isIP(hostname??host??"")!==0);if(hasLookup&&!hasPath&&typeof socket.address().address>"u"){let cancelTimeout=addTimeout(delays.lookup,timeoutHandler,"lookup");once(socket,"lookup",cancelTimeout);}if(hasConnect){let timeConnect=()=>addTimeout(delays.connect,timeoutHandler,"connect");hasPath?once(socket,"connect",timeConnect()):once(socket,"lookup",error=>{error===null&&once(socket,"connect",timeConnect());});}hasSecureConnect&&options.protocol==="https:"&&once(socket,"connect",()=>{let cancelTimeout=addTimeout(delays.secureConnect,timeoutHandler,"secureConnect");once(socket,"secureConnect",cancelTimeout);});}if(hasSend){let timeRequest=()=>addTimeout(delays.send,timeoutHandler,"send");socket.connecting?once(socket,"connect",()=>{once(request,"upload-complete",timeRequest());}):once(request,"upload-complete",timeRequest());}}),typeof delays.response<"u"&&once(request,"upload-complete",()=>{let cancelTimeout=addTimeout(delays.response,timeoutHandler,"response");once(request,"response",cancelTimeout);}),typeof delays.read<"u"&&once(request,"response",response=>{let cancelTimeout=addTimeout(delays.read,timeoutHandler,"read");once(response,"end",cancelTimeout);}),cancelTimeouts}function urlToOptions(url){url=url;let options={protocol:url.protocol,hostname:dist_default.string(url.hostname)&&url.hostname.startsWith("[")?url.hostname.slice(1,-1):url.hostname,host:url.host,hash:url.hash,search:url.search,pathname:url.pathname,href:url.href,path:`${url.pathname||""}${url.search||""}`};return dist_default.string(url.port)&&url.port.length>0&&(options.port=Number(url.port)),(url.username||url.password)&&(options.auth=`${url.username||""}:${url.password||""}`),options}var WeakableMap=class{constructor(){Object.defineProperty(this,"weakMap",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"map",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.weakMap=new WeakMap,this.map=new Map;}set(key,value){typeof key=="object"?this.weakMap.set(key,value):this.map.set(key,value);}get(key){return typeof key=="object"?this.weakMap.get(key):this.map.get(key)}has(key){return typeof key=="object"?this.weakMap.has(key):this.map.has(key)}},calculateRetryDelay=({attemptCount,retryOptions,error,retryAfter,computedValue})=>{if(error.name==="RetryError")return 1;if(attemptCount>retryOptions.limit)return 0;let hasMethod=retryOptions.methods.includes(error.options.method),hasErrorCode=retryOptions.errorCodes.includes(error.code),hasStatusCode=error.response&&retryOptions.statusCodes.includes(error.response.statusCode);if(!hasMethod||!hasErrorCode&&!hasStatusCode)return 0;if(error.response){if(retryAfter)return retryAfter>computedValue?0:retryAfter;if(error.response.statusCode===413)return 0}let noise=Math.random()*retryOptions.noise;return Math.min(2**(attemptCount-1)*1e3,retryOptions.backoffLimit)+noise},calculate_retry_delay_default=calculateRetryDelay,{Resolver:AsyncResolver}=promises,kCacheableLookupCreateConnection=Symbol("cacheableLookupCreateConnection"),kCacheableLookupInstance=Symbol("cacheableLookupInstance"),kExpires=Symbol("expires"),supportsALL=typeof ALL=="number",verifyAgent=agent2=>{if(!(agent2&&typeof agent2.createConnection=="function"))throw new Error("Expected an Agent instance as the first argument")},map4to6=entries2=>{for(let entry of entries2)entry.family!==6&&(entry.address=`::ffff:${entry.address}`,entry.family=6);},getIfaceInfo=()=>{let has4=!1,has6=!1;for(let device of Object.values(os.networkInterfaces()))for(let iface of device)if(!iface.internal&&(iface.family==="IPv6"?has6=!0:has4=!0,has4&&has6))return {has4,has6};return {has4,has6}},isIterable=map=>Symbol.iterator in map,ignoreNoResultErrors=dnsPromise=>dnsPromise.catch(error=>{if(error.code==="ENODATA"||error.code==="ENOTFOUND"||error.code==="ENOENT")return [];throw error}),ttl={ttl:!0},all={all:!0},all4={all:!0,family:4},all6={all:!0,family:6},CacheableLookup=class{constructor({cache:cache3=new Map,maxTtl=1/0,fallbackDuration=3600,errorTtl=.15,resolver=new AsyncResolver,lookup: lookup$1=lookup}={}){if(this.maxTtl=maxTtl,this.errorTtl=errorTtl,this._cache=cache3,this._resolver=resolver,this._dnsLookup=lookup$1&&promisify(lookup$1),this.stats={cache:0,query:0},this._resolver instanceof AsyncResolver?(this._resolve4=this._resolver.resolve4.bind(this._resolver),this._resolve6=this._resolver.resolve6.bind(this._resolver)):(this._resolve4=promisify(this._resolver.resolve4.bind(this._resolver)),this._resolve6=promisify(this._resolver.resolve6.bind(this._resolver))),this._iface=getIfaceInfo(),this._pending={},this._nextRemovalTime=!1,this._hostnamesToFallback=new Set,this.fallbackDuration=fallbackDuration,fallbackDuration>0){let interval=setInterval(()=>{this._hostnamesToFallback.clear();},fallbackDuration*1e3);interval.unref&&interval.unref(),this._fallbackInterval=interval;}this.lookup=this.lookup.bind(this),this.lookupAsync=this.lookupAsync.bind(this);}set servers(servers){this.clear(),this._resolver.setServers(servers);}get servers(){return this._resolver.getServers()}lookup(hostname,options,callback){if(typeof options=="function"?(callback=options,options={}):typeof options=="number"&&(options={family:options}),!callback)throw new Error("Callback must be a function.");this.lookupAsync(hostname,options).then(result=>{options.all?callback(null,result):callback(null,result.address,result.family,result.expires,result.ttl,result.source);},callback);}async lookupAsync(hostname,options={}){typeof options=="number"&&(options={family:options});let cached=await this.query(hostname);if(options.family===6){let filtered=cached.filter(entry=>entry.family===6);options.hints&V4MAPPED&&(supportsALL&&options.hints&ALL||filtered.length===0)?map4to6(cached):cached=filtered;}else options.family===4&&(cached=cached.filter(entry=>entry.family===4));if(options.hints&ADDRCONFIG){let{_iface}=this;cached=cached.filter(entry=>entry.family===6?_iface.has6:_iface.has4);}if(cached.length===0){let error=new Error(`cacheableLookup ENOTFOUND ${hostname}`);throw error.code="ENOTFOUND",error.hostname=hostname,error}return options.all?cached:cached[0]}async query(hostname){let source="cache",cached=await this._cache.get(hostname);if(cached&&this.stats.cache++,!cached){let pending=this._pending[hostname];if(pending)this.stats.cache++,cached=await pending;else {source="query";let newPromise=this.queryAndCache(hostname);this._pending[hostname]=newPromise,this.stats.query++;try{cached=await newPromise;}finally{delete this._pending[hostname];}}}return cached=cached.map(entry=>({...entry,source})),cached}async _resolve(hostname){let[A,AAAA]=await Promise.all([ignoreNoResultErrors(this._resolve4(hostname,ttl)),ignoreNoResultErrors(this._resolve6(hostname,ttl))]),aTtl=0,aaaaTtl=0,cacheTtl=0,now=Date.now();for(let entry of A)entry.family=4,entry.expires=now+entry.ttl*1e3,aTtl=Math.max(aTtl,entry.ttl);for(let entry of AAAA)entry.family=6,entry.expires=now+entry.ttl*1e3,aaaaTtl=Math.max(aaaaTtl,entry.ttl);return A.length>0?AAAA.length>0?cacheTtl=Math.min(aTtl,aaaaTtl):cacheTtl=aTtl:cacheTtl=aaaaTtl,{entries:[...A,...AAAA],cacheTtl}}async _lookup(hostname){try{let[A,AAAA]=await Promise.all([ignoreNoResultErrors(this._dnsLookup(hostname,all4)),ignoreNoResultErrors(this._dnsLookup(hostname,all6))]);return {entries:[...A,...AAAA],cacheTtl:0}}catch{return {entries:[],cacheTtl:0}}}async _set(hostname,data,cacheTtl){if(this.maxTtl>0&&cacheTtl>0){cacheTtl=Math.min(cacheTtl,this.maxTtl)*1e3,data[kExpires]=Date.now()+cacheTtl;try{await this._cache.set(hostname,data,cacheTtl);}catch(error){this.lookupAsync=async()=>{let cacheError=new Error("Cache Error. Please recreate the CacheableLookup instance.");throw cacheError.cause=error,cacheError};}isIterable(this._cache)&&this._tick(cacheTtl);}}async queryAndCache(hostname){if(this._hostnamesToFallback.has(hostname))return this._dnsLookup(hostname,all);let query=await this._resolve(hostname);query.entries.length===0&&this._dnsLookup&&(query=await this._lookup(hostname),query.entries.length!==0&&this.fallbackDuration>0&&this._hostnamesToFallback.add(hostname));let cacheTtl=query.entries.length===0?this.errorTtl:query.cacheTtl;return await this._set(hostname,query.entries,cacheTtl),query.entries}_tick(ms){let nextRemovalTime=this._nextRemovalTime;(!nextRemovalTime||ms<nextRemovalTime)&&(clearTimeout(this._removalTimeout),this._nextRemovalTime=ms,this._removalTimeout=setTimeout(()=>{this._nextRemovalTime=!1;let nextExpiry=1/0,now=Date.now();for(let[hostname,entries2]of this._cache){let expires=entries2[kExpires];now>=expires?this._cache.delete(hostname):expires<nextExpiry&&(nextExpiry=expires);}nextExpiry!==1/0&&this._tick(nextExpiry-now);},ms),this._removalTimeout.unref&&this._removalTimeout.unref());}install(agent2){if(verifyAgent(agent2),kCacheableLookupCreateConnection in agent2)throw new Error("CacheableLookup has been already installed");agent2[kCacheableLookupCreateConnection]=agent2.createConnection,agent2[kCacheableLookupInstance]=this,agent2.createConnection=(options,callback)=>("lookup"in options||(options.lookup=this.lookup),agent2[kCacheableLookupCreateConnection](options,callback));}uninstall(agent2){if(verifyAgent(agent2),agent2[kCacheableLookupCreateConnection]){if(agent2[kCacheableLookupInstance]!==this)throw new Error("The agent is not owned by this CacheableLookup instance");agent2.createConnection=agent2[kCacheableLookupCreateConnection],delete agent2[kCacheableLookupCreateConnection],delete agent2[kCacheableLookupInstance];}}updateInterfaceInfo(){let{_iface}=this;this._iface=getIfaceInfo(),(_iface.has4&&!this._iface.has4||_iface.has6&&!this._iface.has6)&&this._cache.clear();}clear(hostname){if(hostname){this._cache.delete(hostname);return}this._cache.clear();}},import_http2_wrapper=__toESM2(require_source2(),1);function parseLinkHeader(link2){let parsed=[],items=link2.split(",");for(let item of items){let[rawUriReference,...rawLinkParameters]=item.split(";"),trimmedUriReference=rawUriReference.trim();if(trimmedUriReference[0]!=="<"||trimmedUriReference[trimmedUriReference.length-1]!==">")throw new Error(`Invalid format of the Link header reference: ${trimmedUriReference}`);let reference=trimmedUriReference.slice(1,-1),parameters={};if(rawLinkParameters.length===0)throw new Error(`Unexpected end of Link header parameters: ${rawLinkParameters.join(";")}`);for(let rawParameter of rawLinkParameters){let trimmedRawParameter=rawParameter.trim(),center=trimmedRawParameter.indexOf("=");if(center===-1)throw new Error(`Failed to parse Link header: ${link2}`);let name=trimmedRawParameter.slice(0,center).trim(),value=trimmedRawParameter.slice(center+1).trim();parameters[name]=value;}parsed.push({reference,parameters});}return parsed}var[major,minor]=process2.versions.node.split(".").map(Number);function validateSearchParameters(searchParameters){for(let key in searchParameters){let value=searchParameters[key];assert.any([dist_default.string,dist_default.number,dist_default.boolean,dist_default.null_,dist_default.undefined],value);}}var globalCache=new Map,globalDnsCache,getGlobalDnsCache=()=>globalDnsCache||(globalDnsCache=new CacheableLookup,globalDnsCache),defaultInternals={request:void 0,agent:{http:void 0,https:void 0,http2:void 0},h2session:void 0,decompress:!0,timeout:{connect:void 0,lookup:void 0,read:void 0,request:void 0,response:void 0,secureConnect:void 0,send:void 0,socket:void 0},prefixUrl:"",body:void 0,form:void 0,json:void 0,cookieJar:void 0,ignoreInvalidCookies:!1,searchParams:void 0,dnsLookup:void 0,dnsCache:void 0,context:{},hooks:{init:[],beforeRequest:[],beforeError:[],beforeRedirect:[],beforeRetry:[],afterResponse:[]},followRedirect:!0,maxRedirects:10,cache:void 0,throwHttpErrors:!0,username:"",password:"",http2:!1,allowGetBody:!1,headers:{"user-agent":"got (https://github.com/sindresorhus/got)"},methodRewriting:!1,dnsLookupIpVersion:void 0,parseJson:JSON.parse,stringifyJson:JSON.stringify,retry:{limit:2,methods:["GET","PUT","HEAD","DELETE","OPTIONS","TRACE"],statusCodes:[408,413,429,500,502,503,504,521,522,524],errorCodes:["ETIMEDOUT","ECONNRESET","EADDRINUSE","ECONNREFUSED","EPIPE","ENOTFOUND","ENETUNREACH","EAI_AGAIN"],maxRetryAfter:void 0,calculateDelay:({computedValue})=>computedValue,backoffLimit:Number.POSITIVE_INFINITY,noise:100},localAddress:void 0,method:"GET",createConnection:void 0,cacheOptions:{shared:void 0,cacheHeuristic:void 0,immutableMinTimeToLive:void 0,ignoreCargoCult:void 0},https:{alpnProtocols:void 0,rejectUnauthorized:void 0,checkServerIdentity:void 0,certificateAuthority:void 0,key:void 0,certificate:void 0,passphrase:void 0,pfx:void 0,ciphers:void 0,honorCipherOrder:void 0,minVersion:void 0,maxVersion:void 0,signatureAlgorithms:void 0,tlsSessionLifetime:void 0,dhparam:void 0,ecdhCurve:void 0,certificateRevocationLists:void 0},encoding:void 0,resolveBodyOnly:!1,isStream:!1,responseType:"text",url:void 0,pagination:{transform(response){return response.request.options.responseType==="json"?response.body:JSON.parse(response.body)},paginate({response}){let rawLinkHeader=response.headers.link;if(typeof rawLinkHeader!="string"||rawLinkHeader.trim()==="")return !1;let next=parseLinkHeader(rawLinkHeader).find(entry=>entry.parameters.rel==="next"||entry.parameters.rel==='"next"');return next?{url:new URL$1(next.reference,response.url)}:!1},filter:()=>!0,shouldContinue:()=>!0,countLimit:Number.POSITIVE_INFINITY,backoff:0,requestLimit:1e4,stackAllItems:!1},setHost:!0,maxHeaderSize:void 0,signal:void 0,enableUnixSockets:!0},cloneInternals=internals=>{let{hooks,retry}=internals,result={...internals,context:{...internals.context},cacheOptions:{...internals.cacheOptions},https:{...internals.https},agent:{...internals.agent},headers:{...internals.headers},retry:{...retry,errorCodes:[...retry.errorCodes],methods:[...retry.methods],statusCodes:[...retry.statusCodes]},timeout:{...internals.timeout},hooks:{init:[...hooks.init],beforeRequest:[...hooks.beforeRequest],beforeError:[...hooks.beforeError],beforeRedirect:[...hooks.beforeRedirect],beforeRetry:[...hooks.beforeRetry],afterResponse:[...hooks.afterResponse]},searchParams:internals.searchParams?new URLSearchParams(internals.searchParams):void 0,pagination:{...internals.pagination}};return result.url!==void 0&&(result.prefixUrl=""),result},cloneRaw=raw=>{let{hooks,retry}=raw,result={...raw};return dist_default.object(raw.context)&&(result.context={...raw.context}),dist_default.object(raw.cacheOptions)&&(result.cacheOptions={...raw.cacheOptions}),dist_default.object(raw.https)&&(result.https={...raw.https}),dist_default.object(raw.cacheOptions)&&(result.cacheOptions={...result.cacheOptions}),dist_default.object(raw.agent)&&(result.agent={...raw.agent}),dist_default.object(raw.headers)&&(result.headers={...raw.headers}),dist_default.object(retry)&&(result.retry={...retry},dist_default.array(retry.errorCodes)&&(result.retry.errorCodes=[...retry.errorCodes]),dist_default.array(retry.methods)&&(result.retry.methods=[...retry.methods]),dist_default.array(retry.statusCodes)&&(result.retry.statusCodes=[...retry.statusCodes])),dist_default.object(raw.timeout)&&(result.timeout={...raw.timeout}),dist_default.object(hooks)&&(result.hooks={...hooks},dist_default.array(hooks.init)&&(result.hooks.init=[...hooks.init]),dist_default.array(hooks.beforeRequest)&&(result.hooks.beforeRequest=[...hooks.beforeRequest]),dist_default.array(hooks.beforeError)&&(result.hooks.beforeError=[...hooks.beforeError]),dist_default.array(hooks.beforeRedirect)&&(result.hooks.beforeRedirect=[...hooks.beforeRedirect]),dist_default.array(hooks.beforeRetry)&&(result.hooks.beforeRetry=[...hooks.beforeRetry]),dist_default.array(hooks.afterResponse)&&(result.hooks.afterResponse=[...hooks.afterResponse])),dist_default.object(raw.pagination)&&(result.pagination={...raw.pagination}),result},getHttp2TimeoutOption=internals=>{let delays=[internals.timeout.socket,internals.timeout.connect,internals.timeout.lookup,internals.timeout.request,internals.timeout.secureConnect].filter(delay2=>typeof delay2=="number");if(delays.length>0)return Math.min(...delays)},init=(options,withOptions,self2)=>{var _a;let initHooks=(_a=options.hooks)==null?void 0:_a.init;if(initHooks)for(let hook of initHooks)hook(withOptions,self2);},Options=class{constructor(input,options,defaults22){if(Object.defineProperty(this,"_unixOptions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_internals",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_merging",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_init",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),assert.any([dist_default.string,dist_default.urlInstance,dist_default.object,dist_default.undefined],input),assert.any([dist_default.object,dist_default.undefined],options),assert.any([dist_default.object,dist_default.undefined],defaults22),input instanceof Options||options instanceof Options)throw new TypeError("The defaults must be passed as the third argument");this._internals=cloneInternals(defaults22?._internals??defaults22??defaultInternals),this._init=[...defaults22?._init??[]],this._merging=!1,this._unixOptions=void 0;try{if(dist_default.plainObject(input))try{this.merge(input),this.merge(options);}finally{this.url=input.url;}else try{this.merge(options);}finally{if(options?.url!==void 0)if(input===void 0)this.url=options.url;else throw new TypeError("The `url` option is mutually exclusive with the `input` argument");else input!==void 0&&(this.url=input);}}catch(error){throw error.options=this,error}}merge(options){if(options){if(options instanceof Options){for(let init2 of options._init)this.merge(init2);return}options=cloneRaw(options),init(this,options,this),init(options,options,this),this._merging=!0,"isStream"in options&&(this.isStream=options.isStream);try{let push=!1;for(let key in options)if(!(key==="mutableDefaults"||key==="handlers")&&key!=="url"){if(!(key in this))throw new Error(`Unexpected option: ${key}`);this[key]=options[key],push=!0;}push&&this._init.push(options);}finally{this._merging=!1;}}}get request(){return this._internals.request}set request(value){assert.any([dist_default.function_,dist_default.undefined],value),this._internals.request=value;}get agent(){return this._internals.agent}set agent(value){assert.plainObject(value);for(let key in value){if(!(key in this._internals.agent))throw new TypeError(`Unexpected agent option: ${key}`);assert.any([dist_default.object,dist_default.undefined],value[key]);}this._merging?Object.assign(this._internals.agent,value):this._internals.agent={...value};}get h2session(){return this._internals.h2session}set h2session(value){this._internals.h2session=value;}get decompress(){return this._internals.decompress}set decompress(value){assert.boolean(value),this._internals.decompress=value;}get timeout(){return this._internals.timeout}set timeout(value){assert.plainObject(value);for(let key in value){if(!(key in this._internals.timeout))throw new Error(`Unexpected timeout option: ${key}`);assert.any([dist_default.number,dist_default.undefined],value[key]);}this._merging?Object.assign(this._internals.timeout,value):this._internals.timeout={...value};}get prefixUrl(){return this._internals.prefixUrl}set prefixUrl(value){if(assert.any([dist_default.string,dist_default.urlInstance],value),value===""){this._internals.prefixUrl="";return}if(value=value.toString(),value.endsWith("/")||(value+="/"),this._internals.prefixUrl&&this._internals.url){let{href}=this._internals.url;this._internals.url.href=value+href.slice(this._internals.prefixUrl.length);}this._internals.prefixUrl=value;}get body(){return this._internals.body}set body(value){assert.any([dist_default.string,dist_default.buffer,dist_default.nodeStream,dist_default.generator,dist_default.asyncGenerator,isFormData,dist_default.undefined],value),dist_default.nodeStream(value)&&assert.truthy(value.readable),value!==void 0&&(assert.undefined(this._internals.form),assert.undefined(this._internals.json)),this._internals.body=value;}get form(){return this._internals.form}set form(value){assert.any([dist_default.plainObject,dist_default.undefined],value),value!==void 0&&(assert.undefined(this._internals.body),assert.undefined(this._internals.json)),this._internals.form=value;}get json(){return this._internals.json}set json(value){value!==void 0&&(assert.undefined(this._internals.body),assert.undefined(this._internals.form)),this._internals.json=value;}get url(){return this._internals.url}set url(value){if(assert.any([dist_default.string,dist_default.urlInstance,dist_default.undefined],value),value===void 0){this._internals.url=void 0;return}if(dist_default.string(value)&&value.startsWith("/"))throw new Error("`url` must not start with a slash");let urlString=`${this.prefixUrl}${value.toString()}`,url=new URL$1(urlString);if(this._internals.url=url,url.protocol==="unix:"&&(url.href=`http://unix${url.pathname}${url.search}`),url.protocol!=="http:"&&url.protocol!=="https:"){let error=new Error(`Unsupported protocol: ${url.protocol}`);throw error.code="ERR_UNSUPPORTED_PROTOCOL",error}if(this._internals.username&&(url.username=this._internals.username,this._internals.username=""),this._internals.password&&(url.password=this._internals.password,this._internals.password=""),this._internals.searchParams&&(url.search=this._internals.searchParams.toString(),this._internals.searchParams=void 0),url.hostname==="unix"){if(!this._internals.enableUnixSockets)throw new Error("Using UNIX domain sockets but option `enableUnixSockets` is not enabled");let matches=/(?<socketPath>.+?):(?<path>.+)/.exec(`${url.pathname}${url.search}`);if(matches?.groups){let{socketPath,path:path10}=matches.groups;this._unixOptions={socketPath,path:path10,host:""};}else this._unixOptions=void 0;return}this._unixOptions=void 0;}get cookieJar(){return this._internals.cookieJar}set cookieJar(value){if(assert.any([dist_default.object,dist_default.undefined],value),value===void 0){this._internals.cookieJar=void 0;return}let{setCookie,getCookieString}=value;assert.function_(setCookie),assert.function_(getCookieString),setCookie.length===4&&getCookieString.length===0?(setCookie=promisify(setCookie.bind(value)),getCookieString=promisify(getCookieString.bind(value)),this._internals.cookieJar={setCookie,getCookieString}):this._internals.cookieJar=value;}get signal(){return this._internals.signal}set signal(value){assert.object(value),this._internals.signal=value;}get ignoreInvalidCookies(){return this._internals.ignoreInvalidCookies}set ignoreInvalidCookies(value){assert.boolean(value),this._internals.ignoreInvalidCookies=value;}get searchParams(){return this._internals.url?this._internals.url.searchParams:(this._internals.searchParams===void 0&&(this._internals.searchParams=new URLSearchParams),this._internals.searchParams)}set searchParams(value){assert.any([dist_default.string,dist_default.object,dist_default.undefined],value);let url=this._internals.url;if(value===void 0){this._internals.searchParams=void 0,url&&(url.search="");return}let searchParameters=this.searchParams,updated;if(dist_default.string(value))updated=new URLSearchParams(value);else if(value instanceof URLSearchParams)updated=value;else {validateSearchParameters(value),updated=new URLSearchParams;for(let key in value){let entry=value[key];entry===null?updated.append(key,""):entry===void 0?searchParameters.delete(key):updated.append(key,entry);}}if(this._merging){for(let key of updated.keys())searchParameters.delete(key);for(let[key,value2]of updated)searchParameters.append(key,value2);}else url?url.search=searchParameters.toString():this._internals.searchParams=searchParameters;}get searchParameters(){throw new Error("The `searchParameters` option does not exist. Use `searchParams` instead.")}set searchParameters(_value){throw new Error("The `searchParameters` option does not exist. Use `searchParams` instead.")}get dnsLookup(){return this._internals.dnsLookup}set dnsLookup(value){assert.any([dist_default.function_,dist_default.undefined],value),this._internals.dnsLookup=value;}get dnsCache(){return this._internals.dnsCache}set dnsCache(value){assert.any([dist_default.object,dist_default.boolean,dist_default.undefined],value),value===!0?this._internals.dnsCache=getGlobalDnsCache():value===!1?this._internals.dnsCache=void 0:this._internals.dnsCache=value;}get context(){return this._internals.context}set context(value){assert.object(value),this._merging?Object.assign(this._internals.context,value):this._internals.context={...value};}get hooks(){return this._internals.hooks}set hooks(value){assert.object(value);for(let knownHookEvent in value){if(!(knownHookEvent in this._internals.hooks))throw new Error(`Unexpected hook event: ${knownHookEvent}`);let typedKnownHookEvent=knownHookEvent,hooks=value[typedKnownHookEvent];if(assert.any([dist_default.array,dist_default.undefined],hooks),hooks)for(let hook of hooks)assert.function_(hook);if(this._merging)hooks&&this._internals.hooks[typedKnownHookEvent].push(...hooks);else {if(!hooks)throw new Error(`Missing hook event: ${knownHookEvent}`);this._internals.hooks[knownHookEvent]=[...hooks];}}}get followRedirect(){return this._internals.followRedirect}set followRedirect(value){assert.boolean(value),this._internals.followRedirect=value;}get followRedirects(){throw new TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.")}set followRedirects(_value){throw new TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.")}get maxRedirects(){return this._internals.maxRedirects}set maxRedirects(value){assert.number(value),this._internals.maxRedirects=value;}get cache(){return this._internals.cache}set cache(value){assert.any([dist_default.object,dist_default.string,dist_default.boolean,dist_default.undefined],value),value===!0?this._internals.cache=globalCache:value===!1?this._internals.cache=void 0:this._internals.cache=value;}get throwHttpErrors(){return this._internals.throwHttpErrors}set throwHttpErrors(value){assert.boolean(value),this._internals.throwHttpErrors=value;}get username(){let url=this._internals.url,value=url?url.username:this._internals.username;return decodeURIComponent(value)}set username(value){assert.string(value);let url=this._internals.url,fixedValue=encodeURIComponent(value);url?url.username=fixedValue:this._internals.username=fixedValue;}get password(){let url=this._internals.url,value=url?url.password:this._internals.password;return decodeURIComponent(value)}set password(value){assert.string(value);let url=this._internals.url,fixedValue=encodeURIComponent(value);url?url.password=fixedValue:this._internals.password=fixedValue;}get http2(){return this._internals.http2}set http2(value){assert.boolean(value),this._internals.http2=value;}get allowGetBody(){return this._internals.allowGetBody}set allowGetBody(value){assert.boolean(value),this._internals.allowGetBody=value;}get headers(){return this._internals.headers}set headers(value){assert.plainObject(value),this._merging?Object.assign(this._internals.headers,lowercaseKeys(value)):this._internals.headers=lowercaseKeys(value);}get methodRewriting(){return this._internals.methodRewriting}set methodRewriting(value){assert.boolean(value),this._internals.methodRewriting=value;}get dnsLookupIpVersion(){return this._internals.dnsLookupIpVersion}set dnsLookupIpVersion(value){if(value!==void 0&&value!==4&&value!==6)throw new TypeError(`Invalid DNS lookup IP version: ${value}`);this._internals.dnsLookupIpVersion=value;}get parseJson(){return this._internals.parseJson}set parseJson(value){assert.function_(value),this._internals.parseJson=value;}get stringifyJson(){return this._internals.stringifyJson}set stringifyJson(value){assert.function_(value),this._internals.stringifyJson=value;}get retry(){return this._internals.retry}set retry(value){if(assert.plainObject(value),assert.any([dist_default.function_,dist_default.undefined],value.calculateDelay),assert.any([dist_default.number,dist_default.undefined],value.maxRetryAfter),assert.any([dist_default.number,dist_default.undefined],value.limit),assert.any([dist_default.array,dist_default.undefined],value.methods),assert.any([dist_default.array,dist_default.undefined],value.statusCodes),assert.any([dist_default.array,dist_default.undefined],value.errorCodes),assert.any([dist_default.number,dist_default.undefined],value.noise),value.noise&&Math.abs(value.noise)>100)throw new Error(`The maximum acceptable retry noise is +/- 100ms, got ${value.noise}`);for(let key in value)if(!(key in this._internals.retry))throw new Error(`Unexpected retry option: ${key}`);this._merging?Object.assign(this._internals.retry,value):this._internals.retry={...value};let{retry}=this._internals;retry.methods=[...new Set(retry.methods.map(method=>method.toUpperCase()))],retry.statusCodes=[...new Set(retry.statusCodes)],retry.errorCodes=[...new Set(retry.errorCodes)];}get localAddress(){return this._internals.localAddress}set localAddress(value){assert.any([dist_default.string,dist_default.undefined],value),this._internals.localAddress=value;}get method(){return this._internals.method}set method(value){assert.string(value),this._internals.method=value.toUpperCase();}get createConnection(){return this._internals.createConnection}set createConnection(value){assert.any([dist_default.function_,dist_default.undefined],value),this._internals.createConnection=value;}get cacheOptions(){return this._internals.cacheOptions}set cacheOptions(value){assert.plainObject(value),assert.any([dist_default.boolean,dist_default.undefined],value.shared),assert.any([dist_default.number,dist_default.undefined],value.cacheHeuristic),assert.any([dist_default.number,dist_default.undefined],value.immutableMinTimeToLive),assert.any([dist_default.boolean,dist_default.undefined],value.ignoreCargoCult);for(let key in value)if(!(key in this._internals.cacheOptions))throw new Error(`Cache option \`${key}\` does not exist`);this._merging?Object.assign(this._internals.cacheOptions,value):this._internals.cacheOptions={...value};}get https(){return this._internals.https}set https(value){assert.plainObject(value),assert.any([dist_default.boolean,dist_default.undefined],value.rejectUnauthorized),assert.any([dist_default.function_,dist_default.undefined],value.checkServerIdentity),assert.any([dist_default.string,dist_default.object,dist_default.array,dist_default.undefined],value.certificateAuthority),assert.any([dist_default.string,dist_default.object,dist_default.array,dist_default.undefined],value.key),assert.any([dist_default.string,dist_default.object,dist_default.array,dist_default.undefined],value.certificate),assert.any([dist_default.string,dist_default.undefined],value.passphrase),assert.any([dist_default.string,dist_default.buffer,dist_default.array,dist_default.undefined],value.pfx),assert.any([dist_default.array,dist_default.undefined],value.alpnProtocols),assert.any([dist_default.string,dist_default.undefined],value.ciphers),assert.any([dist_default.string,dist_default.buffer,dist_default.undefined],value.dhparam),assert.any([dist_default.string,dist_default.undefined],value.signatureAlgorithms),assert.any([dist_default.string,dist_default.undefined],value.minVersion),assert.any([dist_default.string,dist_default.undefined],value.maxVersion),assert.any([dist_default.boolean,dist_default.undefined],value.honorCipherOrder),assert.any([dist_default.number,dist_default.undefined],value.tlsSessionLifetime),assert.any([dist_default.string,dist_default.undefined],value.ecdhCurve),assert.any([dist_default.string,dist_default.buffer,dist_default.array,dist_default.undefined],value.certificateRevocationLists);for(let key in value)if(!(key in this._internals.https))throw new Error(`HTTPS option \`${key}\` does not exist`);this._merging?Object.assign(this._internals.https,value):this._internals.https={...value};}get encoding(){return this._internals.encoding}set encoding(value){if(value===null)throw new TypeError("To get a Buffer, set `options.responseType` to `buffer` instead");assert.any([dist_default.string,dist_default.undefined],value),this._internals.encoding=value;}get resolveBodyOnly(){return this._internals.resolveBodyOnly}set resolveBodyOnly(value){assert.boolean(value),this._internals.resolveBodyOnly=value;}get isStream(){return this._internals.isStream}set isStream(value){assert.boolean(value),this._internals.isStream=value;}get responseType(){return this._internals.responseType}set responseType(value){if(value===void 0){this._internals.responseType="text";return}if(value!=="text"&&value!=="buffer"&&value!=="json")throw new Error(`Invalid \`responseType\` option: ${value}`);this._internals.responseType=value;}get pagination(){return this._internals.pagination}set pagination(value){assert.object(value),this._merging?Object.assign(this._internals.pagination,value):this._internals.pagination=value;}get auth(){throw new Error("Parameter `auth` is deprecated. Use `username` / `password` instead.")}set auth(_value){throw new Error("Parameter `auth` is deprecated. Use `username` / `password` instead.")}get setHost(){return this._internals.setHost}set setHost(value){assert.boolean(value),this._internals.setHost=value;}get maxHeaderSize(){return this._internals.maxHeaderSize}set maxHeaderSize(value){assert.any([dist_default.number,dist_default.undefined],value),this._internals.maxHeaderSize=value;}get enableUnixSockets(){return this._internals.enableUnixSockets}set enableUnixSockets(value){assert.boolean(value),this._internals.enableUnixSockets=value;}toJSON(){return {...this._internals}}[Symbol.for("nodejs.util.inspect.custom")](_depth,options){return inspect(this._internals,options)}createNativeRequestOptions(){var _a;let internals=this._internals,url=internals.url,agent2;url.protocol==="https:"?agent2=internals.http2?internals.agent:internals.agent.https:agent2=internals.agent.http;let{https:https2}=internals,{pfx}=https2;return dist_default.array(pfx)&&dist_default.plainObject(pfx[0])&&(pfx=pfx.map(object=>({buf:object.buffer,passphrase:object.passphrase}))),{...internals.cacheOptions,...this._unixOptions,ALPNProtocols:https2.alpnProtocols,ca:https2.certificateAuthority,cert:https2.certificate,key:https2.key,passphrase:https2.passphrase,pfx:https2.pfx,rejectUnauthorized:https2.rejectUnauthorized,checkServerIdentity:https2.checkServerIdentity??checkServerIdentity,ciphers:https2.ciphers,honorCipherOrder:https2.honorCipherOrder,minVersion:https2.minVersion,maxVersion:https2.maxVersion,sigalgs:https2.signatureAlgorithms,sessionTimeout:https2.tlsSessionLifetime,dhparam:https2.dhparam,ecdhCurve:https2.ecdhCurve,crl:https2.certificateRevocationLists,lookup:internals.dnsLookup??((_a=internals.dnsCache)==null?void 0:_a.lookup),family:internals.dnsLookupIpVersion,agent:agent2,setHost:internals.setHost,method:internals.method,maxHeaderSize:internals.maxHeaderSize,localAddress:internals.localAddress,headers:internals.headers,createConnection:internals.createConnection,timeout:internals.http2?getHttp2TimeoutOption(internals):void 0,h2session:internals.h2session}}getRequestFunction(){let url=this._internals.url,{request}=this._internals;return !request&&url?this.getFallbackRequestFunction():request}getFallbackRequestFunction(){let url=this._internals.url;if(url){if(url.protocol==="https:"){if(this._internals.http2){if(major<15||major===15&&minor<10){let error=new Error("To use the `http2` option, install Node.js 15.10.0 or above");throw error.code="EUNSUPPORTED",error}return import_http2_wrapper.default.auto}return https.request}return http.request}}freeze(){let options=this._internals;Object.freeze(options),Object.freeze(options.hooks),Object.freeze(options.hooks.afterResponse),Object.freeze(options.hooks.beforeError),Object.freeze(options.hooks.beforeRedirect),Object.freeze(options.hooks.beforeRequest),Object.freeze(options.hooks.beforeRetry),Object.freeze(options.hooks.init),Object.freeze(options.https),Object.freeze(options.cacheOptions),Object.freeze(options.agent),Object.freeze(options.headers),Object.freeze(options.timeout),Object.freeze(options.retry),Object.freeze(options.retry.errorCodes),Object.freeze(options.retry.methods),Object.freeze(options.retry.statusCodes);}},isResponseOk=response=>{let{statusCode}=response,limitStatusCode=response.request.options.followRedirect?299:399;return statusCode>=200&&statusCode<=limitStatusCode||statusCode===304},ParseError=class extends RequestError{constructor(error,response){let{options}=response.request;super(`${error.message} in "${options.url.toString()}"`,error,response.request),this.name="ParseError",this.code="ERR_BODY_PARSE_FAILURE";}},parseBody=(response,responseType,parseJson,encoding)=>{let{rawBody}=response;try{if(responseType==="text")return rawBody.toString(encoding);if(responseType==="json")return rawBody.length===0?"":parseJson(rawBody.toString(encoding));if(responseType==="buffer")return rawBody}catch(error){throw new ParseError(error,response)}throw new ParseError({message:`Unknown body type '${responseType}'`,name:"Error"},response)};function isClientRequest(clientRequest){return clientRequest.writable&&!clientRequest.writableEnded}var is_client_request_default=isClientRequest;function isUnixSocketURL(url){return url.protocol==="unix:"||url.hostname==="unix"}var supportsBrotli=dist_default.string(process2.versions.brotli),methodsWithoutBody=new Set(["GET","HEAD"]),cacheableStore=new WeakableMap,redirectCodes=new Set([300,301,302,303,304,307,308]),proxiedRequestEvents=["socket","connect","continue","information","upgrade"],noop2=()=>{},Request=class extends Duplex{constructor(url,options,defaults22){super({autoDestroy:!1,highWaterMark:0}),Object.defineProperty(this,"constructor",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_noPipe",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"response",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"requestUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"redirectUrls",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"retryCount",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_stopRetry",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_downloadedSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_uploadedSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_stopReading",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_pipedServerResponses",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_request",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_responseSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_bodySize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_unproxyEvents",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_isFromCache",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_cannotHaveBody",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_triggerRead",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_cancelTimeouts",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_removeListeners",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_nativeResponse",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_flushed",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_aborted",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_requestInitialized",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this._downloadedSize=0,this._uploadedSize=0,this._stopReading=!1,this._pipedServerResponses=new Set,this._cannotHaveBody=!1,this._unproxyEvents=noop2,this._triggerRead=!1,this._cancelTimeouts=noop2,this._removeListeners=noop2,this._jobs=[],this._flushed=!1,this._requestInitialized=!1,this._aborted=!1,this.redirectUrls=[],this.retryCount=0,this._stopRetry=noop2,this.on("pipe",source=>{source.headers&&Object.assign(this.options.headers,source.headers);}),this.on("newListener",event=>{if(event==="retry"&&this.listenerCount("retry")>0)throw new Error("A retry listener has been attached already.")});try{if(this.options=new Options(url,options,defaults22),!this.options.url){if(this.options.prefixUrl==="")throw new TypeError("Missing `url` property");this.options.url="";}this.requestUrl=this.options.url;}catch(error){let{options:options2}=error;options2&&(this.options=options2),this.flush=async()=>{this.flush=async()=>{},this.destroy(error);};return}let{body}=this.options;if(dist_default.nodeStream(body)&&body.once("error",error=>{this._flushed?this._beforeError(new UploadError(error,this)):this.flush=async()=>{this.flush=async()=>{},this._beforeError(new UploadError(error,this));};}),this.options.signal){let abort=()=>{this.destroy(new AbortError(this));};this.options.signal.aborted?abort():(this.options.signal.addEventListener("abort",abort),this._removeListeners=()=>{this.options.signal.removeEventListener("abort",abort);});}}async flush(){var _a;if(!this._flushed){this._flushed=!0;try{if(await this._finalizeBody(),this.destroyed)return;if(await this._makeRequest(),this.destroyed){(_a=this._request)==null||_a.destroy();return}for(let job of this._jobs)job();this._jobs.length=0,this._requestInitialized=!0;}catch(error){this._beforeError(error);}}}_beforeError(error){if(this._stopReading)return;let{response,options}=this,attemptCount=this.retryCount+(error.name==="RetryError"?0:1);this._stopReading=!0,error instanceof RequestError||(error=new RequestError(error.message,error,this));let typedError=error;(async()=>{var _a,_b;if(response?.readable&&!response.rawBody&&!((_b=(_a=this._request)==null?void 0:_a.socket)!=null&&_b.destroyed)&&(response.setEncoding(this.readableEncoding),await this._setRawBody(response)&&(response.body=response.rawBody.toString())),this.listenerCount("retry")!==0){let backoff;try{let retryAfter;response&&"retry-after"in response.headers&&(retryAfter=Number(response.headers["retry-after"]),Number.isNaN(retryAfter)?(retryAfter=Date.parse(response.headers["retry-after"])-Date.now(),retryAfter<=0&&(retryAfter=1)):retryAfter*=1e3);let retryOptions=options.retry;backoff=await retryOptions.calculateDelay({attemptCount,retryOptions,error:typedError,retryAfter,computedValue:calculate_retry_delay_default({attemptCount,retryOptions,error:typedError,retryAfter,computedValue:retryOptions.maxRetryAfter??options.timeout.request??Number.POSITIVE_INFINITY})});}catch(error_){this._error(new RequestError(error_.message,error_,this));return}if(backoff){if(await new Promise(resolve2=>{let timeout=setTimeout(resolve2,backoff);this._stopRetry=()=>{clearTimeout(timeout),resolve2();};}),this.destroyed)return;try{for(let hook of this.options.hooks.beforeRetry)await hook(typedError,this.retryCount+1);}catch(error_){this._error(new RequestError(error_.message,error,this));return}if(this.destroyed)return;this.destroy(),this.emit("retry",this.retryCount+1,error,updatedOptions=>{let request=new Request(options.url,updatedOptions,options);return request.retryCount=this.retryCount+1,process2.nextTick(()=>{request.flush();}),request});return}}this._error(typedError);})();}_read(){this._triggerRead=!0;let{response}=this;if(response&&!this._stopReading){response.readableLength&&(this._triggerRead=!1);let data;for(;(data=response.read())!==null;){this._downloadedSize+=data.length;let progress=this.downloadProgress;progress.percent<1&&this.emit("downloadProgress",progress),this.push(data);}}}_write(chunk,encoding,callback){let write=()=>{this._writeRequest(chunk,encoding,callback);};this._requestInitialized?write():this._jobs.push(write);}_final(callback){let endRequest=()=>{if(!this._request||this._request.destroyed){callback();return}this._request.end(error=>{var _a;(_a=this._request._writableState)!=null&&_a.errored||(error||(this._bodySize=this._uploadedSize,this.emit("uploadProgress",this.uploadProgress),this._request.emit("upload-complete")),callback(error));});};this._requestInitialized?endRequest():this._jobs.push(endRequest);}_destroy(error,callback){if(this._stopReading=!0,this.flush=async()=>{},this._stopRetry(),this._cancelTimeouts(),this._removeListeners(),this.options){let{body}=this.options;dist_default.nodeStream(body)&&body.destroy();}this._request&&this._request.destroy(),error!==null&&!dist_default.undefined(error)&&!(error instanceof RequestError)&&(error=new RequestError(error.message,error,this)),callback(error);}pipe(destination,options){return destination instanceof ServerResponse&&this._pipedServerResponses.add(destination),super.pipe(destination,options)}unpipe(destination){return destination instanceof ServerResponse&&this._pipedServerResponses.delete(destination),super.unpipe(destination),this}async _finalizeBody(){let{options}=this,{headers}=options,isForm=!dist_default.undefined(options.form),isJSON=!dist_default.undefined(options.json),isBody=!dist_default.undefined(options.body),cannotHaveBody=methodsWithoutBody.has(options.method)&&!(options.method==="GET"&&options.allowGetBody);if(this._cannotHaveBody=cannotHaveBody,isForm||isJSON||isBody){if(cannotHaveBody)throw new TypeError(`The \`${options.method}\` method cannot be used with a body`);let noContentType=!dist_default.string(headers["content-type"]);if(isBody){if(isFormData(options.body)){let encoder=new FormDataEncoder(options.body);noContentType&&(headers["content-type"]=encoder.headers["Content-Type"]),"Content-Length"in encoder.headers&&(headers["content-length"]=encoder.headers["Content-Length"]),options.body=encoder.encode();}isFormData2(options.body)&&noContentType&&(headers["content-type"]=`multipart/form-data; boundary=${options.body.getBoundary()}`);}else if(isForm){noContentType&&(headers["content-type"]="application/x-www-form-urlencoded");let{form}=options;options.form=void 0,options.body=new URLSearchParams(form).toString();}else {noContentType&&(headers["content-type"]="application/json");let{json}=options;options.json=void 0,options.body=options.stringifyJson(json);}let uploadBodySize=await getBodySize(options.body,options.headers);dist_default.undefined(headers["content-length"])&&dist_default.undefined(headers["transfer-encoding"])&&!cannotHaveBody&&!dist_default.undefined(uploadBodySize)&&(headers["content-length"]=String(uploadBodySize));}options.responseType==="json"&&!("accept"in options.headers)&&(options.headers.accept="application/json"),this._bodySize=Number(headers["content-length"])||void 0;}async _onResponseBase(response){if(this.isAborted)return;let{options}=this,{url}=options;this._nativeResponse=response,options.decompress&&(response=(0, import_decompress_response.default)(response));let statusCode=response.statusCode,typedResponse=response;typedResponse.statusMessage=typedResponse.statusMessage?typedResponse.statusMessage:http.STATUS_CODES[statusCode],typedResponse.url=options.url.toString(),typedResponse.requestUrl=this.requestUrl,typedResponse.redirectUrls=this.redirectUrls,typedResponse.request=this,typedResponse.isFromCache=this._nativeResponse.fromCache??!1,typedResponse.ip=this.ip,typedResponse.retryCount=this.retryCount,typedResponse.ok=isResponseOk(typedResponse),this._isFromCache=typedResponse.isFromCache,this._responseSize=Number(response.headers["content-length"])||void 0,this.response=typedResponse,response.once("end",()=>{this._responseSize=this._downloadedSize,this.emit("downloadProgress",this.downloadProgress);}),response.once("error",error=>{this._aborted=!0,response.destroy(),this._beforeError(new ReadError(error,this));}),response.once("aborted",()=>{this._aborted=!0,this._beforeError(new ReadError({name:"Error",message:"The server aborted pending request",code:"ECONNRESET"},this));}),this.emit("downloadProgress",this.downloadProgress);let rawCookies=response.headers["set-cookie"];if(dist_default.object(options.cookieJar)&&rawCookies){let promises=rawCookies.map(async rawCookie=>options.cookieJar.setCookie(rawCookie,url.toString()));options.ignoreInvalidCookies&&(promises=promises.map(async promise=>{try{await promise;}catch{}}));try{await Promise.all(promises);}catch(error){this._beforeError(error);return}}if(!this.isAborted){if(options.followRedirect&&response.headers.location&&redirectCodes.has(statusCode)){if(response.resume(),this._cancelTimeouts(),this._unproxyEvents(),this.redirectUrls.length>=options.maxRedirects){this._beforeError(new MaxRedirectsError(this));return}this._request=void 0;let updatedOptions=new Options(void 0,void 0,this.options),serverRequestedGet=statusCode===303&&updatedOptions.method!=="GET"&&updatedOptions.method!=="HEAD",canRewrite=statusCode!==307&&statusCode!==308,userRequestedGet=updatedOptions.methodRewriting&&canRewrite;(serverRequestedGet||userRequestedGet)&&(updatedOptions.method="GET",updatedOptions.body=void 0,updatedOptions.json=void 0,updatedOptions.form=void 0,delete updatedOptions.headers["content-length"]);try{let redirectBuffer=Buffer$1.from(response.headers.location,"binary").toString(),redirectUrl=new URL$1(redirectBuffer,url);if(!isUnixSocketURL(url)&&isUnixSocketURL(redirectUrl)){this._beforeError(new RequestError("Cannot redirect to UNIX socket",{},this));return}redirectUrl.hostname!==url.hostname||redirectUrl.port!==url.port?("host"in updatedOptions.headers&&delete updatedOptions.headers.host,"cookie"in updatedOptions.headers&&delete updatedOptions.headers.cookie,"authorization"in updatedOptions.headers&&delete updatedOptions.headers.authorization,(updatedOptions.username||updatedOptions.password)&&(updatedOptions.username="",updatedOptions.password="")):(redirectUrl.username=updatedOptions.username,redirectUrl.password=updatedOptions.password),this.redirectUrls.push(redirectUrl),updatedOptions.prefixUrl="",updatedOptions.url=redirectUrl;for(let hook of updatedOptions.hooks.beforeRedirect)await hook(updatedOptions,typedResponse);this.emit("redirect",updatedOptions,typedResponse),this.options=updatedOptions,await this._makeRequest();}catch(error){this._beforeError(error);return}return}if(options.isStream&&options.throwHttpErrors&&!isResponseOk(typedResponse)){this._beforeError(new HTTPError(typedResponse));return}if(response.on("readable",()=>{this._triggerRead&&this._read();}),this.on("resume",()=>{response.resume();}),this.on("pause",()=>{response.pause();}),response.once("end",()=>{this.push(null);}),this._noPipe){await this._setRawBody()&&this.emit("response",response);return}this.emit("response",response);for(let destination of this._pipedServerResponses)if(!destination.headersSent){for(let key in response.headers){let isAllowed=options.decompress?key!=="content-encoding":!0,value=response.headers[key];isAllowed&&destination.setHeader(key,value);}destination.statusCode=statusCode;}}}async _setRawBody(from=this){if(from.readableEnded)return !1;try{let rawBody=await(0,import_get_stream2.buffer)(from);if(!this.isAborted)return this.response.rawBody=rawBody,!0}catch{}return !1}async _onResponse(response){try{await this._onResponseBase(response);}catch(error){this._beforeError(error);}}_onRequest(request){let{options}=this,{timeout,url}=options;source_default(request),this.options.http2&&request.setTimeout(0),this._cancelTimeouts=timedOut(request,timeout,url);let responseEventName=options.cache?"cacheableResponse":"response";request.once(responseEventName,response=>{this._onResponse(response);}),request.once("error",error=>{this._aborted=!0,request.destroy(),error=error instanceof TimeoutError2?new TimeoutError(error,this.timings,this):new RequestError(error.message,error,this),this._beforeError(error);}),this._unproxyEvents=proxyEvents(request,this,proxiedRequestEvents),this._request=request,this.emit("uploadProgress",this.uploadProgress),this._sendBody(),this.emit("request",request);}async _asyncWrite(chunk){return new Promise((resolve2,reject)=>{super.write(chunk,error=>{if(error){reject(error);return}resolve2();});})}_sendBody(){let{body}=this.options,currentRequest=this.redirectUrls.length===0?this:this._request??this;dist_default.nodeStream(body)?body.pipe(currentRequest):dist_default.generator(body)||dist_default.asyncGenerator(body)?(async()=>{try{for await(let chunk of body)await this._asyncWrite(chunk);super.end();}catch(error){this._beforeError(error);}})():dist_default.undefined(body)?(this._cannotHaveBody||this._noPipe)&¤tRequest.end():(this._writeRequest(body,void 0,()=>{}),currentRequest.end());}_prepareCache(cache3){if(!cacheableStore.has(cache3)){let cacheableRequest=new dist_default2((requestOptions,handler)=>{let result=requestOptions._request(requestOptions,handler);return dist_default.promise(result)&&(result.once=(event,handler2)=>{if(event==="error")(async()=>{try{await result;}catch(error){handler2(error);}})();else if(event==="abort")(async()=>{try{(await result).once("abort",handler2);}catch{}})();else throw new Error(`Unknown HTTP2 promise event: ${event}`);return result}),result},cache3);cacheableStore.set(cache3,cacheableRequest.request());}}async _createCacheableRequest(url,options){return new Promise((resolve2,reject)=>{Object.assign(options,urlToOptions(url));let request,cacheRequest=cacheableStore.get(options.cache)(options,async response=>{if(response._readableState.autoDestroy=!1,request){let fix=()=>{response.req&&(response.complete=response.req.res.complete);};response.prependOnceListener("end",fix),fix(),(await request).emit("cacheableResponse",response);}resolve2(response);});cacheRequest.once("error",reject),cacheRequest.once("request",async requestOrPromise=>{request=requestOrPromise,resolve2(request);});})}async _makeRequest(){let{options}=this,{headers,username,password}=options,cookieJar=options.cookieJar;for(let key in headers)if(dist_default.undefined(headers[key]))delete headers[key];else if(dist_default.null_(headers[key]))throw new TypeError(`Use \`undefined\` instead of \`null\` to delete the \`${key}\` header`);if(options.decompress&&dist_default.undefined(headers["accept-encoding"])&&(headers["accept-encoding"]=supportsBrotli?"gzip, deflate, br":"gzip, deflate"),username||password){let credentials=Buffer$1.from(`${username}:${password}`).toString("base64");headers.authorization=`Basic ${credentials}`;}if(cookieJar){let cookieString=await cookieJar.getCookieString(options.url.toString());dist_default.nonEmptyString(cookieString)&&(headers.cookie=cookieString);}options.prefixUrl="";let request;for(let hook of options.hooks.beforeRequest){let result=await hook(options);if(!dist_default.undefined(result)){request=()=>result;break}}request||(request=options.getRequestFunction());let url=options.url;this._requestOptions=options.createNativeRequestOptions(),options.cache&&(this._requestOptions._request=request,this._requestOptions.cache=options.cache,this._requestOptions.body=options.body,this._prepareCache(options.cache));let fn=options.cache?this._createCacheableRequest:request;try{let requestOrResponse=fn(url,this._requestOptions);dist_default.promise(requestOrResponse)&&(requestOrResponse=await requestOrResponse),dist_default.undefined(requestOrResponse)&&(requestOrResponse=options.getFallbackRequestFunction()(url,this._requestOptions),dist_default.promise(requestOrResponse)&&(requestOrResponse=await requestOrResponse)),is_client_request_default(requestOrResponse)?this._onRequest(requestOrResponse):this.writable?(this.once("finish",()=>{this._onResponse(requestOrResponse);}),this._sendBody()):this._onResponse(requestOrResponse);}catch(error){throw error instanceof CacheError2?new CacheError(error,this):error}}async _error(error){try{if(!(error instanceof HTTPError&&!this.options.throwHttpErrors))for(let hook of this.options.hooks.beforeError)error=await hook(error);}catch(error_){error=new RequestError(error_.message,error_,this);}this.destroy(error);}_writeRequest(chunk,encoding,callback){!this._request||this._request.destroyed||this._request.write(chunk,encoding,error=>{if(!error&&!this._request.destroyed){this._uploadedSize+=Buffer$1.byteLength(chunk,encoding);let progress=this.uploadProgress;progress.percent<1&&this.emit("uploadProgress",progress);}callback(error);});}get ip(){var _a;return (_a=this.socket)==null?void 0:_a.remoteAddress}get isAborted(){return this._aborted}get socket(){var _a;return ((_a=this._request)==null?void 0:_a.socket)??void 0}get downloadProgress(){let percent;return this._responseSize?percent=this._downloadedSize/this._responseSize:this._responseSize===this._downloadedSize?percent=1:percent=0,{percent,transferred:this._downloadedSize,total:this._responseSize}}get uploadProgress(){let percent;return this._bodySize?percent=this._uploadedSize/this._bodySize:this._bodySize===this._uploadedSize?percent=1:percent=0,{percent,transferred:this._uploadedSize,total:this._bodySize}}get timings(){var _a;return (_a=this._request)==null?void 0:_a.timings}get isFromCache(){return this._isFromCache}get reusedSocket(){var _a;return (_a=this._request)==null?void 0:_a.reusedSocket}},CancelError2=class extends RequestError{constructor(request){super("Promise was canceled",{},request),this.name="CancelError",this.code="ERR_CANCELED";}get isCanceled(){return !0}},proxiedRequestEvents2=["request","response","redirect","uploadProgress","downloadProgress"];function asPromise(firstRequest){let globalRequest,globalResponse,normalizedOptions,emitter=new EventEmitter$1,promise=new PCancelable((resolve2,reject,onCancel)=>{onCancel(()=>{globalRequest.destroy();}),onCancel.shouldReject=!1,onCancel(()=>{reject(new CancelError2(globalRequest));});let makeRequest=retryCount=>{var _a;onCancel(()=>{});let request=firstRequest??new Request(void 0,void 0,normalizedOptions);request.retryCount=retryCount,request._noPipe=!0,globalRequest=request,request.once("response",async response=>{let contentEncoding=(response.headers["content-encoding"]??"").toLowerCase(),isCompressed=contentEncoding==="gzip"||contentEncoding==="deflate"||contentEncoding==="br",{options}=request;if(isCompressed&&!options.decompress)response.body=response.rawBody;else try{response.body=parseBody(response,options.responseType,options.parseJson,options.encoding);}catch(error){if(response.body=response.rawBody.toString(),isResponseOk(response)){request._beforeError(error);return}}try{let hooks=options.hooks.afterResponse;for(let[index,hook]of hooks.entries())if(response=await hook(response,async updatedOptions=>{throw options.merge(updatedOptions),options.prefixUrl="",updatedOptions.url&&(options.url=updatedOptions.url),options.hooks.afterResponse=options.hooks.afterResponse.slice(0,index),new RetryError(request)}),!(dist_default.object(response)&&dist_default.number(response.statusCode)&&!dist_default.nullOrUndefined(response.body)))throw new TypeError("The `afterResponse` hook returned an invalid value")}catch(error){request._beforeError(error);return}if(globalResponse=response,!isResponseOk(response)){request._beforeError(new HTTPError(response));return}request.destroy(),resolve2(request.options.resolveBodyOnly?response.body:response);});let onError=error=>{if(promise.isCanceled)return;let{options}=request;if(error instanceof HTTPError&&!options.throwHttpErrors){let{response}=error;request.destroy(),resolve2(request.options.resolveBodyOnly?response.body:response);return}reject(error);};request.once("error",onError);let previousBody=(_a=request.options)==null?void 0:_a.body;request.once("retry",(newRetryCount,error)=>{firstRequest=void 0;let newBody=request.options.body;if(previousBody===newBody&&dist_default.nodeStream(newBody)){error.message="Cannot retry with consumed body stream",onError(error);return}normalizedOptions=request.options,makeRequest(newRetryCount);}),proxyEvents(request,emitter,proxiedRequestEvents2),dist_default.undefined(firstRequest)&&request.flush();};makeRequest(0);});promise.on=(event,fn)=>(emitter.on(event,fn),promise),promise.off=(event,fn)=>(emitter.off(event,fn),promise);let shortcut=responseType=>{let newPromise=(async()=>{await promise;let{options}=globalResponse.request;return parseBody(globalResponse,responseType,options.parseJson,options.encoding)})();return Object.defineProperties(newPromise,Object.getOwnPropertyDescriptors(promise)),newPromise};return promise.json=()=>{if(globalRequest.options){let{headers}=globalRequest.options;!globalRequest.writableFinished&&!("accept"in headers)&&(headers.accept="application/json");}return shortcut("json")},promise.buffer=()=>shortcut("buffer"),promise.text=()=>shortcut("text"),promise}var delay=async ms=>new Promise(resolve2=>{setTimeout(resolve2,ms);}),isGotInstance=value=>dist_default.function_(value),aliases=["get","post","put","patch","head","delete"],create=defaults22=>{defaults22={options:new Options(void 0,void 0,defaults22.options),handlers:[...defaults22.handlers],mutableDefaults:defaults22.mutableDefaults},Object.defineProperty(defaults22,"mutableDefaults",{enumerable:!0,configurable:!1,writable:!1});let got2=(url,options,defaultOptions22=defaults22.options)=>{let request=new Request(url,options,defaultOptions22),promise,lastHandler=normalized=>(request.options=normalized,request._noPipe=!normalized.isStream,request.flush(),normalized.isStream?request:(promise||(promise=asPromise(request)),promise)),iteration=0,iterateHandlers=newOptions=>{let result=(defaults22.handlers[iteration++]??lastHandler)(newOptions,iterateHandlers);if(dist_default.promise(result)&&!request.options.isStream&&(promise||(promise=asPromise(request)),result!==promise)){let descriptors=Object.getOwnPropertyDescriptors(promise);for(let key in descriptors)key in result&&delete descriptors[key];Object.defineProperties(result,descriptors),result.cancel=promise.cancel;}return result};return iterateHandlers(request.options)};got2.extend=(...instancesOrOptions)=>{let options=new Options(void 0,void 0,defaults22.options),handlers=[...defaults22.handlers],mutableDefaults;for(let value of instancesOrOptions)isGotInstance(value)?(options.merge(value.defaults.options),handlers.push(...value.defaults.handlers),mutableDefaults=value.defaults.mutableDefaults):(options.merge(value),value.handlers&&handlers.push(...value.handlers),mutableDefaults=value.mutableDefaults);return create({options,handlers,mutableDefaults:!!mutableDefaults})};let paginateEach=async function*(url,options){let normalizedOptions=new Options(url,options,defaults22.options);normalizedOptions.resolveBodyOnly=!1;let{pagination}=normalizedOptions;assert.function_(pagination.transform),assert.function_(pagination.shouldContinue),assert.function_(pagination.filter),assert.function_(pagination.paginate),assert.number(pagination.countLimit),assert.number(pagination.requestLimit),assert.number(pagination.backoff);let allItems=[],{countLimit}=pagination,numberOfRequests=0;for(;numberOfRequests<pagination.requestLimit;){numberOfRequests!==0&&await delay(pagination.backoff);let response=await got2(void 0,void 0,normalizedOptions),parsed=await pagination.transform(response),currentItems=[];assert.array(parsed);for(let item of parsed)if(pagination.filter({item,currentItems,allItems})&&(!pagination.shouldContinue({item,currentItems,allItems})||(yield item,pagination.stackAllItems&&allItems.push(item),currentItems.push(item),--countLimit<=0)))return;let optionsToMerge=pagination.paginate({response,currentItems,allItems});if(optionsToMerge===!1)return;optionsToMerge===response.request.options?normalizedOptions=response.request.options:(normalizedOptions.merge(optionsToMerge),assert.any([dist_default.urlInstance,dist_default.undefined],optionsToMerge.url),optionsToMerge.url!==void 0&&(normalizedOptions.prefixUrl="",normalizedOptions.url=optionsToMerge.url)),numberOfRequests++;}};got2.paginate=paginateEach,got2.paginate.all=async(url,options)=>{let results=[];for await(let item of paginateEach(url,options))results.push(item);return results},got2.paginate.each=paginateEach,got2.stream=(url,options)=>got2(url,{...options,isStream:!0});for(let method of aliases)got2[method]=(url,options)=>got2(url,{...options,method}),got2.stream[method]=(url,options)=>got2(url,{...options,method,isStream:!0});return defaults22.mutableDefaults||(Object.freeze(defaults22.handlers),defaults22.options.freeze()),Object.defineProperty(got2,"defaults",{value:defaults22,writable:!1,configurable:!1,enumerable:!0}),got2},create_default=create,defaults={options:new Options,handlers:[],mutableDefaults:!1},got=create_default(defaults),source_default2=got,agentOpts={keepAlive:!0,maxSockets:20},agent={http:new Agent(agentOpts),https:new Agent$1(agentOpts)};async function download({url,gotOpts,extractOpts,dir}){return new Promise((res,rej)=>{let callback=err=>{err?rej(err):res();};(0, import_pump.default)(source_default2.stream(url,Object.assign({agent},gotOpts)),(0, import_gunzip_maybe.default)(),(0, import_tar_fs.extract)(dir,extractOpts),callback);})}function src_default(pkgName,pkgVersion,opts){let registry;opts?.registry?registry=opts.registry.endsWith("/")?opts.registry:`${opts.registry}/`:registry="https://registry.npmjs.org/";let scopelessName=getScopelessName(pkgName);return `${registry}${pkgName}/-/${scopelessName}-${removeBuildMetadataFromVersion(pkgVersion)}.tgz`}function removeBuildMetadataFromVersion(version){let plusPos=version.indexOf("+");return plusPos===-1?version:version.substring(0,plusPos)}function getScopelessName(name){return name[0]!=="@"?name:name.split("/")[1]}function getCliDir(){return dirname(__require.resolve("storybook/package.json"))}var resolveUsingBranchInstall=async(packageManager,request)=>{let{temporaryDirectory}=await import('tempy'),tempDirectory=temporaryDirectory(),version=versions[request]||await packageManager.latestVersion(request),url=src_default(request,version,{registry:await packageManager.getRegistryURL()});return await download({url,dir:tempDirectory}),join(tempDirectory,"package")};async function getRendererDir(packageManager,renderer){let externalFramework=externalFrameworks.find(framework=>framework.name===renderer),frameworkPackageName=externalFramework?.renderer||externalFramework?.packageName||`@storybook/${renderer}`,packageJsonPath=join(frameworkPackageName,"package.json"),errors=[];try{return dirname(__require.resolve(packageJsonPath,{paths:[process.cwd()]}))}catch(e){invariant5(e instanceof Error),errors.push(e);}try{return await resolveUsingBranchInstall(packageManager,frameworkPackageName)}catch(e){invariant5(e instanceof Error),errors.push(e);}throw new Error(`Cannot find ${packageJsonPath}, ${errors.map(e=>e.stack).join(`
|
|
81
|
-
|
|
82
|
-
`)}`)}async function getBabelDependencies(packageManager,packageJson){let dependenciesToAdd=[],babelLoaderVersion="^8.0.0-0",babelCoreVersion=packageJson.dependencies["babel-core"]||packageJson.devDependencies["babel-core"];if(babelCoreVersion){let latestCompatibleBabelVersion=await packageManager.latestVersion("babel-core",babelCoreVersion);satisfies(latestCompatibleBabelVersion,"^6.0.0")&&(babelLoaderVersion="^7.0.0");}else if(!packageJson.dependencies["@babel/core"]&&!packageJson.devDependencies["@babel/core"]){let babelCoreInstallVersion=await packageManager.getVersion("@babel/core");dependenciesToAdd.push(`@babel/core@${babelCoreInstallVersion}`);}if(!packageJson.dependencies["babel-loader"]&&!packageJson.devDependencies["babel-loader"]){let babelLoaderInstallVersion=await packageManager.getVersion("babel-loader",babelLoaderVersion);dependenciesToAdd.push(`babel-loader@${babelLoaderInstallVersion}`);}return dependenciesToAdd}function copyTemplate(templateRoot,destination="."){let templateDir=path9.resolve(templateRoot,"template-csf/");if(!fs2__default.existsSync(templateDir))throw new Error("Couldn't find template dir");fse.copySync(templateDir,destination,{overwrite:!0});}var frameworkToRenderer=frameworkToRenderer$1,frameworkToDefaultBuilder={angular:"webpack5",ember:"webpack5","html-vite":"vite","html-webpack5":"webpack5",nextjs:"webpack5","preact-vite":"vite","preact-webpack5":"webpack5",qwik:"vite","react-vite":"vite","react-webpack5":"webpack5","server-webpack5":"webpack5",solid:"vite","svelte-vite":"vite","svelte-webpack5":"webpack5",sveltekit:"vite","vue3-vite":"vite","vue3-webpack5":"webpack5","web-components-vite":"vite","web-components-webpack5":"webpack5"};async function copyTemplateFiles({packageManager,renderer,language,destination,includeCommonAssets=!0}){let languageFolderMapping={typescript:"ts",javascript:"js","typescript-3-8":"ts-3-8","typescript-4-9":"ts-4-9"},templatePath=async()=>{let baseDir=await getRendererDir(packageManager,renderer),assetsDir=join(baseDir,"template","cli"),assetsLanguage=join(assetsDir,languageFolderMapping[language]),assetsJS=join(assetsDir,languageFolderMapping.javascript),assetsTS=join(assetsDir,languageFolderMapping.typescript),assetsTS38=join(assetsDir,languageFolderMapping["typescript-3-8"]);if(await fse.pathExists(assetsLanguage))return assetsLanguage;if(language==="typescript-4-9"&&await fse.pathExists(assetsTS38))return assetsTS38;if(await fse.pathExists(assetsTS))return assetsTS;if(await fse.pathExists(assetsJS))return assetsJS;if(await fse.pathExists(assetsDir))return assetsDir;throw new Error(`Unsupported renderer: ${renderer} (${baseDir})`)},destinationPath=destination??await(async()=>await fse.pathExists("./src")?"./src/stories":"./stories")();if(includeCommonAssets&&await fse.copy(join(getCliDir(),"rendererAssets","common"),destinationPath,{overwrite:!0}),await fse.copy(await templatePath(),destinationPath,{overwrite:!0}),includeCommonAssets){let rendererType=frameworkToRenderer[renderer]||"react";await adjustTemplate(join(destinationPath,"Configure.mdx"),{renderer:rendererType});}}async function adjustTemplate(templatePath,templateData){let template=await fse.readFile(templatePath,"utf8");Object.keys(templateData).forEach(key=>{template=template.replaceAll(`{{${key}}}`,`${templateData[key]}`);}),await fse.writeFile(templatePath,template);}function getStorybookVersionSpecifier(packageJson){let allDeps={...packageJson.dependencies,...packageJson.devDependencies,...packageJson.optionalDependencies},storybookPackage=Object.keys(allDeps).find(name=>versions[name]);if(!storybookPackage)throw new Error("Couldn't find any official storybook packages in package.json");return allDeps[storybookPackage]}async function isNxProject(){return findUp2.sync("nx.json")}async function hasStorybookDependencies(packageManager){let currentPackageDeps=await packageManager.getAllDependencies();return Object.keys(currentPackageDeps).some(dep=>dep.includes("storybook"))}var viteConfigFiles=["vite.config.ts","vite.config.js","vite.config.mjs"],webpackConfigFiles=["webpack.config.js"],hasDependency=(packageJson,name,matcher)=>{let version=packageJson.dependencies?.[name]||packageJson.devDependencies?.[name];return version&&typeof matcher=="function"?matcher(version):!!version},hasPeerDependency=(packageJson,name,matcher)=>{let version=packageJson.peerDependencies?.[name];return version&&typeof matcher=="function"?matcher(version):!!version},getFrameworkPreset=(packageJson,framework)=>{let matcher={dependencies:[!1],peerDependencies:[!1],files:[!1]},{preset,files,dependencies,peerDependencies,matcherFunction}=framework,dependencySearches=[];Array.isArray(dependencies)?dependencySearches=dependencies.map(name=>[name,void 0]):typeof dependencies=="object"&&(dependencySearches=Object.entries(dependencies)),dependencySearches.length>0&&(matcher.dependencies=dependencySearches.map(([name,matchFn])=>hasDependency(packageJson,name,matchFn)));let peerDependencySearches=[];return Array.isArray(peerDependencies)?peerDependencySearches=peerDependencies.map(name=>[name,void 0]):typeof peerDependencies=="object"&&(peerDependencySearches=Object.entries(peerDependencies)),peerDependencySearches.length>0&&(matcher.peerDependencies=peerDependencySearches.map(([name,matchFn])=>hasPeerDependency(packageJson,name,matchFn))),Array.isArray(files)&&files.length>0&&(matcher.files=files.map(name=>fs2.existsSync(name))),matcherFunction(matcher)?preset:null};function detectFrameworkPreset(packageJson={}){let result=[...supportedTemplates,unsupportedTemplate].find(framework=>getFrameworkPreset(packageJson,framework)!==null);return result?result.preset:"UNDETECTED"}async function detectBuilder(packageManager,projectType){let viteConfig=findUp2.sync(viteConfigFiles),webpackConfig=findUp2.sync(webpackConfigFiles),dependencies=await packageManager.getAllDependencies();if(viteConfig||dependencies.vite&&dependencies.webpack===void 0)return commandLog("Detected Vite project. Setting builder to Vite")(),"vite";if(webpackConfig||dependencies.webpack&&dependencies.vite!==void 0)return commandLog("Detected webpack project. Setting builder to webpack")(),"webpack5";switch(projectType){case"REACT_SCRIPTS":case"ANGULAR":case"REACT_NATIVE":case"NEXTJS":case"EMBER":return "webpack5";default:let{builder}=await prompts5({type:"select",name:"builder",message:`
|
|
83
|
-
We were not able to detect the right builder for your project. Please select one:`,choices:[{title:"Vite",value:"vite"},{title:"Webpack 5",value:"webpack5"}]},{onCancel:()=>{throw new HandledError("Canceled by the user")}});return builder}}function isStorybookInstantiated(configDir=resolve(process.cwd(),".storybook")){return fs2.existsSync(configDir)}async function detectPnp(){return !!findUp2.sync([".pnp.js",".pnp.cjs"])}async function detectLanguage(packageManager){let language="javascript";if(fs2.existsSync("jsconfig.json"))return language;let isTypescriptDirectDependency=await packageManager.getAllDependencies().then(deps=>!!deps.typescript),typescriptVersion=await packageManager.getPackageVersion("typescript"),prettierVersion=await packageManager.getPackageVersion("prettier"),babelPluginTransformTypescriptVersion=await packageManager.getPackageVersion("@babel/plugin-transform-typescript"),typescriptEslintParserVersion=await packageManager.getPackageVersion("@typescript-eslint/parser"),eslintPluginStorybookVersion=await packageManager.getPackageVersion("eslint-plugin-storybook");return isTypescriptDirectDependency&&typescriptVersion&&(semver.gte(typescriptVersion,"4.9.0")&&(!prettierVersion||semver.gte(prettierVersion,"2.8.0"))&&(!babelPluginTransformTypescriptVersion||semver.gte(babelPluginTransformTypescriptVersion,"7.20.0"))&&(!typescriptEslintParserVersion||semver.gte(typescriptEslintParserVersion,"5.44.0"))&&(!eslintPluginStorybookVersion||semver.gte(eslintPluginStorybookVersion,"0.6.8"))?language="typescript-4-9":semver.gte(typescriptVersion,"3.8.0")?language="typescript-3-8":semver.lt(typescriptVersion,"3.8.0")&&logger.warn("Detected TypeScript < 3.8, populating with JavaScript examples")),language}async function detect(packageManager,options={}){let packageJson=await packageManager.retrievePackageJson();return packageJson?await isNxProject()?"NX":options.html?"HTML":detectFrameworkPreset(packageJson):"UNDETECTED"}var sanitizeFramework=framework=>{let matches=framework.match(/(@storybook\/\w+(?:-\w+)*)|(storybook-(\w+(?:-\w+)*))/g);if(matches)return matches[0]};async function configureMain({addons,extensions=["js","jsx","mjs","ts","tsx"],storybookConfigFolder,language,prefixes=[],...custom}){let srcPath=path9.resolve(storybookConfigFolder,"../src"),prefix=await fse.pathExists(srcPath)?"../src":"../stories",config={stories:[`${prefix}/**/*.mdx`,`${prefix}/**/*.stories.@(${extensions.join("|")})`],addons,...custom},isTypescript=language==="typescript-4-9"||language==="typescript-3-8",mainConfigTemplate=dedent`<<import>><<prefix>>const config<<type>> = <<mainContents>>;
|
|
84
|
-
export default config;`,frameworkPackage=sanitizeFramework(custom.framework?.name);frameworkPackage||(mainConfigTemplate=mainConfigTemplate.replace("<<import>>","").replace("<<type>>",""),logger.warn("Could not find framework package name"));let mainContents=JSON.stringify(config,null,2).replace(/['"]%%/g,"").replace(/%%['"]/g,""),imports=[],finalPrefixes=[...prefixes];custom.framework?.name.includes("path.dirname(")&&imports.push("import path from 'path';"),isTypescript?imports.push(`import type { StorybookConfig } from '${frameworkPackage}';`):finalPrefixes.push(`/** @type { import('${frameworkPackage}').StorybookConfig } */`);let mainJsContents=mainConfigTemplate.replace("<<import>>",`${imports.join(`
|
|
85
|
-
|
|
86
|
-
`)}
|
|
87
|
-
|
|
88
|
-
`).replace("<<prefix>>",finalPrefixes.length>0?`${finalPrefixes.join(`
|
|
89
|
-
|
|
90
|
-
`)}
|
|
91
|
-
`:"").replace("<<type>>",isTypescript?": StorybookConfig":"").replace("<<mainContents>>",mainContents),mainPath=`./${storybookConfigFolder}/main.${isTypescript?"ts":"js"}`;try{let prettier=(await import('prettier')).default;mainJsContents=await prettier.format(dedent(mainJsContents),{...await prettier.resolveConfig(mainPath),filepath:mainPath});}catch{logger.verbose(`Failed to prettify ${mainPath}`);}await fse.writeFile(mainPath,mainJsContents,{encoding:"utf8"});}async function configurePreview(options){let{prefix:frameworkPrefix=""}=options.frameworkPreviewParts||{},isTypescript=options.language==="typescript-4-9"||options.language==="typescript-3-8",rendererPackage=options.rendererId&&!externalFrameworks.map(({name})=>name).includes(options.rendererId)?`@storybook/${options.rendererId}`:null,previewPath=`./${options.storybookConfigFolder}/preview.${isTypescript?"ts":"js"}`;if(await fse.pathExists(previewPath))return;let prefix=[isTypescript&&rendererPackage?`import type { Preview } from '${rendererPackage}'`:"",frameworkPrefix].filter(Boolean).join(`
|
|
92
|
-
`),preview=dedent`
|
|
93
|
-
${prefix}${prefix.length>0?`
|
|
94
|
-
`:""}
|
|
95
|
-
${!isTypescript&&rendererPackage?`/** @type { import('${rendererPackage}').Preview } */
|
|
96
|
-
`:""}const preview${isTypescript?": Preview":""} = {
|
|
97
|
-
parameters: {
|
|
98
|
-
controls: {
|
|
99
|
-
matchers: {
|
|
100
|
-
color: /(background|color)$/i,
|
|
101
|
-
date: /Date$/i,
|
|
102
|
-
},
|
|
103
|
-
},
|
|
104
|
-
},
|
|
105
|
-
};
|
|
106
|
-
|
|
107
|
-
export default preview;
|
|
108
|
-
`.replace(`
|
|
109
|
-
`,"").trim();try{let prettier=(await import('prettier')).default;preview=await prettier.format(preview,{...await prettier.resolveConfig(previewPath),filepath:previewPath});}catch{logger.verbose(`Failed to prettify ${previewPath}`);}await fse.writeFile(previewPath,preview,{encoding:"utf8"});}var SUPPORTED_ESLINT_EXTENSIONS=["js","cjs","json"],UNSUPPORTED_ESLINT_EXTENSIONS=["yaml","yml"],findEslintFile=()=>{let filePrefix=".eslintrc",unsupportedExtension=UNSUPPORTED_ESLINT_EXTENSIONS.find(ext2=>fse.existsSync(`${filePrefix}.${ext2}`));if(unsupportedExtension)throw new Error(unsupportedExtension);let extension=SUPPORTED_ESLINT_EXTENSIONS.find(ext2=>fse.existsSync(`${filePrefix}.${ext2}`));return extension?`${filePrefix}.${extension}`:null};async function extractEslintInfo(packageManager){let allDependencies=await packageManager.getAllDependencies(),packageJson=await packageManager.retrievePackageJson(),eslintConfigFile=null;try{eslintConfigFile=findEslintFile();}catch{}let isStorybookPluginInstalled=!!allDependencies["eslint-plugin-storybook"];return {hasEslint:allDependencies.eslint||eslintConfigFile||packageJson.eslintConfig,isStorybookPluginInstalled,eslintConfigFile}}var normalizeExtends=existingExtends=>{if(!existingExtends)return [];if(typeof existingExtends=="string")return [existingExtends];if(Array.isArray(existingExtends))return existingExtends;throw new Error(`Invalid eslint extends ${existingExtends}`)};async function configureEslintPlugin(eslintFile,packageManager){if(eslintFile)if(paddedLog(`Configuring Storybook ESLint plugin at ${eslintFile}`),eslintFile.endsWith("json")){let eslintConfig=await readJson(eslintFile),existingExtends=normalizeExtends(eslintConfig.extends).filter(Boolean);eslintConfig.extends=[...existingExtends,"plugin:storybook/recommended"];let eslintFileContents=await readFile$1(eslintFile,"utf8"),spaces=detectIndent(eslintFileContents).amount||2;await writeJson(eslintFile,eslintConfig,{spaces});}else {let eslint=await readConfig(eslintFile),existingExtends=normalizeExtends(eslint.getFieldValue(["extends"])).filter(Boolean);eslint.setFieldValue(["extends"],[...existingExtends,"plugin:storybook/recommended"]),await writeConfig(eslint);}else {paddedLog("Configuring eslint-plugin-storybook in your package.json");let packageJson=await packageManager.retrievePackageJson(),existingExtends=normalizeExtends(packageJson.eslintConfig?.extends).filter(Boolean);await packageManager.writePackageJson({...packageJson,eslintConfig:{...packageJson.eslintConfig,extends:[...existingExtends,"plugin:storybook/recommended"]}});}}var logger3=console,defaultOptions2={extraPackages:[],extraAddons:[],staticDir:void 0,addScripts:!0,addMainFile:!0,addComponents:!0,webpackCompiler:()=>{},extraMain:void 0,framework:void 0,extensions:void 0,componentsDestinationPath:void 0,storybookConfigFolder:".storybook"},getBuilderDetails=builder=>{let map=versions;if(map[builder])return builder;let builderPackage=`@storybook/${builder}`;return map[builderPackage]?builderPackage:builder},getExternalFramework=framework=>externalFrameworks.find(exFramework=>framework!==void 0&&(exFramework.name===framework||exFramework.packageName===framework||exFramework?.frameworks?.some?.(item=>item===framework))),getFrameworkPackage=(framework,renderer,builder)=>{let externalFramework=getExternalFramework(framework),storybookBuilder=builder?.replace(/^@storybook\/builder-/,""),storybookFramework=framework?.replace(/^@storybook\//,"");if(externalFramework===void 0){let frameworkPackage=framework?`@storybook/${storybookFramework}`:`@storybook/${renderer}-${storybookBuilder}`;if(versions[frameworkPackage])return frameworkPackage;throw new Error(dedent`
|
|
110
|
-
Could not find framework package: ${frameworkPackage}.
|
|
111
|
-
Make sure this package exists, and if it does, please file an issue as this might be a bug in Storybook.
|
|
112
|
-
`)}return externalFramework.frameworks!==void 0?externalFramework.frameworks.find(item=>item.match(new RegExp(`-${storybookBuilder}`))):externalFramework.packageName},getRendererPackage=(framework,renderer)=>{let externalFramework=getExternalFramework(framework);return externalFramework!==void 0?externalFramework.renderer||externalFramework.packageName:`@storybook/${renderer}`},applyRequireWrapper=packageName=>`%%getAbsolutePath('${packageName}')%%`,getFrameworkDetails=(renderer,builder,pnp,language,framework,shouldApplyRequireWrapperOnPackageNames)=>{let frameworkPackage=getFrameworkPackage(framework,renderer,builder);invariant5(frameworkPackage,"Missing framework package.");let frameworkPackagePath=shouldApplyRequireWrapperOnPackageNames?applyRequireWrapper(frameworkPackage):frameworkPackage,rendererPackage=getRendererPackage(framework,renderer),rendererPackagePath=shouldApplyRequireWrapperOnPackageNames?applyRequireWrapper(rendererPackage):rendererPackage,builderPackage=getBuilderDetails(builder),builderPackagePath=shouldApplyRequireWrapperOnPackageNames?applyRequireWrapper(builderPackage):builderPackage,isKnownFramework=!!getExternalFramework(frameworkPackage)||!!versions[frameworkPackage],isKnownRenderer=!!versions[rendererPackage];if(isKnownFramework)return {packages:[rendererPackage,frameworkPackage],framework:frameworkPackagePath,rendererId:renderer,type:"framework"};if(isKnownRenderer)return {packages:[rendererPackage,builderPackage],builder:builderPackagePath,renderer:rendererPackagePath,rendererId:renderer,type:"renderer"};throw new Error(`Could not find the framework (${frameworkPackage}) or renderer (${rendererPackage}) package`)},stripVersions=addons=>addons.map(addon=>getPackageDetails(addon)[0]),hasInteractiveStories=rendererId=>["react","angular","preact","svelte","vue3","html","solid","qwik"].includes(rendererId),hasFrameworkTemplates=framework=>framework?["angular","nextjs"].includes(framework):!1;async function baseGenerator(packageManager,npmOptions,{language,builder,pnp,frameworkPreviewParts,projectType},renderer,options=defaultOptions2,framework){let shouldApplyRequireWrapperOnPackageNames=packageManager.isStorybookInMonorepo()||pnp;builder||(builder=await detectBuilder(packageManager,projectType));let{packages:frameworkPackages8,type,rendererId,framework:frameworkInclude,builder:builderInclude}=getFrameworkDetails(renderer,builder,pnp,language,framework,shouldApplyRequireWrapperOnPackageNames),{extraAddons:extraAddonPackages=[],extraPackages,staticDir,addScripts,addMainFile,addComponents,extraMain,extensions,storybookConfigFolder,componentsDestinationPath,webpackCompiler}={...defaultOptions2,...options},compiler=webpackCompiler?webpackCompiler({builder}):void 0,extraAddonsToInstall=typeof extraAddonPackages=="function"?await extraAddonPackages({builder:builder||builderInclude,framework:framework||frameworkInclude}):extraAddonPackages;extraAddonsToInstall.push("@storybook/addon-links","@storybook/addon-essentials","@chromatic-com/storybook@^1");let addons=[...compiler?[`@storybook/addon-webpack5-compiler-${compiler}`]:[],...stripVersions(extraAddonsToInstall)].filter(Boolean),addonPackages=["@storybook/blocks",...compiler?[`@storybook/addon-webpack5-compiler-${compiler}`]:[],...extraAddonsToInstall].filter(Boolean);["solid","qwik"].includes(rendererId)?addonPackages.push("@storybook/testing-library"):addonPackages.push("@storybook/test"),hasInteractiveStories(rendererId)&&(addons.push("@storybook/addon-interactions"),addonPackages.push("@storybook/addon-interactions"));let packageJson=await packageManager.retrievePackageJson(),installedDependencies=new Set(Object.keys({...packageJson.dependencies,...packageJson.devDependencies}));if(type==="renderer")throw new Error(dedent`
|
|
113
|
-
Sorry, for now, you can not do this, please use a framework such as @storybook/react-webpack5
|
|
114
|
-
|
|
115
|
-
https://github.com/storybookjs/storybook/issues/18360
|
|
116
|
-
`);let extraPackagesToInstall=typeof extraPackages=="function"?await extraPackages({builder:builder||builderInclude,framework:framework||frameworkInclude}):extraPackages,allPackages=["storybook",getExternalFramework(rendererId)?void 0:`@storybook/${rendererId}`,...frameworkPackages8,...addonPackages,...extraPackagesToInstall||[]].filter(Boolean),packages=[...new Set(allPackages)].filter(packageToInstall=>!installedDependencies.has(getPackageDetails(packageToInstall)[0]));logger3.log();let versionedPackagesSpinner=ora({indent:2,text:`Getting the correct version of ${packages.length} packages`}).start(),versionedPackages=await packageManager.getVersionedPackages(packages);versionedPackagesSpinner.succeed();try{if(process.env.CI!=="true"){let{hasEslint,isStorybookPluginInstalled,eslintConfigFile}=await extractEslintInfo(packageManager);hasEslint&&!isStorybookPluginInstalled&&(versionedPackages.push("eslint-plugin-storybook"),await configureEslintPlugin(eslintConfigFile??void 0,packageManager));}}catch{}if(versionedPackages.length>0){let addDependenciesSpinner=ora({indent:2,text:"Installing Storybook dependencies"}).start();await packageManager.addDependencies({...npmOptions,packageJson},versionedPackages),addDependenciesSpinner.succeed();}if(await fse.ensureDir(`./${storybookConfigFolder}`),addMainFile){let prefixes=shouldApplyRequireWrapperOnPackageNames?['import { join, dirname } from "path"',language==="javascript"?dedent`/**
|
|
117
|
-
* This function is used to resolve the absolute path of a package.
|
|
118
|
-
* It is needed in projects that use Yarn PnP or are set up within a monorepo.
|
|
119
|
-
*/
|
|
120
|
-
function getAbsolutePath(value) {
|
|
121
|
-
return dirname(require.resolve(join(value, 'package.json')))
|
|
122
|
-
}`:dedent`/**
|
|
123
|
-
* This function is used to resolve the absolute path of a package.
|
|
124
|
-
* It is needed in projects that use Yarn PnP or are set up within a monorepo.
|
|
125
|
-
*/
|
|
126
|
-
function getAbsolutePath(value: string): any {
|
|
127
|
-
return dirname(require.resolve(join(value, 'package.json')))
|
|
128
|
-
}`]:[];await configureMain({framework:{name:frameworkInclude,options:options.framework||{}},prefixes,storybookConfigFolder,addons:shouldApplyRequireWrapperOnPackageNames?addons.map(addon=>applyRequireWrapper(addon)):addons,extensions,language,...staticDir?{staticDirs:[path9.join("..",staticDir)]}:null,...extraMain,...type!=="framework"?{core:{builder:builderInclude}}:{}});}if(await configurePreview({frameworkPreviewParts,storybookConfigFolder,language,rendererId}),addScripts&&await packageManager.addStorybookCommandInScripts({port:6006}),addComponents){let templateLocation=hasFrameworkTemplates(framework)?framework:rendererId;if(!templateLocation)throw new Error(`Could not find template location for ${framework} or ${rendererId}`);await copyTemplateFiles({renderer:templateLocation,packageManager,language,destination:componentsDestinationPath});}}var ANGULAR_JSON_PATH="angular.json",compoDocPreviewPrefix=dedent`
|
|
129
|
-
import { setCompodocJson } from "@storybook/addon-docs/angular";
|
|
130
|
-
import docJson from "../documentation.json";
|
|
131
|
-
setCompodocJson(docJson);
|
|
132
|
-
`.trimStart(),promptForCompoDocs=async()=>{logger.plain(boxen(dedent`
|
|
133
|
-
Compodoc is a great tool to generate documentation for your Angular projects.
|
|
134
|
-
Storybook can use the documentation generated by Compodoc to extract argument definitions
|
|
135
|
-
and JSDOC comments to display them in the Storybook UI. We highly recommend using Compodoc for
|
|
136
|
-
your Angular projects to get the best experience out of Storybook.
|
|
137
|
-
`,{title:"Compodoc",borderStyle:"round",padding:1,borderColor:"#F1618C"}));let{useCompoDoc}=await prompts5({type:"confirm",name:"useCompoDoc",message:"Do you want to use Compodoc for documentation?"});return useCompoDoc},AngularJSON=class{constructor(){if(!fs2__default.existsSync(ANGULAR_JSON_PATH))throw new MissingAngularJsonError({path:join(process.cwd(),ANGULAR_JSON_PATH)});let jsonContent=fs2__default.readFileSync(ANGULAR_JSON_PATH,"utf8");this.json=JSON.parse(jsonContent);}get projects(){return this.json.projects}get projectsWithoutStorybook(){return Object.keys(this.projects).filter(projectName=>{let{architect}=this.projects[projectName];return !architect.storybook})}get hasStorybookBuilder(){return Object.keys(this.projects).some(projectName=>{let{architect}=this.projects[projectName];return Object.keys(architect).some(key=>architect[key].builder==="@storybook/angular:start-storybook")})}get rootProject(){let rootProjectName=Object.keys(this.projects).find(projectName=>{let{root}=this.projects[projectName];return root===""||root==="."});return rootProjectName?this.projects[rootProjectName]:null}getProjectSettingsByName(projectName){return this.projects[projectName]}async getProjectName(){if(this.projectsWithoutStorybook.length>1){let{projectName}=await prompts5({type:"select",name:"projectName",message:"For which project do you want to generate Storybook configuration?",choices:this.projectsWithoutStorybook.map(name=>({title:name,value:name}))});return projectName}return this.projectsWithoutStorybook[0]}addStorybookEntries({angularProjectName,storybookFolder,useCompodoc,root}){let{architect}=this.projects[angularProjectName],baseOptions={configDir:storybookFolder,browserTarget:`${angularProjectName}:build`,compodoc:useCompodoc,...useCompodoc&&{compodocArgs:["-e","json","-d",root||"."]}};architect.storybook||(architect.storybook={builder:"@storybook/angular:start-storybook",options:{...baseOptions,port:6006}}),architect["build-storybook"]||(architect["build-storybook"]={builder:"@storybook/angular:build-storybook",options:{...baseOptions,outputDir:Object.keys(this.projects).length===1?"storybook-static":`dist/storybook/${angularProjectName}`}});}write(){fs2__default.writeFileSync(ANGULAR_JSON_PATH,JSON.stringify(this.json,null,2));}};var generator=async(packageManager,npmOptions,options,commandOptions)=>{let angularJSON=new AngularJSON;if(!angularJSON.projects||angularJSON.projects&&Object.keys(angularJSON.projects).length===0)throw new Error("Storybook was not able to find any projects in your angular.json file. Are you sure this is an Angular CLI project?");if(angularJSON.projectsWithoutStorybook.length===0)throw new Error("Every project in your workspace is already set up with Storybook. There is nothing to do!");let angularProjectName=await angularJSON.getProjectName();commandLog(`Adding Storybook support to your "${angularProjectName}" project`);let angularProject=angularJSON.getProjectSettingsByName(angularProjectName);if(!angularProject)throw new Error(`Somehow we were not able to retrieve the "${angularProjectName}" project in your angular.json file. This is likely a bug in Storybook, please file an issue.`);let{root,projectType}=angularProject,{projects}=angularJSON,useCompodoc=commandOptions?.yes?!0:await promptForCompoDocs(),storybookFolder=root?`${root}/.storybook`:".storybook";angularJSON.addStorybookEntries({angularProjectName,storybookFolder,useCompodoc,root}),angularJSON.write(),await baseGenerator(packageManager,npmOptions,{...options,builder:"webpack5",...useCompodoc&&{frameworkPreviewParts:{prefix:compoDocPreviewPrefix}}},"angular",{extraAddons:["@storybook/addon-onboarding"],...useCompodoc&&{extraPackages:["@compodoc/compodoc","@storybook/addon-docs"]},addScripts:!1,componentsDestinationPath:root?`${root}/src/stories`:void 0,storybookConfigFolder:storybookFolder,webpackCompiler:()=>{}},"angular"),Object.keys(projects).length===1&&packageManager.addScripts({storybook:`ng run ${angularProjectName}:storybook`,"build-storybook":`ng run ${angularProjectName}:build-storybook`});let projectTypeValue=projectType||"application";projectTypeValue!=="application"&&projectTypeValue!=="library"&&(projectTypeValue="application");let templateDir=join(getCliDir(),"templates","angular",projectTypeValue);return templateDir&©Template(templateDir,root||void 0),{projectName:angularProjectName,configDir:storybookFolder}},ANGULAR_default=generator;var generator2=async(packageManager,npmOptions,options)=>{await baseGenerator(packageManager,npmOptions,{...options,builder:"webpack5"},"ember",{staticDir:"dist"},"ember");},EMBER_default=generator2;var generator3=async(packageManager,npmOptions,options)=>{let extraPackages=await detectLanguage(packageManager)==="javascript"?["prop-types"]:[];await baseGenerator(packageManager,npmOptions,options,"react",{extraPackages,webpackCompiler:({builder})=>builder==="webpack5"?"swc":void 0,extraAddons:["@storybook/addon-onboarding"]});},REACT_default=generator3;var generator4=async(packageManager,npmOptions)=>{let packageJson=await packageManager.retrievePackageJson(),missingReactDom=!packageJson.dependencies["react-dom"]&&!packageJson.devDependencies["react-dom"],reactVersion=packageJson.dependencies.react,packagesToResolve=[...["react-native-safe-area-context","@react-native-async-storage/async-storage","@react-native-community/datetimepicker","@react-native-community/slider"].filter(dep=>!packageJson.dependencies[dep]&&!packageJson.devDependencies[dep]),"@storybook/addon-ondevice-controls","@storybook/addon-ondevice-actions","@storybook/react-native"],packagesWithFixedVersion=[],versionedPackages=await packageManager.getVersionedPackages(packagesToResolve),babelDependencies=await getBabelDependencies(packageManager,packageJson),packages=[];packages.push(...babelDependencies),packages.push(...packagesWithFixedVersion),packages.push(...versionedPackages),missingReactDom&&reactVersion&&packages.push(`react-dom@${reactVersion}`),await packageManager.addDependencies({...npmOptions,packageJson},packages),packageManager.addScripts({"storybook-generate":"sb-rn-get-stories"}),await copyTemplateFiles({packageManager,renderer:"react-native",language:"typescript-3-8",destination:".storybook",includeCommonAssets:!1});},REACT_NATIVE_default=generator4;var generator5=async(packageManager,npmOptions,options)=>{let monorepoRootPath=path9.join(__dirname,"..","..","..","..","..",".."),extraMain=options.linkable?{webpackFinal:`%%(config) => {
|
|
138
|
-
// add monorepo root as a valid directory to import modules from
|
|
139
|
-
config.resolve.plugins.forEach((p) => {
|
|
140
|
-
if (Array.isArray(p.appSrcs)) {
|
|
141
|
-
p.appSrcs.push('${monorepoRootPath}');
|
|
142
|
-
}
|
|
143
|
-
});
|
|
144
|
-
return config;
|
|
145
|
-
}
|
|
146
|
-
%%`}:{},craVersion=await packageManager.getPackageVersion("react-scripts");if(craVersion===null)throw new Error(dedent`
|
|
147
|
-
It looks like you're trying to initialize Storybook in a CRA project that does not have react-scripts installed.
|
|
148
|
-
Please install it and make sure it's of version 5 or higher, which are the versions supported by Storybook 7.0+.
|
|
149
|
-
`);if(!craVersion&&semver.gte(craVersion,"5.0.0"))throw new Error(dedent`
|
|
150
|
-
Storybook 7.0+ doesn't support react-scripts@<5.0.0.
|
|
151
|
-
|
|
152
|
-
https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#create-react-app-dropped-cra4-support
|
|
153
|
-
`);let extraPackages=[];extraPackages.push("webpack"),extraPackages.push("prop-types");let extraAddons=["@storybook/preset-create-react-app","@storybook/addon-onboarding"];await baseGenerator(packageManager,npmOptions,{...options,builder:"webpack5"},"react",{webpackCompiler:()=>{},extraAddons,extraPackages,staticDir:fs2__default.existsSync(path9.resolve("./public"))?"public":void 0,extraMain});},REACT_SCRIPTS_default=generator5;var generator6=async(packageManager,npmOptions,options)=>{let staticDir;existsSync$1(join(process.cwd(),"public"))&&(staticDir="public"),await baseGenerator(packageManager,npmOptions,{...options,builder:"webpack5"},"react",{staticDir,extraAddons:["@storybook/addon-onboarding"],webpackCompiler:({builder})=>{}},"nextjs");},NEXTJS_default=generator6;var generator7=async(packageManager,npmOptions,options)=>{await baseGenerator(packageManager,npmOptions,options,"vue3",{extraAddons:["@storybook/addon-onboarding"],extraPackages:async({builder})=>builder==="webpack5"?["vue-loader@^17.0.0","@vue/compiler-sfc@^3.2.0"]:[],webpackCompiler:({builder})=>builder==="webpack5"?"swc":void 0});},VUE3_default=generator7;var generator8=async(packageManager,npmOptions,options)=>{await baseGenerator(packageManager,npmOptions,options,"react",{extraAddons:["@storybook/addon-onboarding"],webpackCompiler:({builder})=>builder==="webpack5"?"swc":void 0});},WEBPACK_REACT_default=generator8;var generator9=async(packageManager,npmOptions,options)=>{await baseGenerator(packageManager,npmOptions,options,"html",{webpackCompiler:({builder})=>builder==="webpack5"?"swc":void 0});},HTML_default=generator9;var generator10=async(packageManager,npmOptions,options)=>baseGenerator(packageManager,npmOptions,options,"web-components",{extraPackages:["lit"],webpackCompiler:({builder})=>builder==="webpack5"?"swc":void 0}),WEB_COMPONENTS_default=generator10;var generator11=async(packageManager,npmOptions,options)=>{await baseGenerator(packageManager,npmOptions,options,"preact",{webpackCompiler:({builder})=>builder==="webpack5"?"swc":void 0});},PREACT_default=generator11;var generator12=async(packageManager,npmOptions,options)=>{await baseGenerator(packageManager,npmOptions,options,"svelte",{extensions:["js","ts","svelte"],extraAddons:["@storybook/addon-svelte-csf"]});},SVELTE_default=generator12;var generator13=async(packageManager,npmOptions,options)=>{await baseGenerator(packageManager,npmOptions,options,"qwik",{},"qwik");},QWIK_default=generator13;var generator14=async(packageManager,npmOptions,options)=>{await baseGenerator(packageManager,npmOptions,{...options,builder:"vite"},"svelte",{extensions:["js","ts","svelte"],extraAddons:["@storybook/addon-svelte-csf"]},"sveltekit");},SVELTEKIT_default=generator14;var generator15=async(packageManager,npmOptions,options)=>{await baseGenerator(packageManager,npmOptions,{...options,builder:"vite"},"solid",{},"solid");},SOLID_default=generator15;var generator16=async(packageManager,npmOptions,options)=>{await baseGenerator(packageManager,npmOptions,{...options,builder:"webpack5"},"server",{webpackCompiler:()=>"swc",extensions:["json","yaml","yml"]});},SERVER_default=generator16;var SUPPORTED_PROJECTS={"react-vite-ts":{displayName:{type:"React",builder:"Vite",language:"TS"},createScript:{npm:"npm create vite@latest . -- --template react-ts",yarn:"yarn create vite@latest . --template react-ts",pnpm:"pnpm create vite@latest . --template react-ts"}},"nextjs-ts":{displayName:{type:"Next.js",language:"TS"},createScript:{npm:'npm create next-app . -- --typescript --use-npm --eslint --tailwind --no-app --import-alias="@/*" --src-dir',yarn:'yarn create next-app . --typescript --use-yarn --eslint --tailwind --no-app --import-alias="@/*" --src-dir',pnpm:'pnpm create next-app . --typescript --use-pnpm --eslint --tailwind --no-app --import-alias="@/*" --src-dir'}},"vue-vite-ts":{displayName:{type:"Vue 3",builder:"Vite",language:"TS"},createScript:{npm:"npm create vite@latest . -- --template vue-ts",yarn:"yarn create vite@latest . --template vue-ts",pnpm:"pnpm create vite@latest . --template vue-ts"}},"angular-cli":{displayName:{type:"Angular",language:"TS"},createScript:{npm:"npx -p @angular/cli@latest ng new angular-latest --directory . --routing=true --minimal=true --style=scss --strict --skip-git --skip-install",yarn:"yarn dlx -p @angular/cli ng new angular-latest --directory . --routing=true --minimal=true --style=scss --strict --skip-git --package-manager=yarn --skip-install && touch yarn.lock && yarn set version berry && yarn config set nodeLinker node-modules",pnpm:"pnpm --package @angular/cli dlx ng new angular-latest --directory . --routing=true --minimal=true --style=scss --strict --skip-git --package-manager=pnpm --skip-install"}},"lit-vite-ts":{displayName:{type:"Lit",builder:"Vite",language:"TS"},createScript:{npm:"npm create vite@latest . -- --template lit-ts",yarn:"yarn create vite@latest . --template lit-ts && touch yarn.lock && yarn set version berry && yarn config set nodeLinker pnp",pnpm:"pnpm create vite@latest . --template lit-ts"}}},packageManagerToCoercedName=packageManager=>{switch(packageManager){case"npm":return "npm";case"pnpm":return "pnpm";default:return "yarn"}},buildProjectDisplayNameForPrint=({displayName})=>{let{type,builder,language}=displayName;return `${chalk15.bold.blue(type)} ${builder?`+ ${builder} `:""}(${language})`},scaffoldNewProject=async(packageManager,{disableTelemetry})=>{let packageManagerName=packageManagerToCoercedName(packageManager);logger.plain(boxen(dedent`
|
|
154
|
-
Would you like to generate a new project from the following list?
|
|
155
|
-
|
|
156
|
-
${chalk15.bold("Note:")}
|
|
157
|
-
Storybook supports many more frameworks and bundlers than listed below. If you don't see your
|
|
158
|
-
preferred setup, you can still generate a project then rerun this command to add Storybook.
|
|
159
|
-
|
|
160
|
-
${chalk15.bold("Press ^C at any time to quit.")}
|
|
161
|
-
`,{title:chalk15.bold("\u{1F50E} Empty directory detected"),padding:1,borderStyle:"double",borderColor:"yellow"})),logger.line(1);let projectStrategy;if(process.env.STORYBOOK_INIT_EMPTY_TYPE&&(projectStrategy=process.env.STORYBOOK_INIT_EMPTY_TYPE),!projectStrategy){let{project}=await prompts5({type:"select",name:"project",message:"Choose a project template",choices:Object.entries(SUPPORTED_PROJECTS).map(([key,value])=>({title:buildProjectDisplayNameForPrint(value),value:key}))},{onCancel:()=>process.exit(0)});projectStrategy=project;}let projectStrategyConfig=SUPPORTED_PROJECTS[projectStrategy],projectDisplayName=buildProjectDisplayNameForPrint(projectStrategyConfig),createScript=projectStrategyConfig.createScript[packageManagerName];logger.line(1),logger.plain(`Creating a new "${projectDisplayName}" project with ${chalk15.bold(packageManagerName)}...`),logger.line(1);let targetDir=process.cwd();try{await remove(`${targetDir}/.cache`),await execa.command(createScript,{stdio:"pipe",shell:!0,cwd:targetDir,cleanup:!0});}catch(e){throw new GenerateNewProjectOnInitError({error:e,packageManager:packageManagerName,projectType:projectStrategy})}disableTelemetry||telemetry$1("scaffolded-empty",{packageManager:packageManagerName,projectType:projectStrategy}),logger.plain(boxen(dedent`
|
|
162
|
-
"${projectDisplayName}" project with ${chalk15.bold(packageManagerName)} created successfully!
|
|
163
|
-
|
|
164
|
-
Continuing with Storybook installation...
|
|
165
|
-
`,{title:chalk15.bold("\u2705 Success!"),padding:1,borderStyle:"double",borderColor:"green"})),logger.line(1);},BASE_IGNORED_FILES=[".git",".gitignore",".DS_Store",".cache"],IGNORED_FILES_BY_PACKAGE_MANAGER={npm:[...BASE_IGNORED_FILES],yarn:[...BASE_IGNORED_FILES,".yarnrc.yml",".yarn"],pnpm:[...BASE_IGNORED_FILES]},currentDirectoryIsEmpty=packageManager=>{let packageManagerName=packageManagerToCoercedName(packageManager),cwdFolderEntries=readdirSync(process.cwd()),filesToIgnore=IGNORED_FILES_BY_PACKAGE_MANAGER[packageManagerName];return cwdFolderEntries.length===0||cwdFolderEntries.every(entry=>filesToIgnore.includes(entry))};var logger6=console,installStorybook=async(projectType,packageManager,options)=>{let npmOptions={installAsDevDependencies:!0,skipInstall:options.skipInstall},language=await detectLanguage(packageManager),pnp=await detectPnp(),generatorOptions={language,builder:options.builder,linkable:!!options.linkable,pnp:pnp||options.usePnp,yes:options.yes,projectType},runGenerator=async()=>{switch(projectType){case"REACT_SCRIPTS":return REACT_SCRIPTS_default(packageManager,npmOptions,generatorOptions).then(commandLog('Adding Storybook support to your "Create React App" based project'));case"REACT":return REACT_default(packageManager,npmOptions,generatorOptions).then(commandLog('Adding Storybook support to your "React" app'));case"REACT_NATIVE":return REACT_NATIVE_default(packageManager,npmOptions).then(commandLog('Adding Storybook support to your "React Native" app'));case"QWIK":return QWIK_default(packageManager,npmOptions,generatorOptions).then(commandLog('Adding Storybook support to your "Qwik" app'));case"WEBPACK_REACT":return WEBPACK_REACT_default(packageManager,npmOptions,generatorOptions).then(commandLog('Adding Storybook support to your "Webpack React" app'));case"REACT_PROJECT":return REACT_default(packageManager,npmOptions,generatorOptions).then(commandLog('Adding Storybook support to your "React" library'));case"NEXTJS":return NEXTJS_default(packageManager,npmOptions,generatorOptions).then(commandLog('Adding Storybook support to your "Next" app'));case"VUE3":return VUE3_default(packageManager,npmOptions,generatorOptions).then(commandLog('Adding Storybook support to your "Vue 3" app'));case"ANGULAR":return commandLog('Adding Storybook support to your "Angular" app'),ANGULAR_default(packageManager,npmOptions,generatorOptions,options);case"EMBER":return EMBER_default(packageManager,npmOptions,generatorOptions).then(commandLog('Adding Storybook support to your "Ember" app'));case"HTML":return HTML_default(packageManager,npmOptions,generatorOptions).then(commandLog('Adding Storybook support to your "HTML" app'));case"WEB_COMPONENTS":return WEB_COMPONENTS_default(packageManager,npmOptions,generatorOptions).then(commandLog('Adding Storybook support to your "web components" app'));case"PREACT":return PREACT_default(packageManager,npmOptions,generatorOptions).then(commandLog('Adding Storybook support to your "Preact" app'));case"SVELTE":return SVELTE_default(packageManager,npmOptions,generatorOptions).then(commandLog('Adding Storybook support to your "Svelte" app'));case"SVELTEKIT":return SVELTEKIT_default(packageManager,npmOptions,generatorOptions).then(commandLog('Adding Storybook support to your "SvelteKit" app'));case"SERVER":return SERVER_default(packageManager,npmOptions,generatorOptions).then(commandLog('Adding Storybook support to your "Server" app'));case"NX":throw new NxProjectDetectedError;case"SOLID":return SOLID_default(packageManager,npmOptions,generatorOptions).then(commandLog('Adding Storybook support to your "SolidJS" app'));case"UNSUPPORTED":return paddedLog("We detected a project type that we don't support yet."),paddedLog("If you'd like your framework to be supported, please let use know about it at https://github.com/storybookjs/storybook/issues"),logger6.log(),Promise.resolve();default:return paddedLog(`We couldn't detect your project type. (code: ${projectType})`),paddedLog("You can specify a project type explicitly via `storybook init --type <type>`, see our docs on how to configure Storybook for your framework: https://storybook.js.org/docs/react/get-started/install"),logger6.log(),projectTypeInquirer(options,packageManager)}};try{return await runGenerator()}catch(err){throw err?.message!=="Canceled by the user"&&err?.stack&&logger6.error(`
|
|
166
|
-
${chalk15.red(err.stack)}`),new HandledError(err)}},projectTypeInquirer=async(options,packageManager)=>{let manualAnswer=options.yes?!0:await prompts5([{type:"confirm",name:"manual",message:"Do you want to manually choose a Storybook project type to install?"}]);if(manualAnswer!==!0&&manualAnswer.manual){let{manualFramework}=await prompts5([{type:"select",name:"manualFramework",message:"Please choose a project type from the following list:",choices:installableProjectTypes.map(type=>({title:type,value:type.toUpperCase()}))}]);if(manualFramework)return installStorybook(manualFramework,packageManager,options)}logger6.log(),logger6.log("For more information about installing Storybook: https://storybook.js.org/docs"),process.exit(0);};async function doInitiate(options){let{packageManager:pkgMgr}=options,packageManager=JsPackageManagerFactory.getPackageManager({force:pkgMgr}),latestVersion=await packageManager.latestVersion("storybook"),currentVersion=versions.storybook,isPrerelease=prerelease(currentVersion),isOutdated=lt(currentVersion,latestVersion),borderColor=isOutdated?"#FC521F":"#F1618C",messages={welcome:`Adding Storybook version ${chalk15.bold(currentVersion)} to your project..`,notLatest:chalk15.red(dedent`
|
|
167
|
-
This version is behind the latest release, which is: ${chalk15.bold(latestVersion)}!
|
|
168
|
-
You likely ran the init command through npx, which can use a locally cached version, to get the latest please run:
|
|
169
|
-
${chalk15.bold("npx storybook@latest init")}
|
|
170
|
-
|
|
171
|
-
You may want to CTRL+C to stop, and run with the latest version instead.
|
|
172
|
-
`),prelease:chalk15.yellow("This is a pre-release version.")};logger6.log(boxen([messages.welcome].concat(isOutdated&&!isPrerelease?[messages.notLatest]:[]).concat(isPrerelease?[messages.prelease]:[]).join(`
|
|
173
|
-
`),{borderStyle:"round",padding:1,borderColor})),options.force!==!0&¤tDirectoryIsEmpty(packageManager.type)&&(packageManager.type==="yarn1"&&(packageManager=JsPackageManagerFactory.getPackageManager({force:"npm"})),await scaffoldNewProject(packageManager.type,options));let projectType,projectTypeProvided=options.type,infoText=projectTypeProvided?`Installing Storybook for user specified project type: ${projectTypeProvided}`:"Detecting project type",done=commandLog(infoText);if(projectTypeProvided)if(installableProjectTypes.includes(projectTypeProvided))projectType=projectTypeProvided.toUpperCase();else throw done(`The provided project type was not recognized by Storybook: ${projectTypeProvided}`),logger6.log(`
|
|
174
|
-
The project types currently supported by Storybook are:
|
|
175
|
-
`),installableProjectTypes.sort().forEach(framework=>paddedLog(`- ${framework}`)),logger6.log(),new HandledError(`Unknown project type supplied: ${projectTypeProvided}`);else try{projectType=await detect(packageManager,options);}catch(err){throw done(String(err)),new HandledError(err)}done();let storybookInstantiated=isStorybookInstantiated();if(options.force===!1&&storybookInstantiated&&projectType!=="ANGULAR"){logger6.log();let{force}=await prompts5([{type:"confirm",name:"force",message:"We found a .storybook config directory in your project. Therefore we assume that Storybook is already instantiated for your project. Do you still want to continue and force the initialization?"}]);logger6.log(),force?options.force=!0:process.exit(0);}options.skipInstall||await packageManager.installDependencies();let installResult=await installStorybook(projectType,packageManager,options);if(options.skipInstall||await packageManager.installDependencies(),options.disableTelemetry||await telemetry$1("init",{projectType}),projectType==="REACT_NATIVE")return logger6.log(dedent`
|
|
176
|
-
${chalk15.yellow("NOTE: installation is not 100% automated.")}
|
|
177
|
-
|
|
178
|
-
To run Storybook, you will need to:
|
|
179
|
-
|
|
180
|
-
1. Replace the contents of your app entry with the following
|
|
181
|
-
|
|
182
|
-
${chalk15.inverse(" export {default} from './.storybook'; ")}
|
|
183
|
-
|
|
184
|
-
2. Enable transformer.unstable_allowRequireContext in your metro config
|
|
185
|
-
|
|
186
|
-
For a more detailed guide go to:
|
|
187
|
-
${chalk15.cyan("https://github.com/storybookjs/react-native#existing-project")}
|
|
188
|
-
|
|
189
|
-
Then to run your Storybook, type:
|
|
190
|
-
|
|
191
|
-
${chalk15.inverse(" "+packageManager.getRunCommand("start")+" ")}
|
|
192
|
-
|
|
193
|
-
`),{shouldRunDev:!1};let foundGitIgnoreFile=await findUp2(".gitignore"),rootDirectory=getProjectRoot();foundGitIgnoreFile&&foundGitIgnoreFile.includes(rootDirectory)&&((await readFile(foundGitIgnoreFile,"utf-8")).includes("*storybook.log")||await appendFile(foundGitIgnoreFile,`
|
|
194
|
-
*storybook.log`));let storybookCommand=projectType==="ANGULAR"?`ng run ${installResult.projectName}:storybook`:packageManager.getRunStorybookCommand();return logger6.log(boxen(dedent`
|
|
195
|
-
Storybook was successfully installed in your project! 🎉
|
|
196
|
-
To run Storybook manually, run ${chalk15.yellow(chalk15.bold(storybookCommand))}. CTRL+C to stop.
|
|
197
|
-
|
|
198
|
-
Wanna know more about Storybook? Check out ${chalk15.cyan("https://storybook.js.org/")}
|
|
199
|
-
Having trouble or want to chat? Join us at ${chalk15.cyan("https://discord.gg/storybook/")}
|
|
200
|
-
`,{borderStyle:"round",padding:1,borderColor:"#F1618C"})),{shouldRunDev:!!options.dev&&!options.skipInstall,projectType,packageManager,storybookCommand}}async function initiate(options){let initiateResult=await withTelemetry("init",{cliOptions:options,printError:err=>!err.handled&&logger6.error(err)},()=>doInitiate(options));if(initiateResult?.shouldRunDev){let{projectType,packageManager,storybookCommand}=initiateResult;logger6.log(`
|
|
201
|
-
Running Storybook`);try{let supportsOnboarding=["REACT_SCRIPTS","REACT","WEBPACK_REACT","REACT_PROJECT","NEXTJS","VUE3","ANGULAR"].includes(projectType),flags=[];packageManager.type==="npm"&&projectType!=="ANGULAR"&&flags.push("--"),supportsOnboarding&&flags.push("--initial-path=/onboarding"),flags.push("--quiet"),packageManager.runPackageCommandSync(storybookCommand.replace(/^yarn /,""),flags,void 0,"inherit");}catch{}}}var postinstallAddon=async(addonName,options)=>{try{let modulePath=__require.resolve(`${addonName}/postinstall`,{paths:[process.cwd()]}),postinstall=__require(modulePath);try{console.log(`Running postinstall script for ${addonName}`),await postinstall(options);}catch(e){console.error(`Error running postinstall script for ${addonName}`),console.error(e);}}catch{}};var getVersionSpecifier=addon=>{let groups=/^(@{0,1}[^@]+)(?:@(.+))?$/.exec(addon);return groups?[groups[1],groups[2]]:[addon,void 0]},requireMain=configDir=>{let absoluteConfigDir=isAbsolute(configDir)?configDir:join(process.cwd(),configDir),mainFile=join(absoluteConfigDir,"main");return serverRequire(mainFile)??{}},checkInstalled=(addonName,main)=>!!main.addons?.find(entry=>(typeof entry=="string"?entry:entry.name)?.endsWith(addonName)),isCoreAddon=addonName=>Object.hasOwn(versions,addonName);async function add(addon,{packageManager:pkgMgr,skipPostinstall,configDir:userSpecifiedConfigDir},logger34=console){let[addonName,inputVersion]=getVersionSpecifier(addon),packageManager=JsPackageManagerFactory.getPackageManager({force:pkgMgr}),packageJson=await packageManager.retrievePackageJson(),{mainConfig,configDir:inferredConfigDir}=getStorybookInfo(packageJson,userSpecifiedConfigDir),configDir=userSpecifiedConfigDir||inferredConfigDir||".storybook";if(typeof configDir>"u")throw new Error(dedent`
|
|
202
|
-
Unable to find storybook config directory
|
|
203
|
-
`);if(!mainConfig){logger34.error("Unable to find storybook main.js config");return}if(checkInstalled(addonName,requireMain(configDir)))throw new Error(dedent`
|
|
204
|
-
Addon ${addonName} is already installed; we skipped adding it to your ${mainConfig}.
|
|
205
|
-
`);let main=await readConfig(mainConfig);logger34.log(`Verifying ${addonName}`);let storybookVersion=await getCoercedStorybookVersion(packageManager),version=inputVersion;!version&&isCoreAddon(addonName)&&storybookVersion&&(version=storybookVersion),version||(version=await packageManager.latestVersion(addonName)),isCoreAddon(addonName)&&version!==storybookVersion&&logger34.warn(`The version of ${addonName} you are installing is not the same as the version of Storybook you are using. This may lead to unexpected behavior.`);let addonWithVersion=isValidVersion(version)?`${addonName}@^${version}`:`${addonName}@${version}`;logger34.log(`Installing ${addonWithVersion}`),await packageManager.addDependencies({installAsDevDependencies:!0},[addonWithVersion]),logger34.log(`Adding '${addon}' to main.js addons field.`),main.appendValueToArray(["addons"],addonName),await writeConfig(main),!skipPostinstall&&isCoreAddon(addonName)&&await postinstallAddon(addonName,{packageManager:packageManager.type});}function isValidVersion(version){return semver.valid(version)||version.match(/^\d+$/)}var logger7=console,getFrameworkPackageName=mainConfig=>{let packageNameOrPath=typeof mainConfig?.framework=="string"?mainConfig.framework:mainConfig?.framework?.name;return packageNameOrPath?extractProperFrameworkName(packageNameOrPath):null},getRendererName=mainConfig=>{let frameworkPackageName=getFrameworkPackageName(mainConfig);if(!frameworkPackageName)return null;let frameworkName=frameworkPackages[frameworkPackageName];return frameworkToRenderer[frameworkName]},getBuilderPackageName=mainConfig=>{let frameworkBuilder=getFrameworkOptions(mainConfig)?.builder,frameworkBuilderName=typeof frameworkBuilder=="string"?frameworkBuilder:frameworkBuilder?.options?.name,packageNameOrPath=(typeof mainConfig?.core?.builder=="string"?mainConfig.core.builder:mainConfig?.core?.builder?.name)??frameworkBuilderName;if(!packageNameOrPath)return null;let normalizedPath=path9.normalize(packageNameOrPath).replace(new RegExp(/\\/,"g"),"/");return builderPackages.find(pkg2=>normalizedPath.endsWith(pkg2))||packageNameOrPath},getFrameworkOptions=mainConfig=>typeof mainConfig?.framework=="string"?null:mainConfig?.framework?.options??null,getRendererPackageNameFromFramework=frameworkPackageName=>{if(frameworkPackageName){if(Object.keys(rendererPackages).includes(frameworkPackageName))return frameworkPackageName;if(Object.values(rendererPackages).includes(frameworkPackageName))return Object.keys(rendererPackages).find(k=>rendererPackages[k]===frameworkPackageName)}return null},getStorybookData=async({packageManager,configDir:userDefinedConfigDir})=>{let packageJson=await packageManager.retrievePackageJson(),{mainConfig:mainConfigPath,version:storybookVersionSpecifier,configDir:configDirFromScript,previewConfig:previewConfigPath}=getStorybookInfo(packageJson,userDefinedConfigDir),storybookVersion=await getCoercedStorybookVersion(packageManager),configDir=userDefinedConfigDir||configDirFromScript||".storybook",mainConfig;try{mainConfig=await loadMainConfig({configDir,noCache:!0});}catch(err){throw new Error(dedent`Unable to find or evaluate ${chalk15.blue(mainConfigPath)}: ${String(err)}`)}return {configDir,mainConfig,storybookVersionSpecifier,storybookVersion,mainConfigPath,previewConfigPath}},updateMainConfig=async({mainConfigPath,dryRun},callback)=>{try{let main=await readConfig(mainConfigPath);await callback(main),dryRun||await writeConfig(main);}catch(e){logger7.info(`\u274C The migration failed to update your ${chalk15.blue(mainConfigPath)} on your behalf because of the following error:
|
|
206
|
-
${e}
|
|
207
|
-
`),logger7.info(`\u26A0\uFE0F Storybook automigrations are based on AST parsing and it's possible that your ${chalk15.blue(mainConfigPath)} file contains a non-standard format (e.g. your export is not an object) or that there was an error when parsing dynamic values (e.g. "require" calls, or usage of environment variables). When your main config is non-standard, automigrations are unfortunately not possible. Please follow the instructions given previously and follow the documentation to make the updates manually.`);}},getAddonNames=mainConfig=>(mainConfig.addons||[]).map(addon=>{let name="";if(typeof addon=="string"?name=addon:typeof addon=="object"&&(name=addon.name),!name.startsWith("."))return name.replace(/\/dist\/.*/,"").replace(/\.[mc]?[tj]?s[x]?$/,"").replace(/\/register$/,"").replace(/\/manager$/,"").replace(/\/preset$/,"")}).filter(item=>item!=null);var logger8=console,checkWebpack5Builder=async({mainConfig,storybookVersion})=>{if(semver.lt(storybookVersion,"6.3.0"))return logger8.warn(dedent`
|
|
208
|
-
Detected SB 6.3 or below, please upgrade storybook to use webpack5.
|
|
209
|
-
|
|
210
|
-
To upgrade to the latest stable release, run this from your project directory:
|
|
211
|
-
|
|
212
|
-
${chalk15.cyan("npx storybook@latest upgrade")}
|
|
213
|
-
|
|
214
|
-
To upgrade to the latest pre-release, run this from your project directory:
|
|
215
|
-
|
|
216
|
-
${chalk15.cyan("npx storybook@next upgrade")}
|
|
217
|
-
`.trim()),null;if(semver.gte(storybookVersion,"7.0.0"))return null;if(!mainConfig)return logger8.warn("Unable to find storybook main.js config"),null;let builderPackageName=getBuilderPackageName(mainConfig);return builderPackageName&&builderPackageName!=="webpack4"?(logger8.info(`Found builder ${builderPackageName}, skipping`),null):{storybookVersion}};var logger9=console,webpack5={id:"webpack5",versionRange:["<7",">=7"],async check({packageManager,mainConfig,storybookVersion}){let webpackVersion=await packageManager.getPackageVersion("webpack");if(!webpackVersion||semver.lt(webpackVersion,"5.0.0")||semver.gte(webpackVersion,"6.0.0"))return null;let builderInfo=await checkWebpack5Builder({mainConfig,storybookVersion});return builderInfo?{webpackVersion,...builderInfo}:null},prompt({webpackVersion}){let webpackFormatted=chalk15.cyan(`webpack ${webpackVersion}`);return dedent`
|
|
218
|
-
We've detected you're running ${webpackFormatted}.
|
|
219
|
-
Your Storybook's main.js files specifies webpack4, which is incompatible.
|
|
220
|
-
|
|
221
|
-
To run Storybook in webpack5-mode, we can install Storybook's ${chalk15.cyan("@storybook/builder-webpack5")} for you.
|
|
222
|
-
|
|
223
|
-
More info: ${chalk15.yellow("https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#webpack-5-manager-build")}
|
|
224
|
-
`},async run({result:{storybookVersion,webpackVersion},packageManager,dryRun,mainConfigPath}){let deps=[`@storybook/builder-webpack5@${storybookVersion}`];webpackVersion||deps.push("webpack@5"),logger9.info(`\u2705 Adding dependencies: ${deps}`),dryRun||await packageManager.addDependencies({installAsDevDependencies:!0},deps),logger9.info("\u2705 Setting `core.builder` to `@storybook/builder-webpack5` in main.js"),dryRun||await updateMainConfig({mainConfigPath,dryRun:!!dryRun},async main=>{main.setFieldValue(["core","builder"],"@storybook/builder-webpack5");});}};var cra5={id:"cra5",versionRange:["<7",">=7"],async check({packageManager,mainConfig,storybookVersion}){let craVersion=await packageManager.getPackageVersion("react-scripts");if(!craVersion||semver.lt(craVersion,"5.0.0"))return null;let builderInfo=await checkWebpack5Builder({mainConfig,storybookVersion});return builderInfo?{craVersion,...builderInfo}:null},prompt({craVersion}){let craFormatted=chalk15.cyan(`Create React App (CRA) ${craVersion}`);return dedent`
|
|
225
|
-
We've detected you are running ${craFormatted} which is powered by webpack5.
|
|
226
|
-
Your Storybook's main.js files specifies webpack4, which is incompatible.
|
|
227
|
-
|
|
228
|
-
In order to work with your version of CRA, we need to install Storybook's ${chalk15.cyan("@storybook/builder-webpack5")}.
|
|
229
|
-
|
|
230
|
-
More info: ${chalk15.yellow("https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#cra5-upgrade")}
|
|
231
|
-
`},async run(options){return webpack5.run({...options,result:{webpackVersion:null,...options.result}})}};var vue3={id:"vue3",versionRange:["<7",">=7"],async check({packageManager,mainConfig,storybookVersion}){let vueVersion=await packageManager.getPackageVersion("vue");if(!vueVersion||semver.lt(vueVersion,"3.0.0"))return null;let builderInfo=await checkWebpack5Builder({mainConfig,storybookVersion});return builderInfo?{vueVersion,...builderInfo}:null},prompt({vueVersion,storybookVersion}){let vueFormatted=chalk15.cyan(`Vue ${vueVersion}`),sbFormatted=chalk15.cyan(`Storybook ${storybookVersion}`);return dedent`
|
|
232
|
-
We've detected you are running ${vueFormatted} with Storybook.
|
|
233
|
-
${sbFormatted} runs webpack4 by default, which is incompatible.
|
|
234
|
-
|
|
235
|
-
In order to work with your version of Vue, we need to install Storybook's ${chalk15.cyan("webpack5 builder")}.
|
|
236
|
-
|
|
237
|
-
More info: ${chalk15.yellow("https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#vue3-upgrade")}
|
|
238
|
-
`},async run(options){return webpack5.run({...options,result:{webpackVersion:null,...options.result}})}};function slash(path10){return path10.startsWith("\\\\?\\")?path10:path10.replace(/\\/g,"/")}var logger10=console,mdxgfm={id:"github-flavored-markdown-mdx",versionRange:["<7",">=7"],async check({configDir,mainConfig}){let hasMDXFiles=await mainConfig?.stories?.reduce(async(acc,item)=>{if(await acc===!0)return !0;let pattern;if(typeof configDir>"u")return !1;if(typeof item=="string")pattern=slash(join(configDir,item));else if(typeof item=="object"){let directory=item.directory||"..",files2=item.files||"**/*.@(mdx|stories.@(mdx|js|jsx|mjs|ts|tsx))";pattern=slash(join(configDir,directory,files2));}if(!pattern)return !1;let{globby}=await import('globby');return (await globby(pattern,commonGlobOptions(pattern))).some(f=>f.endsWith(".mdx"))},Promise.resolve(!1));return mainConfig?.features?.legacyMdx1===!0||!1||!hasMDXFiles||!!mainConfig.addons?.find(item=>item==="@storybook/addon-mdx-gfm"?!0:typeof item=="string"?!1:item.name==="@storybook/addon-docs"?item.options?.mdxPluginOptions?.mdxCompileOptions?.remarkPlugins?.length>0:!1)?null:{}},prompt(){return dedent`
|
|
239
|
-
In MDX1 you had the option of using GitHub flavored markdown.
|
|
240
|
-
|
|
241
|
-
Storybook >= 8.0 uses MDX3 for compiling MDX, and thus no longer supports GFM out of the box.
|
|
242
|
-
Because of this you need to explicitly add the GFM plugin in the addon-docs options:
|
|
243
|
-
https://storybook.js.org/docs/writing-docs/mdx#markdown-tables-arent-rendering-correctly
|
|
244
|
-
|
|
245
|
-
We recommend that you follow the guide in the link above; however, we can add a temporary Storybook addon to help make this migration easier.
|
|
246
|
-
We'll install the addon and add it to your storybook config.
|
|
247
|
-
`},async run({packageManager,dryRun,mainConfigPath,skipInstall}){if(!dryRun){let packageJson=await packageManager.retrievePackageJson(),versionToInstall=getStorybookVersionSpecifier(await packageManager.retrievePackageJson());await packageManager.addDependencies({installAsDevDependencies:!0,skipInstall,packageJson},[`@storybook/addon-mdx-gfm@${versionToInstall}`]),await updateMainConfig({mainConfigPath,dryRun:!!dryRun},async main=>{logger10.info('\u2705 Adding "@storybook/addon-mdx-gfm" addon'),dryRun||main.appendValueToArray(["addons"],"@storybook/addon-mdx-gfm");});}}};var logger11=console,removeLegacyMDX1={id:"remove-legacy-mdx1",versionRange:["<8.0.0-alpha.0",">=8.0.0-alpha.0"],async check({mainConfig}){return mainConfig.features&&Object.hasOwn(mainConfig.features,"legacyMdx1")?{hasFeature:!0}:null},prompt({}){return dedent`
|
|
248
|
-
You have features.legacyMdx1 in your Storybook main config file. This feature has been removed. Shall we remove it from your Storybook main config file?
|
|
249
|
-
|
|
250
|
-
Link: https://storybook.js.org/docs/8.0/migration-guide
|
|
251
|
-
`},async run({dryRun,mainConfigPath,skipInstall,packageManager}){if(logger11.info("\u2705 Removing legacyMdx1 feature"),!dryRun){await updateMainConfig({dryRun:!!dryRun,mainConfigPath},async main=>{main.removeField(["features","legacyMdx1"]),await writeConfig(main);});let packageJson=await packageManager.retrievePackageJson();await packageManager.removeDependencies({skipInstall,packageJson},["@storybook/mdx1-csf"]);}}};var logger12=console,eslintPlugin={id:"eslintPlugin",versionRange:["<8",">=7"],async check({packageManager}){let{hasEslint,isStorybookPluginInstalled}=await extractEslintInfo(packageManager);if(isStorybookPluginInstalled||!hasEslint)return null;let eslintFile=null,unsupportedExtension;try{eslintFile=findEslintFile();}catch(err){unsupportedExtension=String(err);}return !eslintFile||!unsupportedExtension?(logger12.warn("Unable to find .eslintrc config file, skipping"),null):{eslintFile,unsupportedExtension}},prompt(){return dedent`
|
|
252
|
-
We've detected you are not using our eslint-plugin.
|
|
253
|
-
|
|
254
|
-
In order to have the best experience with Storybook and follow best practices, we advise you to install eslint-plugin-storybook.
|
|
255
|
-
|
|
256
|
-
More info: ${chalk15.yellow("https://github.com/storybookjs/eslint-plugin-storybook#readme")}
|
|
257
|
-
`},async run({result:{eslintFile,unsupportedExtension},packageManager,dryRun,skipInstall}){let deps=["eslint-plugin-storybook"];if(logger12.info(`\u2705 Adding dependencies: ${deps}`),dryRun||await packageManager.addDependencies({installAsDevDependencies:!0,skipInstall},deps),!dryRun&&unsupportedExtension){logger12.info(dedent`
|
|
258
|
-
⚠️ The plugin was successfully installed but failed to configure.
|
|
259
|
-
|
|
260
|
-
Found an eslint config file with an unsupported automigration format: .eslintrc.${unsupportedExtension}.
|
|
261
|
-
The supported formats for this automigration are: ${SUPPORTED_ESLINT_EXTENSIONS.join(", ")}.
|
|
262
|
-
|
|
263
|
-
Please refer to https://github.com/storybookjs/eslint-plugin-storybook#usage to finish setting up the plugin manually.
|
|
264
|
-
`);return}dryRun||await configureEslintPlugin(eslintFile,packageManager);}};var logger13=console,builderVite={id:"builder-vite",versionRange:["<7",">=7"],async check({packageManager,mainConfig}){let packageJson=await packageManager.retrievePackageJson(),builder=mainConfig.core?.builder;return (typeof builder=="string"?builder:builder?.name)!=="storybook-builder-vite"?null:{builder,packageJson}},prompt({builder}){let builderFormatted=chalk15.cyan(JSON.stringify(builder,null,2));return dedent`
|
|
265
|
-
We've detected you're using the community vite builder: ${builderFormatted}
|
|
266
|
-
|
|
267
|
-
'storybook-builder-vite' is deprecated and now located at ${chalk15.cyan("@storybook/builder-vite")}.
|
|
268
|
-
|
|
269
|
-
We can upgrade your project to use the new builder automatically.
|
|
270
|
-
|
|
271
|
-
More info: ${chalk15.yellow("https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#vite-builder-renamed")}
|
|
272
|
-
`},async run({result:{builder,packageJson},packageManager,dryRun,mainConfigPath}){let{dependencies={},devDependencies={}}=packageJson;if(logger13.info("\u2705 Removing existing 'storybook-builder-vite' dependency"),dryRun||(delete dependencies["storybook-builder-vite"],delete devDependencies["storybook-builder-vite"],await packageManager.writePackageJson(packageJson)),logger13.info("\u2705 Adding '@storybook/builder-vite' as dev dependency"),!dryRun){let versionToInstall=getStorybookVersionSpecifier(await packageManager.retrievePackageJson());await packageManager.addDependencies({installAsDevDependencies:!0},[`@storybook/builder-vite@${versionToInstall}`]);}logger13.info("\u2705 Updating main.js to use vite builder"),dryRun||await updateMainConfig({dryRun:!!dryRun,mainConfigPath},async main=>{let updatedBuilder=typeof builder=="string"?"@storybook/builder-vite":{name:"@storybook/builder-vite",options:builder.options};main.setFieldValue(["core","builder"],updatedBuilder),await writeConfig(main);});}};var viteConfigFile={id:"viteConfigFile",versionRange:["<8.0.0-beta.3",">=8.0.0-beta.3"],promptType:"notification",async check({mainConfig,packageManager,mainConfigPath}){let isViteConfigFileFound=!!await findUp2(["vite.config.js","vite.config.mjs","vite.config.cjs","vite.config.ts","vite.config.mts"],{cwd:mainConfigPath?path9.join(mainConfigPath,".."):process.cwd()}),rendererToVitePluginMap={preact:"@preact/preset-vite",qwik:"vite-plugin-qwik",react:"@vitejs/plugin-react",solid:"vite-plugin-solid",svelte:"@sveltejs/vite-plugin-svelte",sveltekit:"@sveltejs/kit/vite",vue:"@vitejs/plugin-vue"},frameworkPackageName=getFrameworkPackageName(mainConfig);if(!frameworkPackageName)return null;let frameworkName=frameworkPackages[frameworkPackageName],isUsingViteBuilder=mainConfig.core?.builder==="vite"||frameworkPackageName?.includes("vite")||frameworkPackageName==="qwik"||frameworkPackageName==="solid"||frameworkPackageName==="sveltekit",rendererName=frameworkToRenderer[frameworkName];if(!isViteConfigFileFound&&mainConfig.core?.builder&&typeof mainConfig.core?.builder!="string"&&mainConfig.core?.builder.options&&(isViteConfigFileFound=!!mainConfig.core?.builder.options.viteConfigPath),!isViteConfigFileFound&&isUsingViteBuilder){let plugins=[];return rendererToVitePluginMap[rendererName]&&plugins.push(rendererToVitePluginMap[rendererName]),{plugins,existed:isViteConfigFileFound}}let plugin=rendererToVitePluginMap[rendererName];if(!plugin)return null;let pluginVersion=await packageManager.getPackageVersion(plugin);if(isViteConfigFileFound&&isUsingViteBuilder&&!pluginVersion){let plugins=[];return plugin&&plugins.push(plugin),{plugins,existed:!isViteConfigFileFound}}return null},prompt({existed,plugins}){return existed?dedent`
|
|
273
|
-
Since version 8.0.0, Storybook no longer ships with an in-built Vite config.
|
|
274
|
-
We've detected you do have a Vite config, but you may be missing the following plugins in it.
|
|
275
|
-
|
|
276
|
-
${plugins.map(plugin=>` - ${plugin}`).join(`
|
|
277
|
-
`)}
|
|
278
|
-
|
|
279
|
-
If you already have these plugins, you can ignore this message.
|
|
280
|
-
|
|
281
|
-
You can find more information on how to do this here:
|
|
282
|
-
https://storybook.js.org/docs/8.0/migration-guide/#missing-viteconfigjs-file
|
|
283
|
-
|
|
284
|
-
This change was necessary to support newer versions of Vite.
|
|
285
|
-
`:dedent`
|
|
286
|
-
Since version 8.0.0, Storybook no longer ships with an in-built Vite config.
|
|
287
|
-
Please add a vite.config.js file to your project root.
|
|
288
|
-
|
|
289
|
-
You can find more information on how to do this here:
|
|
290
|
-
https://storybook.js.org/docs/8.0/migration-guide/#missing-viteconfigjs-file
|
|
291
|
-
|
|
292
|
-
This change was necessary to support newer versions of Vite.
|
|
293
|
-
`}};var logger14=console,getStorybookScripts=allScripts=>Object.keys(allScripts).reduce((acc,key)=>{let currentScript=allScripts[key];if(currentScript==null)return acc;let isStorybookScript=!1,allWordsFromScript=currentScript.split(" "),newScript=allWordsFromScript.map((currentWord,index)=>{let previousWord=allWordsFromScript[index-1],isSbBinary=currentWord==="build-storybook"||currentWord==="start-storybook"||currentWord==="sb",isPrependedByPkgManager=previousWord&&["npx","run","yarn","pnpx","pnpm dlx"].some(cmd=>previousWord.includes(cmd));return isSbBinary&&!isPrependedByPkgManager?(isStorybookScript=!0,currentWord.replace("sb","storybook").replace("start-storybook","storybook dev").replace("build-storybook","storybook build")):currentWord}).join(" ");return isStorybookScript&&(acc[key]={before:currentScript,after:newScript}),acc},{}),sbScripts={id:"sb-scripts",versionRange:["<7",">=7"],async check({packageManager,storybookVersion}){let packageJson=await packageManager.retrievePackageJson(),{scripts={}}=packageJson;if(semver.lt(storybookVersion,"7.0.0"))return null;let storybookScripts=getStorybookScripts(scripts);return Object.keys(storybookScripts).length===0?null:{packageJson,storybookScripts,storybookVersion}},prompt({storybookVersion,storybookScripts}){let sbFormatted=chalk15.cyan(`Storybook ${storybookVersion}`),newScriptsMessage=Object.keys(storybookScripts).reduce((acc,scriptKey)=>(acc.push([chalk15.bold(scriptKey),"from:",chalk15.cyan(storybookScripts[scriptKey].before),"to:",chalk15.cyan(storybookScripts[scriptKey].after)].join(`
|
|
294
|
-
`)),acc),[]);return dedent`
|
|
295
|
-
We've detected you are using ${sbFormatted} with scripts from previous versions of Storybook.
|
|
296
|
-
Starting in Storybook 7, the ${chalk15.yellow("start-storybook")} and ${chalk15.yellow("build-storybook")} binaries have changed to ${chalk15.magenta("storybook dev")} and ${chalk15.magenta("storybook build")} respectively.
|
|
297
|
-
In order to work with ${sbFormatted}, your storybook scripts have to be adjusted to use the binary. We can adjust them for you:
|
|
298
|
-
|
|
299
|
-
${newScriptsMessage.join(`
|
|
300
|
-
|
|
301
|
-
`)}
|
|
302
|
-
|
|
303
|
-
In case this migration did not cover all of your scripts, or you'd like more info: ${chalk15.yellow("https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#start-storybook--build-storybook-binaries-removed")}
|
|
304
|
-
`},async run({result:{storybookScripts},packageManager,dryRun}){if(logger14.info("\u2705 Updating scripts in package.json"),logger14.log(),!dryRun){let newScripts=Object.keys(storybookScripts).reduce((acc,scriptKey)=>(acc[scriptKey]=storybookScripts[scriptKey].after,acc),{});logger14.log(),await packageManager.addScripts(newScripts);}}};var logger15=console,sbBinary={id:"storybook-binary",versionRange:["<7",">=7"],async check({packageManager,storybookVersion}){let packageJson=await packageManager.retrievePackageJson(),nrwlStorybookVersion=await packageManager.getPackageVersion("@nrwl/storybook"),sbBinaryVersion=await packageManager.getPackageVersion("sb"),storybookBinaryVersion=await packageManager.getPackageVersion("storybook");if(nrwlStorybookVersion)return null;let hasSbBinary=!!sbBinaryVersion,hasStorybookBinary=!!storybookBinaryVersion;return !hasSbBinary&&hasStorybookBinary?null:{hasSbBinary,hasStorybookBinary,storybookVersion,packageJson}},prompt({storybookVersion,hasSbBinary,hasStorybookBinary}){let sbFormatted=chalk15.cyan(`Storybook ${storybookVersion}`),storybookBinaryMessage=hasStorybookBinary?"":`We've detected you are using ${sbFormatted} without Storybook's ${chalk15.magenta("storybook")} binary. Starting in Storybook 7.0, it has to be installed.`;return dedent`
|
|
305
|
-
${storybookBinaryMessage}
|
|
306
|
-
${hasSbBinary?`You're using the 'sb' binary and it should be replaced, as 'storybook' is the recommended way to run Storybook.
|
|
307
|
-
`:""}
|
|
308
|
-
|
|
309
|
-
More info: ${chalk15.yellow("https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#start-storybook--build-storybook-binaries-removed")}
|
|
310
|
-
`},async run({result:{packageJson,hasSbBinary,hasStorybookBinary},packageManager,dryRun,skipInstall}){if(hasSbBinary&&(logger15.info("\u2705 Removing 'sb' dependency"),dryRun||await packageManager.removeDependencies({skipInstall:skipInstall||!hasStorybookBinary,packageJson},["sb"])),!hasStorybookBinary&&(logger15.log(),logger15.info("\u2705 Adding 'storybook' as dev dependency"),logger15.log(),!dryRun)){let versionToInstall=getStorybookVersionSpecifier(packageJson);await packageManager.addDependencies({installAsDevDependencies:!0,packageJson,skipInstall},[`storybook@${versionToInstall}`]);}}};var logger16=console,packagesMap={"@storybook/react":{webpack5:"@storybook/react-webpack5",vite:"@storybook/react-vite"},"@storybook/preact":{webpack5:"@storybook/preact-webpack5",vite:"@storybook/preact-vite"},"@storybook/server":{webpack5:"@storybook/server-webpack5"},"@storybook/ember":{webpack5:"@storybook/ember"},"@storybook/angular":{webpack5:"@storybook/angular"},"@storybook/vue3":{webpack5:"@storybook/vue3-webpack5",vite:"@storybook/vue3-vite"},"@storybook/svelte":{webpack5:"@storybook/svelte-webpack5",vite:"@storybook/svelte-vite"},"@storybook/web-components":{webpack5:"@storybook/web-components-webpack5",vite:"@storybook/web-components-vite"},"@storybook/html":{webpack5:"@storybook/html-webpack5",vite:"@storybook/html-vite"}},communityFrameworks={vite:["storybook-framework-qwik","storybook-solidjs-vite"],webpack5:[]},viteConfigFiles2=["vite.config.js","vite.config.cjs","vite.config.mjs","vite.config.ts"],webpackConfigFiles2=["webpack.config.js","webpack.config.cjs","webpack.config.mjs","webpack.config.ts"],detectBuilderInfo=async({mainConfig,configDir,packageManager})=>{let builderName,builderOrFrameworkName,{core={},framework}=mainConfig,{builder}=core,builderPackageName=getBuilderPackageName(mainConfig),frameworkPackageName=getFrameworkPackageName(mainConfig),builderOptions=typeof builder!="string"?builder?.options??{}:{};if(builderPackageName?builderOrFrameworkName=builderPackageName:framework&&Object.keys(frameworkPackages).includes(frameworkPackageName)&&(builderOrFrameworkName=frameworkPackageName,builderOptions=typeof framework=="object"?framework.options?.builder??{}:{}),!builderOrFrameworkName){let viteConfigFile2=await findUp2(viteConfigFiles2,{cwd:configDir});if(viteConfigFile2)logger16.info(`No builder or framework field, detected Storybook builder via: ${viteConfigFile2}`),builderOrFrameworkName="vite";else {let webpackConfigFile=await findUp2(webpackConfigFiles2,{cwd:configDir});webpackConfigFile&&(logger16.info(`No builder or framework field, detected Storybook builder via: ${webpackConfigFile}`),builderOrFrameworkName="webpack5");}}if(!builderOrFrameworkName){let storybookBuilderViteVersion=await packageManager.getPackageVersion("@storybook/builder-vite"),storybookBuilderVite2Version=await packageManager.getPackageVersion("storybook-builder-vite"),storybookBuilderWebpack5Version=await packageManager.getPackageVersion("@storybook/builder-webpack5"),storybookBuilderManagerWebpack5Version=await packageManager.getPackageVersion("@storybook/manager-webpack5");storybookBuilderViteVersion||storybookBuilderVite2Version?builderOrFrameworkName="vite":(storybookBuilderWebpack5Version||storybookBuilderManagerWebpack5Version)&&(builderOrFrameworkName="webpack5");}return builderOrFrameworkName?.includes("vite")||builderOrFrameworkName&&communityFrameworks.vite.includes(builderOrFrameworkName)?builderName="vite":(builderOrFrameworkName?.includes("webpack")||builderOrFrameworkName&&communityFrameworks.webpack5.includes(builderOrFrameworkName),builderName="webpack5"),{name:builderName,options:builderOptions}},getNextjsAddonOptions=addons=>{let nextjsAddon=addons?.find(addon=>typeof addon=="string"?addon==="storybook-addon-next":addon.name==="storybook-addon-next");return !nextjsAddon||typeof nextjsAddon=="string"?{}:nextjsAddon.options||{}};var detectRenderer=async packageJson=>{let allDependencies={...packageJson.dependencies,...packageJson.devDependencies,...packageJson.peerDependencies},matches=Object.keys(rendererPackages).filter(pkg2=>!!allDependencies[pkg2]),[rendererPackage]=matches;return matches.length>1&&(rendererPackage=(await prompts5([{type:"select",name:"rendererPackage",hint:"> - Use arrow-keys. Return to submit. To automate this next time, you can pass the renderer to the CLI via the --renderer flag",message:"Tried to detect a Storybook renderer in your project but found multiple. This could happen in monorepos, when projects contain multiple Storybook packages in package.json. Please select the correct one:",choices:matches.map(type=>({title:type,value:type}))}])).rendererPackage),rendererPackage};var logger17=console,newFrameworks={id:"new-frameworks",versionRange:["<7",">=7"],async check({configDir,packageManager,mainConfig,mainConfigPath,rendererPackage}){if(typeof configDir>"u")return null;let packageJson=await packageManager.retrievePackageJson(),frameworkPackageName=getFrameworkPackageName(mainConfig),rendererPackageName=rendererPackage??await getRendererPackageNameFromFramework(frameworkPackageName)??await detectRenderer(packageJson),hasFrameworkInMainConfig=!!frameworkPackageName;frameworkPackageName&&Object.values(rendererPackages).includes(frameworkPackageName)&&(hasFrameworkInMainConfig=!1);let builderConfig=mainConfig.core?.builder;if(!Object.keys(packagesMap).includes(rendererPackageName))return null;let allDependencies=await packageManager.getAllDependencies(),builderInfo=await detectBuilderInfo({mainConfig,configDir,packageManager}),newFrameworkPackage=Object.keys(frameworkPackages).find(pkg2=>pkg2===frameworkPackageName);if(newFrameworkPackage||(newFrameworkPackage=packagesMap[rendererPackageName]?.[builderInfo.name]),!newFrameworkPackage)return null;let renderer=rendererPackages[rendererPackageName],rendererOptions=mainConfig[`${renderer}Options`]||{},frameworkOptions=typeof mainConfig.framework=="string"?{}:mainConfig.framework?.options,dependenciesToRemove=["@storybook/builder-webpack5","@storybook/manager-webpack5","@storybook/builder-webpack4","@storybook/manager-webpack4","@storybook/builder-vite","storybook-builder-vite"],addonsToRemove=[],addonOptions={},metaFramework,nextVersion=await packageManager.getPackageVersion("next"),svelteKitVersion=await packageManager.getPackageVersion("@sveltejs/kit"),viteVersion=await packageManager.getPackageVersion("vite");if(rendererPackageName==="@storybook/react"&&nextVersion){let nextAddonOptions=getNextjsAddonOptions(mainConfig.addons);(nextVersion&&semver.gte(nextVersion,"12.0.0")||Object.keys(nextAddonOptions).length>0)&&(metaFramework="nextjs",(newFrameworkPackage==="@storybook/react-webpack5"||newFrameworkPackage==="@storybook/nextjs")&&(newFrameworkPackage="@storybook/nextjs",addonsToRemove=["storybook-addon-next","storybook-addon-next-router"].filter(dep=>allDependencies[dep]||mainConfig.addons?.find(addon=>typeof addon=="string"?dep===addon:dep===addon.name)),addonOptions=nextAddonOptions,dependenciesToRemove.push("@storybook/react-webpack5","storybook-addon-next","storybook-addon-next-router")));}else rendererPackageName==="@storybook/svelte"&&svelteKitVersion&&semver.gte(svelteKitVersion,"1.0.0")&&(metaFramework="sveltekit",newFrameworkPackage==="@storybook/svelte-vite"&&(newFrameworkPackage="@storybook/sveltekit",rendererOptions={},dependenciesToRemove.push("@storybook/svelte-vite")));let dependenciesToAdd=[newFrameworkPackage].filter(dep=>!allDependencies[dep]).filter(Boolean);if(dependenciesToRemove=dependenciesToRemove.filter(dep=>allDependencies[dep]).filter(Boolean),hasFrameworkInMainConfig&&!builderConfig&&!Object.keys(rendererOptions).length&&!Object.keys(addonOptions).length&&!dependenciesToRemove.length&&!dependenciesToAdd.length)return null;if(viteVersion&&semver.lt(viteVersion,"3.0.0"))throw new Error(dedent`
|
|
311
|
-
❌ Your project should be upgraded to use the framework package ${chalk15.bold(newFrameworkPackage)}, but we detected that you are using Vite ${chalk15.bold(viteVersion)}, which is unsupported since ${chalk15.bold("Storybook 7.0")}. Please upgrade Vite to ${chalk15.bold("3.0.0 or higher")} and rerun this migration.
|
|
312
|
-
`);return invariant5(mainConfigPath,"Missing main config path."),{mainConfigPath,dependenciesToAdd,dependenciesToRemove,frameworkPackage:newFrameworkPackage,hasFrameworkInMainConfig,frameworkOptions:{...frameworkOptions,...rendererOptions,...addonOptions},rendererOptions,addonOptions,addonsToRemove,builderInfo,renderer,builderConfig,metaFramework}},prompt({dependenciesToRemove,dependenciesToAdd,hasFrameworkInMainConfig,mainConfigPath,frameworkPackage,addonOptions,renderer,rendererOptions,builderConfig,addonsToRemove,metaFramework}){let disclaimer="",migrationSteps="";return dependenciesToRemove.length>0&&(migrationSteps+=`- Remove the following dependencies:
|
|
313
|
-
${dependenciesToRemove.map(dep=>`- * ${chalk15.cyan(dep)}`).join(`
|
|
314
|
-
`)}
|
|
315
|
-
`),dependenciesToAdd.length>0&&(migrationSteps+=`- Add the following dependencies:
|
|
316
|
-
${dependenciesToAdd.map(dep=>`- * ${chalk15.cyan(dep)}`).join(`
|
|
317
|
-
`)}
|
|
318
|
-
`),hasFrameworkInMainConfig||(migrationSteps+=`- Update or specify the ${chalk15.yellow("framework")} field in ${chalk15.blue(mainConfigPath)} with the value of "${chalk15.cyan(frameworkPackage)}".
|
|
319
|
-
`),Object.keys(rendererOptions).length>0&&(migrationSteps+=`- Move the ${chalk15.yellow(`${renderer}Options`)} field in ${chalk15.blue(mainConfigPath)} to ${chalk15.yellow("framework.options")}, and remove that field entirely.
|
|
320
|
-
More info: ${chalk15.yellow("https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#frameworkoptions-renamed")}
|
|
321
|
-
`),addonsToRemove.length>0&&(migrationSteps+=`- Remove the following addons from your ${chalk15.blue(mainConfigPath)}, as the new framework also supports features provided by them:
|
|
322
|
-
${addonsToRemove.map(dep=>`- * ${chalk15.cyan(dep)}`).join(`
|
|
323
|
-
`)}
|
|
324
|
-
`),Object.keys(addonOptions).length>0&&(migrationSteps+=`- Move the addon options "${chalk15.yellow(Object.keys(addonOptions).join(", "))}" in ${chalk15.blue(mainConfigPath)} to the ${chalk15.yellow("framework.options")} field.
|
|
325
|
-
`),builderConfig&&(typeof builderConfig=="object"&&Object.keys(builderConfig.options||{}).length>0&&(migrationSteps+=`- Move the ${chalk15.yellow("core.builder.options")} field in ${chalk15.blue(mainConfigPath)} to ${chalk15.yellow("framework.options.builder")}
|
|
326
|
-
`),migrationSteps+=`- Remove the ${chalk15.yellow("core.builder")} field in ${chalk15.blue(mainConfigPath)}.
|
|
327
|
-
`),(dependenciesToRemove.includes("@storybook/builder-webpack4")||dependenciesToRemove.includes("@storybook/manager-webpack4"))&&(disclaimer=dedent`\n\n
|
|
328
|
-
${chalk15.underline(chalk15.bold(chalk15.cyan("Webpack 4 users")))}
|
|
329
|
-
|
|
330
|
-
Unless you're using Storybook's Vite builder, this automigration will install a Webpack 5 based framework.
|
|
331
|
-
|
|
332
|
-
Given you were using Storybook's Webpack 4 builder (default in 6.x, discontinued in 7.0), this could be a breaking change -- especially if your project has a custom webpack configuration.
|
|
333
|
-
|
|
334
|
-
To learn more about migrating from Webpack4, see: ${chalk15.yellow("https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#webpack4-support-discontinued")}`),metaFramework==="nextjs"&&(dependenciesToRemove.includes("storybook-addon-next-router")&&(migrationSteps+=`- Migrate the usage of the ${chalk15.cyan("storybook-addon-next-router")} addon to use the APIs from the ${chalk15.magenta("@storybook/nextjs")} framework package instead. Follow the instructions below.`),frameworkPackage==="@storybook/react-vite"?disclaimer=dedent`\n\n
|
|
335
|
-
${chalk15.bold("Important")}: We've detected you are using Storybook in a Next.js project.
|
|
336
|
-
|
|
337
|
-
This migration is set to update your project to use the ${chalk15.magenta("@storybook/react-vite")} framework, but Storybook provides a framework package specifically for Next.js projects: ${chalk15.magenta("@storybook/nextjs")}.
|
|
338
|
-
|
|
339
|
-
This package provides a better, out of the box experience for Next.js users, however it is only compatible with the Webpack 5 builder, so we can't automigrate for you, as you are using the Vite builder. If you switch this project to use Webpack 5 and rerun this migration, we can update your project.
|
|
340
|
-
|
|
341
|
-
If you are interested in using this package, see: ${chalk15.yellow("https://github.com/storybookjs/storybook/blob/next/code/frameworks/nextjs/README.md")}
|
|
342
|
-
`:frameworkPackage==="@storybook/nextjs"&&(disclaimer=dedent`\n\n
|
|
343
|
-
The ${chalk15.magenta("@storybook/nextjs")} package provides great user experience for Next.js users, and we highly recommend you to read more about it at ${chalk15.yellow("https://github.com/storybookjs/storybook/blob/next/code/frameworks/nextjs/README.md")}
|
|
344
|
-
`)),metaFramework==="sveltekit"&&(frameworkPackage==="@storybook/svelte-webpack5"?disclaimer=dedent`\n\n
|
|
345
|
-
${chalk15.bold("Important")}: We've detected you are using Storybook in a SvelteKit project.
|
|
346
|
-
|
|
347
|
-
This migration is set to update your project to use the ${chalk15.magenta("@storybook/svelte-webpack5")} framework, but Storybook provides a framework package specifically for SvelteKit projects: ${chalk15.magenta("@storybook/sveltekit")}.
|
|
348
|
-
|
|
349
|
-
This package provides a better experience for SvelteKit users, however it is only compatible with the Vite builder, so we can't automigrate for you, as you are using the Webpack builder.
|
|
350
|
-
|
|
351
|
-
If you are interested in using this package, see: ${chalk15.yellow("https://github.com/storybookjs/storybook/blob/next/code/frameworks/sveltekit/README.md")}
|
|
352
|
-
`:(migrationSteps+=`- Remove the ${chalk15.yellow(`${renderer}Options`)} field from ${chalk15.blue(mainConfigPath)}.
|
|
353
|
-
More info: ${chalk15.yellow("https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#vite-builder-uses-vite-config-automatically")}
|
|
354
|
-
`,disclaimer=dedent`\n\n
|
|
355
|
-
The ${chalk15.magenta("@storybook/sveltekit")} package provides great user experience for SvelteKit users, and we highly recommend you to read more about it at ${chalk15.yellow("https://github.com/storybookjs/storybook/blob/next/code/frameworks/sveltekit/README.md")}
|
|
356
|
-
`)),dedent`
|
|
357
|
-
We've detected your project is not fully setup with the new framework format, which was introduced in Storybook 7.
|
|
358
|
-
|
|
359
|
-
Storybook 7 introduced the concept of frameworks, which abstracts configuration for renderers (e.g. React, Vue), builders (e.g. Webpack, Vite) and defaults to make integrations easier.
|
|
360
|
-
|
|
361
|
-
Your project should be updated to use Storybook's framework: ${chalk15.magenta(frameworkPackage)}. We can attempt to do this for you automatically.
|
|
362
|
-
|
|
363
|
-
Here are the steps this migration will do to migrate your project:
|
|
364
|
-
${migrationSteps}
|
|
365
|
-
|
|
366
|
-
To learn more about the new framework format, see: ${chalk15.yellow("https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#new-framework-api")}${disclaimer}
|
|
367
|
-
`},async run({result:{dependenciesToAdd,dependenciesToRemove,frameworkPackage,frameworkOptions,builderInfo,renderer,addonsToRemove},packageManager,dryRun,mainConfigPath,skipInstall}){let packageJson=await packageManager.retrievePackageJson();if(dependenciesToRemove.length>0&&(logger17.info(`\u2705 Removing dependencies: ${dependenciesToRemove.join(", ")}`),dryRun||await packageManager.removeDependencies({skipInstall:skipInstall||dependenciesToAdd.length>0,packageJson},dependenciesToRemove)),dependenciesToAdd.length>0&&(logger17.info(`\u2705 Installing new dependencies: ${dependenciesToAdd.join(", ")}`),!dryRun)){let versionToInstall=getStorybookVersionSpecifier(packageJson),depsToAdd=dependenciesToAdd.map(dep=>`${dep}@${versionToInstall}`);await packageManager.addDependencies({installAsDevDependencies:!0,skipInstall,packageJson},depsToAdd);}await updateMainConfig({mainConfigPath,dryRun:!!dryRun},async main=>{logger17.info("\u2705 Updating main.js"),logger17.info('\u2705 Updating "framework" field'),dryRun||main.setFieldValue(["framework","name"],frameworkPackage),dryRun||main.setFieldValue(["framework","options"],frameworkOptions),main.getFieldNode([`${renderer}Options`])&&(logger17.info(`\u2705 Moving "${renderer}Options" to "framework.options"`),dryRun||main.removeField([`${renderer}Options`])),main.getFieldNode(["core","builder"])&&(logger17.info('\u2705 Removing "core.builder" field'),dryRun||main.removeField(["core","builder"])),Object.keys(builderInfo.options).length>0&&(logger17.info('\u2705 Moving "core.builder.options" into "framework.options.builder"'),dryRun||main.setFieldValue(["framework","options","builder"],builderInfo.options));let currentCore=main.getFieldValue(["core"]);if(currentCore&&Object.keys(currentCore).length===0&&(logger17.info('\u2705 Removing "core" field'),dryRun||main.removeField(["core"])),addonsToRemove.length>0){let updatedAddons=main.getFieldValue(["addons"]).filter(addon=>typeof addon=="string"?!addonsToRemove.includes(addon):addon.name?!addonsToRemove.includes(addon.name):!1);logger17.info("\u2705 Removing unnecessary addons"),dryRun||main.setFieldValue(["addons"],updatedAddons);}});}};var RemovedAPIs=(RemovedAPIs2=>(RemovedAPIs2.addDecorator="addDecorator",RemovedAPIs2.addParameters="addParameters",RemovedAPIs2.addLoader="addLoader",RemovedAPIs2.getStorybook="getStorybook",RemovedAPIs2.setAddon="setAddon",RemovedAPIs2.clearDecorators="clearDecorators",RemovedAPIs2))(RemovedAPIs||{}),removedGlobalClientAPIs={id:"removedglobalclientapis",promptType:"manual",versionRange:["<7",">=7"],async check({previewConfigPath}){if(previewConfigPath){let contents=await readFile$1(previewConfigPath,"utf8"),usedAPIs=Object.values(RemovedAPIs).reduce((acc,item)=>(contents.includes(item)&&acc.push(item),acc),[]);if(usedAPIs.length)return {usedAPIs,previewPath:previewConfigPath}}return null},prompt({usedAPIs,previewPath}){return dedent`
|
|
368
|
-
${chalk15.bold(chalk15.red("Attention"))}: We could not automatically make this change. You'll need to do it manually.
|
|
369
|
-
|
|
370
|
-
The following APIs (used in "${chalk15.yellow(previewPath)}") have been removed from Storybook:
|
|
371
|
-
|
|
372
|
-
${usedAPIs.map(api=>`- ${chalk15.cyan(api)}`).join(`
|
|
373
|
-
`)}
|
|
374
|
-
|
|
375
|
-
Please see the migration guide for more information:
|
|
376
|
-
${chalk15.yellow("https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#removed-global-client-apis")}
|
|
377
|
-
`}};var logger18=console,autodocsTrue={id:"autodocsTrue",versionRange:["<7",">=7"],async check({mainConfig}){let{docs}=mainConfig,docsPageToAutodocsMapping={true:"tag",automatic:!0,false:!1};if(docs?.docsPage){let oldValue=docs?.docsPage.toString();if(!(oldValue in docsPageToAutodocsMapping))throw new Error(`Unexpected value for docs.docsPage: ${oldValue}`);return {value:docsPageToAutodocsMapping[oldValue]}}return docs?.autodocs===void 0?{value:!0}:null},prompt({value}){let autodocsFormatted=chalk15.cyan(`docs: { autodocs: ${JSON.stringify(value??!0)} }`),tagWarning=dedent`
|
|
378
|
-
NOTE: if you're upgrading from an older 7.0-beta using the 'docsPage' tag,
|
|
379
|
-
please update your story files to use the 'autodocs' tag instead.
|
|
380
|
-
`;return value?dedent`
|
|
381
|
-
We've changed the configuration of autodocs (previous docsPage), so now the value:
|
|
382
|
-
- docs.autodocs: true -- means automatically create docs for every CSF file
|
|
383
|
-
- docs.autodocs: 'tag' -- means only create autodocs for CSF files with the 'autodocs' tag
|
|
384
|
-
- docs.autodocs: false -- means never create autodocs
|
|
385
|
-
|
|
386
|
-
Based on your prior configuration, we can set the \`docs.autodocs\` to keep your old behaviour:
|
|
387
|
-
|
|
388
|
-
${autodocsFormatted}
|
|
389
|
-
${value==="tag"?tagWarning:""}
|
|
390
|
-
More info: ${chalk15.yellow("https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#autodocs-changes")}
|
|
391
|
-
`:dedent`
|
|
392
|
-
We've detected that your main.js configuration file has not configured autodocs. In 6.x we
|
|
393
|
-
we defaulted to having a autodocs for every story, in 7.x you need to opt in per-component.
|
|
394
|
-
However, we can set the \`docs.autodocs\` to true to approximate the old behaviour:
|
|
395
|
-
|
|
396
|
-
${autodocsFormatted}
|
|
397
|
-
|
|
398
|
-
More info: ${chalk15.yellow("https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#autodocs-changes")}
|
|
399
|
-
`},async run({result:{value},dryRun,mainConfigPath}){logger18.info("\u2705 Setting 'docs.autodocs' to true in main.js"),dryRun||await updateMainConfig({mainConfigPath,dryRun:!!dryRun},async main=>{main.removeField(["docs","docsPage"]),main.setFieldValue(["docs","autodocs"],value??!0);});}};var angularBuilders={id:"angular-builders",versionRange:["<7",">=7"],async check({packageManager,mainConfig}){let angularVersion=await packageManager.getPackageVersion("@angular/core"),framewworkPackageName=getFrameworkPackageName(mainConfig);if(!angularVersion||await isNxProject()||framewworkPackageName!=="@storybook/angular")return null;let angularJSON=new AngularJSON,{hasStorybookBuilder}=angularJSON;return hasStorybookBuilder||!angularJSON.rootProject&&Object.keys(angularJSON.projects).length>1?null:{mainConfig,packageManager}},prompt(){return dedent`
|
|
400
|
-
We have detected that your project does not use the Storybook Angular builder yet. In Storybook 6.4 we deprecated calling Storybook directly (npm run storybook) for Angular. In Storybook 7.0, we've removed it entirely.
|
|
401
|
-
|
|
402
|
-
In order to use the Storybook Angular builder, we need to add a few entries to your angular.json file. Additionally, we will add the @compodoc/compodoc package to your devDependencies if you want and we will add a few scripts to your package.json file.
|
|
403
|
-
|
|
404
|
-
Also feel free to remove the Compodoc script from your package.json file if you don't use it apart from Storybook anymore. Storybook uses Compodoc internally and you don't have to call in separately anymore.
|
|
405
|
-
|
|
406
|
-
Read more about the Angular builder here: ${chalk15.yellow("https://github.com/storybookjs/storybook/tree/next/code/frameworks/angular#how-do-i-migrate-to-an-angular-storybook-builder")}
|
|
407
|
-
`},async run({result}){let angularJSON=new AngularJSON,{packageManager}=result,{useCompoDoc}=await prompts5({type:"confirm",name:"useCompoDoc",message:"Have you set up compodoc in Storybook previously?"}),angularProjectName=await angularJSON.getProjectName();angularJSON.addStorybookEntries({angularProjectName,storybookFolder:".storybook",useCompodoc:useCompoDoc,root:"."}),angularJSON.write(),await packageManager.addScripts({storybook:`ng run ${angularProjectName}:storybook`,"build-storybook":`ng run ${angularProjectName}:build-storybook`});}};var angularBuildersMultiproject={id:"angular-builders-multiproject",promptType:"manual",versionRange:["<7",">=7"],async check({packageManager,mainConfig}){let angularVersion=await packageManager.getPackageVersion("@angular/core"),frameworkPackageName=getFrameworkPackageName(mainConfig);if(await isNxProject()||frameworkPackageName!=="@storybook/angular"||!angularVersion||semver.lt(angularVersion,"14.0.0"))return null;let angularJSON=new AngularJSON,{hasStorybookBuilder}=angularJSON;return hasStorybookBuilder||angularJSON.rootProject||Object.keys(angularJSON.projects).length===1?null:{}},prompt(){return dedent`
|
|
408
|
-
In Storybook 6.4 we have deprecated calling Storybook directly (npm run storybook) for Angular. In Storybook 7.0, we've removed it entirely. Instead you have to set up the Storybook builder in your ${chalk15.yellow("angular.json")} and execute ${chalk15.yellow("ng run <your-project>:storybook")} to start Storybook.
|
|
409
|
-
|
|
410
|
-
❌ Your Angular workspace uses multiple projects defined in the ${chalk15.yellow("angular.json")} file and we were not able to detect a root project. Therefore we are not able to automigrate to use Angular Storybook builder. Instead, please visit ${chalk15.yellow("https://github.com/storybookjs/storybook/tree/next/code/frameworks/angular")} to do the migration manually.
|
|
411
|
-
`}};var defaultRequireWrapperName="getAbsolutePath";function doesVariableOrFunctionDeclarationExist(node,name){return t.isVariableDeclaration(node)&&node.declarations.length===1&&t.isVariableDeclarator(node.declarations[0])&&t.isIdentifier(node.declarations[0].id)&&node.declarations[0].id?.name===name||t.isFunctionDeclaration(node)&&t.isIdentifier(node.id)&&node.id.name===name}function getReferenceToRequireWrapper(config,value){return t.callExpression(t.identifier(getRequireWrapperName(config)??defaultRequireWrapperName),[t.stringLiteral(value)])}function getRequireWrapperName(config){let declarationName=config.getBodyDeclarations().flatMap(node=>doesVariableOrFunctionDeclarationExist(node,"wrapForPnp")?["wrapForPnp"]:doesVariableOrFunctionDeclarationExist(node,defaultRequireWrapperName)?[defaultRequireWrapperName]:[]);return declarationName.length?declarationName[0]:null}function isRequireWrapperNecessary(node,cb=()=>{}){if(t.isStringLiteral(node))return cb(node),!0;if(t.isObjectExpression(node)){let nameProperty=node.properties.find(property=>t.isObjectProperty(property)&&t.isIdentifier(property.key)&&property.key.name==="name");if(nameProperty&&t.isStringLiteral(nameProperty.value))return cb(nameProperty),!0}return t.isArrayExpression(node)&&node.elements.some(element=>element&&isRequireWrapperNecessary(element))?(cb(node),!0):!1}function getFieldsForRequireWrapper(config){let frameworkNode=config.getFieldNode(["framework"]),builderNode=config.getFieldNode(["core","builder"]),rendererNode=config.getFieldNode(["core","renderer"]),addons=config.getFieldNode(["addons"]);return [...frameworkNode?[frameworkNode]:[],...builderNode?[builderNode]:[],...rendererNode?[rendererNode]:[],...addons&&t.isArrayExpression(addons)?[addons]:[]]}function getRequireWrapperAsCallExpression(isConfigTypescript){let functionDeclaration2={...t.functionDeclaration(t.identifier(defaultRequireWrapperName),[{...t.identifier("value"),...isConfigTypescript?{typeAnnotation:t.tsTypeAnnotation(t.tSStringKeyword())}:{}}],t.blockStatement([t.returnStatement(t.callExpression(t.identifier("dirname"),[t.callExpression(t.memberExpression(t.identifier("require"),t.identifier("resolve")),[t.callExpression(t.identifier("join"),[t.identifier("value"),t.stringLiteral("package.json")])])]))])),...isConfigTypescript?{returnType:t.tSTypeAnnotation(t.tsAnyKeyword())}:{}};return t.addComment(functionDeclaration2,"leading",`*
|
|
412
|
-
* This function is used to resolve the absolute path of a package.
|
|
413
|
-
* It is needed in projects that use Yarn PnP or are set up within a monorepo.
|
|
414
|
-
`),functionDeclaration2}function wrapValueWithRequireWrapper(config,node){isRequireWrapperNecessary(node,n=>{if(t.isStringLiteral(n)){let wrapperNode=getReferenceToRequireWrapper(config,n.value);Object.keys(n).forEach(k=>{delete n[k];}),Object.keys(wrapperNode).forEach(k=>{n[k]=wrapperNode[k];});}t.isObjectProperty(n)&&t.isStringLiteral(n.value)&&(n.value=getReferenceToRequireWrapper(config,n.value.value)),t.isArrayExpression(n)&&n.elements.forEach((element,index,elements)=>{t.isStringLiteral(element)&&(elements[index]=getReferenceToRequireWrapper(config,element.value));});});}var wrapRequire={id:"wrap-require",versionRange:["<7.2.0-rc.0",">=7.2.0-rc.0"],async check({packageManager,storybookVersion,mainConfigPath}){let isStorybookInMonorepo=await packageManager.isStorybookInMonorepo(),isPnp=await detectPnp();if(!mainConfigPath)return null;let config=await readConfig(mainConfigPath);if(!isStorybookInMonorepo&&!isPnp||!getFieldsForRequireWrapper(config).some(node=>isRequireWrapperNecessary(node)))return null;let isConfigTypescript=mainConfigPath.endsWith(".ts")||mainConfigPath.endsWith(".tsx");return {storybookVersion,isStorybookInMonorepo,isPnp,isConfigTypescript}},prompt({storybookVersion,isStorybookInMonorepo}){let sbFormatted=chalk15.cyan(`Storybook ${storybookVersion}`);return dedent`We have detected that you're using ${sbFormatted} in a ${isStorybookInMonorepo?"monorepo":"PnP"} project.
|
|
415
|
-
For Storybook to work correctly, some fields in your main config must be updated. We can do this for you automatically.
|
|
416
|
-
|
|
417
|
-
More info: https://storybook.js.org/docs/react/faq#how-do-i-fix-module-resolution-in-special-environments`},async run({dryRun,mainConfigPath,result}){return new Promise((resolve2,reject)=>{updateMainConfig({dryRun:!!dryRun,mainConfigPath},mainConfig=>{try{getFieldsForRequireWrapper(mainConfig).forEach(node=>{wrapValueWithRequireWrapper(mainConfig,node);}),getRequireWrapperName(mainConfig)===null&&(mainConfig?.fileName?.endsWith(".cjs")||mainConfig?.fileName?.endsWith(".cts")||mainConfig?.fileName?.endsWith(".cjsx")||mainConfig?.fileName?.endsWith(".ctsx")?mainConfig.setRequireImport(["dirname","join"],"path"):mainConfig.setImport(["dirname","join"],"path"),mainConfig.setBodyDeclaration(getRequireWrapperAsCallExpression(result.isConfigTypescript))),resolve2();}catch(e){reject(e);}});})}};var logger19=console,reactDocgen={id:"react-docgen",versionRange:["<8.0.0-alpha.1",">=8.0.0-alpha.1"],async check({mainConfig}){let{reactDocgenTypescriptOptions,reactDocgen:rDocgen}=mainConfig.typescript||{};return getRendererName(mainConfig)!=="react"||rDocgen!==void 0?null:{reactDocgenTypescriptOptions,reactDocgen:rDocgen}},prompt({reactDocgenTypescriptOptions}){return reactDocgenTypescriptOptions?dedent`
|
|
418
|
-
You have "typescript.reactDocgenTypescriptOptions" configured in your main.js,
|
|
419
|
-
but "typescript.reactDocgen" is unset.
|
|
420
|
-
|
|
421
|
-
Since Storybook 8.0, we changed the default React docgen analysis from
|
|
422
|
-
"react-docgen-typescript" to "react-docgen". We recommend "react-docgen"
|
|
423
|
-
for most projects, since it is dramatically faster. However, it doesn't
|
|
424
|
-
handle all TypeScript constructs, and may generate different results
|
|
425
|
-
than "react-docgen-typescript".
|
|
426
|
-
|
|
427
|
-
Should we update your config to continue to use "react-docgen-typescript"?
|
|
428
|
-
|
|
429
|
-
https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#react-docgen-component-analysis-by-default
|
|
430
|
-
`:dedent`
|
|
431
|
-
Since Storybook 8.0, ${chalk15.cyan("react-docgen")} is now the default for generating component controls, replacing ${chalk15.cyan("react-docgen-typescript")}.
|
|
432
|
-
This offers better performance and suits most cases.
|
|
433
|
-
However, for complex TypeScript types or specific type features, the generated controls might not be as precise.
|
|
434
|
-
|
|
435
|
-
For more on this change, check the migration guide:
|
|
436
|
-
${chalk15.yellow("https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#react-docgen-component-analysis-by-default")}
|
|
437
|
-
|
|
438
|
-
For known "react-docgen" limitations, see:
|
|
439
|
-
${chalk15.yellow("https://github.com/storybookjs/storybook/issues/26606")}
|
|
440
|
-
|
|
441
|
-
Press Y to revert to ${chalk15.cyan("react-docgen-typescript")}, press N to use ${chalk15.cyan("react-docgen")}
|
|
442
|
-
`},async run({dryRun,mainConfigPath,result}){dryRun||await updateMainConfig({mainConfigPath,dryRun:!!dryRun},async main=>{logger19.info("\u2705 Setting typescript.reactDocgen"),main.setFieldValue(["typescript","reactDocgen"],"react-docgen-typescript");});}};var import_brace_expansion=__toESM(require_brace_expansion(),1);var assertValidPattern=pattern=>{if(typeof pattern!="string")throw new TypeError("invalid pattern");if(pattern.length>65536)throw new TypeError("pattern is too long")};var posixClasses={"[:alnum:]":["\\p{L}\\p{Nl}\\p{Nd}",!0],"[:alpha:]":["\\p{L}\\p{Nl}",!0],"[:ascii:]":["\\x00-\\x7f",!1],"[:blank:]":["\\p{Zs}\\t",!0],"[:cntrl:]":["\\p{Cc}",!0],"[:digit:]":["\\p{Nd}",!0],"[:graph:]":["\\p{Z}\\p{C}",!0,!0],"[:lower:]":["\\p{Ll}",!0],"[:print:]":["\\p{C}",!0],"[:punct:]":["\\p{P}",!0],"[:space:]":["\\p{Z}\\t\\r\\n\\v\\f",!0],"[:upper:]":["\\p{Lu}",!0],"[:word:]":["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}",!0],"[:xdigit:]":["A-Fa-f0-9",!1]},braceEscape=s=>s.replace(/[[\]\\-]/g,"\\$&"),regexpEscape=s=>s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),rangesToString=ranges=>ranges.join(""),parseClass=(glob2,position)=>{let pos=position;if(glob2.charAt(pos)!=="[")throw new Error("not in a brace expression");let ranges=[],negs=[],i=pos+1,sawStart=!1,uflag=!1,escaping=!1,negate=!1,endPos=pos,rangeStart="";WHILE:for(;i<glob2.length;){let c=glob2.charAt(i);if((c==="!"||c==="^")&&i===pos+1){negate=!0,i++;continue}if(c==="]"&&sawStart&&!escaping){endPos=i+1;break}if(sawStart=!0,c==="\\"&&!escaping){escaping=!0,i++;continue}if(c==="["&&!escaping){for(let[cls,[unip,u,neg]]of Object.entries(posixClasses))if(glob2.startsWith(cls,i)){if(rangeStart)return ["$.",!1,glob2.length-pos,!0];i+=cls.length,neg?negs.push(unip):ranges.push(unip),uflag=uflag||u;continue WHILE}}if(escaping=!1,rangeStart){c>rangeStart?ranges.push(braceEscape(rangeStart)+"-"+braceEscape(c)):c===rangeStart&&ranges.push(braceEscape(c)),rangeStart="",i++;continue}if(glob2.startsWith("-]",i+1)){ranges.push(braceEscape(c+"-")),i+=2;continue}if(glob2.startsWith("-",i+1)){rangeStart=c,i+=2;continue}ranges.push(braceEscape(c)),i++;}if(endPos<i)return ["",!1,0,!1];if(!ranges.length&&!negs.length)return ["$.",!1,glob2.length-pos,!0];if(negs.length===0&&ranges.length===1&&/^\\?.$/.test(ranges[0])&&!negate){let r=ranges[0].length===2?ranges[0].slice(-1):ranges[0];return [regexpEscape(r),!1,endPos-pos,!1]}let sranges="["+(negate?"^":"")+rangesToString(ranges)+"]",snegs="["+(negate?"":"^")+rangesToString(negs)+"]";return [ranges.length&&negs.length?"("+sranges+"|"+snegs+")":ranges.length?sranges:snegs,uflag,endPos-pos,!0]};var unescape=(s,{windowsPathsNoEscape=!1}={})=>windowsPathsNoEscape?s.replace(/\[([^\/\\])\]/g,"$1"):s.replace(/((?!\\).|^)\[([^\/\\])\]/g,"$1$2").replace(/\\([^\/])/g,"$1");var types2=new Set(["!","?","+","*","@"]),isExtglobType=c=>types2.has(c),startNoTraversal="(?!(?:^|/)\\.\\.?(?:$|/))",startNoDot="(?!\\.)",addPatternStart=new Set(["[","."]),justDots=new Set(["..","."]),reSpecials=new Set("().*{}+?[]^$\\!"),regExpEscape=s=>s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),qmark="[^/]",star=qmark+"*?",starNoEmpty=qmark+"+?",AST=class _AST{type;#root;#hasMagic;#uflag=!1;#parts=[];#parent;#parentIndex;#negs;#filledNegs=!1;#options;#toString;#emptyExt=!1;constructor(type,parent,options={}){this.type=type,type&&(this.#hasMagic=!0),this.#parent=parent,this.#root=this.#parent?this.#parent.#root:this,this.#options=this.#root===this?options:this.#root.#options,this.#negs=this.#root===this?[]:this.#root.#negs,type==="!"&&!this.#root.#filledNegs&&this.#negs.push(this),this.#parentIndex=this.#parent?this.#parent.#parts.length:0;}get hasMagic(){if(this.#hasMagic!==void 0)return this.#hasMagic;for(let p of this.#parts)if(typeof p!="string"&&(p.type||p.hasMagic))return this.#hasMagic=!0;return this.#hasMagic}toString(){return this.#toString!==void 0?this.#toString:this.type?this.#toString=this.type+"("+this.#parts.map(p=>String(p)).join("|")+")":this.#toString=this.#parts.map(p=>String(p)).join("")}#fillNegs(){if(this!==this.#root)throw new Error("should only call on root");if(this.#filledNegs)return this;this.toString(),this.#filledNegs=!0;let n;for(;n=this.#negs.pop();){if(n.type!=="!")continue;let p=n,pp=p.#parent;for(;pp;){for(let i=p.#parentIndex+1;!pp.type&&i<pp.#parts.length;i++)for(let part of n.#parts){if(typeof part=="string")throw new Error("string part in extglob AST??");part.copyIn(pp.#parts[i]);}p=pp,pp=p.#parent;}}return this}push(...parts){for(let p of parts)if(p!==""){if(typeof p!="string"&&!(p instanceof _AST&&p.#parent===this))throw new Error("invalid part: "+p);this.#parts.push(p);}}toJSON(){let ret=this.type===null?this.#parts.slice().map(p=>typeof p=="string"?p:p.toJSON()):[this.type,...this.#parts.map(p=>p.toJSON())];return this.isStart()&&!this.type&&ret.unshift([]),this.isEnd()&&(this===this.#root||this.#root.#filledNegs&&this.#parent?.type==="!")&&ret.push({}),ret}isStart(){if(this.#root===this)return !0;if(!this.#parent?.isStart())return !1;if(this.#parentIndex===0)return !0;let p=this.#parent;for(let i=0;i<this.#parentIndex;i++){let pp=p.#parts[i];if(!(pp instanceof _AST&&pp.type==="!"))return !1}return !0}isEnd(){if(this.#root===this||this.#parent?.type==="!")return !0;if(!this.#parent?.isEnd())return !1;if(!this.type)return this.#parent?.isEnd();let pl=this.#parent?this.#parent.#parts.length:0;return this.#parentIndex===pl-1}copyIn(part){typeof part=="string"?this.push(part):this.push(part.clone(this));}clone(parent){let c=new _AST(this.type,parent);for(let p of this.#parts)c.copyIn(p);return c}static#parseAST(str,ast,pos,opt){let escaping=!1,inBrace=!1,braceStart=-1,braceNeg=!1;if(ast.type===null){let i2=pos,acc2="";for(;i2<str.length;){let c=str.charAt(i2++);if(escaping||c==="\\"){escaping=!escaping,acc2+=c;continue}if(inBrace){i2===braceStart+1?(c==="^"||c==="!")&&(braceNeg=!0):c==="]"&&!(i2===braceStart+2&&braceNeg)&&(inBrace=!1),acc2+=c;continue}else if(c==="["){inBrace=!0,braceStart=i2,braceNeg=!1,acc2+=c;continue}if(!opt.noext&&isExtglobType(c)&&str.charAt(i2)==="("){ast.push(acc2),acc2="";let ext2=new _AST(c,ast);i2=_AST.#parseAST(str,ext2,i2,opt),ast.push(ext2);continue}acc2+=c;}return ast.push(acc2),i2}let i=pos+1,part=new _AST(null,ast),parts=[],acc="";for(;i<str.length;){let c=str.charAt(i++);if(escaping||c==="\\"){escaping=!escaping,acc+=c;continue}if(inBrace){i===braceStart+1?(c==="^"||c==="!")&&(braceNeg=!0):c==="]"&&!(i===braceStart+2&&braceNeg)&&(inBrace=!1),acc+=c;continue}else if(c==="["){inBrace=!0,braceStart=i,braceNeg=!1,acc+=c;continue}if(isExtglobType(c)&&str.charAt(i)==="("){part.push(acc),acc="";let ext2=new _AST(c,part);part.push(ext2),i=_AST.#parseAST(str,ext2,i,opt);continue}if(c==="|"){part.push(acc),acc="",parts.push(part),part=new _AST(null,ast);continue}if(c===")")return acc===""&&ast.#parts.length===0&&(ast.#emptyExt=!0),part.push(acc),acc="",ast.push(...parts,part),i;acc+=c;}return ast.type=null,ast.#hasMagic=void 0,ast.#parts=[str.substring(pos-1)],i}static fromGlob(pattern,options={}){let ast=new _AST(null,void 0,options);return _AST.#parseAST(pattern,ast,0,options),ast}toMMPattern(){if(this!==this.#root)return this.#root.toMMPattern();let glob2=this.toString(),[re,body,hasMagic2,uflag]=this.toRegExpSource();if(!(hasMagic2||this.#hasMagic||this.#options.nocase&&!this.#options.nocaseMagicOnly&&glob2.toUpperCase()!==glob2.toLowerCase()))return body;let flags=(this.#options.nocase?"i":"")+(uflag?"u":"");return Object.assign(new RegExp(`^${re}$`,flags),{_src:re,_glob:glob2})}toRegExpSource(allowDot){let dot=allowDot??!!this.#options.dot;if(this.#root===this&&this.#fillNegs(),!this.type){let noEmpty=this.isStart()&&this.isEnd(),src=this.#parts.map(p=>{let[re,_,hasMagic2,uflag]=typeof p=="string"?_AST.#parseGlob(p,this.#hasMagic,noEmpty):p.toRegExpSource(allowDot);return this.#hasMagic=this.#hasMagic||hasMagic2,this.#uflag=this.#uflag||uflag,re}).join(""),start2="";if(this.isStart()&&typeof this.#parts[0]=="string"&&!(this.#parts.length===1&&justDots.has(this.#parts[0]))){let aps=addPatternStart,needNoTrav=dot&&aps.has(src.charAt(0))||src.startsWith("\\.")&&aps.has(src.charAt(2))||src.startsWith("\\.\\.")&&aps.has(src.charAt(4)),needNoDot=!dot&&!allowDot&&aps.has(src.charAt(0));start2=needNoTrav?startNoTraversal:needNoDot?startNoDot:"";}let end="";return this.isEnd()&&this.#root.#filledNegs&&this.#parent?.type==="!"&&(end="(?:$|\\/)"),[start2+src+end,unescape(src),this.#hasMagic=!!this.#hasMagic,this.#uflag]}let repeated=this.type==="*"||this.type==="+",start=this.type==="!"?"(?:(?!(?:":"(?:",body=this.#partsToRegExp(dot);if(this.isStart()&&this.isEnd()&&!body&&this.type!=="!"){let s=this.toString();return this.#parts=[s],this.type=null,this.#hasMagic=void 0,[s,unescape(this.toString()),!1,!1]}let bodyDotAllowed=!repeated||allowDot||dot||!startNoDot?"":this.#partsToRegExp(!0);bodyDotAllowed===body&&(bodyDotAllowed=""),bodyDotAllowed&&(body=`(?:${body})(?:${bodyDotAllowed})*?`);let final="";if(this.type==="!"&&this.#emptyExt)final=(this.isStart()&&!dot?startNoDot:"")+starNoEmpty;else {let close=this.type==="!"?"))"+(this.isStart()&&!dot&&!allowDot?startNoDot:"")+star+")":this.type==="@"?")":this.type==="?"?")?":this.type==="+"&&bodyDotAllowed?")":this.type==="*"&&bodyDotAllowed?")?":`)${this.type}`;final=start+body+close;}return [final,unescape(body),this.#hasMagic=!!this.#hasMagic,this.#uflag]}#partsToRegExp(dot){return this.#parts.map(p=>{if(typeof p=="string")throw new Error("string type in extglob ast??");let[re,_,_hasMagic,uflag]=p.toRegExpSource(dot);return this.#uflag=this.#uflag||uflag,re}).filter(p=>!(this.isStart()&&this.isEnd())||!!p).join("|")}static#parseGlob(glob2,hasMagic2,noEmpty=!1){let escaping=!1,re="",uflag=!1;for(let i=0;i<glob2.length;i++){let c=glob2.charAt(i);if(escaping){escaping=!1,re+=(reSpecials.has(c)?"\\":"")+c;continue}if(c==="\\"){i===glob2.length-1?re+="\\\\":escaping=!0;continue}if(c==="["){let[src,needUflag,consumed,magic]=parseClass(glob2,i);if(consumed){re+=src,uflag=uflag||needUflag,i+=consumed-1,hasMagic2=hasMagic2||magic;continue}}if(c==="*"){noEmpty&&glob2==="*"?re+=starNoEmpty:re+=star,hasMagic2=!0;continue}if(c==="?"){re+=qmark,hasMagic2=!0;continue}re+=regExpEscape(c);}return [re,unescape(glob2),!!hasMagic2,uflag]}};var escape=(s,{windowsPathsNoEscape=!1}={})=>windowsPathsNoEscape?s.replace(/[?*()[\]]/g,"[$&]"):s.replace(/[?*()[\]\\]/g,"\\$&");var minimatch=(p,pattern,options={})=>(assertValidPattern(pattern),!options.nocomment&&pattern.charAt(0)==="#"?!1:new Minimatch(pattern,options).match(p)),starDotExtRE=/^\*+([^+@!?\*\[\(]*)$/,starDotExtTest=ext2=>f=>!f.startsWith(".")&&f.endsWith(ext2),starDotExtTestDot=ext2=>f=>f.endsWith(ext2),starDotExtTestNocase=ext2=>(ext2=ext2.toLowerCase(),f=>!f.startsWith(".")&&f.toLowerCase().endsWith(ext2)),starDotExtTestNocaseDot=ext2=>(ext2=ext2.toLowerCase(),f=>f.toLowerCase().endsWith(ext2)),starDotStarRE=/^\*+\.\*+$/,starDotStarTest=f=>!f.startsWith(".")&&f.includes("."),starDotStarTestDot=f=>f!=="."&&f!==".."&&f.includes("."),dotStarRE=/^\.\*+$/,dotStarTest=f=>f!=="."&&f!==".."&&f.startsWith("."),starRE=/^\*+$/,starTest=f=>f.length!==0&&!f.startsWith("."),starTestDot=f=>f.length!==0&&f!=="."&&f!=="..",qmarksRE=/^\?+([^+@!?\*\[\(]*)?$/,qmarksTestNocase=([$0,ext2=""])=>{let noext=qmarksTestNoExt([$0]);return ext2?(ext2=ext2.toLowerCase(),f=>noext(f)&&f.toLowerCase().endsWith(ext2)):noext},qmarksTestNocaseDot=([$0,ext2=""])=>{let noext=qmarksTestNoExtDot([$0]);return ext2?(ext2=ext2.toLowerCase(),f=>noext(f)&&f.toLowerCase().endsWith(ext2)):noext},qmarksTestDot=([$0,ext2=""])=>{let noext=qmarksTestNoExtDot([$0]);return ext2?f=>noext(f)&&f.endsWith(ext2):noext},qmarksTest=([$0,ext2=""])=>{let noext=qmarksTestNoExt([$0]);return ext2?f=>noext(f)&&f.endsWith(ext2):noext},qmarksTestNoExt=([$0])=>{let len=$0.length;return f=>f.length===len&&!f.startsWith(".")},qmarksTestNoExtDot=([$0])=>{let len=$0.length;return f=>f.length===len&&f!=="."&&f!==".."},defaultPlatform=typeof process=="object"&&process?typeof process.env=="object"&&process.env&&process.env.__MINIMATCH_TESTING_PLATFORM__||process.platform:"posix",path7={win32:{sep:"\\"},posix:{sep:"/"}},sep=defaultPlatform==="win32"?path7.win32.sep:path7.posix.sep;minimatch.sep=sep;var GLOBSTAR=Symbol("globstar **");minimatch.GLOBSTAR=GLOBSTAR;var qmark2="[^/]",star2=qmark2+"*?",twoStarDot="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?",twoStarNoDot="(?:(?!(?:\\/|^)\\.).)*?",filter=(pattern,options={})=>p=>minimatch(p,pattern,options);minimatch.filter=filter;var ext=(a,b={})=>Object.assign({},a,b),defaults2=def=>{if(!def||typeof def!="object"||!Object.keys(def).length)return minimatch;let orig=minimatch;return Object.assign((p,pattern,options={})=>orig(p,pattern,ext(def,options)),{Minimatch:class extends orig.Minimatch{constructor(pattern,options={}){super(pattern,ext(def,options));}static defaults(options){return orig.defaults(ext(def,options)).Minimatch}},AST:class extends orig.AST{constructor(type,parent,options={}){super(type,parent,ext(def,options));}static fromGlob(pattern,options={}){return orig.AST.fromGlob(pattern,ext(def,options))}},unescape:(s,options={})=>orig.unescape(s,ext(def,options)),escape:(s,options={})=>orig.escape(s,ext(def,options)),filter:(pattern,options={})=>orig.filter(pattern,ext(def,options)),defaults:options=>orig.defaults(ext(def,options)),makeRe:(pattern,options={})=>orig.makeRe(pattern,ext(def,options)),braceExpand:(pattern,options={})=>orig.braceExpand(pattern,ext(def,options)),match:(list,pattern,options={})=>orig.match(list,pattern,ext(def,options)),sep:orig.sep,GLOBSTAR})};minimatch.defaults=defaults2;var braceExpand=(pattern,options={})=>(assertValidPattern(pattern),options.nobrace||!/\{(?:(?!\{).)*\}/.test(pattern)?[pattern]:(0, import_brace_expansion.default)(pattern));minimatch.braceExpand=braceExpand;var makeRe=(pattern,options={})=>new Minimatch(pattern,options).makeRe();minimatch.makeRe=makeRe;var match=(list,pattern,options={})=>{let mm=new Minimatch(pattern,options);return list=list.filter(f=>mm.match(f)),mm.options.nonull&&!list.length&&list.push(pattern),list};minimatch.match=match;var globMagic=/[?*]|[+@!]\(.*?\)|\[|\]/,regExpEscape2=s=>s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),Minimatch=class{options;set;pattern;windowsPathsNoEscape;nonegate;negate;comment;empty;preserveMultipleSlashes;partial;globSet;globParts;nocase;isWindows;platform;windowsNoMagicRoot;regexp;constructor(pattern,options={}){assertValidPattern(pattern),options=options||{},this.options=options,this.pattern=pattern,this.platform=options.platform||defaultPlatform,this.isWindows=this.platform==="win32",this.windowsPathsNoEscape=!!options.windowsPathsNoEscape||options.allowWindowsEscape===!1,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\/g,"/")),this.preserveMultipleSlashes=!!options.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!options.nonegate,this.comment=!1,this.empty=!1,this.partial=!!options.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=options.windowsNoMagicRoot!==void 0?options.windowsNoMagicRoot:!!(this.isWindows&&this.nocase),this.globSet=[],this.globParts=[],this.set=[],this.make();}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return !0;for(let pattern of this.set)for(let part of pattern)if(typeof part!="string")return !0;return !1}debug(..._){}make(){let pattern=this.pattern,options=this.options;if(!options.nocomment&&pattern.charAt(0)==="#"){this.comment=!0;return}if(!pattern){this.empty=!0;return}this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],options.debug&&(this.debug=(...args)=>console.error(...args)),this.debug(this.pattern,this.globSet);let rawGlobParts=this.globSet.map(s=>this.slashSplit(s));this.globParts=this.preprocess(rawGlobParts),this.debug(this.pattern,this.globParts);let set=this.globParts.map((s,_,__)=>{if(this.isWindows&&this.windowsNoMagicRoot){let isUNC=s[0]===""&&s[1]===""&&(s[2]==="?"||!globMagic.test(s[2]))&&!globMagic.test(s[3]),isDrive=/^[a-z]:/i.test(s[0]);if(isUNC)return [...s.slice(0,4),...s.slice(4).map(ss=>this.parse(ss))];if(isDrive)return [s[0],...s.slice(1).map(ss=>this.parse(ss))]}return s.map(ss=>this.parse(ss))});if(this.debug(this.pattern,set),this.set=set.filter(s=>s.indexOf(!1)===-1),this.isWindows)for(let i=0;i<this.set.length;i++){let p=this.set[i];p[0]===""&&p[1]===""&&this.globParts[i][2]==="?"&&typeof p[3]=="string"&&/^[a-z]:$/i.test(p[3])&&(p[2]="?");}this.debug(this.pattern,this.set);}preprocess(globParts){if(this.options.noglobstar)for(let i=0;i<globParts.length;i++)for(let j=0;j<globParts[i].length;j++)globParts[i][j]==="**"&&(globParts[i][j]="*");let{optimizationLevel=1}=this.options;return optimizationLevel>=2?(globParts=this.firstPhasePreProcess(globParts),globParts=this.secondPhasePreProcess(globParts)):optimizationLevel>=1?globParts=this.levelOneOptimize(globParts):globParts=this.adjascentGlobstarOptimize(globParts),globParts}adjascentGlobstarOptimize(globParts){return globParts.map(parts=>{let gs=-1;for(;(gs=parts.indexOf("**",gs+1))!==-1;){let i=gs;for(;parts[i+1]==="**";)i++;i!==gs&&parts.splice(gs,i-gs);}return parts})}levelOneOptimize(globParts){return globParts.map(parts=>(parts=parts.reduce((set,part)=>{let prev=set[set.length-1];return part==="**"&&prev==="**"?set:part===".."&&prev&&prev!==".."&&prev!=="."&&prev!=="**"?(set.pop(),set):(set.push(part),set)},[]),parts.length===0?[""]:parts))}levelTwoFileOptimize(parts){Array.isArray(parts)||(parts=this.slashSplit(parts));let didSomething=!1;do{if(didSomething=!1,!this.preserveMultipleSlashes){for(let i=1;i<parts.length-1;i++){let p=parts[i];i===1&&p===""&&parts[0]===""||(p==="."||p==="")&&(didSomething=!0,parts.splice(i,1),i--);}parts[0]==="."&&parts.length===2&&(parts[1]==="."||parts[1]==="")&&(didSomething=!0,parts.pop());}let dd=0;for(;(dd=parts.indexOf("..",dd+1))!==-1;){let p=parts[dd-1];p&&p!=="."&&p!==".."&&p!=="**"&&(didSomething=!0,parts.splice(dd-1,2),dd-=2);}}while(didSomething);return parts.length===0?[""]:parts}firstPhasePreProcess(globParts){let didSomething=!1;do{didSomething=!1;for(let parts of globParts){let gs=-1;for(;(gs=parts.indexOf("**",gs+1))!==-1;){let gss=gs;for(;parts[gss+1]==="**";)gss++;gss>gs&&parts.splice(gs+1,gss-gs);let next=parts[gs+1],p=parts[gs+2],p2=parts[gs+3];if(next!==".."||!p||p==="."||p===".."||!p2||p2==="."||p2==="..")continue;didSomething=!0,parts.splice(gs,1);let other=parts.slice(0);other[gs]="**",globParts.push(other),gs--;}if(!this.preserveMultipleSlashes){for(let i=1;i<parts.length-1;i++){let p=parts[i];i===1&&p===""&&parts[0]===""||(p==="."||p==="")&&(didSomething=!0,parts.splice(i,1),i--);}parts[0]==="."&&parts.length===2&&(parts[1]==="."||parts[1]==="")&&(didSomething=!0,parts.pop());}let dd=0;for(;(dd=parts.indexOf("..",dd+1))!==-1;){let p=parts[dd-1];if(p&&p!=="."&&p!==".."&&p!=="**"){didSomething=!0;let splin=dd===1&&parts[dd+1]==="**"?["."]:[];parts.splice(dd-1,2,...splin),parts.length===0&&parts.push(""),dd-=2;}}}}while(didSomething);return globParts}secondPhasePreProcess(globParts){for(let i=0;i<globParts.length-1;i++)for(let j=i+1;j<globParts.length;j++){let matched=this.partsMatch(globParts[i],globParts[j],!this.preserveMultipleSlashes);matched&&(globParts[i]=matched,globParts[j]=[]);}return globParts.filter(gs=>gs.length)}partsMatch(a,b,emptyGSMatch=!1){let ai=0,bi=0,result=[],which="";for(;ai<a.length&&bi<b.length;)if(a[ai]===b[bi])result.push(which==="b"?b[bi]:a[ai]),ai++,bi++;else if(emptyGSMatch&&a[ai]==="**"&&b[bi]===a[ai+1])result.push(a[ai]),ai++;else if(emptyGSMatch&&b[bi]==="**"&&a[ai]===b[bi+1])result.push(b[bi]),bi++;else if(a[ai]==="*"&&b[bi]&&(this.options.dot||!b[bi].startsWith("."))&&b[bi]!=="**"){if(which==="b")return !1;which="a",result.push(a[ai]),ai++,bi++;}else if(b[bi]==="*"&&a[ai]&&(this.options.dot||!a[ai].startsWith("."))&&a[ai]!=="**"){if(which==="a")return !1;which="b",result.push(b[bi]),ai++,bi++;}else return !1;return a.length===b.length&&result}parseNegate(){if(this.nonegate)return;let pattern=this.pattern,negate=!1,negateOffset=0;for(let i=0;i<pattern.length&&pattern.charAt(i)==="!";i++)negate=!negate,negateOffset++;negateOffset&&(this.pattern=pattern.slice(negateOffset)),this.negate=negate;}matchOne(file,pattern,partial=!1){let options=this.options;if(this.isWindows){let fileDrive=typeof file[0]=="string"&&/^[a-z]:$/i.test(file[0]),fileUNC=!fileDrive&&file[0]===""&&file[1]===""&&file[2]==="?"&&/^[a-z]:$/i.test(file[3]),patternDrive=typeof pattern[0]=="string"&&/^[a-z]:$/i.test(pattern[0]),patternUNC=!patternDrive&&pattern[0]===""&&pattern[1]===""&&pattern[2]==="?"&&typeof pattern[3]=="string"&&/^[a-z]:$/i.test(pattern[3]),fdi=fileUNC?3:fileDrive?0:void 0,pdi=patternUNC?3:patternDrive?0:void 0;if(typeof fdi=="number"&&typeof pdi=="number"){let[fd,pd]=[file[fdi],pattern[pdi]];fd.toLowerCase()===pd.toLowerCase()&&(pattern[pdi]=fd,pdi>fdi?pattern=pattern.slice(pdi):fdi>pdi&&(file=file.slice(fdi)));}}let{optimizationLevel=1}=this.options;optimizationLevel>=2&&(file=this.levelTwoFileOptimize(file)),this.debug("matchOne",this,{file,pattern}),this.debug("matchOne",file.length,pattern.length);for(var fi=0,pi=0,fl=file.length,pl=pattern.length;fi<fl&&pi<pl;fi++,pi++){this.debug("matchOne loop");var p=pattern[pi],f=file[fi];if(this.debug(pattern,p,f),p===!1)return !1;if(p===GLOBSTAR){this.debug("GLOBSTAR",[pattern,p,f]);var fr=fi,pr=pi+1;if(pr===pl){for(this.debug("** at the end");fi<fl;fi++)if(file[fi]==="."||file[fi]===".."||!options.dot&&file[fi].charAt(0)===".")return !1;return !0}for(;fr<fl;){var swallowee=file[fr];if(this.debug(`
|
|
443
|
-
globstar while`,file,fr,pattern,pr,swallowee),this.matchOne(file.slice(fr),pattern.slice(pr),partial))return this.debug("globstar found match!",fr,fl,swallowee),!0;if(swallowee==="."||swallowee===".."||!options.dot&&swallowee.charAt(0)==="."){this.debug("dot detected!",file,fr,pattern,pr);break}this.debug("globstar swallow a segment, and continue"),fr++;}return !!(partial&&(this.debug(`
|
|
444
|
-
>>> no match, partial?`,file,fr,pattern,pr),fr===fl))}let hit;if(typeof p=="string"?(hit=f===p,this.debug("string match",p,f,hit)):(hit=p.test(f),this.debug("pattern match",p,f,hit)),!hit)return !1}if(fi===fl&&pi===pl)return !0;if(fi===fl)return partial;if(pi===pl)return fi===fl-1&&file[fi]==="";throw new Error("wtf?")}braceExpand(){return braceExpand(this.pattern,this.options)}parse(pattern){assertValidPattern(pattern);let options=this.options;if(pattern==="**")return GLOBSTAR;if(pattern==="")return "";let m,fastTest=null;(m=pattern.match(starRE))?fastTest=options.dot?starTestDot:starTest:(m=pattern.match(starDotExtRE))?fastTest=(options.nocase?options.dot?starDotExtTestNocaseDot:starDotExtTestNocase:options.dot?starDotExtTestDot:starDotExtTest)(m[1]):(m=pattern.match(qmarksRE))?fastTest=(options.nocase?options.dot?qmarksTestNocaseDot:qmarksTestNocase:options.dot?qmarksTestDot:qmarksTest)(m):(m=pattern.match(starDotStarRE))?fastTest=options.dot?starDotStarTestDot:starDotStarTest:(m=pattern.match(dotStarRE))&&(fastTest=dotStarTest);let re=AST.fromGlob(pattern,this.options).toMMPattern();return fastTest?Object.assign(re,{test:fastTest}):re}makeRe(){if(this.regexp||this.regexp===!1)return this.regexp;let set=this.set;if(!set.length)return this.regexp=!1,this.regexp;let options=this.options,twoStar=options.noglobstar?star2:options.dot?twoStarDot:twoStarNoDot,flags=new Set(options.nocase?["i"]:[]),re=set.map(pattern=>{let pp=pattern.map(p=>{if(p instanceof RegExp)for(let f of p.flags.split(""))flags.add(f);return typeof p=="string"?regExpEscape2(p):p===GLOBSTAR?GLOBSTAR:p._src});return pp.forEach((p,i)=>{let next=pp[i+1],prev=pp[i-1];p!==GLOBSTAR||prev===GLOBSTAR||(prev===void 0?next!==void 0&&next!==GLOBSTAR?pp[i+1]="(?:\\/|"+twoStar+"\\/)?"+next:pp[i]=twoStar:next===void 0?pp[i-1]=prev+"(?:\\/|"+twoStar+")?":next!==GLOBSTAR&&(pp[i-1]=prev+"(?:\\/|\\/"+twoStar+"\\/)"+next,pp[i+1]=GLOBSTAR));}),pp.filter(p=>p!==GLOBSTAR).join("/")}).join("|"),[open,close]=set.length>1?["(?:",")"]:["",""];re="^"+open+re+close+"$",this.negate&&(re="^(?!"+re+").+$");try{this.regexp=new RegExp(re,[...flags].join(""));}catch{this.regexp=!1;}return this.regexp}slashSplit(p){return this.preserveMultipleSlashes?p.split("/"):this.isWindows&&/^\/\/[^\/]+/.test(p)?["",...p.split(/\/+/)]:p.split(/\/+/)}match(f,partial=this.partial){if(this.debug("match",f,this.pattern),this.comment)return !1;if(this.empty)return f==="";if(f==="/"&&partial)return !0;let options=this.options;this.isWindows&&(f=f.split("\\").join("/"));let ff=this.slashSplit(f);this.debug(this.pattern,"split",ff);let set=this.set;this.debug(this.pattern,"set",set);let filename=ff[ff.length-1];if(!filename)for(let i=ff.length-2;!filename&&i>=0;i--)filename=ff[i];for(let i=0;i<set.length;i++){let pattern=set[i],file=ff;if(options.matchBase&&pattern.length===1&&(file=[filename]),this.matchOne(file,pattern,partial))return options.flipNegate?!0:!this.negate}return options.flipNegate?!1:this.negate}static defaults(def){return minimatch.defaults(def).Minimatch}};minimatch.AST=AST;minimatch.Minimatch=Minimatch;minimatch.escape=escape;minimatch.unescape=unescape;var perf=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,warned=new Set,PROCESS=typeof process=="object"&&process?process:{},emitWarning=(msg,type,code,fn)=>{typeof PROCESS.emitWarning=="function"?PROCESS.emitWarning(msg,type,code,fn):console.error(`[${code}] ${type}: ${msg}`);},AC=globalThis.AbortController,AS=globalThis.AbortSignal;if(typeof AC>"u"){AS=class{onabort;_onabort=[];reason;aborted=!1;addEventListener(_,fn){this._onabort.push(fn);}},AC=class{constructor(){warnACPolyfill();}signal=new AS;abort(reason){if(!this.signal.aborted){this.signal.reason=reason,this.signal.aborted=!0;for(let fn of this.signal._onabort)fn(reason);this.signal.onabort?.(reason);}}};let printACPolyfillWarning=PROCESS.env?.LRU_CACHE_IGNORE_AC_WARNING!=="1",warnACPolyfill=()=>{printACPolyfillWarning&&(printACPolyfillWarning=!1,emitWarning("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",warnACPolyfill));};}var shouldWarn=code=>!warned.has(code),isPosInt=n=>n&&n===Math.floor(n)&&n>0&&isFinite(n),getUintArray=max=>isPosInt(max)?max<=Math.pow(2,8)?Uint8Array:max<=Math.pow(2,16)?Uint16Array:max<=Math.pow(2,32)?Uint32Array:max<=Number.MAX_SAFE_INTEGER?ZeroArray:null:null,ZeroArray=class extends Array{constructor(size){super(size),this.fill(0);}},Stack=class _Stack{heap;length;static#constructing=!1;static create(max){let HeapCls=getUintArray(max);if(!HeapCls)return [];_Stack.#constructing=!0;let s=new _Stack(max,HeapCls);return _Stack.#constructing=!1,s}constructor(max,HeapCls){if(!_Stack.#constructing)throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new HeapCls(max),this.length=0;}push(n){this.heap[this.length++]=n;}pop(){return this.heap[--this.length]}},LRUCache=class _LRUCache{#max;#maxSize;#dispose;#disposeAfter;#fetchMethod;ttl;ttlResolution;ttlAutopurge;updateAgeOnGet;updateAgeOnHas;allowStale;noDisposeOnSet;noUpdateTTL;maxEntrySize;sizeCalculation;noDeleteOnFetchRejection;noDeleteOnStaleGet;allowStaleOnFetchAbort;allowStaleOnFetchRejection;ignoreFetchAbort;#size;#calculatedSize;#keyMap;#keyList;#valList;#next;#prev;#head;#tail;#free;#disposed;#sizes;#starts;#ttls;#hasDispose;#hasFetchMethod;#hasDisposeAfter;static unsafeExposeInternals(c){return {starts:c.#starts,ttls:c.#ttls,sizes:c.#sizes,keyMap:c.#keyMap,keyList:c.#keyList,valList:c.#valList,next:c.#next,prev:c.#prev,get head(){return c.#head},get tail(){return c.#tail},free:c.#free,isBackgroundFetch:p=>c.#isBackgroundFetch(p),backgroundFetch:(k,index,options,context)=>c.#backgroundFetch(k,index,options,context),moveToTail:index=>c.#moveToTail(index),indexes:options=>c.#indexes(options),rindexes:options=>c.#rindexes(options),isStale:index=>c.#isStale(index)}}get max(){return this.#max}get maxSize(){return this.#maxSize}get calculatedSize(){return this.#calculatedSize}get size(){return this.#size}get fetchMethod(){return this.#fetchMethod}get dispose(){return this.#dispose}get disposeAfter(){return this.#disposeAfter}constructor(options){let{max=0,ttl:ttl2,ttlResolution=1,ttlAutopurge,updateAgeOnGet,updateAgeOnHas,allowStale,dispose,disposeAfter,noDisposeOnSet,noUpdateTTL,maxSize=0,maxEntrySize=0,sizeCalculation,fetchMethod,noDeleteOnFetchRejection,noDeleteOnStaleGet,allowStaleOnFetchRejection,allowStaleOnFetchAbort,ignoreFetchAbort}=options;if(max!==0&&!isPosInt(max))throw new TypeError("max option must be a nonnegative integer");let UintArray=max?getUintArray(max):Array;if(!UintArray)throw new Error("invalid max value: "+max);if(this.#max=max,this.#maxSize=maxSize,this.maxEntrySize=maxEntrySize||this.#maxSize,this.sizeCalculation=sizeCalculation,this.sizeCalculation){if(!this.#maxSize&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(fetchMethod!==void 0&&typeof fetchMethod!="function")throw new TypeError("fetchMethod must be a function if specified");if(this.#fetchMethod=fetchMethod,this.#hasFetchMethod=!!fetchMethod,this.#keyMap=new Map,this.#keyList=new Array(max).fill(void 0),this.#valList=new Array(max).fill(void 0),this.#next=new UintArray(max),this.#prev=new UintArray(max),this.#head=0,this.#tail=0,this.#free=Stack.create(max),this.#size=0,this.#calculatedSize=0,typeof dispose=="function"&&(this.#dispose=dispose),typeof disposeAfter=="function"?(this.#disposeAfter=disposeAfter,this.#disposed=[]):(this.#disposeAfter=void 0,this.#disposed=void 0),this.#hasDispose=!!this.#dispose,this.#hasDisposeAfter=!!this.#disposeAfter,this.noDisposeOnSet=!!noDisposeOnSet,this.noUpdateTTL=!!noUpdateTTL,this.noDeleteOnFetchRejection=!!noDeleteOnFetchRejection,this.allowStaleOnFetchRejection=!!allowStaleOnFetchRejection,this.allowStaleOnFetchAbort=!!allowStaleOnFetchAbort,this.ignoreFetchAbort=!!ignoreFetchAbort,this.maxEntrySize!==0){if(this.#maxSize!==0&&!isPosInt(this.#maxSize))throw new TypeError("maxSize must be a positive integer if specified");if(!isPosInt(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");this.#initializeSizeTracking();}if(this.allowStale=!!allowStale,this.noDeleteOnStaleGet=!!noDeleteOnStaleGet,this.updateAgeOnGet=!!updateAgeOnGet,this.updateAgeOnHas=!!updateAgeOnHas,this.ttlResolution=isPosInt(ttlResolution)||ttlResolution===0?ttlResolution:1,this.ttlAutopurge=!!ttlAutopurge,this.ttl=ttl2||0,this.ttl){if(!isPosInt(this.ttl))throw new TypeError("ttl must be a positive integer if specified");this.#initializeTTLTracking();}if(this.#max===0&&this.ttl===0&&this.#maxSize===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!this.#max&&!this.#maxSize){let code="LRU_CACHE_UNBOUNDED";shouldWarn(code)&&(warned.add(code),emitWarning("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",code,_LRUCache));}}getRemainingTTL(key){return this.#keyMap.has(key)?1/0:0}#initializeTTLTracking(){let ttls=new ZeroArray(this.#max),starts=new ZeroArray(this.#max);this.#ttls=ttls,this.#starts=starts,this.#setItemTTL=(index,ttl2,start=perf.now())=>{if(starts[index]=ttl2!==0?start:0,ttls[index]=ttl2,ttl2!==0&&this.ttlAutopurge){let t2=setTimeout(()=>{this.#isStale(index)&&this.delete(this.#keyList[index]);},ttl2+1);t2.unref&&t2.unref();}},this.#updateItemAge=index=>{starts[index]=ttls[index]!==0?perf.now():0;},this.#statusTTL=(status,index)=>{if(ttls[index]){let ttl2=ttls[index],start=starts[index];if(!ttl2||!start)return;status.ttl=ttl2,status.start=start,status.now=cachedNow||getNow();let age=status.now-start;status.remainingTTL=ttl2-age;}};let cachedNow=0,getNow=()=>{let n=perf.now();if(this.ttlResolution>0){cachedNow=n;let t2=setTimeout(()=>cachedNow=0,this.ttlResolution);t2.unref&&t2.unref();}return n};this.getRemainingTTL=key=>{let index=this.#keyMap.get(key);if(index===void 0)return 0;let ttl2=ttls[index],start=starts[index];if(!ttl2||!start)return 1/0;let age=(cachedNow||getNow())-start;return ttl2-age},this.#isStale=index=>{let s=starts[index],t2=ttls[index];return !!t2&&!!s&&(cachedNow||getNow())-s>t2};}#updateItemAge=()=>{};#statusTTL=()=>{};#setItemTTL=()=>{};#isStale=()=>!1;#initializeSizeTracking(){let sizes=new ZeroArray(this.#max);this.#calculatedSize=0,this.#sizes=sizes,this.#removeItemSize=index=>{this.#calculatedSize-=sizes[index],sizes[index]=0;},this.#requireSize=(k,v,size,sizeCalculation)=>{if(this.#isBackgroundFetch(v))return 0;if(!isPosInt(size))if(sizeCalculation){if(typeof sizeCalculation!="function")throw new TypeError("sizeCalculation must be a function");if(size=sizeCalculation(v,k),!isPosInt(size))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}else throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");return size},this.#addItemSize=(index,size,status)=>{if(sizes[index]=size,this.#maxSize){let maxSize=this.#maxSize-sizes[index];for(;this.#calculatedSize>maxSize;)this.#evict(!0);}this.#calculatedSize+=sizes[index],status&&(status.entrySize=size,status.totalCalculatedSize=this.#calculatedSize);};}#removeItemSize=_i=>{};#addItemSize=(_i,_s,_st)=>{};#requireSize=(_k,_v,size,sizeCalculation)=>{if(size||sizeCalculation)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0};*#indexes({allowStale=this.allowStale}={}){if(this.#size)for(let i=this.#tail;!(!this.#isValidIndex(i)||((allowStale||!this.#isStale(i))&&(yield i),i===this.#head));)i=this.#prev[i];}*#rindexes({allowStale=this.allowStale}={}){if(this.#size)for(let i=this.#head;!(!this.#isValidIndex(i)||((allowStale||!this.#isStale(i))&&(yield i),i===this.#tail));)i=this.#next[i];}#isValidIndex(index){return index!==void 0&&this.#keyMap.get(this.#keyList[index])===index}*entries(){for(let i of this.#indexes())this.#valList[i]!==void 0&&this.#keyList[i]!==void 0&&!this.#isBackgroundFetch(this.#valList[i])&&(yield [this.#keyList[i],this.#valList[i]]);}*rentries(){for(let i of this.#rindexes())this.#valList[i]!==void 0&&this.#keyList[i]!==void 0&&!this.#isBackgroundFetch(this.#valList[i])&&(yield [this.#keyList[i],this.#valList[i]]);}*keys(){for(let i of this.#indexes()){let k=this.#keyList[i];k!==void 0&&!this.#isBackgroundFetch(this.#valList[i])&&(yield k);}}*rkeys(){for(let i of this.#rindexes()){let k=this.#keyList[i];k!==void 0&&!this.#isBackgroundFetch(this.#valList[i])&&(yield k);}}*values(){for(let i of this.#indexes())this.#valList[i]!==void 0&&!this.#isBackgroundFetch(this.#valList[i])&&(yield this.#valList[i]);}*rvalues(){for(let i of this.#rindexes())this.#valList[i]!==void 0&&!this.#isBackgroundFetch(this.#valList[i])&&(yield this.#valList[i]);}[Symbol.iterator](){return this.entries()}find(fn,getOptions={}){for(let i of this.#indexes()){let v=this.#valList[i],value=this.#isBackgroundFetch(v)?v.__staleWhileFetching:v;if(value!==void 0&&fn(value,this.#keyList[i],this))return this.get(this.#keyList[i],getOptions)}}forEach(fn,thisp=this){for(let i of this.#indexes()){let v=this.#valList[i],value=this.#isBackgroundFetch(v)?v.__staleWhileFetching:v;value!==void 0&&fn.call(thisp,value,this.#keyList[i],this);}}rforEach(fn,thisp=this){for(let i of this.#rindexes()){let v=this.#valList[i],value=this.#isBackgroundFetch(v)?v.__staleWhileFetching:v;value!==void 0&&fn.call(thisp,value,this.#keyList[i],this);}}purgeStale(){let deleted=!1;for(let i of this.#rindexes({allowStale:!0}))this.#isStale(i)&&(this.delete(this.#keyList[i]),deleted=!0);return deleted}info(key){let i=this.#keyMap.get(key);if(i===void 0)return;let v=this.#valList[i],value=this.#isBackgroundFetch(v)?v.__staleWhileFetching:v;if(value===void 0)return;let entry={value};if(this.#ttls&&this.#starts){let ttl2=this.#ttls[i],start=this.#starts[i];if(ttl2&&start){let remain=ttl2-(perf.now()-start);entry.ttl=remain,entry.start=Date.now();}}return this.#sizes&&(entry.size=this.#sizes[i]),entry}dump(){let arr=[];for(let i of this.#indexes({allowStale:!0})){let key=this.#keyList[i],v=this.#valList[i],value=this.#isBackgroundFetch(v)?v.__staleWhileFetching:v;if(value===void 0||key===void 0)continue;let entry={value};if(this.#ttls&&this.#starts){entry.ttl=this.#ttls[i];let age=perf.now()-this.#starts[i];entry.start=Math.floor(Date.now()-age);}this.#sizes&&(entry.size=this.#sizes[i]),arr.unshift([key,entry]);}return arr}load(arr){this.clear();for(let[key,entry]of arr){if(entry.start){let age=Date.now()-entry.start;entry.start=perf.now()-age;}this.set(key,entry.value,entry);}}set(k,v,setOptions={}){if(v===void 0)return this.delete(k),this;let{ttl:ttl2=this.ttl,start,noDisposeOnSet=this.noDisposeOnSet,sizeCalculation=this.sizeCalculation,status}=setOptions,{noUpdateTTL=this.noUpdateTTL}=setOptions,size=this.#requireSize(k,v,setOptions.size||0,sizeCalculation);if(this.maxEntrySize&&size>this.maxEntrySize)return status&&(status.set="miss",status.maxEntrySizeExceeded=!0),this.delete(k),this;let index=this.#size===0?void 0:this.#keyMap.get(k);if(index===void 0)index=this.#size===0?this.#tail:this.#free.length!==0?this.#free.pop():this.#size===this.#max?this.#evict(!1):this.#size,this.#keyList[index]=k,this.#valList[index]=v,this.#keyMap.set(k,index),this.#next[this.#tail]=index,this.#prev[index]=this.#tail,this.#tail=index,this.#size++,this.#addItemSize(index,size,status),status&&(status.set="add"),noUpdateTTL=!1;else {this.#moveToTail(index);let oldVal=this.#valList[index];if(v!==oldVal){if(this.#hasFetchMethod&&this.#isBackgroundFetch(oldVal)){oldVal.__abortController.abort(new Error("replaced"));let{__staleWhileFetching:s}=oldVal;s!==void 0&&!noDisposeOnSet&&(this.#hasDispose&&this.#dispose?.(s,k,"set"),this.#hasDisposeAfter&&this.#disposed?.push([s,k,"set"]));}else noDisposeOnSet||(this.#hasDispose&&this.#dispose?.(oldVal,k,"set"),this.#hasDisposeAfter&&this.#disposed?.push([oldVal,k,"set"]));if(this.#removeItemSize(index),this.#addItemSize(index,size,status),this.#valList[index]=v,status){status.set="replace";let oldValue=oldVal&&this.#isBackgroundFetch(oldVal)?oldVal.__staleWhileFetching:oldVal;oldValue!==void 0&&(status.oldValue=oldValue);}}else status&&(status.set="update");}if(ttl2!==0&&!this.#ttls&&this.#initializeTTLTracking(),this.#ttls&&(noUpdateTTL||this.#setItemTTL(index,ttl2,start),status&&this.#statusTTL(status,index)),!noDisposeOnSet&&this.#hasDisposeAfter&&this.#disposed){let dt=this.#disposed,task;for(;task=dt?.shift();)this.#disposeAfter?.(...task);}return this}pop(){try{for(;this.#size;){let val=this.#valList[this.#head];if(this.#evict(!0),this.#isBackgroundFetch(val)){if(val.__staleWhileFetching)return val.__staleWhileFetching}else if(val!==void 0)return val}}finally{if(this.#hasDisposeAfter&&this.#disposed){let dt=this.#disposed,task;for(;task=dt?.shift();)this.#disposeAfter?.(...task);}}}#evict(free){let head=this.#head,k=this.#keyList[head],v=this.#valList[head];return this.#hasFetchMethod&&this.#isBackgroundFetch(v)?v.__abortController.abort(new Error("evicted")):(this.#hasDispose||this.#hasDisposeAfter)&&(this.#hasDispose&&this.#dispose?.(v,k,"evict"),this.#hasDisposeAfter&&this.#disposed?.push([v,k,"evict"])),this.#removeItemSize(head),free&&(this.#keyList[head]=void 0,this.#valList[head]=void 0,this.#free.push(head)),this.#size===1?(this.#head=this.#tail=0,this.#free.length=0):this.#head=this.#next[head],this.#keyMap.delete(k),this.#size--,head}has(k,hasOptions={}){let{updateAgeOnHas=this.updateAgeOnHas,status}=hasOptions,index=this.#keyMap.get(k);if(index!==void 0){let v=this.#valList[index];if(this.#isBackgroundFetch(v)&&v.__staleWhileFetching===void 0)return !1;if(this.#isStale(index))status&&(status.has="stale",this.#statusTTL(status,index));else return updateAgeOnHas&&this.#updateItemAge(index),status&&(status.has="hit",this.#statusTTL(status,index)),!0}else status&&(status.has="miss");return !1}peek(k,peekOptions={}){let{allowStale=this.allowStale}=peekOptions,index=this.#keyMap.get(k);if(index===void 0||!allowStale&&this.#isStale(index))return;let v=this.#valList[index];return this.#isBackgroundFetch(v)?v.__staleWhileFetching:v}#backgroundFetch(k,index,options,context){let v=index===void 0?void 0:this.#valList[index];if(this.#isBackgroundFetch(v))return v;let ac=new AC,{signal}=options;signal?.addEventListener("abort",()=>ac.abort(signal.reason),{signal:ac.signal});let fetchOpts={signal:ac.signal,options,context},cb=(v2,updateCache=!1)=>{let{aborted}=ac.signal,ignoreAbort=options.ignoreFetchAbort&&v2!==void 0;if(options.status&&(aborted&&!updateCache?(options.status.fetchAborted=!0,options.status.fetchError=ac.signal.reason,ignoreAbort&&(options.status.fetchAbortIgnored=!0)):options.status.fetchResolved=!0),aborted&&!ignoreAbort&&!updateCache)return fetchFail(ac.signal.reason);let bf2=p;return this.#valList[index]===p&&(v2===void 0?bf2.__staleWhileFetching?this.#valList[index]=bf2.__staleWhileFetching:this.delete(k):(options.status&&(options.status.fetchUpdated=!0),this.set(k,v2,fetchOpts.options))),v2},eb=er=>(options.status&&(options.status.fetchRejected=!0,options.status.fetchError=er),fetchFail(er)),fetchFail=er=>{let{aborted}=ac.signal,allowStaleAborted=aborted&&options.allowStaleOnFetchAbort,allowStale=allowStaleAborted||options.allowStaleOnFetchRejection,noDelete=allowStale||options.noDeleteOnFetchRejection,bf2=p;if(this.#valList[index]===p&&(!noDelete||bf2.__staleWhileFetching===void 0?this.delete(k):allowStaleAborted||(this.#valList[index]=bf2.__staleWhileFetching)),allowStale)return options.status&&bf2.__staleWhileFetching!==void 0&&(options.status.returnedStale=!0),bf2.__staleWhileFetching;if(bf2.__returned===bf2)throw er},pcall=(res,rej)=>{let fmp=this.#fetchMethod?.(k,v,fetchOpts);fmp&&fmp instanceof Promise&&fmp.then(v2=>res(v2===void 0?void 0:v2),rej),ac.signal.addEventListener("abort",()=>{(!options.ignoreFetchAbort||options.allowStaleOnFetchAbort)&&(res(void 0),options.allowStaleOnFetchAbort&&(res=v2=>cb(v2,!0)));});};options.status&&(options.status.fetchDispatched=!0);let p=new Promise(pcall).then(cb,eb),bf=Object.assign(p,{__abortController:ac,__staleWhileFetching:v,__returned:void 0});return index===void 0?(this.set(k,bf,{...fetchOpts.options,status:void 0}),index=this.#keyMap.get(k)):this.#valList[index]=bf,bf}#isBackgroundFetch(p){if(!this.#hasFetchMethod)return !1;let b=p;return !!b&&b instanceof Promise&&b.hasOwnProperty("__staleWhileFetching")&&b.__abortController instanceof AC}async fetch(k,fetchOptions={}){let{allowStale=this.allowStale,updateAgeOnGet=this.updateAgeOnGet,noDeleteOnStaleGet=this.noDeleteOnStaleGet,ttl:ttl2=this.ttl,noDisposeOnSet=this.noDisposeOnSet,size=0,sizeCalculation=this.sizeCalculation,noUpdateTTL=this.noUpdateTTL,noDeleteOnFetchRejection=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection=this.allowStaleOnFetchRejection,ignoreFetchAbort=this.ignoreFetchAbort,allowStaleOnFetchAbort=this.allowStaleOnFetchAbort,context,forceRefresh=!1,status,signal}=fetchOptions;if(!this.#hasFetchMethod)return status&&(status.fetch="get"),this.get(k,{allowStale,updateAgeOnGet,noDeleteOnStaleGet,status});let options={allowStale,updateAgeOnGet,noDeleteOnStaleGet,ttl:ttl2,noDisposeOnSet,size,sizeCalculation,noUpdateTTL,noDeleteOnFetchRejection,allowStaleOnFetchRejection,allowStaleOnFetchAbort,ignoreFetchAbort,status,signal},index=this.#keyMap.get(k);if(index===void 0){status&&(status.fetch="miss");let p=this.#backgroundFetch(k,index,options,context);return p.__returned=p}else {let v=this.#valList[index];if(this.#isBackgroundFetch(v)){let stale=allowStale&&v.__staleWhileFetching!==void 0;return status&&(status.fetch="inflight",stale&&(status.returnedStale=!0)),stale?v.__staleWhileFetching:v.__returned=v}let isStale=this.#isStale(index);if(!forceRefresh&&!isStale)return status&&(status.fetch="hit"),this.#moveToTail(index),updateAgeOnGet&&this.#updateItemAge(index),status&&this.#statusTTL(status,index),v;let p=this.#backgroundFetch(k,index,options,context),staleVal=p.__staleWhileFetching!==void 0&&allowStale;return status&&(status.fetch=isStale?"stale":"refresh",staleVal&&isStale&&(status.returnedStale=!0)),staleVal?p.__staleWhileFetching:p.__returned=p}}get(k,getOptions={}){let{allowStale=this.allowStale,updateAgeOnGet=this.updateAgeOnGet,noDeleteOnStaleGet=this.noDeleteOnStaleGet,status}=getOptions,index=this.#keyMap.get(k);if(index!==void 0){let value=this.#valList[index],fetching=this.#isBackgroundFetch(value);return status&&this.#statusTTL(status,index),this.#isStale(index)?(status&&(status.get="stale"),fetching?(status&&allowStale&&value.__staleWhileFetching!==void 0&&(status.returnedStale=!0),allowStale?value.__staleWhileFetching:void 0):(noDeleteOnStaleGet||this.delete(k),status&&allowStale&&(status.returnedStale=!0),allowStale?value:void 0)):(status&&(status.get="hit"),fetching?value.__staleWhileFetching:(this.#moveToTail(index),updateAgeOnGet&&this.#updateItemAge(index),value))}else status&&(status.get="miss");}#connect(p,n){this.#prev[n]=p,this.#next[p]=n;}#moveToTail(index){index!==this.#tail&&(index===this.#head?this.#head=this.#next[index]:this.#connect(this.#prev[index],this.#next[index]),this.#connect(this.#tail,index),this.#tail=index);}delete(k){let deleted=!1;if(this.#size!==0){let index=this.#keyMap.get(k);if(index!==void 0)if(deleted=!0,this.#size===1)this.clear();else {this.#removeItemSize(index);let v=this.#valList[index];if(this.#isBackgroundFetch(v)?v.__abortController.abort(new Error("deleted")):(this.#hasDispose||this.#hasDisposeAfter)&&(this.#hasDispose&&this.#dispose?.(v,k,"delete"),this.#hasDisposeAfter&&this.#disposed?.push([v,k,"delete"])),this.#keyMap.delete(k),this.#keyList[index]=void 0,this.#valList[index]=void 0,index===this.#tail)this.#tail=this.#prev[index];else if(index===this.#head)this.#head=this.#next[index];else {let pi=this.#prev[index];this.#next[pi]=this.#next[index];let ni=this.#next[index];this.#prev[ni]=this.#prev[index];}this.#size--,this.#free.push(index);}}if(this.#hasDisposeAfter&&this.#disposed?.length){let dt=this.#disposed,task;for(;task=dt?.shift();)this.#disposeAfter?.(...task);}return deleted}clear(){for(let index of this.#rindexes({allowStale:!0})){let v=this.#valList[index];if(this.#isBackgroundFetch(v))v.__abortController.abort(new Error("deleted"));else {let k=this.#keyList[index];this.#hasDispose&&this.#dispose?.(v,k,"delete"),this.#hasDisposeAfter&&this.#disposed?.push([v,k,"delete"]);}}if(this.#keyMap.clear(),this.#valList.fill(void 0),this.#keyList.fill(void 0),this.#ttls&&this.#starts&&(this.#ttls.fill(0),this.#starts.fill(0)),this.#sizes&&this.#sizes.fill(0),this.#head=0,this.#tail=0,this.#free.length=0,this.#calculatedSize=0,this.#size=0,this.#hasDisposeAfter&&this.#disposed){let dt=this.#disposed,task;for(;task=dt?.shift();)this.#disposeAfter?.(...task);}}};var proc=typeof process=="object"&&process?process:{stdout:null,stderr:null},isStream=s=>!!s&&typeof s=="object"&&(s instanceof Minipass||s instanceof Stream||isReadable(s)||isWritable(s)),isReadable=s=>!!s&&typeof s=="object"&&s instanceof EventEmitter&&typeof s.pipe=="function"&&s.pipe!==Stream.Writable.prototype.pipe,isWritable=s=>!!s&&typeof s=="object"&&s instanceof EventEmitter&&typeof s.write=="function"&&typeof s.end=="function",EOF=Symbol("EOF"),MAYBE_EMIT_END=Symbol("maybeEmitEnd"),EMITTED_END=Symbol("emittedEnd"),EMITTING_END=Symbol("emittingEnd"),EMITTED_ERROR=Symbol("emittedError"),CLOSED=Symbol("closed"),READ=Symbol("read"),FLUSH=Symbol("flush"),FLUSHCHUNK=Symbol("flushChunk"),ENCODING=Symbol("encoding"),DECODER=Symbol("decoder"),FLOWING=Symbol("flowing"),PAUSED=Symbol("paused"),RESUME=Symbol("resume"),BUFFER=Symbol("buffer"),PIPES=Symbol("pipes"),BUFFERLENGTH=Symbol("bufferLength"),BUFFERPUSH=Symbol("bufferPush"),BUFFERSHIFT=Symbol("bufferShift"),OBJECTMODE=Symbol("objectMode"),DESTROYED=Symbol("destroyed"),ERROR=Symbol("error"),EMITDATA=Symbol("emitData"),EMITEND=Symbol("emitEnd"),EMITEND2=Symbol("emitEnd2"),ASYNC=Symbol("async"),ABORT=Symbol("abort"),ABORTED=Symbol("aborted"),SIGNAL=Symbol("signal"),DATALISTENERS=Symbol("dataListeners"),DISCARDED=Symbol("discarded"),defer=fn=>Promise.resolve().then(fn),nodefer=fn=>fn(),isEndish=ev=>ev==="end"||ev==="finish"||ev==="prefinish",isArrayBufferLike=b=>b instanceof ArrayBuffer||!!b&&typeof b=="object"&&b.constructor&&b.constructor.name==="ArrayBuffer"&&b.byteLength>=0,isArrayBufferView=b=>!Buffer.isBuffer(b)&&ArrayBuffer.isView(b),Pipe=class{src;dest;opts;ondrain;constructor(src,dest,opts){this.src=src,this.dest=dest,this.opts=opts,this.ondrain=()=>src[RESUME](),this.dest.on("drain",this.ondrain);}unpipe(){this.dest.removeListener("drain",this.ondrain);}proxyErrors(_er){}end(){this.unpipe(),this.opts.end&&this.dest.end();}},PipeProxyErrors=class extends Pipe{unpipe(){this.src.removeListener("error",this.proxyErrors),super.unpipe();}constructor(src,dest,opts){super(src,dest,opts),this.proxyErrors=er=>dest.emit("error",er),src.on("error",this.proxyErrors);}},isObjectModeOptions=o=>!!o.objectMode,isEncodingOptions=o=>!o.objectMode&&!!o.encoding&&o.encoding!=="buffer",Minipass=class extends EventEmitter{[FLOWING]=!1;[PAUSED]=!1;[PIPES]=[];[BUFFER]=[];[OBJECTMODE];[ENCODING];[ASYNC];[DECODER];[EOF]=!1;[EMITTED_END]=!1;[EMITTING_END]=!1;[CLOSED]=!1;[EMITTED_ERROR]=null;[BUFFERLENGTH]=0;[DESTROYED]=!1;[SIGNAL];[ABORTED]=!1;[DATALISTENERS]=0;[DISCARDED]=!1;writable=!0;readable=!0;constructor(...args){let options=args[0]||{};if(super(),options.objectMode&&typeof options.encoding=="string")throw new TypeError("Encoding and objectMode may not be used together");isObjectModeOptions(options)?(this[OBJECTMODE]=!0,this[ENCODING]=null):isEncodingOptions(options)?(this[ENCODING]=options.encoding,this[OBJECTMODE]=!1):(this[OBJECTMODE]=!1,this[ENCODING]=null),this[ASYNC]=!!options.async,this[DECODER]=this[ENCODING]?new StringDecoder(this[ENCODING]):null,options&&options.debugExposeBuffer===!0&&Object.defineProperty(this,"buffer",{get:()=>this[BUFFER]}),options&&options.debugExposePipes===!0&&Object.defineProperty(this,"pipes",{get:()=>this[PIPES]});let{signal}=options;signal&&(this[SIGNAL]=signal,signal.aborted?this[ABORT]():signal.addEventListener("abort",()=>this[ABORT]()));}get bufferLength(){return this[BUFFERLENGTH]}get encoding(){return this[ENCODING]}set encoding(_enc){throw new Error("Encoding must be set at instantiation time")}setEncoding(_enc){throw new Error("Encoding must be set at instantiation time")}get objectMode(){return this[OBJECTMODE]}set objectMode(_om){throw new Error("objectMode must be set at instantiation time")}get async(){return this[ASYNC]}set async(a){this[ASYNC]=this[ASYNC]||!!a;}[ABORT](){this[ABORTED]=!0,this.emit("abort",this[SIGNAL]?.reason),this.destroy(this[SIGNAL]?.reason);}get aborted(){return this[ABORTED]}set aborted(_){}write(chunk,encoding,cb){if(this[ABORTED])return !1;if(this[EOF])throw new Error("write after end");if(this[DESTROYED])return this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0;typeof encoding=="function"&&(cb=encoding,encoding="utf8"),encoding||(encoding="utf8");let fn=this[ASYNC]?defer:nodefer;if(!this[OBJECTMODE]&&!Buffer.isBuffer(chunk)){if(isArrayBufferView(chunk))chunk=Buffer.from(chunk.buffer,chunk.byteOffset,chunk.byteLength);else if(isArrayBufferLike(chunk))chunk=Buffer.from(chunk);else if(typeof chunk!="string")throw new Error("Non-contiguous data written to non-objectMode stream")}return this[OBJECTMODE]?(this[FLOWING]&&this[BUFFERLENGTH]!==0&&this[FLUSH](!0),this[FLOWING]?this.emit("data",chunk):this[BUFFERPUSH](chunk),this[BUFFERLENGTH]!==0&&this.emit("readable"),cb&&fn(cb),this[FLOWING]):chunk.length?(typeof chunk=="string"&&!(encoding===this[ENCODING]&&!this[DECODER]?.lastNeed)&&(chunk=Buffer.from(chunk,encoding)),Buffer.isBuffer(chunk)&&this[ENCODING]&&(chunk=this[DECODER].write(chunk)),this[FLOWING]&&this[BUFFERLENGTH]!==0&&this[FLUSH](!0),this[FLOWING]?this.emit("data",chunk):this[BUFFERPUSH](chunk),this[BUFFERLENGTH]!==0&&this.emit("readable"),cb&&fn(cb),this[FLOWING]):(this[BUFFERLENGTH]!==0&&this.emit("readable"),cb&&fn(cb),this[FLOWING])}read(n){if(this[DESTROYED])return null;if(this[DISCARDED]=!1,this[BUFFERLENGTH]===0||n===0||n&&n>this[BUFFERLENGTH])return this[MAYBE_EMIT_END](),null;this[OBJECTMODE]&&(n=null),this[BUFFER].length>1&&!this[OBJECTMODE]&&(this[BUFFER]=[this[ENCODING]?this[BUFFER].join(""):Buffer.concat(this[BUFFER],this[BUFFERLENGTH])]);let ret=this[READ](n||null,this[BUFFER][0]);return this[MAYBE_EMIT_END](),ret}[READ](n,chunk){if(this[OBJECTMODE])this[BUFFERSHIFT]();else {let c=chunk;n===c.length||n===null?this[BUFFERSHIFT]():typeof c=="string"?(this[BUFFER][0]=c.slice(n),chunk=c.slice(0,n),this[BUFFERLENGTH]-=n):(this[BUFFER][0]=c.subarray(n),chunk=c.subarray(0,n),this[BUFFERLENGTH]-=n);}return this.emit("data",chunk),!this[BUFFER].length&&!this[EOF]&&this.emit("drain"),chunk}end(chunk,encoding,cb){return typeof chunk=="function"&&(cb=chunk,chunk=void 0),typeof encoding=="function"&&(cb=encoding,encoding="utf8"),chunk!==void 0&&this.write(chunk,encoding),cb&&this.once("end",cb),this[EOF]=!0,this.writable=!1,(this[FLOWING]||!this[PAUSED])&&this[MAYBE_EMIT_END](),this}[RESUME](){this[DESTROYED]||(!this[DATALISTENERS]&&!this[PIPES].length&&(this[DISCARDED]=!0),this[PAUSED]=!1,this[FLOWING]=!0,this.emit("resume"),this[BUFFER].length?this[FLUSH]():this[EOF]?this[MAYBE_EMIT_END]():this.emit("drain"));}resume(){return this[RESUME]()}pause(){this[FLOWING]=!1,this[PAUSED]=!0,this[DISCARDED]=!1;}get destroyed(){return this[DESTROYED]}get flowing(){return this[FLOWING]}get paused(){return this[PAUSED]}[BUFFERPUSH](chunk){this[OBJECTMODE]?this[BUFFERLENGTH]+=1:this[BUFFERLENGTH]+=chunk.length,this[BUFFER].push(chunk);}[BUFFERSHIFT](){return this[OBJECTMODE]?this[BUFFERLENGTH]-=1:this[BUFFERLENGTH]-=this[BUFFER][0].length,this[BUFFER].shift()}[FLUSH](noDrain=!1){do;while(this[FLUSHCHUNK](this[BUFFERSHIFT]())&&this[BUFFER].length);!noDrain&&!this[BUFFER].length&&!this[EOF]&&this.emit("drain");}[FLUSHCHUNK](chunk){return this.emit("data",chunk),this[FLOWING]}pipe(dest,opts){if(this[DESTROYED])return dest;this[DISCARDED]=!1;let ended=this[EMITTED_END];return opts=opts||{},dest===proc.stdout||dest===proc.stderr?opts.end=!1:opts.end=opts.end!==!1,opts.proxyErrors=!!opts.proxyErrors,ended?opts.end&&dest.end():(this[PIPES].push(opts.proxyErrors?new PipeProxyErrors(this,dest,opts):new Pipe(this,dest,opts)),this[ASYNC]?defer(()=>this[RESUME]()):this[RESUME]()),dest}unpipe(dest){let p=this[PIPES].find(p2=>p2.dest===dest);p&&(this[PIPES].length===1?(this[FLOWING]&&this[DATALISTENERS]===0&&(this[FLOWING]=!1),this[PIPES]=[]):this[PIPES].splice(this[PIPES].indexOf(p),1),p.unpipe());}addListener(ev,handler){return this.on(ev,handler)}on(ev,handler){let ret=super.on(ev,handler);if(ev==="data")this[DISCARDED]=!1,this[DATALISTENERS]++,!this[PIPES].length&&!this[FLOWING]&&this[RESUME]();else if(ev==="readable"&&this[BUFFERLENGTH]!==0)super.emit("readable");else if(isEndish(ev)&&this[EMITTED_END])super.emit(ev),this.removeAllListeners(ev);else if(ev==="error"&&this[EMITTED_ERROR]){let h=handler;this[ASYNC]?defer(()=>h.call(this,this[EMITTED_ERROR])):h.call(this,this[EMITTED_ERROR]);}return ret}removeListener(ev,handler){return this.off(ev,handler)}off(ev,handler){let ret=super.off(ev,handler);return ev==="data"&&(this[DATALISTENERS]=this.listeners("data").length,this[DATALISTENERS]===0&&!this[DISCARDED]&&!this[PIPES].length&&(this[FLOWING]=!1)),ret}removeAllListeners(ev){let ret=super.removeAllListeners(ev);return (ev==="data"||ev===void 0)&&(this[DATALISTENERS]=0,!this[DISCARDED]&&!this[PIPES].length&&(this[FLOWING]=!1)),ret}get emittedEnd(){return this[EMITTED_END]}[MAYBE_EMIT_END](){!this[EMITTING_END]&&!this[EMITTED_END]&&!this[DESTROYED]&&this[BUFFER].length===0&&this[EOF]&&(this[EMITTING_END]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[CLOSED]&&this.emit("close"),this[EMITTING_END]=!1);}emit(ev,...args){let data=args[0];if(ev!=="error"&&ev!=="close"&&ev!==DESTROYED&&this[DESTROYED])return !1;if(ev==="data")return !this[OBJECTMODE]&&!data?!1:this[ASYNC]?(defer(()=>this[EMITDATA](data)),!0):this[EMITDATA](data);if(ev==="end")return this[EMITEND]();if(ev==="close"){if(this[CLOSED]=!0,!this[EMITTED_END]&&!this[DESTROYED])return !1;let ret2=super.emit("close");return this.removeAllListeners("close"),ret2}else if(ev==="error"){this[EMITTED_ERROR]=data,super.emit(ERROR,data);let ret2=!this[SIGNAL]||this.listeners("error").length?super.emit("error",data):!1;return this[MAYBE_EMIT_END](),ret2}else if(ev==="resume"){let ret2=super.emit("resume");return this[MAYBE_EMIT_END](),ret2}else if(ev==="finish"||ev==="prefinish"){let ret2=super.emit(ev);return this.removeAllListeners(ev),ret2}let ret=super.emit(ev,...args);return this[MAYBE_EMIT_END](),ret}[EMITDATA](data){for(let p of this[PIPES])p.dest.write(data)===!1&&this.pause();let ret=this[DISCARDED]?!1:super.emit("data",data);return this[MAYBE_EMIT_END](),ret}[EMITEND](){return this[EMITTED_END]?!1:(this[EMITTED_END]=!0,this.readable=!1,this[ASYNC]?(defer(()=>this[EMITEND2]()),!0):this[EMITEND2]())}[EMITEND2](){if(this[DECODER]){let data=this[DECODER].end();if(data){for(let p of this[PIPES])p.dest.write(data);this[DISCARDED]||super.emit("data",data);}}for(let p of this[PIPES])p.end();let ret=super.emit("end");return this.removeAllListeners("end"),ret}async collect(){let buf=Object.assign([],{dataLength:0});this[OBJECTMODE]||(buf.dataLength=0);let p=this.promise();return this.on("data",c=>{buf.push(c),this[OBJECTMODE]||(buf.dataLength+=c.length);}),await p,buf}async concat(){if(this[OBJECTMODE])throw new Error("cannot concat in objectMode");let buf=await this.collect();return this[ENCODING]?buf.join(""):Buffer.concat(buf,buf.dataLength)}async promise(){return new Promise((resolve2,reject)=>{this.on(DESTROYED,()=>reject(new Error("stream destroyed"))),this.on("error",er=>reject(er)),this.on("end",()=>resolve2());})}[Symbol.asyncIterator](){this[DISCARDED]=!1;let stopped=!1,stop=async()=>(this.pause(),stopped=!0,{value:void 0,done:!0});return {next:()=>{if(stopped)return stop();let res=this.read();if(res!==null)return Promise.resolve({done:!1,value:res});if(this[EOF])return stop();let resolve2,reject,onerr=er=>{this.off("data",ondata),this.off("end",onend),this.off(DESTROYED,ondestroy),stop(),reject(er);},ondata=value=>{this.off("error",onerr),this.off("end",onend),this.off(DESTROYED,ondestroy),this.pause(),resolve2({value,done:!!this[EOF]});},onend=()=>{this.off("error",onerr),this.off("data",ondata),this.off(DESTROYED,ondestroy),stop(),resolve2({done:!0,value:void 0});},ondestroy=()=>onerr(new Error("stream destroyed"));return new Promise((res2,rej)=>{reject=rej,resolve2=res2,this.once(DESTROYED,ondestroy),this.once("error",onerr),this.once("end",onend),this.once("data",ondata);})},throw:stop,return:stop,[Symbol.asyncIterator](){return this}}}[Symbol.iterator](){this[DISCARDED]=!1;let stopped=!1,stop=()=>(this.pause(),this.off(ERROR,stop),this.off(DESTROYED,stop),this.off("end",stop),stopped=!0,{done:!0,value:void 0}),next=()=>{if(stopped)return stop();let value=this.read();return value===null?stop():{done:!1,value}};return this.once("end",stop),this.once(ERROR,stop),this.once(DESTROYED,stop),{next,throw:stop,return:stop,[Symbol.iterator](){return this}}}destroy(er){if(this[DESTROYED])return er?this.emit("error",er):this.emit(DESTROYED),this;this[DESTROYED]=!0,this[DISCARDED]=!0,this[BUFFER].length=0,this[BUFFERLENGTH]=0;let wc=this;return typeof wc.close=="function"&&!this[CLOSED]&&wc.close(),er?this.emit("error",er):this.emit(DESTROYED),this}static get isStream(){return isStream}};var realpathSync=realpathSync$1.native,defaultFS={lstatSync,readdir:readdir$1,readdirSync:readdirSync$1,readlinkSync,realpathSync,promises:{lstat,readdir: readdir$2,readlink,realpath}},fsFromOption=fsOption=>!fsOption||fsOption===defaultFS||fsOption===fs2?defaultFS:{...defaultFS,...fsOption,promises:{...defaultFS.promises,...fsOption.promises||{}}},uncDriveRegexp=/^\\\\\?\\([a-z]:)\\?$/i,uncToDrive=rootPath=>rootPath.replace(/\//g,"\\").replace(uncDriveRegexp,"$1\\"),eitherSep=/[\\\/]/,UNKNOWN=0,IFIFO=1,IFCHR=2,IFDIR=4,IFBLK=6,IFREG=8,IFLNK=10,IFSOCK=12,IFMT=15,IFMT_UNKNOWN=~IFMT,READDIR_CALLED=16,LSTAT_CALLED=32,ENOTDIR=64,ENOENT=128,ENOREADLINK=256,ENOREALPATH=512,ENOCHILD=ENOTDIR|ENOENT|ENOREALPATH,TYPEMASK=1023,entToType=s=>s.isFile()?IFREG:s.isDirectory()?IFDIR:s.isSymbolicLink()?IFLNK:s.isCharacterDevice()?IFCHR:s.isBlockDevice()?IFBLK:s.isSocket()?IFSOCK:s.isFIFO()?IFIFO:UNKNOWN,normalizeCache=new Map,normalize=s=>{let c=normalizeCache.get(s);if(c)return c;let n=s.normalize("NFKD");return normalizeCache.set(s,n),n},normalizeNocaseCache=new Map,normalizeNocase=s=>{let c=normalizeNocaseCache.get(s);if(c)return c;let n=normalize(s.toLowerCase());return normalizeNocaseCache.set(s,n),n},ResolveCache=class extends LRUCache{constructor(){super({max:256});}},ChildrenCache=class extends LRUCache{constructor(maxSize=16*1024){super({maxSize,sizeCalculation:a=>a.length+1});}},setAsCwd=Symbol("PathScurry setAsCwd"),PathBase=class{name;root;roots;parent;nocase;#fs;#dev;get dev(){return this.#dev}#mode;get mode(){return this.#mode}#nlink;get nlink(){return this.#nlink}#uid;get uid(){return this.#uid}#gid;get gid(){return this.#gid}#rdev;get rdev(){return this.#rdev}#blksize;get blksize(){return this.#blksize}#ino;get ino(){return this.#ino}#size;get size(){return this.#size}#blocks;get blocks(){return this.#blocks}#atimeMs;get atimeMs(){return this.#atimeMs}#mtimeMs;get mtimeMs(){return this.#mtimeMs}#ctimeMs;get ctimeMs(){return this.#ctimeMs}#birthtimeMs;get birthtimeMs(){return this.#birthtimeMs}#atime;get atime(){return this.#atime}#mtime;get mtime(){return this.#mtime}#ctime;get ctime(){return this.#ctime}#birthtime;get birthtime(){return this.#birthtime}#matchName;#depth;#fullpath;#fullpathPosix;#relative;#relativePosix;#type;#children;#linkTarget;#realpath;get path(){return (this.parent||this).fullpath()}constructor(name,type=UNKNOWN,root,roots,nocase,children,opts){this.name=name,this.#matchName=nocase?normalizeNocase(name):normalize(name),this.#type=type&TYPEMASK,this.nocase=nocase,this.roots=roots,this.root=root||this,this.#children=children,this.#fullpath=opts.fullpath,this.#relative=opts.relative,this.#relativePosix=opts.relativePosix,this.parent=opts.parent,this.parent?this.#fs=this.parent.#fs:this.#fs=fsFromOption(opts.fs);}depth(){return this.#depth!==void 0?this.#depth:this.parent?this.#depth=this.parent.depth()+1:this.#depth=0}childrenCache(){return this.#children}resolve(path10){if(!path10)return this;let rootPath=this.getRootString(path10),dirParts=path10.substring(rootPath.length).split(this.splitSep);return rootPath?this.getRoot(rootPath).#resolveParts(dirParts):this.#resolveParts(dirParts)}#resolveParts(dirParts){let p=this;for(let part of dirParts)p=p.child(part);return p}children(){let cached=this.#children.get(this);if(cached)return cached;let children=Object.assign([],{provisional:0});return this.#children.set(this,children),this.#type&=~READDIR_CALLED,children}child(pathPart,opts){if(pathPart===""||pathPart===".")return this;if(pathPart==="..")return this.parent||this;let children=this.children(),name=this.nocase?normalizeNocase(pathPart):normalize(pathPart);for(let p of children)if(p.#matchName===name)return p;let s=this.parent?this.sep:"",fullpath=this.#fullpath?this.#fullpath+s+pathPart:void 0,pchild=this.newChild(pathPart,UNKNOWN,{...opts,parent:this,fullpath});return this.canReaddir()||(pchild.#type|=ENOENT),children.push(pchild),pchild}relative(){if(this.#relative!==void 0)return this.#relative;let name=this.name,p=this.parent;if(!p)return this.#relative=this.name;let pv=p.relative();return pv+(!pv||!p.parent?"":this.sep)+name}relativePosix(){if(this.sep==="/")return this.relative();if(this.#relativePosix!==void 0)return this.#relativePosix;let name=this.name,p=this.parent;if(!p)return this.#relativePosix=this.fullpathPosix();let pv=p.relativePosix();return pv+(!pv||!p.parent?"":"/")+name}fullpath(){if(this.#fullpath!==void 0)return this.#fullpath;let name=this.name,p=this.parent;if(!p)return this.#fullpath=this.name;let fp=p.fullpath()+(p.parent?this.sep:"")+name;return this.#fullpath=fp}fullpathPosix(){if(this.#fullpathPosix!==void 0)return this.#fullpathPosix;if(this.sep==="/")return this.#fullpathPosix=this.fullpath();if(!this.parent){let p2=this.fullpath().replace(/\\/g,"/");return /^[a-z]:\//i.test(p2)?this.#fullpathPosix=`//?/${p2}`:this.#fullpathPosix=p2}let p=this.parent,pfpp=p.fullpathPosix(),fpp=pfpp+(!pfpp||!p.parent?"":"/")+this.name;return this.#fullpathPosix=fpp}isUnknown(){return (this.#type&IFMT)===UNKNOWN}isType(type){return this[`is${type}`]()}getType(){return this.isUnknown()?"Unknown":this.isDirectory()?"Directory":this.isFile()?"File":this.isSymbolicLink()?"SymbolicLink":this.isFIFO()?"FIFO":this.isCharacterDevice()?"CharacterDevice":this.isBlockDevice()?"BlockDevice":this.isSocket()?"Socket":"Unknown"}isFile(){return (this.#type&IFMT)===IFREG}isDirectory(){return (this.#type&IFMT)===IFDIR}isCharacterDevice(){return (this.#type&IFMT)===IFCHR}isBlockDevice(){return (this.#type&IFMT)===IFBLK}isFIFO(){return (this.#type&IFMT)===IFIFO}isSocket(){return (this.#type&IFMT)===IFSOCK}isSymbolicLink(){return (this.#type&IFLNK)===IFLNK}lstatCached(){return this.#type&LSTAT_CALLED?this:void 0}readlinkCached(){return this.#linkTarget}realpathCached(){return this.#realpath}readdirCached(){let children=this.children();return children.slice(0,children.provisional)}canReadlink(){if(this.#linkTarget)return !0;if(!this.parent)return !1;let ifmt=this.#type&IFMT;return !(ifmt!==UNKNOWN&&ifmt!==IFLNK||this.#type&ENOREADLINK||this.#type&ENOENT)}calledReaddir(){return !!(this.#type&READDIR_CALLED)}isENOENT(){return !!(this.#type&ENOENT)}isNamed(n){return this.nocase?this.#matchName===normalizeNocase(n):this.#matchName===normalize(n)}async readlink(){let target=this.#linkTarget;if(target)return target;if(this.canReadlink()&&this.parent)try{let read=await this.#fs.promises.readlink(this.fullpath()),linkTarget=this.parent.resolve(read);if(linkTarget)return this.#linkTarget=linkTarget}catch(er){this.#readlinkFail(er.code);return}}readlinkSync(){let target=this.#linkTarget;if(target)return target;if(this.canReadlink()&&this.parent)try{let read=this.#fs.readlinkSync(this.fullpath()),linkTarget=this.parent.resolve(read);if(linkTarget)return this.#linkTarget=linkTarget}catch(er){this.#readlinkFail(er.code);return}}#readdirSuccess(children){this.#type|=READDIR_CALLED;for(let p=children.provisional;p<children.length;p++)children[p].#markENOENT();}#markENOENT(){this.#type&ENOENT||(this.#type=(this.#type|ENOENT)&IFMT_UNKNOWN,this.#markChildrenENOENT());}#markChildrenENOENT(){let children=this.children();children.provisional=0;for(let p of children)p.#markENOENT();}#markENOREALPATH(){this.#type|=ENOREALPATH,this.#markENOTDIR();}#markENOTDIR(){if(this.#type&ENOTDIR)return;let t2=this.#type;(t2&IFMT)===IFDIR&&(t2&=IFMT_UNKNOWN),this.#type=t2|ENOTDIR,this.#markChildrenENOENT();}#readdirFail(code=""){code==="ENOTDIR"||code==="EPERM"?this.#markENOTDIR():code==="ENOENT"?this.#markENOENT():this.children().provisional=0;}#lstatFail(code=""){code==="ENOTDIR"?this.parent.#markENOTDIR():code==="ENOENT"&&this.#markENOENT();}#readlinkFail(code=""){let ter=this.#type;ter|=ENOREADLINK,code==="ENOENT"&&(ter|=ENOENT),(code==="EINVAL"||code==="UNKNOWN")&&(ter&=IFMT_UNKNOWN),this.#type=ter,code==="ENOTDIR"&&this.parent&&this.parent.#markENOTDIR();}#readdirAddChild(e,c){return this.#readdirMaybePromoteChild(e,c)||this.#readdirAddNewChild(e,c)}#readdirAddNewChild(e,c){let type=entToType(e),child=this.newChild(e.name,type,{parent:this}),ifmt=child.#type&IFMT;return ifmt!==IFDIR&&ifmt!==IFLNK&&ifmt!==UNKNOWN&&(child.#type|=ENOTDIR),c.unshift(child),c.provisional++,child}#readdirMaybePromoteChild(e,c){for(let p=c.provisional;p<c.length;p++){let pchild=c[p];if((this.nocase?normalizeNocase(e.name):normalize(e.name))===pchild.#matchName)return this.#readdirPromoteChild(e,pchild,p,c)}}#readdirPromoteChild(e,p,index,c){let v=p.name;return p.#type=p.#type&IFMT_UNKNOWN|entToType(e),v!==e.name&&(p.name=e.name),index!==c.provisional&&(index===c.length-1?c.pop():c.splice(index,1),c.unshift(p)),c.provisional++,p}async lstat(){if(!(this.#type&ENOENT))try{return this.#applyStat(await this.#fs.promises.lstat(this.fullpath())),this}catch(er){this.#lstatFail(er.code);}}lstatSync(){if(!(this.#type&ENOENT))try{return this.#applyStat(this.#fs.lstatSync(this.fullpath())),this}catch(er){this.#lstatFail(er.code);}}#applyStat(st){let{atime,atimeMs,birthtime,birthtimeMs,blksize,blocks,ctime,ctimeMs,dev:dev2,gid,ino,mode,mtime,mtimeMs,nlink,rdev,size,uid}=st;this.#atime=atime,this.#atimeMs=atimeMs,this.#birthtime=birthtime,this.#birthtimeMs=birthtimeMs,this.#blksize=blksize,this.#blocks=blocks,this.#ctime=ctime,this.#ctimeMs=ctimeMs,this.#dev=dev2,this.#gid=gid,this.#ino=ino,this.#mode=mode,this.#mtime=mtime,this.#mtimeMs=mtimeMs,this.#nlink=nlink,this.#rdev=rdev,this.#size=size,this.#uid=uid;let ifmt=entToType(st);this.#type=this.#type&IFMT_UNKNOWN|ifmt|LSTAT_CALLED,ifmt!==UNKNOWN&&ifmt!==IFDIR&&ifmt!==IFLNK&&(this.#type|=ENOTDIR);}#onReaddirCB=[];#readdirCBInFlight=!1;#callOnReaddirCB(children){this.#readdirCBInFlight=!1;let cbs=this.#onReaddirCB.slice();this.#onReaddirCB.length=0,cbs.forEach(cb=>cb(null,children));}readdirCB(cb,allowZalgo=!1){if(!this.canReaddir()){allowZalgo?cb(null,[]):queueMicrotask(()=>cb(null,[]));return}let children=this.children();if(this.calledReaddir()){let c=children.slice(0,children.provisional);allowZalgo?cb(null,c):queueMicrotask(()=>cb(null,c));return}if(this.#onReaddirCB.push(cb),this.#readdirCBInFlight)return;this.#readdirCBInFlight=!0;let fullpath=this.fullpath();this.#fs.readdir(fullpath,{withFileTypes:!0},(er,entries2)=>{if(er)this.#readdirFail(er.code),children.provisional=0;else {for(let e of entries2)this.#readdirAddChild(e,children);this.#readdirSuccess(children);}this.#callOnReaddirCB(children.slice(0,children.provisional));});}#asyncReaddirInFlight;async readdir(){if(!this.canReaddir())return [];let children=this.children();if(this.calledReaddir())return children.slice(0,children.provisional);let fullpath=this.fullpath();if(this.#asyncReaddirInFlight)await this.#asyncReaddirInFlight;else {let resolve2=()=>{};this.#asyncReaddirInFlight=new Promise(res=>resolve2=res);try{for(let e of await this.#fs.promises.readdir(fullpath,{withFileTypes:!0}))this.#readdirAddChild(e,children);this.#readdirSuccess(children);}catch(er){this.#readdirFail(er.code),children.provisional=0;}this.#asyncReaddirInFlight=void 0,resolve2();}return children.slice(0,children.provisional)}readdirSync(){if(!this.canReaddir())return [];let children=this.children();if(this.calledReaddir())return children.slice(0,children.provisional);let fullpath=this.fullpath();try{for(let e of this.#fs.readdirSync(fullpath,{withFileTypes:!0}))this.#readdirAddChild(e,children);this.#readdirSuccess(children);}catch(er){this.#readdirFail(er.code),children.provisional=0;}return children.slice(0,children.provisional)}canReaddir(){if(this.#type&ENOCHILD)return !1;let ifmt=IFMT&this.#type;return ifmt===UNKNOWN||ifmt===IFDIR||ifmt===IFLNK}shouldWalk(dirs,walkFilter){return (this.#type&IFDIR)===IFDIR&&!(this.#type&ENOCHILD)&&!dirs.has(this)&&(!walkFilter||walkFilter(this))}async realpath(){if(this.#realpath)return this.#realpath;if(!((ENOREALPATH|ENOREADLINK|ENOENT)&this.#type))try{let rp=await this.#fs.promises.realpath(this.fullpath());return this.#realpath=this.resolve(rp)}catch{this.#markENOREALPATH();}}realpathSync(){if(this.#realpath)return this.#realpath;if(!((ENOREALPATH|ENOREADLINK|ENOENT)&this.#type))try{let rp=this.#fs.realpathSync(this.fullpath());return this.#realpath=this.resolve(rp)}catch{this.#markENOREALPATH();}}[setAsCwd](oldCwd){if(oldCwd===this)return;let changed=new Set([]),rp=[],p=this;for(;p&&p.parent;)changed.add(p),p.#relative=rp.join(this.sep),p.#relativePosix=rp.join("/"),p=p.parent,rp.push("..");for(p=oldCwd;p&&p.parent&&!changed.has(p);)p.#relative=void 0,p.#relativePosix=void 0,p=p.parent;}},PathWin32=class _PathWin32 extends PathBase{sep="\\";splitSep=eitherSep;constructor(name,type=UNKNOWN,root,roots,nocase,children,opts){super(name,type,root,roots,nocase,children,opts);}newChild(name,type=UNKNOWN,opts={}){return new _PathWin32(name,type,this.root,this.roots,this.nocase,this.childrenCache(),opts)}getRootString(path10){return win32.parse(path10).root}getRoot(rootPath){if(rootPath=uncToDrive(rootPath.toUpperCase()),rootPath===this.root.name)return this.root;for(let[compare,root]of Object.entries(this.roots))if(this.sameRoot(rootPath,compare))return this.roots[rootPath]=root;return this.roots[rootPath]=new PathScurryWin32(rootPath,this).root}sameRoot(rootPath,compare=this.root.name){return rootPath=rootPath.toUpperCase().replace(/\//g,"\\").replace(uncDriveRegexp,"$1\\"),rootPath===compare}},PathPosix=class _PathPosix extends PathBase{splitSep="/";sep="/";constructor(name,type=UNKNOWN,root,roots,nocase,children,opts){super(name,type,root,roots,nocase,children,opts);}getRootString(path10){return path10.startsWith("/")?"/":""}getRoot(_rootPath){return this.root}newChild(name,type=UNKNOWN,opts={}){return new _PathPosix(name,type,this.root,this.roots,this.nocase,this.childrenCache(),opts)}},PathScurryBase=class{root;rootPath;roots;cwd;#resolveCache;#resolvePosixCache;#children;nocase;#fs;constructor(cwd=process.cwd(),pathImpl,sep2,{nocase,childrenCacheSize=16*1024,fs:fs6=defaultFS}={}){this.#fs=fsFromOption(fs6),(cwd instanceof URL||cwd.startsWith("file://"))&&(cwd=fileURLToPath(cwd));let cwdPath=pathImpl.resolve(cwd);this.roots=Object.create(null),this.rootPath=this.parseRootPath(cwdPath),this.#resolveCache=new ResolveCache,this.#resolvePosixCache=new ResolveCache,this.#children=new ChildrenCache(childrenCacheSize);let split=cwdPath.substring(this.rootPath.length).split(sep2);if(split.length===1&&!split[0]&&split.pop(),nocase===void 0)throw new TypeError("must provide nocase setting to PathScurryBase ctor");this.nocase=nocase,this.root=this.newRoot(this.#fs),this.roots[this.rootPath]=this.root;let prev=this.root,len=split.length-1,joinSep=pathImpl.sep,abs=this.rootPath,sawFirst=!1;for(let part of split){let l=len--;prev=prev.child(part,{relative:new Array(l).fill("..").join(joinSep),relativePosix:new Array(l).fill("..").join("/"),fullpath:abs+=(sawFirst?"":joinSep)+part}),sawFirst=!0;}this.cwd=prev;}depth(path10=this.cwd){return typeof path10=="string"&&(path10=this.cwd.resolve(path10)),path10.depth()}childrenCache(){return this.#children}resolve(...paths){let r="";for(let i=paths.length-1;i>=0;i--){let p=paths[i];if(!(!p||p===".")&&(r=r?`${p}/${r}`:p,this.isAbsolute(p)))break}let cached=this.#resolveCache.get(r);if(cached!==void 0)return cached;let result=this.cwd.resolve(r).fullpath();return this.#resolveCache.set(r,result),result}resolvePosix(...paths){let r="";for(let i=paths.length-1;i>=0;i--){let p=paths[i];if(!(!p||p===".")&&(r=r?`${p}/${r}`:p,this.isAbsolute(p)))break}let cached=this.#resolvePosixCache.get(r);if(cached!==void 0)return cached;let result=this.cwd.resolve(r).fullpathPosix();return this.#resolvePosixCache.set(r,result),result}relative(entry=this.cwd){return typeof entry=="string"&&(entry=this.cwd.resolve(entry)),entry.relative()}relativePosix(entry=this.cwd){return typeof entry=="string"&&(entry=this.cwd.resolve(entry)),entry.relativePosix()}basename(entry=this.cwd){return typeof entry=="string"&&(entry=this.cwd.resolve(entry)),entry.name}dirname(entry=this.cwd){return typeof entry=="string"&&(entry=this.cwd.resolve(entry)),(entry.parent||entry).fullpath()}async readdir(entry=this.cwd,opts={withFileTypes:!0}){typeof entry=="string"?entry=this.cwd.resolve(entry):entry instanceof PathBase||(opts=entry,entry=this.cwd);let{withFileTypes}=opts;if(entry.canReaddir()){let p=await entry.readdir();return withFileTypes?p:p.map(e=>e.name)}else return []}readdirSync(entry=this.cwd,opts={withFileTypes:!0}){typeof entry=="string"?entry=this.cwd.resolve(entry):entry instanceof PathBase||(opts=entry,entry=this.cwd);let{withFileTypes=!0}=opts;return entry.canReaddir()?withFileTypes?entry.readdirSync():entry.readdirSync().map(e=>e.name):[]}async lstat(entry=this.cwd){return typeof entry=="string"&&(entry=this.cwd.resolve(entry)),entry.lstat()}lstatSync(entry=this.cwd){return typeof entry=="string"&&(entry=this.cwd.resolve(entry)),entry.lstatSync()}async readlink(entry=this.cwd,{withFileTypes}={withFileTypes:!1}){typeof entry=="string"?entry=this.cwd.resolve(entry):entry instanceof PathBase||(withFileTypes=entry.withFileTypes,entry=this.cwd);let e=await entry.readlink();return withFileTypes?e:e?.fullpath()}readlinkSync(entry=this.cwd,{withFileTypes}={withFileTypes:!1}){typeof entry=="string"?entry=this.cwd.resolve(entry):entry instanceof PathBase||(withFileTypes=entry.withFileTypes,entry=this.cwd);let e=entry.readlinkSync();return withFileTypes?e:e?.fullpath()}async realpath(entry=this.cwd,{withFileTypes}={withFileTypes:!1}){typeof entry=="string"?entry=this.cwd.resolve(entry):entry instanceof PathBase||(withFileTypes=entry.withFileTypes,entry=this.cwd);let e=await entry.realpath();return withFileTypes?e:e?.fullpath()}realpathSync(entry=this.cwd,{withFileTypes}={withFileTypes:!1}){typeof entry=="string"?entry=this.cwd.resolve(entry):entry instanceof PathBase||(withFileTypes=entry.withFileTypes,entry=this.cwd);let e=entry.realpathSync();return withFileTypes?e:e?.fullpath()}async walk(entry=this.cwd,opts={}){typeof entry=="string"?entry=this.cwd.resolve(entry):entry instanceof PathBase||(opts=entry,entry=this.cwd);let{withFileTypes=!0,follow=!1,filter:filter2,walkFilter}=opts,results=[];(!filter2||filter2(entry))&&results.push(withFileTypes?entry:entry.fullpath());let dirs=new Set,walk=(dir,cb)=>{dirs.add(dir),dir.readdirCB((er,entries2)=>{if(er)return cb(er);let len=entries2.length;if(!len)return cb();let next=()=>{--len===0&&cb();};for(let e of entries2)(!filter2||filter2(e))&&results.push(withFileTypes?e:e.fullpath()),follow&&e.isSymbolicLink()?e.realpath().then(r=>r?.isUnknown()?r.lstat():r).then(r=>r?.shouldWalk(dirs,walkFilter)?walk(r,next):next()):e.shouldWalk(dirs,walkFilter)?walk(e,next):next();},!0);},start=entry;return new Promise((res,rej)=>{walk(start,er=>{if(er)return rej(er);res(results);});})}walkSync(entry=this.cwd,opts={}){typeof entry=="string"?entry=this.cwd.resolve(entry):entry instanceof PathBase||(opts=entry,entry=this.cwd);let{withFileTypes=!0,follow=!1,filter:filter2,walkFilter}=opts,results=[];(!filter2||filter2(entry))&&results.push(withFileTypes?entry:entry.fullpath());let dirs=new Set([entry]);for(let dir of dirs){let entries2=dir.readdirSync();for(let e of entries2){(!filter2||filter2(e))&&results.push(withFileTypes?e:e.fullpath());let r=e;if(e.isSymbolicLink()){if(!(follow&&(r=e.realpathSync())))continue;r.isUnknown()&&r.lstatSync();}r.shouldWalk(dirs,walkFilter)&&dirs.add(r);}}return results}[Symbol.asyncIterator](){return this.iterate()}iterate(entry=this.cwd,options={}){return typeof entry=="string"?entry=this.cwd.resolve(entry):entry instanceof PathBase||(options=entry,entry=this.cwd),this.stream(entry,options)[Symbol.asyncIterator]()}[Symbol.iterator](){return this.iterateSync()}*iterateSync(entry=this.cwd,opts={}){typeof entry=="string"?entry=this.cwd.resolve(entry):entry instanceof PathBase||(opts=entry,entry=this.cwd);let{withFileTypes=!0,follow=!1,filter:filter2,walkFilter}=opts;(!filter2||filter2(entry))&&(yield withFileTypes?entry:entry.fullpath());let dirs=new Set([entry]);for(let dir of dirs){let entries2=dir.readdirSync();for(let e of entries2){(!filter2||filter2(e))&&(yield withFileTypes?e:e.fullpath());let r=e;if(e.isSymbolicLink()){if(!(follow&&(r=e.realpathSync())))continue;r.isUnknown()&&r.lstatSync();}r.shouldWalk(dirs,walkFilter)&&dirs.add(r);}}}stream(entry=this.cwd,opts={}){typeof entry=="string"?entry=this.cwd.resolve(entry):entry instanceof PathBase||(opts=entry,entry=this.cwd);let{withFileTypes=!0,follow=!1,filter:filter2,walkFilter}=opts,results=new Minipass({objectMode:!0});(!filter2||filter2(entry))&&results.write(withFileTypes?entry:entry.fullpath());let dirs=new Set,queue=[entry],processing=0,process4=()=>{let paused=!1;for(;!paused;){let dir=queue.shift();if(!dir){processing===0&&results.end();return}processing++,dirs.add(dir);let onReaddir=(er,entries2,didRealpaths=!1)=>{if(er)return results.emit("error",er);if(follow&&!didRealpaths){let promises=[];for(let e of entries2)e.isSymbolicLink()&&promises.push(e.realpath().then(r=>r?.isUnknown()?r.lstat():r));if(promises.length){Promise.all(promises).then(()=>onReaddir(null,entries2,!0));return}}for(let e of entries2)e&&(!filter2||filter2(e))&&(results.write(withFileTypes?e:e.fullpath())||(paused=!0));processing--;for(let e of entries2){let r=e.realpathCached()||e;r.shouldWalk(dirs,walkFilter)&&queue.push(r);}paused&&!results.flowing?results.once("drain",process4):sync2||process4();},sync2=!0;dir.readdirCB(onReaddir,!0),sync2=!1;}};return process4(),results}streamSync(entry=this.cwd,opts={}){typeof entry=="string"?entry=this.cwd.resolve(entry):entry instanceof PathBase||(opts=entry,entry=this.cwd);let{withFileTypes=!0,follow=!1,filter:filter2,walkFilter}=opts,results=new Minipass({objectMode:!0}),dirs=new Set;(!filter2||filter2(entry))&&results.write(withFileTypes?entry:entry.fullpath());let queue=[entry],processing=0,process4=()=>{let paused=!1;for(;!paused;){let dir=queue.shift();if(!dir){processing===0&&results.end();return}processing++,dirs.add(dir);let entries2=dir.readdirSync();for(let e of entries2)(!filter2||filter2(e))&&(results.write(withFileTypes?e:e.fullpath())||(paused=!0));processing--;for(let e of entries2){let r=e;if(e.isSymbolicLink()){if(!(follow&&(r=e.realpathSync())))continue;r.isUnknown()&&r.lstatSync();}r.shouldWalk(dirs,walkFilter)&&queue.push(r);}}paused&&!results.flowing&&results.once("drain",process4);};return process4(),results}chdir(path10=this.cwd){let oldCwd=this.cwd;this.cwd=typeof path10=="string"?this.cwd.resolve(path10):path10,this.cwd[setAsCwd](oldCwd);}},PathScurryWin32=class extends PathScurryBase{sep="\\";constructor(cwd=process.cwd(),opts={}){let{nocase=!0}=opts;super(cwd,win32,"\\",{...opts,nocase}),this.nocase=nocase;for(let p=this.cwd;p;p=p.parent)p.nocase=this.nocase;}parseRootPath(dir){return win32.parse(dir).root.toUpperCase()}newRoot(fs6){return new PathWin32(this.rootPath,IFDIR,void 0,this.roots,this.nocase,this.childrenCache(),{fs:fs6})}isAbsolute(p){return p.startsWith("/")||p.startsWith("\\")||/^[a-z]:(\/|\\)/i.test(p)}},PathScurryPosix=class extends PathScurryBase{sep="/";constructor(cwd=process.cwd(),opts={}){let{nocase=!1}=opts;super(cwd,posix,"/",{...opts,nocase}),this.nocase=nocase;}parseRootPath(_dir){return "/"}newRoot(fs6){return new PathPosix(this.rootPath,IFDIR,void 0,this.roots,this.nocase,this.childrenCache(),{fs:fs6})}isAbsolute(p){return p.startsWith("/")}},PathScurryDarwin=class extends PathScurryPosix{constructor(cwd=process.cwd(),opts={}){let{nocase=!0}=opts;super(cwd,{...opts,nocase});}};process.platform==="win32"?PathWin32:PathPosix;var PathScurry=process.platform==="win32"?PathScurryWin32:process.platform==="darwin"?PathScurryDarwin:PathScurryPosix;var isPatternList=pl=>pl.length>=1,isGlobList=gl=>gl.length>=1,Pattern=class _Pattern{#patternList;#globList;#index;length;#platform;#rest;#globString;#isDrive;#isUNC;#isAbsolute;#followGlobstar=!0;constructor(patternList,globList,index,platform){if(!isPatternList(patternList))throw new TypeError("empty pattern list");if(!isGlobList(globList))throw new TypeError("empty glob list");if(globList.length!==patternList.length)throw new TypeError("mismatched pattern list and glob list lengths");if(this.length=patternList.length,index<0||index>=this.length)throw new TypeError("index out of range");if(this.#patternList=patternList,this.#globList=globList,this.#index=index,this.#platform=platform,this.#index===0){if(this.isUNC()){let[p0,p1,p2,p3,...prest]=this.#patternList,[g0,g1,g2,g3,...grest]=this.#globList;prest[0]===""&&(prest.shift(),grest.shift());let p=[p0,p1,p2,p3,""].join("/"),g=[g0,g1,g2,g3,""].join("/");this.#patternList=[p,...prest],this.#globList=[g,...grest],this.length=this.#patternList.length;}else if(this.isDrive()||this.isAbsolute()){let[p1,...prest]=this.#patternList,[g1,...grest]=this.#globList;prest[0]===""&&(prest.shift(),grest.shift());let p=p1+"/",g=g1+"/";this.#patternList=[p,...prest],this.#globList=[g,...grest],this.length=this.#patternList.length;}}}pattern(){return this.#patternList[this.#index]}isString(){return typeof this.#patternList[this.#index]=="string"}isGlobstar(){return this.#patternList[this.#index]===GLOBSTAR}isRegExp(){return this.#patternList[this.#index]instanceof RegExp}globString(){return this.#globString=this.#globString||(this.#index===0?this.isAbsolute()?this.#globList[0]+this.#globList.slice(1).join("/"):this.#globList.join("/"):this.#globList.slice(this.#index).join("/"))}hasMore(){return this.length>this.#index+1}rest(){return this.#rest!==void 0?this.#rest:this.hasMore()?(this.#rest=new _Pattern(this.#patternList,this.#globList,this.#index+1,this.#platform),this.#rest.#isAbsolute=this.#isAbsolute,this.#rest.#isUNC=this.#isUNC,this.#rest.#isDrive=this.#isDrive,this.#rest):this.#rest=null}isUNC(){let pl=this.#patternList;return this.#isUNC!==void 0?this.#isUNC:this.#isUNC=this.#platform==="win32"&&this.#index===0&&pl[0]===""&&pl[1]===""&&typeof pl[2]=="string"&&!!pl[2]&&typeof pl[3]=="string"&&!!pl[3]}isDrive(){let pl=this.#patternList;return this.#isDrive!==void 0?this.#isDrive:this.#isDrive=this.#platform==="win32"&&this.#index===0&&this.length>1&&typeof pl[0]=="string"&&/^[a-z]:$/i.test(pl[0])}isAbsolute(){let pl=this.#patternList;return this.#isAbsolute!==void 0?this.#isAbsolute:this.#isAbsolute=pl[0]===""&&pl.length>1||this.isDrive()||this.isUNC()}root(){let p=this.#patternList[0];return typeof p=="string"&&this.isAbsolute()&&this.#index===0?p:""}checkFollowGlobstar(){return !(this.#index===0||!this.isGlobstar()||!this.#followGlobstar)}markFollowGlobstar(){return this.#index===0||!this.isGlobstar()||!this.#followGlobstar?!1:(this.#followGlobstar=!1,!0)}};var defaultPlatform2=typeof process=="object"&&process&&typeof process.platform=="string"?process.platform:"linux",Ignore=class{relative;relativeChildren;absolute;absoluteChildren;constructor(ignored,{nobrace,nocase,noext,noglobstar,platform=defaultPlatform2}){this.relative=[],this.absolute=[],this.relativeChildren=[],this.absoluteChildren=[];let mmopts={dot:!0,nobrace,nocase,noext,noglobstar,optimizationLevel:2,platform,nocomment:!0,nonegate:!0};for(let ign of ignored){let mm=new Minimatch(ign,mmopts);for(let i=0;i<mm.set.length;i++){let parsed=mm.set[i],globParts=mm.globParts[i];if(!parsed||!globParts)throw new Error("invalid pattern object");let p=new Pattern(parsed,globParts,0,platform),m=new Minimatch(p.globString(),mmopts),children=globParts[globParts.length-1]==="**",absolute=p.isAbsolute();absolute?this.absolute.push(m):this.relative.push(m),children&&(absolute?this.absoluteChildren.push(m):this.relativeChildren.push(m));}}}ignored(p){let fullpath=p.fullpath(),fullpaths=`${fullpath}/`,relative=p.relative()||".",relatives=`${relative}/`;for(let m of this.relative)if(m.match(relative)||m.match(relatives))return !0;for(let m of this.absolute)if(m.match(fullpath)||m.match(fullpaths))return !0;return !1}childrenIgnored(p){let fullpath=p.fullpath()+"/",relative=(p.relative()||".")+"/";for(let m of this.relativeChildren)if(m.match(relative))return !0;for(let m of this.absoluteChildren)if(m.match(fullpath))return !0;return !1}};var HasWalkedCache=class _HasWalkedCache{store;constructor(store=new Map){this.store=store;}copy(){return new _HasWalkedCache(new Map(this.store))}hasWalked(target,pattern){return this.store.get(target.fullpath())?.has(pattern.globString())}storeWalked(target,pattern){let fullpath=target.fullpath(),cached=this.store.get(fullpath);cached?cached.add(pattern.globString()):this.store.set(fullpath,new Set([pattern.globString()]));}},MatchRecord=class{store=new Map;add(target,absolute,ifDir){let n=(absolute?2:0)|(ifDir?1:0),current=this.store.get(target);this.store.set(target,current===void 0?n:n¤t);}entries(){return [...this.store.entries()].map(([path10,n])=>[path10,!!(n&2),!!(n&1)])}},SubWalks=class{store=new Map;add(target,pattern){if(!target.canReaddir())return;let subs=this.store.get(target);subs?subs.find(p=>p.globString()===pattern.globString())||subs.push(pattern):this.store.set(target,[pattern]);}get(target){let subs=this.store.get(target);if(!subs)throw new Error("attempting to walk unknown path");return subs}entries(){return this.keys().map(k=>[k,this.store.get(k)])}keys(){return [...this.store.keys()].filter(t2=>t2.canReaddir())}},Processor=class _Processor{hasWalkedCache;matches=new MatchRecord;subwalks=new SubWalks;patterns;follow;dot;opts;constructor(opts,hasWalkedCache){this.opts=opts,this.follow=!!opts.follow,this.dot=!!opts.dot,this.hasWalkedCache=hasWalkedCache?hasWalkedCache.copy():new HasWalkedCache;}processPatterns(target,patterns){this.patterns=patterns;let processingSet=patterns.map(p=>[target,p]);for(let[t2,pattern]of processingSet){this.hasWalkedCache.storeWalked(t2,pattern);let root=pattern.root(),absolute=pattern.isAbsolute()&&this.opts.absolute!==!1;if(root){t2=t2.resolve(root==="/"&&this.opts.root!==void 0?this.opts.root:root);let rest2=pattern.rest();if(rest2)pattern=rest2;else {this.matches.add(t2,!0,!1);continue}}if(t2.isENOENT())continue;let p,rest,changed=!1;for(;typeof(p=pattern.pattern())=="string"&&(rest=pattern.rest());)t2=t2.resolve(p),pattern=rest,changed=!0;if(p=pattern.pattern(),rest=pattern.rest(),changed){if(this.hasWalkedCache.hasWalked(t2,pattern))continue;this.hasWalkedCache.storeWalked(t2,pattern);}if(typeof p=="string"){let ifDir=p===".."||p===""||p===".";this.matches.add(t2.resolve(p),absolute,ifDir);continue}else if(p===GLOBSTAR){(!t2.isSymbolicLink()||this.follow||pattern.checkFollowGlobstar())&&this.subwalks.add(t2,pattern);let rp=rest?.pattern(),rrest=rest?.rest();if(!rest||(rp===""||rp===".")&&!rrest)this.matches.add(t2,absolute,rp===""||rp===".");else if(rp===".."){let tp=t2.parent||t2;rrest?this.hasWalkedCache.hasWalked(tp,rrest)||this.subwalks.add(tp,rrest):this.matches.add(tp,absolute,!0);}}else p instanceof RegExp&&this.subwalks.add(t2,pattern);}return this}subwalkTargets(){return this.subwalks.keys()}child(){return new _Processor(this.opts,this.hasWalkedCache)}filterEntries(parent,entries2){let patterns=this.subwalks.get(parent),results=this.child();for(let e of entries2)for(let pattern of patterns){let absolute=pattern.isAbsolute(),p=pattern.pattern(),rest=pattern.rest();p===GLOBSTAR?results.testGlobstar(e,pattern,rest,absolute):p instanceof RegExp?results.testRegExp(e,p,rest,absolute):results.testString(e,p,rest,absolute);}return results}testGlobstar(e,pattern,rest,absolute){if((this.dot||!e.name.startsWith("."))&&(pattern.hasMore()||this.matches.add(e,absolute,!1),e.canReaddir()&&(this.follow||!e.isSymbolicLink()?this.subwalks.add(e,pattern):e.isSymbolicLink()&&(rest&&pattern.checkFollowGlobstar()?this.subwalks.add(e,rest):pattern.markFollowGlobstar()&&this.subwalks.add(e,pattern)))),rest){let rp=rest.pattern();if(typeof rp=="string"&&rp!==".."&&rp!==""&&rp!==".")this.testString(e,rp,rest.rest(),absolute);else if(rp===".."){let ep=e.parent||e;this.subwalks.add(ep,rest);}else rp instanceof RegExp&&this.testRegExp(e,rp,rest.rest(),absolute);}}testRegExp(e,p,rest,absolute){p.test(e.name)&&(rest?this.subwalks.add(e,rest):this.matches.add(e,absolute,!1));}testString(e,p,rest,absolute){e.isNamed(p)&&(rest?this.subwalks.add(e,rest):this.matches.add(e,absolute,!1));}};var makeIgnore=(ignore,opts)=>typeof ignore=="string"?new Ignore([ignore],opts):Array.isArray(ignore)?new Ignore(ignore,opts):ignore,GlobUtil=class{path;patterns;opts;seen=new Set;paused=!1;aborted=!1;#onResume=[];#ignore;#sep;signal;maxDepth;constructor(patterns,path10,opts){this.patterns=patterns,this.path=path10,this.opts=opts,this.#sep=!opts.posix&&opts.platform==="win32"?"\\":"/",opts.ignore&&(this.#ignore=makeIgnore(opts.ignore,opts)),this.maxDepth=opts.maxDepth||1/0,opts.signal&&(this.signal=opts.signal,this.signal.addEventListener("abort",()=>{this.#onResume.length=0;}));}#ignored(path10){return this.seen.has(path10)||!!this.#ignore?.ignored?.(path10)}#childrenIgnored(path10){return !!this.#ignore?.childrenIgnored?.(path10)}pause(){this.paused=!0;}resume(){if(this.signal?.aborted)return;this.paused=!1;let fn;for(;!this.paused&&(fn=this.#onResume.shift());)fn();}onResume(fn){this.signal?.aborted||(this.paused?this.#onResume.push(fn):fn());}async matchCheck(e,ifDir){if(ifDir&&this.opts.nodir)return;let rpc;if(this.opts.realpath){if(rpc=e.realpathCached()||await e.realpath(),!rpc)return;e=rpc;}let needStat=e.isUnknown()||this.opts.stat;return this.matchCheckTest(needStat?await e.lstat():e,ifDir)}matchCheckTest(e,ifDir){return e&&(this.maxDepth===1/0||e.depth()<=this.maxDepth)&&(!ifDir||e.canReaddir())&&(!this.opts.nodir||!e.isDirectory())&&!this.#ignored(e)?e:void 0}matchCheckSync(e,ifDir){if(ifDir&&this.opts.nodir)return;let rpc;if(this.opts.realpath){if(rpc=e.realpathCached()||e.realpathSync(),!rpc)return;e=rpc;}let needStat=e.isUnknown()||this.opts.stat;return this.matchCheckTest(needStat?e.lstatSync():e,ifDir)}matchFinish(e,absolute){if(this.#ignored(e))return;let abs=this.opts.absolute===void 0?absolute:this.opts.absolute;this.seen.add(e);let mark=this.opts.mark&&e.isDirectory()?this.#sep:"";if(this.opts.withFileTypes)this.matchEmit(e);else if(abs){let abs2=this.opts.posix?e.fullpathPosix():e.fullpath();this.matchEmit(abs2+mark);}else {let rel=this.opts.posix?e.relativePosix():e.relative(),pre=this.opts.dotRelative&&!rel.startsWith(".."+this.#sep)?"."+this.#sep:"";this.matchEmit(rel?pre+rel+mark:"."+mark);}}async match(e,absolute,ifDir){let p=await this.matchCheck(e,ifDir);p&&this.matchFinish(p,absolute);}matchSync(e,absolute,ifDir){let p=this.matchCheckSync(e,ifDir);p&&this.matchFinish(p,absolute);}walkCB(target,patterns,cb){this.signal?.aborted&&cb(),this.walkCB2(target,patterns,new Processor(this.opts),cb);}walkCB2(target,patterns,processor,cb){if(this.#childrenIgnored(target))return cb();if(this.signal?.aborted&&cb(),this.paused){this.onResume(()=>this.walkCB2(target,patterns,processor,cb));return}processor.processPatterns(target,patterns);let tasks=1,next=()=>{--tasks===0&&cb();};for(let[m,absolute,ifDir]of processor.matches.entries())this.#ignored(m)||(tasks++,this.match(m,absolute,ifDir).then(()=>next()));for(let t2 of processor.subwalkTargets()){if(this.maxDepth!==1/0&&t2.depth()>=this.maxDepth)continue;tasks++;let childrenCached=t2.readdirCached();t2.calledReaddir()?this.walkCB3(t2,childrenCached,processor,next):t2.readdirCB((_,entries2)=>this.walkCB3(t2,entries2,processor,next),!0);}next();}walkCB3(target,entries2,processor,cb){processor=processor.filterEntries(target,entries2);let tasks=1,next=()=>{--tasks===0&&cb();};for(let[m,absolute,ifDir]of processor.matches.entries())this.#ignored(m)||(tasks++,this.match(m,absolute,ifDir).then(()=>next()));for(let[target2,patterns]of processor.subwalks.entries())tasks++,this.walkCB2(target2,patterns,processor.child(),next);next();}walkCBSync(target,patterns,cb){this.signal?.aborted&&cb(),this.walkCB2Sync(target,patterns,new Processor(this.opts),cb);}walkCB2Sync(target,patterns,processor,cb){if(this.#childrenIgnored(target))return cb();if(this.signal?.aborted&&cb(),this.paused){this.onResume(()=>this.walkCB2Sync(target,patterns,processor,cb));return}processor.processPatterns(target,patterns);let tasks=1,next=()=>{--tasks===0&&cb();};for(let[m,absolute,ifDir]of processor.matches.entries())this.#ignored(m)||this.matchSync(m,absolute,ifDir);for(let t2 of processor.subwalkTargets()){if(this.maxDepth!==1/0&&t2.depth()>=this.maxDepth)continue;tasks++;let children=t2.readdirSync();this.walkCB3Sync(t2,children,processor,next);}next();}walkCB3Sync(target,entries2,processor,cb){processor=processor.filterEntries(target,entries2);let tasks=1,next=()=>{--tasks===0&&cb();};for(let[m,absolute,ifDir]of processor.matches.entries())this.#ignored(m)||this.matchSync(m,absolute,ifDir);for(let[target2,patterns]of processor.subwalks.entries())tasks++,this.walkCB2Sync(target2,patterns,processor.child(),next);next();}},GlobWalker=class extends GlobUtil{matches;constructor(patterns,path10,opts){super(patterns,path10,opts),this.matches=new Set;}matchEmit(e){this.matches.add(e);}async walk(){if(this.signal?.aborted)throw this.signal.reason;return this.path.isUnknown()&&await this.path.lstat(),await new Promise((res,rej)=>{this.walkCB(this.path,this.patterns,()=>{this.signal?.aborted?rej(this.signal.reason):res(this.matches);});}),this.matches}walkSync(){if(this.signal?.aborted)throw this.signal.reason;return this.path.isUnknown()&&this.path.lstatSync(),this.walkCBSync(this.path,this.patterns,()=>{if(this.signal?.aborted)throw this.signal.reason}),this.matches}},GlobStream=class extends GlobUtil{results;constructor(patterns,path10,opts){super(patterns,path10,opts),this.results=new Minipass({signal:this.signal,objectMode:!0}),this.results.on("drain",()=>this.resume()),this.results.on("resume",()=>this.resume());}matchEmit(e){this.results.write(e),this.results.flowing||this.pause();}stream(){let target=this.path;return target.isUnknown()?target.lstat().then(()=>{this.walkCB(target,this.patterns,()=>this.results.end());}):this.walkCB(target,this.patterns,()=>this.results.end()),this.results}streamSync(){return this.path.isUnknown()&&this.path.lstatSync(),this.walkCBSync(this.path,this.patterns,()=>this.results.end()),this.results}};var defaultPlatform3=typeof process=="object"&&process&&typeof process.platform=="string"?process.platform:"linux",Glob=class{absolute;cwd;root;dot;dotRelative;follow;ignore;magicalBraces;mark;matchBase;maxDepth;nobrace;nocase;nodir;noext;noglobstar;pattern;platform;realpath;scurry;stat;signal;windowsPathsNoEscape;withFileTypes;opts;patterns;constructor(pattern,opts){if(!opts)throw new TypeError("glob options required");if(this.withFileTypes=!!opts.withFileTypes,this.signal=opts.signal,this.follow=!!opts.follow,this.dot=!!opts.dot,this.dotRelative=!!opts.dotRelative,this.nodir=!!opts.nodir,this.mark=!!opts.mark,opts.cwd?(opts.cwd instanceof URL||opts.cwd.startsWith("file://"))&&(opts.cwd=fileURLToPath(opts.cwd)):this.cwd="",this.cwd=opts.cwd||"",this.root=opts.root,this.magicalBraces=!!opts.magicalBraces,this.nobrace=!!opts.nobrace,this.noext=!!opts.noext,this.realpath=!!opts.realpath,this.absolute=opts.absolute,this.noglobstar=!!opts.noglobstar,this.matchBase=!!opts.matchBase,this.maxDepth=typeof opts.maxDepth=="number"?opts.maxDepth:1/0,this.stat=!!opts.stat,this.ignore=opts.ignore,this.withFileTypes&&this.absolute!==void 0)throw new Error("cannot set absolute and withFileTypes:true");if(typeof pattern=="string"&&(pattern=[pattern]),this.windowsPathsNoEscape=!!opts.windowsPathsNoEscape||opts.allowWindowsEscape===!1,this.windowsPathsNoEscape&&(pattern=pattern.map(p=>p.replace(/\\/g,"/"))),this.matchBase){if(opts.noglobstar)throw new TypeError("base matching requires globstar");pattern=pattern.map(p=>p.includes("/")?p:`./**/${p}`);}if(this.pattern=pattern,this.platform=opts.platform||defaultPlatform3,this.opts={...opts,platform:this.platform},opts.scurry){if(this.scurry=opts.scurry,opts.nocase!==void 0&&opts.nocase!==opts.scurry.nocase)throw new Error("nocase option contradicts provided scurry option")}else {let Scurry=opts.platform==="win32"?PathScurryWin32:opts.platform==="darwin"?PathScurryDarwin:opts.platform?PathScurryPosix:PathScurry;this.scurry=new Scurry(this.cwd,{nocase:opts.nocase,fs:opts.fs});}this.nocase=this.scurry.nocase;let nocaseMagicOnly=this.platform==="darwin"||this.platform==="win32",mmo={...opts,dot:this.dot,matchBase:this.matchBase,nobrace:this.nobrace,nocase:this.nocase,nocaseMagicOnly,nocomment:!0,noext:this.noext,nonegate:!0,optimizationLevel:2,platform:this.platform,windowsPathsNoEscape:this.windowsPathsNoEscape,debug:!!this.opts.debug},mms=this.pattern.map(p=>new Minimatch(p,mmo)),[matchSet,globParts]=mms.reduce((set,m)=>(set[0].push(...m.set),set[1].push(...m.globParts),set),[[],[]]);this.patterns=matchSet.map((set,i)=>{let g=globParts[i];if(!g)throw new Error("invalid pattern object");return new Pattern(set,g,0,this.platform)});}async walk(){return [...await new GlobWalker(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==1/0?this.maxDepth+this.scurry.cwd.depth():1/0,platform:this.platform,nocase:this.nocase}).walk()]}walkSync(){return [...new GlobWalker(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==1/0?this.maxDepth+this.scurry.cwd.depth():1/0,platform:this.platform,nocase:this.nocase}).walkSync()]}stream(){return new GlobStream(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==1/0?this.maxDepth+this.scurry.cwd.depth():1/0,platform:this.platform,nocase:this.nocase}).stream()}streamSync(){return new GlobStream(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==1/0?this.maxDepth+this.scurry.cwd.depth():1/0,platform:this.platform,nocase:this.nocase}).streamSync()}iterateSync(){return this.streamSync()[Symbol.iterator]()}[Symbol.iterator](){return this.iterateSync()}iterate(){return this.stream()[Symbol.asyncIterator]()}[Symbol.asyncIterator](){return this.iterate()}};var hasMagic=(pattern,options={})=>{Array.isArray(pattern)||(pattern=[pattern]);for(let p of pattern)if(new Minimatch(p,options).hasMagic())return !0;return !1};function globStreamSync(pattern,options={}){return new Glob(pattern,options).streamSync()}function globStream(pattern,options={}){return new Glob(pattern,options).stream()}function globSync(pattern,options={}){return new Glob(pattern,options).walkSync()}async function glob_(pattern,options={}){return new Glob(pattern,options).walk()}function globIterateSync(pattern,options={}){return new Glob(pattern,options).iterateSync()}function globIterate(pattern,options={}){return new Glob(pattern,options).iterate()}var streamSync=globStreamSync,stream2=Object.assign(globStream,{sync:globStreamSync}),iterateSync=globIterateSync,iterate=Object.assign(globIterate,{sync:globIterateSync}),sync=Object.assign(globSync,{stream:globStreamSync,iterate:globIterateSync}),glob=Object.assign(glob_,{glob:glob_,globSync,sync,globStream,stream:stream2,globStreamSync,streamSync,globIterate,iterate,globIterateSync,iterateSync,Glob,hasMagic,escape,unescape});glob.glob=glob;var logger20=console,getNextGlob=globString=>{let extGlobsRegex=new RegExp(/(.*\.)(stories\.@.*)(\|mdx|mdx\|)(.*)$/i);if(globString.match(extGlobsRegex))return globString.replace(extGlobsRegex,"$1@(mdx|$2$4)");let allStoriesExtensionsRegex=new RegExp(/(.*\.)(stories\.\*)$/i);return globString.match(allStoriesExtensionsRegex)?globString.replace(allStoriesExtensionsRegex,"$1@(mdx|$2)"):globString.replaceAll(".stories.mdx",".mdx")},mdxToCSF={id:"mdx-to-csf",versionRange:["<7",">=7"],async check({mainConfig}){let existingStoriesEntries=mainConfig.stories;if(!existingStoriesEntries)throw new Error(dedent`
|
|
445
|
-
❌ Unable to determine Storybook stories globs in ${chalk15.blue(mainConfig)}, skipping ${chalk15.cyan(this.id)} fix.
|
|
446
|
-
|
|
447
|
-
In Storybook 7, we have deprecated defining stories in MDX files, and consequently have changed the suffix to simply .mdx.
|
|
448
|
-
|
|
449
|
-
Now, since Storybook 8.0, we have removed support for .stories.mdx files.
|
|
450
|
-
|
|
451
|
-
We were unable to automatically migrate your 'stories' config to include any .mdx file instead of just .stories.mdx.
|
|
452
|
-
We suggest you make this change manually.
|
|
453
|
-
To learn more about this change, see: ${chalk15.yellow("https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#mdx-docs-files")}
|
|
454
|
-
`);let files=[],nextStoriesEntries=await Promise.all(existingStoriesEntries.map(async entry=>{let isSpecifier=typeof entry!="string",globString=isSpecifier?entry.files:entry;if(!globString)return entry;files.push(...(await glob(globString)).filter(file=>file.endsWith(".stories.mdx")));let nextGlob=getNextGlob(globString);return isSpecifier?{...entry,files:nextGlob}:nextGlob})),resultFromMainConfig=checkMainConfigStories(existingStoriesEntries,nextStoriesEntries);return nextStoriesEntries&&resultFromMainConfig||files.length>0?{existingStoriesEntries,nextStoriesEntries,files}:null},prompt({existingStoriesEntries,nextStoriesEntries}){let prettyExistingStoriesEntries=existingStoriesEntries.map(entry=>JSON.stringify(entry,null,2)).join(`
|
|
455
|
-
`),prettyNextStoriesEntries=nextStoriesEntries.map(entry=>JSON.stringify(entry,null,2)).join(`
|
|
456
|
-
`);return dedent`
|
|
457
|
-
We've detected your project has one or more globs in your 'stories' config that matches .stories.mdx files:
|
|
458
|
-
${chalk15.cyan(prettyExistingStoriesEntries)}
|
|
459
|
-
|
|
460
|
-
In Storybook 7, we have deprecated defining stories in MDX files, and consequently have changed the suffix to simply .mdx. Since Storybook 8, we have removed the support of story definition in MDX files entirely. Therefore '.stories.mdx' files aren't supported anymore.
|
|
461
|
-
|
|
462
|
-
Now, since Storybook 8.0, we have removed support for .stories.mdx files.
|
|
463
|
-
|
|
464
|
-
We can automatically migrate your 'stories' config to include any .mdx file instead of just .stories.mdx.
|
|
465
|
-
That would result in the following 'stories' config:
|
|
466
|
-
${chalk15.cyan(prettyNextStoriesEntries)}
|
|
467
|
-
|
|
468
|
-
Additionally, we will run the 'mdx-to-csf' codemod for you, which tries to transform '*.stories.mdx' files to '*.stories.js' and '*.mdx' files.
|
|
469
|
-
|
|
470
|
-
To learn more about this change, see: ${chalk15.yellow("https://storybook.js.org/docs/migration-guide#storiesmdx-to-mdxcsf")}
|
|
471
|
-
`},async run({dryRun,mainConfigPath,result:{nextStoriesEntries}}){if(logger20.info(dedent`✅ Setting 'stories' config:
|
|
472
|
-
${JSON.stringify(nextStoriesEntries,null,2)}`),!dryRun){let{glob:globString}=await prompt({type:"text",name:"glob",message:"Please enter the glob for your MDX stories",initial:"./src/**/*.stories.mdx"});globString&&await runCodemod("mdx-to-csf",{glob:globString,dryRun,logger:logger20}),await updateMainConfig({mainConfigPath,dryRun:!!dryRun},async main=>{main.setFieldValue(["stories"],nextStoriesEntries);}),logger20.info(dedent`
|
|
473
|
-
The migration successfully updated your 'stories' config to include any .mdx file instead of just .stories.mdx.
|
|
474
|
-
|
|
475
|
-
It also ran the 'mdx-to-csf' codemod to convert your MDX stories to CSF format.
|
|
476
|
-
This codemod is not perfect however, so you may need to manually fix any issues it couldn't handle.
|
|
477
|
-
`);}}};function checkMainConfigStories(existingStoriesEntries,nextStoriesEntries){return existingStoriesEntries.length===nextStoriesEntries.length&&existingStoriesEntries.every((entry,index)=>{let nextEntry=nextStoriesEntries[index];return typeof entry=="string"?entry===nextEntry:typeof nextEntry=="string"?!1:entry.files===nextEntry.files})?null:!0}var minimumStorybookVersion="8.0.0-alpha.4",removeReactDependency={id:"remove-react-dependency",promptType:"manual",versionRange:[`^7 || <${minimumStorybookVersion}`,`>=${minimumStorybookVersion}`],async check({packageManager,mainConfig,storybookVersion}){let frameworkPackageName=getFrameworkPackageName(mainConfig);if(frameworkPackageName?.includes("react")||frameworkPackageName?.includes("nextjs"))return null;let{react}=await packageManager.getAllDependencies();return react?!0:null},prompt(){return dedent`
|
|
478
|
-
We detected that your project has a dependency for "react" that it might not need.
|
|
479
|
-
Nothing breaks by having it, you can safely ignore this message, if you wish.
|
|
480
|
-
|
|
481
|
-
Storybook asked you to add "react" as a direct dependency in the past when upgrading from Storybook 6 to 7.
|
|
482
|
-
However, since version 8.0, Storybook no longer requires you to provide "react" as a dependency.
|
|
483
|
-
Some community addons might still wrongfully list "react" and "react-dom" as required peer dependencies, but since Storybook 7.6 it should not be needed in the majority of cases.
|
|
484
|
-
|
|
485
|
-
If you know you are not using React outside of Storybook, it should be safe to remove the "react" and "react-dom" dependencies from your project's package.json.
|
|
486
|
-
Storybook cannot do this automatically as removing it might break your project, so it should be done manually with care.
|
|
487
|
-
`}};var storyshotsMigration={id:"storyshots",versionRange:["<8.0.0-alpha.0",">=8.0.0-alpha.0"],promptType:"manual",async check({mainConfig,packageManager}){return ((await packageManager.getAllDependencies())["@storybook/addon-storyshots"]||mainConfig.addons?.find(addon=>(typeof addon=="string"?addon:addon.name).includes("@storybook/addon-storyshots")))??null},prompt(){return dedent`
|
|
488
|
-
${chalk15.bold("Attention")}: Storyshots is now officially deprecated, is no longer being maintained, and was removed in Storybook 8.
|
|
489
|
-
|
|
490
|
-
We recommend following the migration guide we've prepared to help you during this transition period:
|
|
491
|
-
${chalk15.yellow("https://storybook.js.org/docs/writing-tests/storyshots-migration-guide")}
|
|
492
|
-
`}};var removeArgtypesRegex={id:"remove-argtypes-regex",promptType:"manual",versionRange:["<8.0.0-alpha.0",">=8.0.0-alpha.0"],async check({previewConfigPath}){if(!previewConfigPath)return null;let previewFile=await fs5.readFile(previewConfigPath,{encoding:"utf-8"}),file=new babel.File({filename:previewConfigPath},{code:previewFile,ast:babelParse(previewFile)}),argTypesRegex;return file.path.traverse({Identifier:path10=>{path10.node.name==="argTypesRegex"&&(argTypesRegex=path10);}}),argTypesRegex?{argTypesRegex,previewConfigPath}:null},prompt({argTypesRegex,previewConfigPath}){return dedent`
|
|
493
|
-
${chalk15.bold("Attention")}: We've detected that you're using argTypesRegex:
|
|
494
|
-
|
|
495
|
-
${argTypesRegex.buildCodeFrameError(`${previewConfigPath}`).message}
|
|
496
|
-
|
|
497
|
-
Storybook's play functions let you render your stories interactively.
|
|
498
|
-
|
|
499
|
-
In the past, play functions mocked action args implicitly by analyzing the argTypesRegex
|
|
500
|
-
in your preview.js|ts file.
|
|
501
|
-
|
|
502
|
-
However, Storybook 8 changes this behavior, and we now recommend using the
|
|
503
|
-
(fn) function to mock your component's methods instead.
|
|
504
|
-
|
|
505
|
-
Use the following command to check for implied mocked actions in your play functions:
|
|
506
|
-
${chalk15.cyan('npx storybook migrate find-implicit-spies --glob="**/*.stories.@(js|jsx|ts|tsx)"')}
|
|
507
|
-
|
|
508
|
-
Then, refer to our docs to migrate your play functions to Storybook 8:
|
|
509
|
-
${chalk15.yellow("https://storybook.js.org/docs/8.0/essentials/actions#via-storybooktest-fn-spy-function")}
|
|
510
|
-
`}};var webpack5CompilerSetup={id:"webpack5-compiler-setup",versionRange:["<8.0.0-alpha.9",">=8.0.0-alpha.9"],promptType(result){return result.isNextJs&&!result.shouldRemoveSWCFlag?"notification":"auto"},async check({mainConfig,packageManager}){if(getAddonNames(mainConfig).find(addon=>addon.includes("babel")||addon.includes("swc")))return null;let frameworkName=Object.entries(frameworkPackages).find(([name])=>name===getFrameworkPackageName(mainConfig))?.[1],builderPackageName=getBuilderPackageName(mainConfig),customCoreBuilder=builderPackageName?builderNameToCoreBuilder[builderPackageName]:null,defaultCoreBuilder=frameworkName?frameworkToDefaultBuilder[frameworkName]:await(async()=>await packageManager.getPackageVersion("webpack")?"webpack5":"vite")();if((customCoreBuilder||defaultCoreBuilder)!=="webpack5"||(frameworkName?["angular","ember"].includes(frameworkName):!1)||!!await packageManager.getPackageVersion("react-scripts"))return null;let frameworkOptions=getFrameworkOptions(mainConfig),defaultCompiler=frameworkOptions?.builder?.useSWC?"swc":"babel",shouldRemoveSWCFlag=frameworkOptions?.builder?"useSWC"in frameworkOptions.builder:!1;return frameworkName==="nextjs"?{compiler:void 0,compilerPackageName:void 0,shouldRemoveSWCFlag,isNextJs:!0}:{defaultCompiler,shouldRemoveSWCFlag,isNextJs:!1}},prompt({defaultCompiler,shouldRemoveSWCFlag,isNextJs}){let message=[];return shouldRemoveSWCFlag&&message.push(dedent`
|
|
511
|
-
We need to update your Storybook configuration for Webpack 5.
|
|
512
|
-
The ${chalk15.yellow("framework.options.builder.useSWC")} flag will be removed.`),isNextJs?message.push(dedent`
|
|
513
|
-
Storybook now detects whether it should use Babel or SWC as a compiler by applying the same logic as Next.js itself:\n
|
|
514
|
-
- If you have a ${chalk15.yellow(".babelrc")} (or ${chalk15.yellow("babel.config.js")}) file in your project, Storybook will use Babel as the compiler.
|
|
515
|
-
- If you have a ${chalk15.yellow(".babelrc")} (or ${chalk15.yellow("babel.config.js")}) file in your project and you have set
|
|
516
|
-
${chalk15.yellow("experimental.forceSwcTransforms = true")} in your ${chalk15.yellow("next.config.js")} file,
|
|
517
|
-
Storybook will use SWC as the compiler.
|
|
518
|
-
- If you don't have a ${chalk15.yellow(".babelrc")} (or ${chalk15.yellow("babel.config.js")}) file in your project, Storybook will use SWC as the compiler.
|
|
519
|
-
`):defaultCompiler==="babel"?message.push(dedent`
|
|
520
|
-
Storybook's Webpack5 builder is now compiler agnostic, meaning you can choose a compiler addon that best fits your project:\n
|
|
521
|
-
- Babel: A vast ecosystem and is battle-tested. It's a robust choice if you have an extensive Babel setup or need specific Babel plugins for your project.
|
|
522
|
-
- SWC: Fast and easy to configure. Ideal if you want faster builds and have a straightforward configuration without the need for Babel's extensibility.\n
|
|
523
|
-
In the next step, Storybook will ask you to choose a compiler to automatically set it up for you.\n
|
|
524
|
-
After the migration, you can switch Webpack5 compilers by swapping the addon in your project.
|
|
525
|
-
You can find more information here: ${chalk15.yellow("https://storybook.js.org/docs/8.0/builders/webpack#compiler-support")}
|
|
526
|
-
`):message.push(dedent`
|
|
527
|
-
Storybook's Webpack5 builder is now compiler agnostic, meaning you have to install an additional addon to set up a compiler for Webpack5.\n
|
|
528
|
-
We have detected, that you want to use SWC as the compiler for Webpack5.\n
|
|
529
|
-
In the next step, Storybook will install @storybook/addon-webpack5-compiler-swc and will add it to your addons list in your Storybook config.\n
|
|
530
|
-
After the migration, you can switch Webpack5 compilers by swapping the addon in your project.
|
|
531
|
-
You can find more information here: ${chalk15.yellow("https://storybook.js.org/docs/8.0/builders/webpack#compiler-support")}
|
|
532
|
-
`),message.join(`
|
|
533
|
-
|
|
534
|
-
`)},async run({result,mainConfigPath,packageManager,skipInstall,dryRun}){let{defaultCompiler,shouldRemoveSWCFlag,isNextJs}=result;if(shouldRemoveSWCFlag&&await updateMainConfig({mainConfigPath,dryRun:!!dryRun},main=>{main.removeField(["framework","options","builder","useSWC"]);}),!isNextJs){let compiler=defaultCompiler==="babel"?await askUserForCompilerChoice():"swc",compilerPackageName=Object.entries(compilerNameToCoreCompiler).find(([,coreCompiler])=>coreCompiler===compiler)[0];await add(compilerPackageName,{packageManager:packageManager.type,skipPostinstall:!!skipInstall});}}};async function askUserForCompilerChoice(){return (await prompts5({type:"select",name:"compiler",message:"Which compiler would you like to use?",choices:[{title:"Babel",description:"Choose Babel for a vast ecosystem and battle-tested reliability.",value:"babel"},{title:"SWC",description:"Choose SWC for fast builds and simple configuration.",value:"swc"}],initial:0})).compiler}var logger21=console,removeJestTestingLibrary={id:"remove-jest-testing-library",versionRange:["<8.0.0-alpha.0",">=8.0.0-alpha.0"],promptType:"auto",async check({packageManager}){let deps=await packageManager.getAllDependencies(),incompatiblePackages=Object.keys(deps).filter(it=>it==="@storybook/jest"||it==="@storybook/testing-library");return incompatiblePackages.length?{incompatiblePackages}:null},prompt({incompatiblePackages}){return dedent`
|
|
535
|
-
${chalk15.bold("Attention")}: We've detected that you're using the following packages which are known to be incompatible since Storybook 8:
|
|
536
|
-
|
|
537
|
-
${incompatiblePackages.map(name=>`- ${chalk15.cyan(`${name}`)}`).join(`
|
|
538
|
-
`)}
|
|
539
|
-
|
|
540
|
-
We will uninstall them for you and install ${chalk15.cyan("@storybook/test")} instead.
|
|
541
|
-
|
|
542
|
-
Also, we can help you migrate your stories to use the new package.
|
|
543
|
-
`},async run({packageManager,dryRun}){if(!dryRun){let packageJson=await packageManager.retrievePackageJson();await packageManager.removeDependencies({skipInstall:!0,packageJson},["@storybook/jest","@storybook/testing-library"]);let versionToInstall=getStorybookVersionSpecifier(packageJson);await packageManager.addDependencies({installAsDevDependencies:!0,packageJson},[`@storybook/test@${versionToInstall}`]);let{glob:globString}=await prompts5({type:"text",name:"glob",message:"Please enter the glob for your stories to migrate to @storybook/test",initial:"./src/**/*.stories.*"});globString&&await runCodemod("migrate-to-test-package",{glob:globString,dryRun,logger:logger21});}}};var addonsAPI={id:"addons-api",versionRange:["<8",">=8"],promptType:"notification",async check({packageManager}){return !(await packageManager.getAllDependencies())["@storybook/addons"]?null:{usesAddonsAPI:!0}},prompt(){return dedent`
|
|
544
|
-
${chalk15.bold("Attention")}: We've detected that you're using the following package which is removed in Storybook 8 and beyond:
|
|
545
|
-
|
|
546
|
-
- ${chalk15.cyan("@storybook/addons")}
|
|
547
|
-
|
|
548
|
-
This package has been deprecated and replaced with ${chalk15.cyan("@storybook/preview-api")} and ${chalk15.cyan("@storybook/manager-api")}.
|
|
549
|
-
|
|
550
|
-
You can find more information about the new addons API in the migration guide:
|
|
551
|
-
${chalk15.yellow("https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#new-addons-api")}
|
|
552
|
-
`}};var MDX1_STYLE_START=/<style>{`/g,MDX1_STYLE_END=/`}<\/style>/g,MDX1_COMMENT=/<!--(.+)-->/g,MDX1_CODEBLOCK=/(?:\n~~~(?:\n|.)*?\n~~~)|(?:\n```(?:\n|.)*?\n```)/g,fixMdxStyleTags=mdx=>mdx.replace(MDX1_STYLE_START,"<style>\n {`").replace(MDX1_STYLE_END," `}\n</style>"),fixMdxComments=mdx=>{let codeblocks=mdx.matchAll(MDX1_CODEBLOCK);return mdx.split(MDX1_CODEBLOCK).map(v=>v.replace(MDX1_COMMENT,(original,group)=>`{/*${group}*/}`)).reduce((acc,item,i)=>{let next=codeblocks.next();return next.done?acc+item:acc+item+next.value[0]},"")},logger22=console,mdx1to3={id:"mdx1to3",versionRange:["<7.0.0",">=8.0.0-alpha.0"],async check(){let{globby}=await import('globby'),storiesMdxFiles=await globby("./!(node_modules)**/*.(story|stories).mdx");return storiesMdxFiles.length?{storiesMdxFiles}:null},prompt({storiesMdxFiles}){return dedent`
|
|
553
|
-
We've found ${chalk15.yellow(storiesMdxFiles.length)} '.stories.mdx' files in your project.
|
|
554
|
-
|
|
555
|
-
Storybook has upgraded to MDX3 (https://mdxjs.com/blog/v3/). MDX3 itself doesn't contain disruptive breaking changes, whereas the transition from MDX1 to MDX2 was a significant change.
|
|
556
|
-
We can try to automatically upgrade your MDX files to MDX3 format using some common patterns.
|
|
557
|
-
|
|
558
|
-
After this install completes, and before you start Storybook, we strongly recommend reading the MDX2 section
|
|
559
|
-
of the 7.0 migration guide. It contains useful tools for detecting and fixing any remaining issues.
|
|
560
|
-
|
|
561
|
-
${chalk15.cyan("https://storybook.js.org/migration-guides/7.0")}
|
|
562
|
-
`},async run({result:{storiesMdxFiles},dryRun}){await Promise.all([...storiesMdxFiles.map(async fname=>{let contents=await fse.readFile(fname,"utf-8"),updated=fixMdxComments(fixMdxStyleTags(contents));updated===contents?logger22.info(`\u{1F197} Unmodified ${basename(fname)}`):(logger22.info(`\u2705 Modified ${basename(fname)}`),dryRun||await fse.writeFile(fname,updated));})]);}};var addonPostCSS={id:"addon-postcss",versionRange:["<7",">=7"],promptType:"notification",async check({mainConfig}){return !getAddonNames(mainConfig).find(addon=>addon.includes("@storybook/addon-postcss"))?null:{hasAddonPostcss:!0}},prompt(){return dedent`
|
|
563
|
-
${chalk15.bold("Attention")}: We've detected that you're using the following package which is incompatible with Storybook 8 and beyond:
|
|
564
|
-
|
|
565
|
-
- ${chalk15.cyan("@storybook/addon-postcss")}
|
|
566
|
-
|
|
567
|
-
Please migrate to ${chalk15.cyan("@storybook/addon-styling-webpack")} once you're done upgrading.
|
|
568
|
-
`}};var logger23=console,vta={id:"visual-tests-addon",versionRange:["<8.0.7",">=8.0.7"],async check({mainConfig}){return getAddonNames(mainConfig).some(addon=>addon.includes("@chromatic-com/storybook"))?null:{}},prompt(){return dedent`
|
|
569
|
-
New to Storybook 8: Storybook's Visual Tests addon helps you catch unintentional changes/bugs in your stories. The addon is powered by Chromatic, a cloud-based testing tool developed by Storybook's core team.
|
|
570
|
-
|
|
571
|
-
Learn more: ${chalk15.yellow("https://storybook.js.org/docs/writing-tests/visual-testing")}
|
|
572
|
-
|
|
573
|
-
Install Visual Tests addon in your project?
|
|
574
|
-
`},async run({packageManager,dryRun,mainConfigPath,skipInstall}){if(!dryRun){let packageJson=await packageManager.retrievePackageJson();await packageManager.addDependencies({installAsDevDependencies:!0,skipInstall,packageJson},["@chromatic-com/storybook@^1"]),await updateMainConfig({mainConfigPath,dryRun:!!dryRun},async main=>{logger23.info('\u2705 Adding "@chromatic-com/storybook" addon'),main.appendValueToArray(["addons"],"@chromatic-com/storybook");});}}};var checkPackageCompatibility=async(dependency,context)=>{let{currentStorybookVersion,skipErrors,packageManager}=context;try{let dependencyPackageJson=await packageManager.getPackageJSON(dependency);if(dependencyPackageJson===null)return {packageName:dependency};let{version:packageVersion,name=dependency,dependencies,peerDependencies,homepage}=dependencyPackageJson,hasIncompatibleDependencies=!!Object.entries({...dependencies,...peerDependencies}).filter(([dep])=>versions[dep]).find(([_,versionRange])=>versionRange&&semver.validRange(versionRange)&&!semver.satisfies(currentStorybookVersion,versionRange)),isCorePackage3=versions[name],availableUpdate;return isCorePackage3&&semver.gt(currentStorybookVersion,packageVersion)&&(availableUpdate=currentStorybookVersion),{packageName:name,packageVersion,homepage,hasIncompatibleDependencies,availableUpdate}}catch(err){return skipErrors||console.log(`Error checking compatibility for ${dependency}, please report an issue:
|
|
575
|
-
`,err),{packageName:dependency}}},getIncompatibleStorybookPackages=async context=>{let packageManager=context.packageManager??JsPackageManagerFactory.getPackageManager(),allDeps=await packageManager.getAllDependencies(),storybookLikeDeps=Object.keys(allDeps).filter(dep=>dep.includes("storybook"));if(storybookLikeDeps.length===0&&!context.skipErrors)throw new Error("No Storybook dependencies found in the package.json");return Promise.all(storybookLikeDeps.map(dep=>checkPackageCompatibility(dep,{...context,packageManager})))},getIncompatiblePackagesSummary=(dependencyAnalysis,currentStorybookVersion)=>{let summaryMessage=[],incompatiblePackages=dependencyAnalysis.filter(dep=>dep.hasIncompatibleDependencies);return incompatiblePackages.length>0&&(summaryMessage.push(`The following packages are incompatible with Storybook ${chalk15.bold(currentStorybookVersion)} as they depend on different major versions of Storybook packages:`),incompatiblePackages.forEach(({packageName:addonName,packageVersion:addonVersion,homepage,availableUpdate})=>{let packageDescription=`${chalk15.cyan(addonName)}@${chalk15.cyan(addonVersion)}`,updateMessage=availableUpdate?` (${availableUpdate} available!)`:"",packageRepo=homepage?`
|
|
576
|
-
Repo: ${chalk15.yellow(homepage)}`:"";summaryMessage.push(`- ${packageDescription}${updateMessage}${packageRepo}`);}),summaryMessage.push(`
|
|
577
|
-
`,"Please consider updating your packages or contacting the maintainers for compatibility details.","For more on Storybook 8 compatibility, see the linked GitHub issue:",chalk15.yellow("https://github.com/storybookjs/storybook/issues/26031"))),summaryMessage.join(`
|
|
578
|
-
`)};async function getLatestVersions(packageManager,packages){return Promise.all(packages.map(async([packageName])=>({packageName,beforeVersion:await packageManager.getInstalledVersion(packageName).catch(()=>null),afterVersion:await packageManager.latestVersion(packageName).catch(()=>null)})))}var upgradeStorybookRelatedDependencies={id:"upgradeStorybookRelatedDependencies",versionRange:["*.*.*","*.*.*"],promptType:"auto",promptDefaultValue:!1,async check({packageManager,storybookVersion}){let analyzedPackages=await getIncompatibleStorybookPackages({currentStorybookVersion:storybookVersion,packageManager,skipErrors:!0}),allDependencies=await packageManager.getAllDependencies(),storybookDependencies=Object.keys(allDependencies).filter(dep=>dep.includes("storybook")).filter(dep=>!isCorePackage(dep)),incompatibleDependencies=analyzedPackages.filter(pkg2=>pkg2.hasIncompatibleDependencies).map(pkg2=>pkg2.packageName),uniquePackages=Array.from(new Set([...storybookDependencies,...incompatibleDependencies])).map(packageName=>[packageName,allDependencies[packageName]]),upgradablePackages=(await getLatestVersions(packageManager,uniquePackages)).filter(({afterVersion,beforeVersion})=>beforeVersion===null||afterVersion===null?!1:gt(afterVersion,beforeVersion));return upgradablePackages.length>0?{upgradable:upgradablePackages}:null},prompt({upgradable}){return dedent`
|
|
579
|
-
You're upgrading to the latest version of Storybook. We recommend upgrading the following packages:
|
|
580
|
-
${upgradable.map(({packageName,afterVersion,beforeVersion})=>`- ${cyan(packageName)}: ${cyan(beforeVersion)} => ${cyan(afterVersion)}`).join(`
|
|
581
|
-
`)}
|
|
582
|
-
|
|
583
|
-
After upgrading, we will run the dedupe command, which could possibly have effects on dependencies that are not Storybook related.
|
|
584
|
-
see: https://docs.npmjs.com/cli/commands/npm-dedupe
|
|
585
|
-
|
|
586
|
-
Do you want to proceed (upgrade the detected packages)?
|
|
587
|
-
`},async run({result:{upgradable},packageManager,dryRun}){if(dryRun){console.log(dedent`
|
|
588
|
-
We would have upgrade the following:
|
|
589
|
-
${upgradable.map(({packageName,afterVersion,beforeVersion})=>`${packageName}: ${beforeVersion} => ${afterVersion}`).join(`
|
|
590
|
-
`)}
|
|
591
|
-
`);return}if(upgradable.length>0){let packageJson=await packageManager.readPackageJson();upgradable.forEach(item=>{if(!item)return;let{packageName,afterVersion:version}=item,prefixed=`^${version}`;packageJson.dependencies?.[packageName]&&(packageJson.dependencies[packageName]=prefixed),packageJson.devDependencies?.[packageName]&&(packageJson.devDependencies[packageName]=prefixed),packageJson.peerDependencies?.[packageName]&&(packageJson.peerDependencies[packageName]=prefixed);}),await packageManager.writePackageJson(packageJson),await packageManager.installDependencies(),await packageManager.executeCommand({command:"dedupe",args:[],stdio:"ignore"}).catch(()=>{}),console.log(),console.log(dedent`
|
|
592
|
-
We upgraded ${yellow(upgradable.length)} packages:
|
|
593
|
-
${upgradable.map(({packageName,afterVersion,beforeVersion})=>`- ${cyan(packageName)}: ${cyan(beforeVersion)} => ${cyan(afterVersion)}`).join(`
|
|
594
|
-
`)}
|
|
595
|
-
`);}console.log();}};var logger24=console,MIGRATION="https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#mainjs-docsautodocs-is-deprecated",autodocsTags={id:"autodocs-tags",versionRange:["*.*.*",">=8.0.*"],async check({mainConfig,mainConfigPath,previewConfigPath}){let autodocs=mainConfig?.docs?.autodocs;if(autodocs===void 0)return null;if(autodocs===!0&&!previewConfigPath)throw Error(dedent`
|
|
596
|
-
❌ Failed to remove the deprecated ${chalk15.cyan("docs.autodocs")} setting from ${chalk15.cyan(mainConfigPath)}.
|
|
597
|
-
|
|
598
|
-
There is no preview config file in which to add the ${chalk15.cyan("autodocs")} tag.
|
|
599
|
-
|
|
600
|
-
Please perform the migration by hand: ${chalk15.yellow(MIGRATION)}
|
|
601
|
-
`);return {autodocs,mainConfigPath,previewConfigPath}},prompt({autodocs,mainConfigPath,previewConfigPath}){let falseMessage="",trueMessage="";return autodocs===!1?falseMessage=dedent`
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
There is no ${chalk15.cyan("docs.autodocs = false")} equivalent.
|
|
605
|
-
You'll need to check your stories to ensure none are tagged with ${chalk15.cyan("autodocs")}.
|
|
606
|
-
`:autodocs===!0&&(trueMessage=` and update ${chalk15.cyan(previewConfigPath)}`),dedent`
|
|
607
|
-
The ${chalk15.cyan("docs.autodocs")} setting in ${chalk15.cyan(mainConfigPath)} is deprecated.${falseMessage}
|
|
608
|
-
|
|
609
|
-
Learn more: ${chalk15.yellow(MIGRATION)}
|
|
610
|
-
|
|
611
|
-
Remove ${chalk15.cyan("docs.autodocs")}${trueMessage}?
|
|
612
|
-
`},async run({dryRun,mainConfigPath,result}){if(!dryRun){if(result.autodocs===!0){logger24.info(`\u2705 Adding "autodocs" tag to ${result.previewConfigPath}`);let previewConfig=await readConfig(result.previewConfigPath);previewConfig.getFieldNode(["tags"])?previewConfig.appendValueToArray(["tags"],"autodocs"):previewConfig.setFieldValue(["tags"],["autodocs"]),await writeConfig(previewConfig);}await updateMainConfig({mainConfigPath,dryRun:!!dryRun},async main=>{logger24.info(`\u2705 Removing "docs.autodocs" from ${mainConfigPath}`),main.removeField(["docs","autodocs"]);});}}};var MIGRATION2="https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#previewjs-globals-renamed-to-initialglobals",initialGlobals={id:"initial-globals",versionRange:["*.*.*",">=8.0.*"],async check({previewConfigPath}){if(!previewConfigPath)return null;let previewConfig=loadConfig((await readFile$1(previewConfigPath)).toString()).parse(),globals=previewConfig.getFieldNode(["globals"]);return globals?{globals,previewConfig,previewConfigPath}:null},prompt({previewConfigPath}){return dedent`
|
|
613
|
-
The ${chalk15.cyan("globals")} setting in ${chalk15.cyan(previewConfigPath)} is deprecated
|
|
614
|
-
and has been renamed to ${chalk15.cyan("initialGlobals")}.
|
|
615
|
-
|
|
616
|
-
Learn more: ${chalk15.yellow(MIGRATION2)}
|
|
617
|
-
|
|
618
|
-
Rename ${chalk15.cyan("globals")} to ${chalk15.cyan("initalGlobals")}?
|
|
619
|
-
`},async run({dryRun,result}){result.previewConfig.removeField(["globals"]),result.previewConfig.setFieldNode(["initialGlobals"],result.globals),dryRun||await writeFile(result.previewConfigPath,formatConfig(result.previewConfig));}};var allFixes=[addonsAPI,newFrameworks,cra5,webpack5,vue3,addonPostCSS,viteConfigFile,eslintPlugin,builderVite,sbBinary,sbScripts,removeJestTestingLibrary,removeArgtypesRegex,removedGlobalClientAPIs,mdxgfm,mdxToCSF,autodocsTrue,angularBuildersMultiproject,angularBuilders,wrapRequire,reactDocgen,storyshotsMigration,removeReactDependency,removeLegacyMDX1,webpack5CompilerSetup,mdx1to3,upgradeStorybookRelatedDependencies,vta,autodocsTags,initialGlobals];var ansiRegex2=({onlyFirst=!1}={})=>{let pattern=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(pattern,onlyFirst?void 0:"g")},cleanLog=str=>str.replace(ansiRegex2(),"").replace(/╮│/g,`\u256E
|
|
620
|
-
\u2502`).replace(/││/g,`\u2502
|
|
621
|
-
\u2502`).replace(/│╰/g,`\u2502
|
|
622
|
-
\u2570`).replace(/⚠️ {2}failed to check/g,`${EOL}\u26A0\uFE0F failed to check`);var messageDivider=`
|
|
623
|
-
|
|
624
|
-
`,segmentDivider=`
|
|
625
|
-
|
|
626
|
-
\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
|
|
627
|
-
|
|
628
|
-
`;function getGlossaryMessages(fixSummary,fixResults,logFile){let messages=[];return fixSummary.succeeded.length>0&&(messages.push(chalk15.bold("Successful migrations:")),messages.push(fixSummary.succeeded.map(m=>chalk15.green(m)).join(", "))),Object.keys(fixSummary.failed).length>0&&(messages.push(chalk15.bold("Failed migrations:")),messages.push(Object.entries(fixSummary.failed).map(([id,error])=>`${chalk15.redBright(id)}:
|
|
629
|
-
${error}`).join(`
|
|
630
|
-
`)),messages.push(`You can find the full logs in ${chalk15.cyan(logFile)}`)),fixSummary.manual.length>0&&(messages.push(chalk15.bold("Manual migrations:")),messages.push(fixSummary.manual.map(m=>fixResults[m]==="manual_succeeded"?chalk15.green(m):chalk15.blue(m)).join(", "))),fixSummary.skipped.length>0&&(messages.push(chalk15.bold("Skipped migrations:")),messages.push(fixSummary.skipped.map(m=>chalk15.cyan(m)).join(", "))),messages}function getMigrationSummary({fixResults,fixSummary,logFile,installationMetadata}){let messages=[];messages.push(getGlossaryMessages(fixSummary,fixResults,logFile).join(messageDivider)),messages.push(dedent`If you'd like to run the migrations again, you can do so by running '${chalk15.cyan("npx storybook automigrate")}'
|
|
631
|
-
|
|
632
|
-
The automigrations try to migrate common patterns in your project, but might not contain everything needed to migrate to the latest version of Storybook.
|
|
633
|
-
|
|
634
|
-
Please check the changelog and migration guide for manual migrations and more information: ${chalk15.yellow("https://storybook.js.org/docs/8.0/migration-guide")}
|
|
635
|
-
And reach out on Discord if you need help: ${chalk15.yellow("https://discord.gg/storybook")}
|
|
636
|
-
`);let hasNoFixes=Object.values(fixResults).every(r=>r==="unnecessary"),hasFailures=Object.values(fixResults).some(r=>r==="failed"||r==="check_failed"),title=hasNoFixes?"No migrations were applicable to your project":hasFailures?"Migration check ran with failures":"Migration check ran successfully";return boxen(messages.filter(Boolean).join(segmentDivider),{borderStyle:"round",padding:1,title,borderColor:hasFailures?"red":"green"})}function getPrimaryVersion(name,installationMetadata){if(!name)return;let packageMetadata=installationMetadata?.dependencies[name];if(packageMetadata)return packageMetadata[0]?.version}function getMismatchingVersionsWarnings(installationMetadata,allDependencies){if(!installationMetadata)return;let messages=[];try{let frameworkPackageName=Object.keys(installationMetadata?.dependencies||[]).find(packageName=>Object.keys(frameworkPackages).includes(packageName)),cliVersion=getPrimaryVersion("storybook",installationMetadata),frameworkVersion=getPrimaryVersion(frameworkPackageName,installationMetadata);if(!cliVersion||!frameworkVersion||semver.eq(cliVersion,frameworkVersion))return;messages.push(`${chalk15.bold("Attention:")} There seems to be a mismatch between your Storybook package versions. This can result in a broken Storybook installation.`);let versionToCompare,packageToDisplay;semver.lt(cliVersion,frameworkVersion)?(versionToCompare=frameworkVersion,packageToDisplay=frameworkPackageName):(versionToCompare=cliVersion,packageToDisplay="storybook"),messages.push(`The version of your storybook core packages should align with ${chalk15.yellow(versionToCompare)} (from the ${chalk15.cyan(packageToDisplay)} package) or higher.`);let filteredDependencies=Object.entries(installationMetadata?.dependencies||[]).filter(([name,packages])=>Object.keys(versions).includes(name)?packages[0].version!==versionToCompare:!1);if(filteredDependencies.length>0){let packageJsonSuffix="(in your package.json)";messages.push("Based on your lockfile, these dependencies should be aligned:",filteredDependencies.map(([name,dep])=>`${chalk15.hex("#ff9800")(name)}: ${dep[0].version} ${allDependencies?.[name]?packageJsonSuffix:""}`).sort((a,b)=>(b.includes(packageJsonSuffix)?1:0)-(a.includes(packageJsonSuffix)?1:0)).join(`
|
|
637
|
-
`));}return messages.push(`You can run ${chalk15.cyan("npx storybook@latest upgrade")} to upgrade all of your Storybook packages to the latest version.
|
|
638
|
-
|
|
639
|
-
Alternatively you can try manually changing the versions to match in your package.json. We also recommend regenerating your lockfile, or running the following command to possibly deduplicate your Storybook package versions: ${chalk15.cyan(installationMetadata?.dedupeCommand)}`),messages.join(`
|
|
640
|
-
|
|
641
|
-
`)}catch{return}}function hasMultipleVersions(versions7){return versions7.find(v=>{let major2=semver.major(v);if(major2===0){let minor2=semver.minor(v);if(minor2===0){let patch=semver.patch(v);return versions7.some(v2=>semver.patch(v2)!==patch)}return versions7.some(v2=>semver.minor(v2)!==minor2)}return versions7.some(v2=>semver.major(v2)!==major2)})}var messageDivider2=`
|
|
642
|
-
|
|
643
|
-
`,allowList=["@storybook/csf","@storybook/addons","@storybook/channel-postmessage","@storybook/channel-websocket","@storybook/client-api","@storybook/core-client","@storybook/preview-web","@storybook/store","@storybook/components","@storybook/router","@storybook/theming","@storybook/api","@storybook/manager-api"],disallowList=[Object.keys(rendererPackages),Object.keys(frameworkPackages),"storybook","@storybook/instrumenter","@storybook/core","@storybook/core-server","@storybook/manager","@storybook/preview"];function getDuplicatedDepsWarnings(installationMetadata){try{if(!installationMetadata||!installationMetadata?.duplicatedDependencies||Object.keys(installationMetadata.duplicatedDependencies).length===0)return;let messages=[],{critical,trivial}=Object.entries(installationMetadata?.duplicatedDependencies).reduce((acc,[dep,packageVersions2])=>{if(allowList.includes(dep))return acc;let hasMultipleMajorVersions=hasMultipleVersions(packageVersions2);return disallowList.includes(dep)&&hasMultipleMajorVersions?acc.critical.push(`${chalk15.redBright(dep)}:
|
|
644
|
-
${packageVersions2.join(", ")}`):acc.trivial.push(`${chalk15.hex("#ff9800")(dep)}:
|
|
645
|
-
${packageVersions2.join(", ")}`),acc},{critical:[],trivial:[]});return critical.length===0&&trivial.length===0||(critical.length>0&&(messages.push(`${chalk15.bold("Critical:")} The following dependencies are duplicated and WILL cause unexpected behavior:`),messages.push(critical.join(messageDivider2),`
|
|
646
|
-
`)),trivial.length>0&&(messages.push(`${chalk15.bold("Attention:")} The following dependencies are duplicated which might cause unexpected behavior:`),messages.push(trivial.join(messageDivider2))),messages.push(`
|
|
647
|
-
`,`Please try de-duplicating these dependencies by running ${chalk15.cyan(`${installationMetadata.dedupeCommand}`)}`),messages.push(`
|
|
648
|
-
`,`You can find more information for a given dependency by running ${chalk15.cyan(`${installationMetadata.infoCommand} <package-name>`)}`)),messages}catch{return}}var logger25=console,LOG_FILE_NAME="doctor-storybook.log",LOG_FILE_PATH=join(process.cwd(),LOG_FILE_NAME),TEMP_LOG_FILE_PATH="",originalStdOutWrite=process.stdout.write.bind(process.stdout),originalStdErrWrite=process.stderr.write.bind(process.stdout),augmentLogsToFile=async()=>{let{temporaryFile}=await import('tempy');TEMP_LOG_FILE_PATH=temporaryFile({name:LOG_FILE_NAME});let logStream=createWriteStream(TEMP_LOG_FILE_PATH);process.stdout.write=d=>(originalStdOutWrite(d),logStream.write(cleanLog(d))),process.stderr.write=d=>logStream.write(cleanLog(d));},cleanup=()=>{process.stdout.write=originalStdOutWrite,process.stderr.write=originalStdErrWrite;},doctor=async({configDir:userSpecifiedConfigDir,packageManager:pkgMgr}={})=>{await augmentLogsToFile();let foundIssues=!1,logDiagnostic=(title,message)=>{foundIssues=!0,logger25.info(boxen(message,{borderStyle:"round",padding:1,title,borderColor:"#F1618C"}));};logger25.info("\u{1FA7A} The doctor is checking the health of your Storybook..");let packageManager=JsPackageManagerFactory.getPackageManager({force:pkgMgr}),storybookVersion,mainConfig;try{let storybookData=await getStorybookData({configDir:userSpecifiedConfigDir,packageManager});storybookVersion=storybookData.storybookVersion,mainConfig=storybookData.mainConfig;}catch(err){err.message.includes("No configuration files have been found")&&logger25.info(dedent`[Storybook doctor] Could not find or evaluate your Storybook main.js config directory at ${chalk15.blue(userSpecifiedConfigDir||".storybook")} so the doctor command cannot proceed. You might be running this command in a monorepo or a non-standard project structure. If that is the case, please rerun this command by specifying the path to your Storybook config directory via the --config-dir option.`),logger25.info(dedent`[Storybook doctor] ❌ ${err.message}`),logger25.info("Please fix the error and try again.");}if(storybookVersion||(logger25.info(dedent`
|
|
649
|
-
[Storybook doctor] ❌ Unable to determine Storybook version so the command will not proceed.
|
|
650
|
-
🤔 Are you running storybook doctor from your project directory? Please specify your Storybook config directory with the --config-dir flag.
|
|
651
|
-
`),process.exit(1)),!mainConfig)throw new Error("mainConfig is undefined");let allDependencies=await packageManager.getAllDependencies(),incompatibleStorybookPackagesList=await getIncompatibleStorybookPackages({currentStorybookVersion:storybookVersion}),incompatiblePackagesMessage=getIncompatiblePackagesSummary(incompatibleStorybookPackagesList,storybookVersion);incompatiblePackagesMessage&&logDiagnostic("Incompatible packages found",incompatiblePackagesMessage);let installationMetadata=await packageManager.findInstallations(["@storybook/*","storybook"]);if(!incompatiblePackagesMessage){let mismatchingVersionMessage=getMismatchingVersionsWarnings(installationMetadata,allDependencies);if(mismatchingVersionMessage)logDiagnostic("Diagnostics",[mismatchingVersionMessage].join(`
|
|
652
|
-
|
|
653
|
-
-------
|
|
654
|
-
|
|
655
|
-
`));else {let list=installationMetadata?getDuplicatedDepsWarnings(installationMetadata):getDuplicatedDepsWarnings();Array.isArray(list)&&list.length>0&&logDiagnostic("Duplicated dependencies found",list?.join(`
|
|
656
|
-
`));}}let commandMessage=`You can always recheck the health of your project by running:
|
|
657
|
-
${chalk15.cyan("npx storybook doctor")}`;logger25.info(),foundIssues?(logger25.info(commandMessage),logger25.info(),logger25.info(`Full logs are available in ${chalk15.cyan(LOG_FILE_PATH)}`),await move(TEMP_LOG_FILE_PATH,join(process.cwd(),LOG_FILE_NAME),{overwrite:!0})):(logger25.info("\u{1F973} Your Storybook project looks good!"),logger25.info(commandMessage),await remove(TEMP_LOG_FILE_PATH)),logger25.info(),cleanup();};var logger26=console,LOG_FILE_NAME2="migration-storybook.log",LOG_FILE_PATH2=join(process.cwd(),LOG_FILE_NAME2),TEMP_LOG_FILE_PATH2="",originalStdOutWrite2=process.stdout.write.bind(process.stdout),originalStdErrWrite2=process.stderr.write.bind(process.stdout),augmentLogsToFile2=async()=>{let{temporaryFile}=await import('tempy');TEMP_LOG_FILE_PATH2=temporaryFile({name:LOG_FILE_NAME2});let logStream=createWriteStream(TEMP_LOG_FILE_PATH2);process.stdout.write=d=>(originalStdOutWrite2(d),logStream.write(cleanLog(d))),process.stderr.write=d=>logStream.write(cleanLog(d));},cleanup2=()=>{process.stdout.write=originalStdOutWrite2,process.stderr.write=originalStdErrWrite2;},logAvailableMigrations=()=>{let availableFixes=allFixes.map(f=>chalk15.yellow(f.id)).map(x=>`- ${x}`).join(`
|
|
658
|
-
`);console.log(),logger26.info(dedent`
|
|
659
|
-
The following migrations are available:
|
|
660
|
-
${availableFixes}
|
|
661
|
-
`);},doAutomigrate=async options=>{let packageManager=JsPackageManagerFactory.getPackageManager({force:options.packageManager}),[packageJson,storybookVersion]=await Promise.all([packageManager.retrievePackageJson(),getCoercedStorybookVersion(packageManager)]),{configDir:inferredConfigDir,mainConfig:mainConfigPath}=getStorybookInfo(packageJson,options.configDir),configDir=options.configDir||inferredConfigDir||".storybook";if(!storybookVersion)throw new Error("Could not determine Storybook version");if(!mainConfigPath)throw new Error("Could not determine main config path");await automigrate({...options,packageManager,storybookVersion,beforeVersion:storybookVersion,mainConfigPath,configDir,isUpgrade:!1,isLatest:!1})&&await doctor({configDir,packageManager:options.packageManager});},automigrate=async({fixId,fixes:inputFixes,dryRun,yes,packageManager,list,configDir,mainConfigPath,storybookVersion,beforeVersion,renderer:rendererPackage,skipInstall,hideMigrationSummary=!1,isUpgrade,isLatest})=>{if(list)return logAvailableMigrations(),null;let selectedFixes=inputFixes||allFixes.filter(fix=>!(fix.id===upgradeStorybookRelatedDependencies.id&&isLatest===!1&&fixId!==upgradeStorybookRelatedDependencies.id)),fixes=fixId?selectedFixes.filter(f=>f.id===fixId):selectedFixes;if(fixId&&fixes.length===0)return logger26.info(`\u{1F4ED} No migrations found for ${chalk15.magenta(fixId)}.`),logAvailableMigrations(),null;await augmentLogsToFile2(),logger26.info("\u{1F50E} checking possible migrations..");let{fixResults,fixSummary,preCheckFailure}=await runFixes({fixes,packageManager,rendererPackage,skipInstall,configDir,mainConfigPath,storybookVersion,beforeVersion,isUpgrade:!!isUpgrade,dryRun,yes});if(Object.values(fixResults).some(r=>r==="failed"||r==="check_failed")?await move(TEMP_LOG_FILE_PATH2,join(process.cwd(),LOG_FILE_NAME2),{overwrite:!0}):await remove(TEMP_LOG_FILE_PATH2),!hideMigrationSummary){let installationMetadata=await packageManager.findInstallations(["@storybook/*","storybook"]);logger26.info(),logger26.info(getMigrationSummary({fixResults,fixSummary,logFile:LOG_FILE_PATH2,installationMetadata})),logger26.info();}return cleanup2(),{fixResults,preCheckFailure}};async function runFixes({fixes,dryRun,yes,rendererPackage,skipInstall,configDir,packageManager,mainConfigPath,storybookVersion,beforeVersion,isUpgrade}){let fixResults={},fixSummary={succeeded:[],failed:{},manual:[],skipped:[]};for(let i=0;i<fixes.length;i+=1){let f=fixes[i],result;try{let{mainConfig,previewConfigPath}=await getStorybookData({configDir,packageManager});(isUpgrade&&semver.satisfies(beforeVersion,f.versionRange[0],{includePrerelease:!0})&&semver.satisfies(storybookVersion,f.versionRange[1],{includePrerelease:!0})||!isUpgrade)&&(result=await f.check({packageManager,configDir,rendererPackage,mainConfig,storybookVersion,previewConfigPath,mainConfigPath}));}catch(error){logger26.info(`\u26A0\uFE0F failed to check fix ${chalk15.bold(f.id)}`),error instanceof Error&&(logger26.error(`
|
|
662
|
-
${error.stack}`),fixSummary.failed[f.id]=error.message),fixResults[f.id]="check_failed";}if(result){let promptType=typeof f.promptType=="function"?await f.promptType(result):f.promptType??"auto";logger26.info(`
|
|
663
|
-
\u{1F50E} found a '${chalk15.cyan(f.id)}' migration:`);let message=f.prompt(result),getTitle=()=>{switch(promptType){case"auto":return "Automigration detected";case"manual":return "Manual migration detected";case"notification":return "Migration notification"}};logger26.info(boxen(message,{borderStyle:"round",padding:1,borderColor:"#F1618C",title:getTitle()}));let runAnswer;try{if(dryRun)runAnswer={fix:!1};else if(yes)runAnswer={fix:!0},promptType==="manual"&&(fixResults[f.id]="manual_succeeded",fixSummary.manual.push(f.id));else if(promptType==="manual"){fixResults[f.id]="manual_succeeded",fixSummary.manual.push(f.id),logger26.info();let{shouldContinue}=await prompts5({type:"toggle",name:"shouldContinue",message:"Select continue once you have made the required changes, or quit to exit the migration process",initial:!0,active:"continue",inactive:"quit"},{onCancel:()=>{throw new Error}});if(!shouldContinue){fixResults[f.id]="manual_skipped";break}}else promptType==="auto"?runAnswer=await prompts5({type:"confirm",name:"fix",message:`Do you want to run the '${chalk15.cyan(f.id)}' migration on your project?`,initial:f.promptDefaultValue??!0},{onCancel:()=>{throw new Error}}):promptType==="notification"&&(runAnswer=await prompts5({type:"confirm",name:"fix",message:"Do you want to continue?",initial:!0},{onCancel:()=>{throw new Error}}));}catch{break}if(promptType==="auto")if(invariant5(runAnswer,"runAnswer must be defined if not promptOnly"),runAnswer.fix)try{invariant5(typeof f.run=="function","run method should be available in fix."),invariant5(mainConfigPath,"Main config path should be defined to run migration."),await f.run({result,packageManager,dryRun,mainConfigPath,skipInstall}),logger26.info(`\u2705 ran ${chalk15.cyan(f.id)} migration`),fixResults[f.id]="succeeded",fixSummary.succeeded.push(f.id);}catch(error){fixResults[f.id]="failed",fixSummary.failed[f.id]=error instanceof Error?error.message:"Failed to run migration",logger26.info(`\u274C error when running ${chalk15.cyan(f.id)} migration`),logger26.info(error),logger26.info();}else fixResults[f.id]="skipped",fixSummary.skipped.push(f.id);}else fixResults[f.id]=fixResults[f.id]||"unnecessary";}return {fixResults,fixSummary}}var logger27=console;async function migrate(migration,{glob:glob2,dryRun,list,rename,parser,configDir:userSpecifiedConfigDir}){if(list)listCodemods().forEach(key=>logger27.log(key));else if(migration){if(migration==="mdx-to-csf"&&!dryRun){let packageManager=JsPackageManagerFactory.getPackageManager(),[packageJson,storybookVersion]=await Promise.all([packageManager.retrievePackageJson(),getCoercedStorybookVersion(packageManager)]),{configDir:inferredConfigDir,mainConfig:mainConfigPath}=getStorybookInfo(packageJson,userSpecifiedConfigDir),configDir=userSpecifiedConfigDir||inferredConfigDir||".storybook";if(!storybookVersion)throw new Error("Could not determine Storybook version");if(!mainConfigPath)throw new Error("Could not determine main config path");await runFixes({fixes:[mdxToCSF],configDir,mainConfigPath,packageManager,storybookVersion,beforeVersion:storybookVersion,isUpgrade:!1}),await addStorybookBlocksPackage();}await runCodemod(migration,{glob:glob2,dryRun,logger:logger27,rename,parser});}else throw new Error("Migrate: please specify a migration name or --list")}async function addStorybookBlocksPackage(){let packageManager=JsPackageManagerFactory.getPackageManager(),packageJson=await packageManager.retrievePackageJson(),versionToInstall=getStorybookVersionSpecifier(await packageManager.retrievePackageJson());logger27.info('\u2705 Adding "@storybook/blocks" package'),await packageManager.addDependencies({installAsDevDependencies:!0,packageJson},[`@storybook/blocks@${versionToInstall}`]);}var excludesFalse=x=>x!==!1,blockers=()=>[import('./block-storystorev6-AAXLZAKE.js'),import('./block-dependencies-versions-NU5EBUEM.js'),import('./block-node-version-JHQUZHQA.js')],segmentDivider2=`
|
|
664
|
-
|
|
665
|
-
\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
|
|
666
|
-
|
|
667
|
-
`,autoblock=async(options,list=blockers())=>{if(list.length===0)return null;logger.info("Checking for upgrade blockers...");let faults=(await Promise.all(list.map(async i=>{let{blocker}=await i,result=await blocker.check(options);return result?{id:blocker.id,value:!0,log:blocker.log(options,result)}:!1}))).filter(excludesFalse);if(faults.length>0){let messages={welcome:"Storybook has found potential blockers in your project that need to be resolved before upgrading:",reminder:chalk15.yellow("Fix the above issues and try running the upgrade command again.")};return logger.plain(boxen([messages.welcome].concat([`
|
|
668
|
-
|
|
669
|
-
`]).concat([faults.map(i=>i.log).join(segmentDivider2)]).concat([segmentDivider2,messages.reminder]).join(""),{borderStyle:"round",padding:1,borderColor:"#FC521F"})),faults[0].id}return logger.plain("No blockers found."),logger.line(),null};var versionRegex=/(@storybook\/[^@]+)@(\S+)/,getStorybookVersion=line=>{if(line.startsWith("npm "))return null;let match2=versionRegex.exec(line);return !match2||!semver.clean(match2[2])?null:{package:match2[1],version:match2[2]}},getInstalledStorybookVersion=async packageManager=>{let installations=await packageManager.findInstallations(Object.keys(versions));if(installations)return Object.entries(installations.dependencies)[0]?.[1]?.[0].version},deprecatedPackages=[{minVersion:"6.0.0-alpha.0",url:"https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#60-deprecations",deprecations:["@storybook/addon-notes","@storybook/addon-info","@storybook/addon-contexts","@storybook/addon-options","@storybook/addon-centered"]}],formatPackage=pkg2=>`${pkg2.package}@${pkg2.version}`,warnPackages=pkgs=>pkgs.forEach(pkg2=>logger.warn(`- ${formatPackage(pkg2)}`)),checkVersionConsistency=()=>{let storybookPackages=sync$1("npm",["ls"],{stdio:"pipe",shell:!0}).output.toString().split(`
|
|
670
|
-
`).map(getStorybookVersion).filter(item=>!!item).filter(pkg2=>isCorePackage(pkg2.package));if(!storybookPackages.length){logger.warn("No storybook core packages found."),logger.warn("'npm ls | grep storybook' can show if multiple versions are installed.");return}storybookPackages.sort((a,b)=>semver.rcompare(a.version,b.version));let latestVersion=storybookPackages[0].version,outdated=storybookPackages.filter(pkg2=>pkg2.version!==latestVersion);outdated.length>0&&(logger.warn(`Found ${outdated.length} outdated packages (relative to '${formatPackage(storybookPackages[0])}')`),logger.warn("Please make sure your packages are updated to ensure a consistent experience."),warnPackages(outdated)),deprecatedPackages.forEach(({minVersion:minVersion2,url,deprecations})=>{if(semver.gte(latestVersion,minVersion2)){let deprecated=storybookPackages.filter(pkg2=>deprecations.includes(pkg2.package));deprecated.length>0&&(logger.warn(`Found ${deprecated.length} deprecated packages since ${minVersion2}`),logger.warn(`See ${url}`),warnPackages(deprecated));}});},doUpgrade=async({skipCheck,packageManager:packageManagerName,dryRun,configDir:userSpecifiedConfigDir,yes,...options})=>{let packageManager=JsPackageManagerFactory.getPackageManager({force:packageManagerName}),beforeVersion=await getInstalledStorybookVersion(packageManager)??"0.0.0",currentCLIVersion=versions.storybook,isCanary=currentCLIVersion.startsWith("0.0.0")||beforeVersion.startsWith("portal:")||beforeVersion.startsWith("workspace:");if(!await hasStorybookDependencies(packageManager))throw new UpgradeStorybookInWrongWorkingDirectory;if(!isCanary&<(currentCLIVersion,beforeVersion))throw new UpgradeStorybookToLowerVersionError({beforeVersion,currentVersion:currentCLIVersion});!isCanary&&eq(currentCLIVersion,beforeVersion)&&logger.warn(new UpgradeStorybookToSameVersionError({beforeVersion}).message);let[latestCLIVersionOnNPM,packageJson]=await Promise.all([packageManager.latestVersion("storybook"),packageManager.retrievePackageJson()]),isCLIOutdated=lt(currentCLIVersion,latestCLIVersionOnNPM),isCLIExactLatest=currentCLIVersion===latestCLIVersionOnNPM,isCLIPrerelease=prerelease(currentCLIVersion)!==null,isUpgrade=lt(beforeVersion,currentCLIVersion),borderColor=isCLIOutdated?"#FC521F":"#F1618C",messages={welcome:`Upgrading Storybook from version ${chalk15.bold(beforeVersion)} to version ${chalk15.bold(currentCLIVersion)}..`,notLatest:chalk15.red(dedent`
|
|
671
|
-
This version is behind the latest release, which is: ${chalk15.bold(latestCLIVersionOnNPM)}!
|
|
672
|
-
You likely ran the upgrade command through npx, which can use a locally cached version, to upgrade to the latest version please run:
|
|
673
|
-
${chalk15.bold("npx storybook@latest upgrade")}
|
|
674
|
-
|
|
675
|
-
You may want to CTRL+C to stop, and run with the latest version instead.
|
|
676
|
-
`),prerelease:chalk15.yellow("This is a pre-release version.")};logger.plain(boxen([messages.welcome].concat(isCLIOutdated&&!isCLIPrerelease?[messages.notLatest]:[]).concat(isCLIPrerelease?[messages.prerelease]:[]).join(`
|
|
677
|
-
`),{borderStyle:"round",padding:1,borderColor}));let results,{configDir:inferredConfigDir,mainConfig:mainConfigPath}=getStorybookInfo(packageJson,userSpecifiedConfigDir),configDir=userSpecifiedConfigDir||inferredConfigDir||".storybook",mainConfig=await loadMainConfig({configDir});if(!beforeVersion)throw new UpgradeStorybookUnknownCurrentVersionError;if(!results&&typeof mainConfig!="boolean"&&typeof mainConfigPath<"u"&&!options.force){let blockResult=await autoblock({packageManager,configDir,packageJson,mainConfig,mainConfigPath});blockResult&&(results={preCheckFailure:blockResult});}if(!dryRun&&!results){let toUpgradedDependencies=deps=>Object.keys(deps||{}).filter(dependency=>dependency in versions).map(dependency=>{let char="^";return isCLIOutdated&&(char=""),isCanary&&(char=""),`${dependency}@${char}${versions[dependency]}`}),upgradedDependencies=toUpgradedDependencies(packageJson.dependencies),upgradedDevDependencies=toUpgradedDependencies(packageJson.devDependencies);logger.info(`Updating dependencies in ${chalk15.cyan("package.json")}..`),upgradedDependencies.length>0&&await packageManager.addDependencies({installAsDevDependencies:!1,skipInstall:!0,packageJson},upgradedDependencies),upgradedDevDependencies.length>0&&await packageManager.addDependencies({installAsDevDependencies:!0,skipInstall:!0,packageJson},upgradedDevDependencies),await packageManager.installDependencies();}if(!skipCheck&&!results&&mainConfigPath&&(checkVersionConsistency(),results=await automigrate({dryRun,yes,packageManager,configDir,mainConfigPath,beforeVersion,storybookVersion:currentCLIVersion,isUpgrade,isLatest:isCLIExactLatest})),!options.disableTelemetry){let{preCheckFailure,fixResults}=results||{};await telemetry$1("upgrade",{beforeVersion,afterVersion:currentCLIVersion,...{automigrationResults:preCheckFailure?null:fixResults,automigrationPreCheckFailure:preCheckFailure||null}});}};async function upgrade(options){await withTelemetry$1("upgrade",{cliOptions:options},()=>doUpgrade(options));}var baseTemplates={"cra/default-js":{name:"Create React App Latest (Webpack | JavaScript)",script:`
|
|
678
|
-
npx create-react-app {{beforeDir}} && cd {{beforeDir}} && jq '.browserslist.production[0] = ">0.9%"' package.json > tmp.json && mv tmp.json package.json
|
|
679
|
-
`,expected:{framework:"@storybook/react-webpack5",renderer:"@storybook/react",builder:"@storybook/builder-webpack5"},skipTasks:["e2e-tests-dev","bench"],modifications:{mainConfig:config=>({stories:config.getFieldValue(["stories"])?.map(s=>typeof s=="string"?s.replace(/\|(tsx?|ts)\b|\b(tsx?|ts)\|/g,""):s)})}},"cra/default-ts":{name:"Create React App Latest (Webpack | TypeScript)",script:`
|
|
680
|
-
npx create-react-app {{beforeDir}} --template typescript && cd {{beforeDir}} && jq '.browserslist.production[0] = ">0.9%"' package.json > tmp.json && mv tmp.json package.json
|
|
681
|
-
`,skipTasks:["smoke-test","bench"],expected:{framework:"@storybook/react-webpack5",renderer:"@storybook/react",builder:"@storybook/builder-webpack5"}},"nextjs/13-ts":{name:"Next.js v13.5 (Webpack | TypeScript)",script:'yarn create next-app {{beforeDir}} -e https://github.com/vercel/next.js/tree/next-13/examples/hello-world && cd {{beforeDir}} && npm pkg set "dependencies.next"="^13.5.6" && yarn && git add . && git commit --amend --no-edit && cd ..',expected:{framework:"@storybook/nextjs",renderer:"@storybook/react",builder:"@storybook/builder-webpack5"},modifications:{mainConfig:{features:{experimentalRSC:!0}},extraDependencies:["server-only"]},skipTasks:["e2e-tests-dev","bench"]},"nextjs/default-js":{name:"Next.js Latest (Webpack | JavaScript)",script:'yarn create next-app {{beforeDir}} --javascript --eslint --tailwind --app --import-alias="@/*" --src-dir',expected:{framework:"@storybook/nextjs",renderer:"@storybook/react",builder:"@storybook/builder-webpack5"},modifications:{mainConfig:{features:{experimentalRSC:!0}},extraDependencies:["server-only"]},skipTasks:["e2e-tests-dev","bench"]},"nextjs/default-ts":{name:"Next.js Latest (Webpack | TypeScript)",script:'yarn create next-app {{beforeDir}} --typescript --eslint --tailwind --app --import-alias="@/*" --src-dir',expected:{framework:"@storybook/nextjs",renderer:"@storybook/react",builder:"@storybook/builder-webpack5"},modifications:{mainConfig:{features:{experimentalRSC:!0}},extraDependencies:["server-only"]},skipTasks:["e2e-tests-dev","bench"]},"nextjs/prerelease":{name:"Next.js Prerelease (Webpack | TypeScript)",script:'npx create-next-app@canary {{beforeDir}} --typescript --eslint --tailwind --app --import-alias="@/*" --src-dir',expected:{framework:"@storybook/nextjs",renderer:"@storybook/react",builder:"@storybook/builder-webpack5"},modifications:{mainConfig:{features:{experimentalRSC:!0}},extraDependencies:["server-only"]},skipTasks:["e2e-tests-dev","bench"]},"react-vite/default-js":{name:"React Latest (Vite | JavaScript)",script:"npm create vite --yes {{beforeDir}} -- --template react",expected:{framework:"@storybook/react-vite",renderer:"@storybook/react",builder:"@storybook/builder-vite"},skipTasks:["e2e-tests-dev","bench"]},"react-vite/default-ts":{name:"React Latest (Vite | TypeScript)",script:"npm create vite --yes {{beforeDir}} -- --template react-ts",expected:{framework:"@storybook/react-vite",renderer:"@storybook/react",builder:"@storybook/builder-vite"},skipTasks:["bench"]},"react-vite/prerelease-ts":{name:"React Prerelease (Vite | TypeScript)",script:`
|
|
682
|
-
npm create vite --yes {{beforeDir}} -- --template react-ts && cd {{beforeDir}} && yarn add react@beta react-dom@beta && jq '.resolutions += {"@types/react": "npm:types-react@beta", "@types/react-dom": "npm:types-react-dom@beta"}' package.json > tmp.json && mv tmp.json package.json && yarn add --dev @types/react@npm:types-react@beta @types/react-dom@npm:types-react-dom@beta
|
|
683
|
-
`,expected:{framework:"@storybook/react-vite",renderer:"@storybook/react",builder:"@storybook/builder-vite"},skipTasks:["e2e-tests-dev","bench"]},"react-webpack/18-ts":{name:"React Latest (Webpack | TypeScript)",script:"yarn create webpack5-react {{beforeDir}}",expected:{framework:"@storybook/react-webpack5",renderer:"@storybook/react",builder:"@storybook/builder-webpack5"},skipTasks:["e2e-tests-dev","bench"]},"react-webpack/17-ts":{name:"React v17 (Webpack | TypeScript)",script:'yarn create webpack5-react {{beforeDir}} --version-react="17" --version-react-dom="17"',expected:{framework:"@storybook/react-webpack5",renderer:"@storybook/react",builder:"@storybook/builder-webpack5"},skipTasks:["e2e-tests-dev","bench"]},"react-webpack/prerelease-ts":{name:"React Prerelease (Webpack | TypeScript)",script:`
|
|
684
|
-
yarn create webpack5-react {{beforeDir}} --version-react="beta" --version-react-dom="beta" && cd {{beforeDir}} && jq '.resolutions += {"@types/react": "npm:types-react@beta", "@types/react-dom": "npm:types-react-dom@beta"}' package.json > tmp.json && mv tmp.json package.json && yarn add --dev @types/react@npm:types-react@beta @types/react-dom@npm:types-react-dom@beta
|
|
685
|
-
`,expected:{framework:"@storybook/react-webpack5",renderer:"@storybook/react",builder:"@storybook/builder-webpack5"},skipTasks:["e2e-tests-dev","bench"]},"solid-vite/default-js":{name:"SolidJS Latest (Vite | JavaScript)",script:"npx degit solidjs/templates/js {{beforeDir}}",expected:{framework:"storybook-solidjs-vite",renderer:"storybook-solidjs",builder:"@storybook/builder-vite"},inDevelopment:!0,skipTasks:["e2e-tests-dev","bench"]},"solid-vite/default-ts":{name:"SolidJS Latest (Vite | TypeScript)",script:"npx degit solidjs/templates/ts {{beforeDir}}",expected:{framework:"storybook-solidjs-vite",renderer:"storybook-solidjs",builder:"@storybook/builder-vite"},inDevelopment:!0,skipTasks:["e2e-tests-dev","bench"]},"vue3-vite/default-js":{name:"Vue v3 (Vite | JavaScript)",script:"npm create vite --yes {{beforeDir}} -- --template vue",expected:{framework:"@storybook/vue3-vite",renderer:"@storybook/vue3",builder:"@storybook/builder-vite"},skipTasks:["e2e-tests-dev","bench"]},"vue3-vite/default-ts":{name:"Vue v3 (Vite | TypeScript)",script:"npm create vite --yes {{beforeDir}} -- --template vue-ts",expected:{framework:"@storybook/vue3-vite",renderer:"@storybook/vue3",builder:"@storybook/builder-vite"},skipTasks:["e2e-tests-dev","bench"]},"html-webpack/default":{name:"HTML Latest (Webpack | JavaScript)",script:"yarn create webpack5-html {{beforeDir}}",expected:{framework:"@storybook/html-webpack5",renderer:"@storybook/html",builder:"@storybook/builder-webpack5"},skipTasks:["e2e-tests-dev","bench"]},"html-vite/default-js":{name:"HTML Latest (Vite | JavaScript)",script:'npm create vite --yes {{beforeDir}} -- --template vanilla && cd {{beforeDir}} && echo "export default {}" > vite.config.js',expected:{framework:"@storybook/html-vite",renderer:"@storybook/html",builder:"@storybook/builder-vite"},skipTasks:["e2e-tests-dev","bench"]},"html-vite/default-ts":{name:"HTML Latest (Vite | TypeScript)",script:'npm create vite --yes {{beforeDir}} -- --template vanilla-ts && cd {{beforeDir}} && echo "export default {}" > vite.config.js',expected:{framework:"@storybook/html-vite",renderer:"@storybook/html",builder:"@storybook/builder-vite"},skipTasks:["e2e-tests-dev","bench"]},"svelte-vite/default-js":{name:"Svelte Latest (Vite | JavaScript)",script:"npm create vite --yes {{beforeDir}} -- --template svelte",expected:{framework:"@storybook/svelte-vite",renderer:"@storybook/svelte",builder:"@storybook/builder-vite"},skipTasks:["e2e-tests-dev","bench"]},"svelte-vite/default-ts":{name:"Svelte Latest (Vite | TypeScript)",script:"npm create vite --yes {{beforeDir}} -- --template svelte-ts",expected:{framework:"@storybook/svelte-vite",renderer:"@storybook/svelte",builder:"@storybook/builder-vite"},skipTasks:["smoke-test","e2e-tests-dev","bench"]},"angular-cli/prerelease":{name:"Angular CLI Prerelease (Webpack | TypeScript)",script:"npx -p @angular/cli@next ng new angular-v16 --directory {{beforeDir}} --routing=true --minimal=true --style=scss --strict --skip-git --skip-install --package-manager=yarn --ssr",expected:{framework:"@storybook/angular",renderer:"@storybook/angular",builder:"@storybook/builder-webpack5"},skipTasks:["e2e-tests-dev","bench"]},"angular-cli/default-ts":{name:"Angular CLI Latest (Webpack | TypeScript)",script:"npx -p @angular/cli ng new angular-latest --directory {{beforeDir}} --routing=true --minimal=true --style=scss --strict --skip-git --skip-install --package-manager=yarn --ssr",expected:{framework:"@storybook/angular",renderer:"@storybook/angular",builder:"@storybook/builder-webpack5"},skipTasks:["e2e-tests-dev","bench"]},"angular-cli/15-ts":{name:"Angular CLI v15 (Webpack | TypeScript)",script:"npx -p @angular/cli@15 ng new angular-v15 --directory {{beforeDir}} --routing=true --minimal=true --style=scss --strict --skip-git --skip-install --package-manager=yarn",expected:{framework:"@storybook/angular",renderer:"@storybook/angular",builder:"@storybook/builder-webpack5"},skipTasks:["e2e-tests-dev","bench"]},"svelte-kit/skeleton-js":{name:"SvelteKit Latest (Vite | JavaScript)",script:"yarn create svelte-with-args --name=svelte-kit/skeleton-js --directory={{beforeDir}} --template=skeleton --types=null --no-prettier --no-eslint --no-playwright --no-vitest --no-svelte5",expected:{framework:"@storybook/sveltekit",renderer:"@storybook/svelte",builder:"@storybook/builder-vite"},skipTasks:["e2e-tests-dev","bench"]},"svelte-kit/skeleton-ts":{name:"SvelteKit Latest (Vite | TypeScript)",script:"yarn create svelte-with-args --name=svelte-kit/skeleton-ts --directory={{beforeDir}} --template=skeleton --types=typescript --no-prettier --no-eslint --no-playwright --no-vitest --no-svelte5",expected:{framework:"@storybook/sveltekit",renderer:"@storybook/svelte",builder:"@storybook/builder-vite"},skipTasks:["e2e-tests-dev","bench"]},"svelte-kit/prerelease-ts":{name:"SvelteKit Prerelease (Vite | TypeScript)",script:"yarn create svelte-with-args --name=svelte-kit/prerelease-ts --directory={{beforeDir}} --template=skeleton --types=typescript --no-prettier --no-eslint --no-playwright --no-vitest --svelte5",expected:{framework:"@storybook/sveltekit",renderer:"@storybook/svelte",builder:"@storybook/builder-vite"},skipTasks:["e2e-tests-dev","bench"]},"lit-vite/default-js":{name:"Lit Latest (Vite | JavaScript)",script:'npm create vite --yes {{beforeDir}} -- --template lit && cd {{beforeDir}} && echo "export default {}" > vite.config.js',expected:{framework:"@storybook/web-components-vite",renderer:"@storybook/web-components",builder:"@storybook/builder-vite"},skipTasks:["smoke-test","e2e-tests-dev","bench"]},"lit-vite/default-ts":{name:"Lit Latest (Vite | TypeScript)",script:'npm create vite --yes {{beforeDir}} -- --template lit-ts && cd {{beforeDir}} && echo "export default {}" > vite.config.js',expected:{framework:"@storybook/web-components-vite",renderer:"@storybook/web-components",builder:"@storybook/builder-vite"},skipTasks:["smoke-test","e2e-tests-dev","bench"]},"vue-cli/default-js":{name:"Vue CLI v3 (Webpack | JavaScript)",script:'npx -p @vue/cli vue create {{beforeDir}} --default --packageManager=yarn --force --merge && cd {{beforeDir}} && echo "module.exports = {}" > webpack.config.js',expected:{framework:"@storybook/vue3-webpack5",renderer:"@storybook/vue3",builder:"@storybook/builder-webpack5"},skipTasks:["smoke-test","e2e-tests-dev","bench"]},"preact-vite/default-js":{name:"Preact Latest (Vite | JavaScript)",script:"npm create vite --yes {{beforeDir}} -- --template preact",expected:{framework:"@storybook/preact-vite",renderer:"@storybook/preact",builder:"@storybook/builder-vite"},modifications:{extraDependencies:["preact-render-to-string"]},skipTasks:["e2e-tests-dev","bench"]},"preact-vite/default-ts":{name:"Preact Latest (Vite | TypeScript)",script:"npm create vite --yes {{beforeDir}} -- --template preact-ts",expected:{framework:"@storybook/preact-vite",renderer:"@storybook/preact",builder:"@storybook/builder-vite"},modifications:{extraDependencies:["preact-render-to-string"]},skipTasks:["e2e-tests-dev","bench"]},"qwik-vite/default-ts":{name:"Qwik CLI Latest (Vite | TypeScript)",script:"npm create qwik basic {{beforeDir}}",inDevelopment:!0,expected:{framework:"storybook-framework-qwik",renderer:"storybook-framework-qwik",builder:"storybook-framework-qwik"},skipTasks:["e2e-tests","e2e-tests-dev","bench"]},"ember/3-js":{name:"Ember v3 (Webpack | JavaScript)",script:"npx --package ember-cli@3.28.1 ember new {{beforeDir}}",inDevelopment:!0,expected:{framework:"@storybook/ember",renderer:"@storybook/ember",builder:"@storybook/builder-webpack5"}},"ember/default-js":{name:"Ember v4 (Webpack | JavaScript)",script:"npx --package ember-cli@4.12.1 ember new {{beforeDir}} --yarn && cd {{beforeDir}} && yarn add --dev @storybook/ember-cli-storybook && yarn build",inDevelopment:!0,expected:{framework:"@storybook/ember",renderer:"@storybook/ember",builder:"@storybook/builder-webpack5"}}},internalTemplates={"internal/react18-webpack-babel":{name:"React with Babel Latest (Webpack | TypeScript)",script:"yarn create webpack5-react {{beforeDir}}",expected:{framework:"@storybook/react-webpack5",renderer:"@storybook/react",builder:"@storybook/builder-webpack5"},modifications:{extraDependencies:["@storybook/addon-webpack5-compiler-babel"],editAddons:addons=>[...addons,"@storybook/addon-webpack5-compiler-babel"].filter(a=>a!=="@storybook/addon-webpack5-compiler-swc")},isInternal:!0,skipTasks:["e2e-tests-dev","bench"]},"internal/react16-webpack":{name:"React 16 (Webpack | TypeScript)",script:"yarn create webpack5-react {{beforeDir}} --version-react=16 --version-react-dom=16 --version-@types/react=16 --version-@types/react-dom=16",expected:{framework:"@storybook/react-webpack5",renderer:"@storybook/react",builder:"@storybook/builder-webpack5"},skipTasks:["e2e-tests-dev","bench"],isInternal:!0},"internal/server-webpack5":{name:"Server Webpack5",script:'yarn init -y && echo "module.exports = {}" > webpack.config.js',expected:{framework:"@storybook/server-webpack5",renderer:"@storybook/server",builder:"@storybook/builder-webpack5"},isInternal:!0,skipTasks:["bench"]}},benchTemplates={"bench/react-vite-default-ts":{...baseTemplates["react-vite/default-ts"],name:"Bench (react-vite/default-ts)",isInternal:!0,modifications:{skipTemplateStories:!0},skipTasks:["e2e-tests-dev","test-runner","test-runner-dev","e2e-tests","chromatic"]},"bench/react-webpack-18-ts":{...baseTemplates["react-webpack/18-ts"],name:"Bench (react-webpack/18-ts)",isInternal:!0,modifications:{skipTemplateStories:!0},skipTasks:["e2e-tests-dev","test-runner","test-runner-dev","e2e-tests","chromatic"]},"bench/react-vite-default-ts-nodocs":{...baseTemplates["react-vite/default-ts"],name:"Bench (react-vite/default-ts, no docs)",isInternal:!0,modifications:{skipTemplateStories:!0,disableDocs:!0},skipTasks:["e2e-tests-dev","test-runner","test-runner-dev","e2e-tests","chromatic"]},"bench/react-vite-default-ts-test-build":{...baseTemplates["react-vite/default-ts"],name:"Bench (react-vite/default-ts, test-build)",isInternal:!0,modifications:{skipTemplateStories:!0,testBuild:!0},skipTasks:["e2e-tests-dev","test-runner","test-runner-dev","e2e-tests"]},"bench/react-webpack-18-ts-test-build":{...baseTemplates["react-webpack/18-ts"],name:"Bench (react-webpack/18-ts, test-build)",isInternal:!0,modifications:{skipTemplateStories:!0,testBuild:!0},skipTasks:["e2e-tests-dev","test-runner","test-runner-dev","e2e-tests"]}},allTemplates={...baseTemplates,...internalTemplates,...benchTemplates};var logger30=console,toChoices=c=>({title:allTemplates[c].name,value:c}),sandbox=async({output:outputDirectory,filterValue,init:init2,...options})=>{let selectedConfig=allTemplates[filterValue],templateId=selectedConfig?filterValue:null,{packageManager:pkgMgr}=options,packageManager=JsPackageManagerFactory.getPackageManager({force:pkgMgr}),latestVersion=await packageManager.latestVersion("storybook"),nextVersion=await packageManager.latestVersion("storybook@next").catch(e=>"0.0.0"),currentVersion=versions.storybook,isPrerelease=prerelease(currentVersion),isOutdated=lt(currentVersion,isPrerelease?nextVersion:latestVersion),borderColor=isOutdated?"#FC521F":"#F1618C",downloadType=!isOutdated&&init2?"after-storybook":"before-storybook",branch=isPrerelease?"next":"main",messages={welcome:`Creating a Storybook ${chalk15.bold(currentVersion)} sandbox..`,notLatest:chalk15.red(dedent`
|
|
686
|
-
This version is behind the latest release, which is: ${chalk15.bold(latestVersion)}!
|
|
687
|
-
You likely ran the init command through npx, which can use a locally cached version, to get the latest please run:
|
|
688
|
-
${chalk15.bold("npx storybook@latest sandbox")}
|
|
689
|
-
|
|
690
|
-
You may want to CTRL+C to stop, and run with the latest version instead.
|
|
691
|
-
`),longInitTime:chalk15.yellow("The creation of the sandbox will take longer, because we will need to run init."),prerelease:chalk15.yellow("This is a pre-release version.")};if(logger30.log(boxen([messages.welcome].concat(isOutdated&&!isPrerelease?[messages.notLatest]:[]).concat(init2&&(isOutdated||isPrerelease)?[messages.longInitTime]:[]).concat(isPrerelease?[messages.prerelease]:[]).join(`
|
|
692
|
-
`),{borderStyle:"round",padding:1,borderColor})),!selectedConfig){let filterRegex=new RegExp(`^${filterValue||""}`,"i"),keys=Object.keys(allTemplates),choices=keys.reduce((acc,group)=>{let current=allTemplates[group];return (!filterValue||current.name.match(filterRegex)||group.match(filterRegex)||current.expected.builder.match(filterRegex)||current.expected.framework.match(filterRegex)||current.expected.renderer.match(filterRegex))&&acc.push(group),acc},[]);if(choices.length===0&&(logger30.info(boxen(dedent`
|
|
693
|
-
🔎 You filtered out all templates. 🔍
|
|
694
|
-
|
|
695
|
-
After filtering all the templates with "${chalk15.yellow(filterValue)}", we found no results. Please try again with a different filter.
|
|
696
|
-
|
|
697
|
-
Available templates:
|
|
698
|
-
${keys.map(key=>chalk15.blue`- ${key}`).join(`
|
|
699
|
-
`)}
|
|
700
|
-
`.trim(),{borderStyle:"round",padding:1,borderColor:"#F1618C"})),process.exit(1)),choices.length===1?[templateId]=choices:(logger30.info(boxen(dedent`
|
|
701
|
-
🤗 Welcome to ${chalk15.yellow("sb sandbox")}! 🤗
|
|
702
|
-
|
|
703
|
-
Create a ${chalk15.green("new project")} to minimally reproduce Storybook issues.
|
|
704
|
-
|
|
705
|
-
1. select an environment that most closely matches your project setup.
|
|
706
|
-
2. select a location for the reproduction, outside of your project.
|
|
707
|
-
|
|
708
|
-
After the reproduction is ready, we'll guide you through the next steps.
|
|
709
|
-
`.trim(),{borderStyle:"round",padding:1,borderColor:"#F1618C"})),templateId=await promptSelectedTemplate(choices)),!!!(templateId??null)){logger30.error("Somehow we got no templates. Please rerun this command!");return}if(selectedConfig=templateId?allTemplates[templateId]:void 0,!selectedConfig)throw new Error("\u{1F6A8} Sandbox: please specify a valid template type")}let selectedDirectory=outputDirectory,outputDirectoryName=outputDirectory||templateId;if(selectedDirectory&&existsSync(`${selectedDirectory}`)&&logger30.info(`\u26A0\uFE0F ${selectedDirectory} already exists! Overwriting...`),!selectedDirectory){let{directory}=await prompts5({type:"text",message:"Enter the output directory",name:"directory",initial:outputDirectoryName??void 0,validate:async directoryName=>existsSync(directoryName)?`${directoryName} already exists. Please choose another name.`:!0},{onCancel:()=>{logger30.log("Command cancelled by the user. Exiting..."),process.exit(1);}});selectedDirectory=directory;}invariant5(selectedDirectory);try{let templateDestination=path9.isAbsolute(selectedDirectory)?selectedDirectory:path9.join(process.cwd(),selectedDirectory);logger30.info(`\u{1F3C3} Adding ${selectedConfig.name} into ${templateDestination}`),logger30.log(`\u{1F4E6} Downloading sandbox template (${chalk15.bold(downloadType)})...`);try{let gitPath=`github:storybookjs/sandboxes/${templateId}/${downloadType}#${branch}`;if(await downloadTemplate(gitPath,{force:!0,dir:templateDestination}),(await readdir(templateDestination)).length===0){let selected=chalk15.yellow(templateId);throw new Error(dedent`
|
|
710
|
-
Template downloaded from ${chalk15.blue(gitPath)} is empty.
|
|
711
|
-
Are you use it exists? Or did you want to set ${selected} to inDevelopment first?
|
|
712
|
-
`)}if(downloadType==="before-storybook"&&init2){let before=process.cwd();process.chdir(templateDestination),await doInitiate({dev:process.env.CI!=="true"&&process.env.IN_STORYBOOK_SANBOX!=="true",...options}),process.chdir(before);}}catch(err){throw logger30.error(`\u{1F6A8} Failed to download sandbox template: ${String(err)}`),err}let initMessage=init2?chalk15.yellow(dedent`
|
|
713
|
-
yarn install
|
|
714
|
-
yarn storybook
|
|
715
|
-
`):`Recreate your setup, then ${chalk15.yellow("npx storybook@latest init")}`;logger30.info(boxen(dedent`
|
|
716
|
-
🎉 Your Storybook reproduction project is ready to use! 🎉
|
|
717
|
-
|
|
718
|
-
${chalk15.yellow(`cd ${selectedDirectory}`)}
|
|
719
|
-
${initMessage}
|
|
720
|
-
|
|
721
|
-
Once you've recreated the problem you're experiencing, please:
|
|
722
|
-
|
|
723
|
-
1. Document any additional steps in ${chalk15.cyan("README.md")}
|
|
724
|
-
2. Publish the repository to github
|
|
725
|
-
3. Link to the repro repository in your issue
|
|
726
|
-
|
|
727
|
-
Having a clean repro helps us solve your issue faster! 🙏
|
|
728
|
-
`.trim(),{borderStyle:"round",padding:1,borderColor:"#F1618C"}));}catch(error){throw logger30.error("\u{1F6A8} Failed to create sandbox"),error}};async function promptSelectedTemplate(choices){let{template}=await prompts5({type:"select",message:"\u{1F308} Select the template",name:"template",choices:choices.map(toChoices)},{onCancel:()=>{logger30.log("Command cancelled by the user. Exiting..."),process.exit(1);}});return template||null}var exec2=async(command2,options={},{startMessage,errorMessage,dryRun}={})=>{if(startMessage&&logger.info(startMessage),dryRun){logger.info(`
|
|
729
|
-
> ${command2}
|
|
730
|
-
`);return}return logger.info(command2),new Promise((resolve2,reject)=>{let child=spawn(command2,{...options,shell:!0,stdio:"pipe"});child.stderr.pipe(process.stdout),child.stdout.pipe(process.stdout),child.on("exit",code=>{code===0?resolve2(void 0):(logger.error(chalk15.red(`An error occurred while executing: \`${command2}\``)),errorMessage&&logger.info(errorMessage),reject(new Error(`command exited with code: ${code}: `)));});})},link=async({target,local,start})=>{let storybookDir=process.cwd();try{if((await fse.readJSON("package.json")).name!=="@storybook/root")throw new Error}catch{throw new Error("Expected to run link from the root of the storybook monorepo")}let reproDir=target,reproName=path9.basename(target);if(!local){let reprosDir=path9.join(storybookDir,"../storybook-repros");logger.info(`Ensuring directory ${reprosDir}`),await fse.ensureDir(reprosDir),logger.info(`Cloning ${target}`),await exec2(`git clone ${target}`,{cwd:reprosDir}),reproName=path9.basename(target,path9.extname(target)),reproDir=path9.join(reprosDir,reproName);}let reproPackageJson=await fse.readJSON(path9.join(reproDir,"package.json")),version=sync$1("yarn",["--version"],{cwd:reproDir,stdio:"pipe",shell:!0}).stdout.toString();if(!/^[2-4]\./.test(version)){logger.warn(`\u{1F6A8} Expected yarn 2 or higher in ${reproDir}!`),logger.warn(""),logger.warn("Please set it up with `yarn set version berry`,"),logger.warn(`then link '${reproDir}' with the '--local' flag.`);return}logger.info(`Linking ${reproDir}`),await exec2(`yarn link --all --relative ${storybookDir}`,{cwd:reproDir}),logger.info(`Installing ${reproName}`),await exec2("yarn install",{cwd:reproDir}),reproPackageJson.devDependencies?.vite||await exec2("yarn add -D webpack-hot-middleware",{cwd:reproDir}),await exec2("yarn add @types/node@18",{cwd:reproDir}),start&&(logger.info(`Running ${reproName} storybook`),await exec2("yarn run storybook",{cwd:reproDir}));};function printError(error){instance.heading="",error instanceof Error?error.error?logger.error(error.error):error.stats&&error.stats.compilation.errors?error.stats.compilation.errors.forEach(e=>logger.plain(e)):logger.error(error):error.compilation?.errors&&error.compilation.errors.forEach(e=>logger.plain(e)),logger.line(),logger.warn(error.close?dedent`
|
|
731
|
-
FATAL broken build!, will close the process,
|
|
732
|
-
Fix the error below and restart storybook.
|
|
733
|
-
`:dedent`
|
|
734
|
-
Broken build, fix the error above.
|
|
735
|
-
You may need to refresh the browser.
|
|
736
|
-
`),logger.line();}var dev=async cliOptions=>{process.env.NODE_ENV=process.env.NODE_ENV||"development";let packageJson=await findPackage(__dirname);invariant5(packageJson,"Failed to find the closest package.json file.");let options={...cliOptions,configDir:cliOptions.configDir||"./.storybook",configType:"DEVELOPMENT",ignorePreview:!!cliOptions.previewUrl&&!cliOptions.forceBuildPreview,cache,packageJson};await withTelemetry("dev",{cliOptions,presetOptions:options,printError},()=>buildDevStandalone(options));};var build=async cliOptions=>{let packageJson=await findPackage(__dirname);invariant5(packageJson,"Failed to find the closest package.json file.");let options={...cliOptions,configDir:cliOptions.configDir||"./.storybook",outputDir:cliOptions.outputDir||"./storybook-static",ignorePreview:!!cliOptions.previewUrl&&!cliOptions.forceBuildPreview,configType:"PRODUCTION",cache:cache,packageJson};await withTelemetry("build",{cliOptions,presetOptions:options},()=>buildStaticStandalone(options));};addToGlobalContext("cliVersion",versions.storybook);var pkg=findPackageSync(__dirname);invariant5(pkg,"Failed to find the closest package.json file.");var consoleLogger=console,command=name=>program.command(name).option("--disable-telemetry","Disable sending telemetry data",process.env.STORYBOOK_DISABLE_TELEMETRY&&process.env.STORYBOOK_DISABLE_TELEMETRY!=="false").option("--debug","Get more logs in debug mode",!1).option("--enable-crash-reports","Enable sending crash reports to telemetry data");command("init").description("Initialize Storybook into your project.").option("-f --force","Force add Storybook").option("-s --skip-install","Skip installing deps").option("--package-manager <npm|pnpm|yarn1|yarn2>","Force package manager for installing deps").option("--use-pnp","Enable pnp mode for Yarn 2+").option("-p --parser <babel | babylon | flow | ts | tsx>","jscodeshift parser").option("-t --type <type>","Add Storybook for a specific project type").option("-y --yes","Answer yes to all prompts").option("-b --builder <webpack5 | vite>","Builder library").option("-l --linkable","Prepare installation for link (contributor helper)").option("--dev","Launch the development server after completing initialization. Enabled by default",process.env.CI!=="true"&&process.env.IN_STORYBOOK_SANDBOX!=="true").option("--no-dev","Complete the initialization of Storybook without launching the Storybook development server").action(options=>{initiate(options).catch(()=>process.exit(1));});command("add <addon>").description("Add an addon to your Storybook").option("--package-manager <npm|pnpm|yarn1|yarn2>","Force package manager for installing dependencies").option("-c, --config-dir <dir-name>","Directory where to load Storybook configurations from").option("-s --skip-postinstall","Skip package specific postinstall config modifications").action((addonName,options)=>add(addonName,options));command("remove <addon>").description("Remove an addon from your Storybook").option("--package-manager <npm|pnpm|yarn1|yarn2>","Force package manager for installing dependencies").action((addonName,options)=>withTelemetry("remove",{cliOptions:options},async()=>{await removeAddon(addonName,options),options.disableTelemetry||await telemetry("remove",{addon:addonName,source:"cli"});}));command("upgrade").description(`Upgrade your Storybook packages to v${versions.storybook}`).option("--package-manager <npm|pnpm|yarn1|yarn2>","Force package manager for installing dependencies").option("-y --yes","Skip prompting the user").option("-f --force","force the upgrade, skipping autoblockers").option("-n --dry-run","Only check for upgrades, do not install").option("-s --skip-check","Skip postinstall version and automigration checks").option("-c, --config-dir <dir-name>","Directory where to load Storybook configurations from").action(async options=>upgrade(options).catch(()=>process.exit(1)));command("info").description("Prints debugging information about the local environment").action(async()=>{consoleLogger.log(chalk15.bold(`
|
|
737
|
-
Storybook Environment Info:`));let activePackageManager=(await JsPackageManagerFactory.getPackageManager()).type.replace(/\d/,""),output=await envinfo.run({System:["OS","CPU","Shell"],Binaries:["Node","Yarn","npm","pnpm"],Browsers:["Chrome","Edge","Firefox","Safari"],npmPackages:"{@storybook/*,*storybook*,sb,chromatic}",npmGlobalPackages:"{@storybook/*,*storybook*,sb,chromatic}"}),activePackageManagerLine=output.match(new RegExp(`${activePackageManager}:.*`,"i"));consoleLogger.log(output.replace(activePackageManagerLine,chalk15.bold(`${activePackageManagerLine} <----- active`)));});command("migrate [migration]").description("Run a Storybook codemod migration on your source files").option("-l --list","List available migrations").option("-g --glob <glob>","Glob for files upon which to apply the migration","**/*.js").option("-p --parser <babel | babylon | flow | ts | tsx>","jscodeshift parser").option("-c, --config-dir <dir-name>","Directory where to load Storybook configurations from").option("-n --dry-run","Dry run: verify the migration exists and show the files to which it will be applied").option("-r --rename <from-to>",'Rename suffix of matching files after codemod has been applied, e.g. ".js:.ts"').action((migration,{configDir,glob:glob2,dryRun,list,rename,parser})=>{migrate(migration,{configDir,glob:glob2,dryRun,list,rename,parser}).catch(err=>{logger.error(err),process.exit(1);});});command("sandbox [filterValue]").alias("repro").description("Create a sandbox from a set of possible templates").option("-o --output <outDir>","Define an output directory").option("--no-init","Whether to download a template without an initialized Storybook",!1).action((filterValue,options)=>sandbox({filterValue,...options}).catch(e=>{logger.error(e),process.exit(1);}));command("link <repo-url-or-directory>").description("Pull down a repro from a URL (or a local directory), link it, and run storybook").option("--local","Link a local directory already in your file system").option("--no-start","Start the storybook",!0).action((target,{local,start})=>link({target,local,start}).catch(e=>{logger.error(e),process.exit(1);}));command("automigrate [fixId]").description("Check storybook for incompatibilities or migrations and apply fixes").option("-y --yes","Skip prompting the user").option("-n --dry-run","Only check for fixes, do not actually run them").option("--package-manager <npm|pnpm|yarn1|yarn2>","Force package manager").option("-l --list","List available migrations").option("-c, --config-dir <dir-name>","Directory of Storybook configurations to migrate").option("-s --skip-install","Skip installing deps").option("--renderer <renderer-pkg-name>","The renderer package for the framework Storybook is using.").action(async(fixId,options)=>{await doAutomigrate({fixId,...options}).catch(e=>{logger.error(e),process.exit(1);});});command("doctor").description("Check Storybook for known problems and provide suggestions or fixes").option("--package-manager <npm|pnpm|yarn1|yarn2>","Force package manager").option("-c, --config-dir <dir-name>","Directory of Storybook configuration").action(async options=>{await doctor(options).catch(e=>{logger.error(e),process.exit(1);});});command("dev").option("-p, --port <number>","Port to run Storybook",str=>parseInt(str,10)).option("-h, --host <string>","Host to run Storybook").option("-c, --config-dir <dir-name>","Directory where to load Storybook configurations from").option("--https","Serve Storybook over HTTPS. Note: You must provide your own certificate information.").option("--ssl-ca <ca>","Provide an SSL certificate authority. (Optional with --https, required if using a self-signed certificate)",parseList).option("--ssl-cert <cert>","Provide an SSL certificate. (Required with --https)").option("--ssl-key <key>","Provide an SSL key. (Required with --https)").option("--smoke-test","Exit after successful start").option("--ci","CI mode (skip interactive prompts, don't open browser)").option("--no-open","Do not open Storybook automatically in the browser").option("--loglevel <level>","Control level of logging during build").option("--quiet","Suppress verbose build output").option("--no-version-updates","Suppress update check",!0).option("--debug-webpack","Display final webpack configurations for debugging purposes").option("--webpack-stats-json [directory]","Write Webpack stats JSON to disk (synonym for `--stats-json`)").option("--stats-json [directory]","Write stats JSON to disk").option("--preview-url <string>","Disables the default storybook preview and lets your use your own").option("--force-build-preview","Build the preview iframe even if you are using --preview-url").option("--docs","Build a documentation-only site using addon-docs").option("--exact-port","Exit early if the desired port is not available").option("--initial-path [path]","URL path to be appended when visiting Storybook for the first time").action(async options=>{logger.setLevel(program.loglevel),consoleLogger.log(chalk15.bold(`${pkg.name} v${pkg.version}`)+chalk15.reset(`
|
|
738
|
-
`)),getEnvConfig(options,{port:"SBCONFIG_PORT",host:"SBCONFIG_HOSTNAME",staticDir:"SBCONFIG_STATIC_DIR",configDir:"SBCONFIG_CONFIG_DIR",ci:"CI"}),parseInt(`${options.port}`,10)&&(options.port=parseInt(`${options.port}`,10)),await dev({...options,packageJson:pkg}).catch(()=>process.exit(1));});command("build").option("-o, --output-dir <dir-name>","Directory where to store built files").option("-c, --config-dir <dir-name>","Directory where to load Storybook configurations from").option("--quiet","Suppress verbose build output").option("--loglevel <level>","Control level of logging during build").option("--debug-webpack","Display final webpack configurations for debugging purposes").option("--webpack-stats-json [directory]","Write Webpack stats JSON to disk (synonym for `--stats-json`)").option("--stats-json [directory]","Write stats JSON to disk").option("--preview-url <string>","Disables the default storybook preview and lets your use your own").option("--force-build-preview","Build the preview iframe even if you are using --preview-url").option("--docs","Build a documentation-only site using addon-docs").option("--test","Build stories optimized for testing purposes.").action(async options=>{process.env.NODE_ENV=process.env.NODE_ENV||"production",logger.setLevel(program.loglevel),consoleLogger.log(chalk15.bold(`${pkg.name} v${pkg.version}
|
|
739
|
-
`)),getEnvConfig(options,{staticDir:"SBCONFIG_STATIC_DIR",outputDir:"SBCONFIG_OUTPUT_DIR",configDir:"SBCONFIG_CONFIG_DIR"}),await build({...options,packageJson:pkg,test:!!options.test||process.env.SB_TESTBUILD==="true"}).catch(()=>process.exit(1));});program.on("command:*",([invalidCmd])=>{consoleLogger.error(` Invalid command: %s.
|
|
740
|
-
See --help for a list of available commands.`,invalidCmd);let suggestion=program.commands.map(cmd=>cmd._name).find(cmd=>leven(cmd,invalidCmd)<3);suggestion&&consoleLogger.info(`
|
|
741
|
-
Did you mean ${suggestion}?`),process.exit(1);});program.usage("<command> [options]").version(String(pkg.version)).parse(process.argv);
|