UNPKG

lakutata

Version:

An IoC-based universal application framework.

2,092 lines (1,712 loc) 283 kB
/* Build Date: Mon Jan 05 2026 23:52:23 GMT+0800 (China Standard Time) */ "use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const e = require("../../../vendor/Package.internal.3.cjs"); const t = require("../../lib/core/Component.cjs"); const n = require("../../decorators/di/Lifetime.cjs"); const r = require("./lib/DockerImage.cjs"); const i = require("./lib/DockerContainer.cjs"); const s = require("os"); const a = require("../../decorators/di/Configurable.cjs"); const o = require("../../../vendor/Package.internal.7.cjs"); const u = require("../../../vendor/Package.internal.56.cjs"); const c = require("./exceptions/DockerConnectionException.cjs"); const l = require("./exceptions/DockerImageNotFoundException.cjs"); const f = require("./options/image/ImagePullOptions.cjs"); const h = require("../../decorators/dto/Accept.cjs"); const d = require("node:readline"); const g = require("./exceptions/DockerImagePullException.cjs"); const p = require("../../lib/helpers/IsAbortError.cjs"); const m = require("./options/image/ImageBuildOptions.cjs"); const b = require("./exceptions/DockerImageBuildException.cjs"); const _ = require("./options/image/ImageImportOptions.cjs"); const y = require("./exceptions/DockerImageImportException.cjs"); const v = require("../../../vendor/Package.internal.2.cjs"); const A = require("events"); const k = require("node:fs"); const w = require("node:stream"); const x = require("./options/network/NetworkCreateOptions.cjs"); const S = require("../../lib/helpers/As.cjs"); const R = require("../../lib/core/Time.cjs"); const I = require("./exceptions/DockerNetworkNotFoundException.cjs"); const O = require("./options/container/ContainerSettingOptions.cjs"); const C = require("./options/DockerPruneOptions.cjs"); const P = require("./options/auth/DockerAuthOptions.cjs"); const T = require("../../lib/helpers/DevNull.cjs"); const E = require("../../../vendor/Package.internal.6.cjs"); const D = require("node:fs/promises"); const j = require("node:path"); require("../../../vendor/Package.internal.4.cjs"); require("../../lib/base/async-constructor/AsyncConstructor.cjs"); require("../../lib/base/async-constructor/Append.cjs"); require("../../lib/helpers/IsPromiseLike.cjs"); require("../../lib/helpers/IsPromise.cjs"); require("util/types"); require("../../exceptions/MethodNotFoundException.cjs"); require("../../lib/base/abstracts/Exception.cjs"); require("../../../vendor/Package.internal.5.cjs"); require("../../lib/base/internal/ThrowWarning.cjs"); require("../../lib/helpers/Templating.cjs"); require("../../lib/base/internal/CamelCase.cjs"); require("../../lib/helpers/NoCase.cjs"); require("../../lib/ioc/DependencyInjectionContainer.cjs"); require("util"); require("../../lib/ioc/Errors.cjs"); require("../../exceptions/di/DependencyInjectionException.cjs"); require("../../lib/base/internal/ConstructorSymbol.cjs"); require("../../constants/DIMetadataKey.cjs"); require("../../../vendor/Package.internal.1.cjs"); require("node:crypto"); require("../../lib/base/internal/DataValidator.cjs"); require("node:util/types"); require("../../lib/validation/VLD.cjs"); require("url"); require("../../exceptions/dto/InvalidValueException.cjs"); require("../../../vendor/Package.internal.8.cjs"); require("../../lib/helpers/IsHtml.cjs"); require("../../lib/helpers/IsXML.cjs"); require("../../constants/DTOMetadataKey.cjs"); require("../../lib/helpers/ObjectConstructor.cjs"); require("../../lib/helpers/ObjectParentConstructors.cjs"); require("../../lib/helpers/ObjectParentConstructor.cjs"); require("../../lib/helpers/ObjectPrototype.cjs"); require("../../lib/ioc/InjectionMode.cjs"); require("../../lib/ioc/Lifetime.cjs"); require("../../lib/ioc/ListModules.cjs"); require("path"); require("stream"); require("fs"); require("../../lib/ioc/Utils.cjs"); require("../../lib/ioc/FunctionTokenizer.cjs"); require("../../lib/ioc/LoadModules.cjs"); require("../../lib/ioc/Resolvers.cjs"); require("../../lib/ioc/ParamParser.cjs"); require("../../lib/base/internal/ObjectLifetime.cjs"); require("../../exceptions/di/LifetimeLockedException.cjs"); require("../../lib/base/internal/ObjectWeakRefs.cjs"); require("../../lib/base/internal/ConfigurableRecordsInjection.cjs"); require("../../lib/base/internal/ObjectConfiguration.cjs"); require("../../lib/base/internal/ObjectInjection.cjs"); require("../../lib/base/internal/ObjectContainer.cjs"); require("../../decorators/dto/Expect.cjs"); require("../../decorators/dto/IndexSignature.cjs"); require("../../lib/helpers/IsEmptyObject.cjs"); require("../../lib/base/EventEmitter.cjs"); require("../../lib/core/Provider.cjs"); require("../../lib/base/internal/MethodValidation.cjs"); require("../../exceptions/dto/InvalidMethodAcceptException.cjs"); require("../../exceptions/dto/InvalidMethodReturnException.cjs"); require("./options/image/ImageTagOptions.cjs"); require("./options/image/ImageExportOptions.cjs"); require("stream/promises"); require("./exceptions/DockerImageRepoTagNotFoundException.cjs"); require("./options/image/ImageRemoveOptions.cjs"); require("./options/image/ImagePushOptions.cjs"); require("./exceptions/DockerImagePushException.cjs"); require("./lib/ParseRepositoryTag.cjs"); require("./lib/ParseEnvToRecord.cjs"); require("./types/ContainerCapability.cjs"); require("./options/container/ContainerStopOptions.cjs"); require("./options/container/ContainerRemoveOptions.cjs"); require("./options/container/ContainerKillOptions.cjs"); require("../../lib/helpers/UniqueArray.cjs"); require("./options/container/ContainerCommitOptions.cjs"); require("./options/container/ContainerCreateTTYOptions.cjs"); require("./options/container/ContainerTTYConsoleSizeOptions.cjs"); require("./options/container/ContainerLogsOptions.cjs"); require("./options/container/ContainerExecOptions.cjs"); require("./options/container/ContainerExportDirectoryOptions.cjs"); require("querystring"); require("https"); require("http"); require("net"); require("child_process"); require("crypto"); require("assert"); require("buffer"); require("tls"); require("dns"); require("zlib"); require("../../../vendor/Package.internal.52.cjs"); require("tty"); require("constants"); require("../../../vendor/Package.internal.54.cjs"); require("node:os"); require("node:events"); require("node:diagnostics_channel"); require("worker_threads"); require("module"); require("string_decoder"); require("node:worker_threads"); require("process"); require("http2"); require("../../decorators/di/Inject.cjs"); const L = e => e && e.__esModule ? e : { default: e }; const N = L(A); const q = L(j); var F = {}; var M = N.default; var V = class FixedFIFO { constructor(e) { if (!(e > 0) || (e - 1 & e) !== 0) throw new Error("Max size for a FixedFIFO should be a power of two"); this.buffer = new Array(e); this.mask = e - 1; this.top = 0; this.btm = 0; this.next = null; } clear() { this.top = this.btm = 0; this.next = null; this.buffer.fill(undefined); } push(e) { if (this.buffer[this.top] !== undefined) return false; this.buffer[this.top] = e; this.top = this.top + 1 & this.mask; return true; } shift() { const e = this.buffer[this.btm]; if (e === undefined) return undefined; this.buffer[this.btm] = undefined; this.btm = this.btm + 1 & this.mask; return e; } peek() { return this.buffer[this.btm]; } isEmpty() { return this.buffer[this.btm] === undefined; } }; const B = V; var U = class FastFIFO { constructor(e) { this.hwm = e || 16; this.head = new B(this.hwm); this.tail = this.head; this.length = 0; } clear() { this.head = this.tail; this.head.clear(); this.length = 0; } push(e) { this.length++; if (!this.head.push(e)) { const t = this.head; this.head = t.next = new B(2 * this.head.buffer.length); this.head.push(e); } } shift() { if (this.length !== 0) this.length--; const e = this.tail.shift(); if (e === undefined && this.tail.next) { const e = this.tail.next; this.tail.next = null; this.tail = e; return this.tail.shift(); } return e; } peek() { const e = this.tail.peek(); if (e === undefined && this.tail.next) return this.tail.next.peek(); return e; } isEmpty() { return this.length === 0; } }; function W(e) { return Buffer.isBuffer(e) || e instanceof Uint8Array; } function H(e) { return Buffer.isEncoding(e); } function z(e, t, n) { return Buffer.alloc(e, t, n); } function K(e) { return Buffer.allocUnsafe(e); } function $(e) { return Buffer.allocUnsafeSlow(e); } function J(e, t) { return Buffer.byteLength(e, t); } function G(e, t) { return Buffer.compare(e, t); } function X(e, t) { return Buffer.concat(e, t); } function Y(e, t, n, r, i) { return oe(e).copy(t, n, r, i); } function Z(e, t) { return oe(e).equals(t); } function Q(e, t, n, r, i) { return oe(e).fill(t, n, r, i); } function ee(e, t, n) { return Buffer.from(e, t, n); } function te(e, t, n, r) { return oe(e).includes(t, n, r); } function ne(e, t, n, r) { return oe(e).indexOf(t, n, r); } function re(e, t, n, r) { return oe(e).lastIndexOf(t, n, r); } function ie(e) { return oe(e).swap16(); } function se(e) { return oe(e).swap32(); } function ae(e) { return oe(e).swap64(); } function oe(e) { if (Buffer.isBuffer(e)) return e; return Buffer.from(e.buffer, e.byteOffset, e.byteLength); } function ue(e, t, n, r) { return oe(e).toString(t, n, r); } function ce(e, t, n, r, i) { return oe(e).write(t, n, r, i); } function le(e, t) { return oe(e).readDoubleBE(t); } function fe(e, t) { return oe(e).readDoubleLE(t); } function he(e, t) { return oe(e).readFloatBE(t); } function de(e, t) { return oe(e).readFloatLE(t); } function ge(e, t) { return oe(e).readInt32BE(t); } function pe(e, t) { return oe(e).readInt32LE(t); } function me(e, t) { return oe(e).readUInt32BE(t); } function be(e, t) { return oe(e).readUInt32LE(t); } function _e(e, t, n) { return oe(e).writeDoubleBE(t, n); } function ye(e, t, n) { return oe(e).writeDoubleLE(t, n); } function ve(e, t, n) { return oe(e).writeFloatBE(t, n); } function Ae(e, t, n) { return oe(e).writeFloatLE(t, n); } function ke(e, t, n) { return oe(e).writeInt32BE(t, n); } function we(e, t, n) { return oe(e).writeInt32LE(t, n); } function xe(e, t, n) { return oe(e).writeUInt32BE(t, n); } function Se(e, t, n) { return oe(e).writeUInt32LE(t, n); } var Re = { isBuffer: W, isEncoding: H, alloc: z, allocUnsafe: K, allocUnsafeSlow: $, byteLength: J, compare: G, concat: X, copy: Y, equals: Z, fill: Q, from: ee, includes: te, indexOf: ne, lastIndexOf: re, swap16: ie, swap32: se, swap64: ae, toBuffer: oe, toString: ue, write: ce, readDoubleBE: le, readDoubleLE: fe, readFloatBE: he, readFloatLE: de, readInt32BE: ge, readInt32LE: pe, readUInt32BE: me, readUInt32LE: be, writeDoubleBE: _e, writeDoubleLE: ye, writeFloatBE: ve, writeFloatLE: Ae, writeInt32BE: ke, writeInt32LE: we, writeUInt32BE: xe, writeUInt32LE: Se }; const Ie = Re; var Oe = class PassThroughDecoder { constructor(e) { this.encoding = e; } get remaining() { return 0; } decode(e) { return Ie.toString(e, this.encoding); } flush() { return ""; } }; const Ce = Re; var Pe = class UTF8Decoder { constructor() { this.codePoint = 0; this.bytesSeen = 0; this.bytesNeeded = 0; this.lowerBoundary = 128; this.upperBoundary = 191; } get remaining() { return this.bytesSeen; } decode(e) { if (this.bytesNeeded === 0) { let t = true; for (let n = Math.max(0, e.byteLength - 4), r = e.byteLength; n < r && t; n++) { t = e[n] <= 127; } if (t) return Ce.toString(e, "utf8"); } let t = ""; for (let n = 0, r = e.byteLength; n < r; n++) { const r = e[n]; if (this.bytesNeeded === 0) { if (r <= 127) { t += String.fromCharCode(r); } else { this.bytesSeen = 1; if (r >= 194 && r <= 223) { this.bytesNeeded = 2; this.codePoint = r & 31; } else if (r >= 224 && r <= 239) { if (r === 224) this.lowerBoundary = 160; else if (r === 237) this.upperBoundary = 159; this.bytesNeeded = 3; this.codePoint = r & 15; } else if (r >= 240 && r <= 244) { if (r === 240) this.lowerBoundary = 144; if (r === 244) this.upperBoundary = 143; this.bytesNeeded = 4; this.codePoint = r & 7; } else { t += "�"; } } continue; } if (r < this.lowerBoundary || r > this.upperBoundary) { this.codePoint = 0; this.bytesNeeded = 0; this.bytesSeen = 0; this.lowerBoundary = 128; this.upperBoundary = 191; t += "�"; continue; } this.lowerBoundary = 128; this.upperBoundary = 191; this.codePoint = this.codePoint << 6 | r & 63; this.bytesSeen++; if (this.bytesSeen !== this.bytesNeeded) continue; t += String.fromCodePoint(this.codePoint); this.codePoint = 0; this.bytesNeeded = 0; this.bytesSeen = 0; } return t; } flush() { const e = this.bytesNeeded > 0 ? "�" : ""; this.codePoint = 0; this.bytesNeeded = 0; this.bytesSeen = 0; this.lowerBoundary = 128; this.upperBoundary = 191; return e; } }; const Te = Oe; const Ee = Pe; var De = class TextDecoder { constructor(e = "utf8") { this.encoding = je(e); switch (this.encoding) { case "utf8": this.decoder = new Ee; break; case "utf16le": case "base64": throw new Error("Unsupported encoding: " + this.encoding); default: this.decoder = new Te(this.encoding); } } get remaining() { return this.decoder.remaining; } push(e) { if (typeof e === "string") return e; return this.decoder.decode(e); } write(e) { return this.push(e); } end(e) { let t = ""; if (e) t = this.push(e); t += this.decoder.flush(); return t; } }; function je(e) { e = e.toLowerCase(); switch (e) { 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 e; default: throw new Error("Unknown encoding: " + e); } } const {EventEmitter: Le} = M; const Ne = new Error("Stream was destroyed"); const qe = new Error("Premature close"); const Fe = U; const Me = De; const Ve = typeof queueMicrotask === "undefined" ? e => v.commonjsGlobal.process.nextTick(e) : queueMicrotask; const Be = (1 << 29) - 1; const Ue = 1; const We = 2; const He = 4; const ze = 8; const Ke = Be ^ Ue; const $e = Be ^ We; const Je = 1 << 4; const Ge = 2 << 4; const Xe = 4 << 4; const Ye = 8 << 4; const Ze = 16 << 4; const Qe = 32 << 4; const et = 64 << 4; const tt = 128 << 4; const nt = 256 << 4; const rt = 512 << 4; const it = 1024 << 4; const st = 2048 << 4; const at = 4096 << 4; const ot = 8192 << 4; const ut = Ze | Qe; const ct = Je | at; const lt = Xe | Je; const ft = nt | Ye; const ht = Ze | ot; const dt = Be ^ Je; const gt = Be ^ Xe; const pt = Be ^ (Xe | at); const mt = Be ^ at; const bt = Be ^ Ze; const _t = Be ^ (Ye | rt); const yt = Be ^ et; const vt = Be ^ ut; const At = Be ^ st; const kt = Be ^ Ge; const wt = Be ^ ot; const xt = Be ^ ht; const St = 1 << 18; const Rt = 2 << 18; const It = 4 << 18; const Ot = 8 << 18; const Ct = 16 << 18; const Pt = 32 << 18; const Tt = 64 << 18; const Et = 128 << 18; const Dt = 256 << 18; const jt = 512 << 18; const Lt = 1024 << 18; const Nt = Be ^ (St | Dt); const qt = Be ^ It; const Ft = Be ^ (St | jt); const Mt = Be ^ Ct; const Vt = Be ^ Ot; const Bt = Be ^ Et; const Ut = Be ^ Rt; const Wt = Be ^ Lt; const Ht = Je | St; const zt = Be ^ Ht; const Kt = it | Pt; const $t = He | ze | We; const Jt = $t | Ue; const Gt = $t | Kt; const Xt = qt & gt; const Yt = Et | st; const Zt = Yt & zt; const Qt = Jt | Zt; const en = Jt | et | it; const tn = Jt | it | Ye; const nn = Jt | et | Ye; const rn = Jt | nt | Ye | rt; const sn = Jt | Je | et | it | at | ot; const an = $t | et | it; const on = Ge | Jt | st | Xe; const un = st | Ue; const cn = Jt | jt | Pt; const ln = Ot | Ct; const fn = Ot | St; const hn = Ot | Ct | Jt | St; const dn = Jt | St | Ot | Lt; const gn = It | St; const pn = St | Dt; const mn = Jt | jt | fn | Pt; const bn = Ct | $t | jt | Pt; const _n = Rt | Jt | Et | It; const yn = jt | Pt | $t; const vn = Symbol.asyncIterator || Symbol("asyncIterator"); class WritableState { constructor(e, {highWaterMark: t = 16384, map: n = null, mapWritable: r, byteLength: i, byteLengthWritable: s} = {}) { this.stream = e; this.queue = new Fe; this.highWaterMark = t; this.buffered = 0; this.error = null; this.pipeline = null; this.drains = null; this.byteLength = s || i || Kn; this.map = r || n; this.afterWrite = xn.bind(this); this.afterUpdateNextTick = In.bind(this); } get ended() { return (this.stream._duplexState & Pt) !== 0; } push(e) { if ((this.stream._duplexState & yn) !== 0) return false; if (this.map !== null) e = this.map(e); this.buffered += this.byteLength(e); this.queue.push(e); if (this.buffered < this.highWaterMark) { this.stream._duplexState |= Ot; return true; } this.stream._duplexState |= ln; return false; } shift() { const e = this.queue.shift(); this.buffered -= this.byteLength(e); if (this.buffered === 0) this.stream._duplexState &= Vt; return e; } end(e) { if (typeof e === "function") this.stream.once("finish", e); else if (e !== undefined && e !== null) this.push(e); this.stream._duplexState = (this.stream._duplexState | jt) & qt; } autoBatch(e, t) { const n = []; const r = this.stream; n.push(e); while ((r._duplexState & dn) === fn) { n.push(r._writableState.shift()); } if ((r._duplexState & Jt) !== 0) return t(null); r._writev(n, t); } update() { const e = this.stream; e._duplexState |= Rt; do { while ((e._duplexState & dn) === Ot) { const t = this.shift(); e._duplexState |= pn; e._write(t, this.afterWrite); } if ((e._duplexState & gn) === 0) this.updateNonPrimary(); } while (this.continueUpdate() === true); e._duplexState &= Ut; } updateNonPrimary() { const e = this.stream; if ((e._duplexState & mn) === jt) { e._duplexState = e._duplexState | St; e._final(kn.bind(this)); return; } if ((e._duplexState & $t) === He) { if ((e._duplexState & Yt) === 0) { e._duplexState |= Ht; e._destroy(wn.bind(this)); } return; } if ((e._duplexState & Qt) === Ue) { e._duplexState = (e._duplexState | Ht) & Ke; e._open(Cn.bind(this)); } } continueUpdate() { if ((this.stream._duplexState & Et) === 0) return false; this.stream._duplexState &= Bt; return true; } updateCallback() { if ((this.stream._duplexState & _n) === It) this.update(); else this.updateNextTick(); } updateNextTick() { if ((this.stream._duplexState & Et) !== 0) return; this.stream._duplexState |= Et; if ((this.stream._duplexState & Rt) === 0) Ve(this.afterUpdateNextTick); } } class ReadableState { constructor(e, {highWaterMark: t = 16384, map: n = null, mapReadable: r, byteLength: i, byteLengthReadable: s} = {}) { this.stream = e; this.queue = new Fe; this.highWaterMark = t === 0 ? 1 : t; this.buffered = 0; this.readAhead = t > 0; this.error = null; this.pipeline = null; this.byteLength = s || i || Kn; this.map = r || n; this.pipeTo = null; this.afterRead = Sn.bind(this); this.afterUpdateNextTick = Rn.bind(this); } get ended() { return (this.stream._duplexState & it) !== 0; } pipe(e, t) { if (this.pipeTo !== null) throw new Error("Can only pipe to one destination"); if (typeof t !== "function") t = null; this.stream._duplexState |= Qe; this.pipeTo = e; this.pipeline = new Pipeline(this.stream, e, t); if (t) this.stream.on("error", $n); if (Mn(e)) { e._writableState.pipeline = this.pipeline; if (t) e.on("error", $n); e.on("finish", this.pipeline.finished.bind(this.pipeline)); } else { const t = this.pipeline.done.bind(this.pipeline, e); const n = this.pipeline.done.bind(this.pipeline, e, null); e.on("error", t); e.on("close", n); e.on("finish", this.pipeline.finished.bind(this.pipeline)); } e.on("drain", An.bind(this)); this.stream.emit("piping", e); e.emit("pipe", this.stream); } push(e) { const t = this.stream; if (e === null) { this.highWaterMark = 0; t._duplexState = (t._duplexState | et) & pt; return false; } if (this.map !== null) { e = this.map(e); if (e === null) { t._duplexState &= mt; return this.buffered < this.highWaterMark; } } this.buffered += this.byteLength(e); this.queue.push(e); t._duplexState = (t._duplexState | Ye) & mt; return this.buffered < this.highWaterMark; } shift() { const e = this.queue.shift(); this.buffered -= this.byteLength(e); if (this.buffered === 0) this.stream._duplexState &= _t; return e; } unshift(e) { const t = [ this.map !== null ? this.map(e) : e ]; while (this.buffered > 0) t.push(this.shift()); for (let e = 0; e < t.length - 1; e++) { const n = t[e]; this.buffered += this.byteLength(n); this.queue.push(n); } this.push(t[t.length - 1]); } read() { const e = this.stream; if ((e._duplexState & tn) === Ye) { const t = this.shift(); if (this.pipeTo !== null && this.pipeTo.write(t) === false) e._duplexState &= vt; if ((e._duplexState & tt) !== 0) e.emit("data", t); return t; } if (this.readAhead === false) { e._duplexState |= ot; this.updateNextTick(); } return null; } drain() { const e = this.stream; while ((e._duplexState & tn) === Ye && (e._duplexState & ut) !== 0) { const t = this.shift(); if (this.pipeTo !== null && this.pipeTo.write(t) === false) e._duplexState &= vt; if ((e._duplexState & tt) !== 0) e.emit("data", t); } } update() { const e = this.stream; e._duplexState |= Ge; do { this.drain(); while (this.buffered < this.highWaterMark && (e._duplexState & sn) === ot) { e._duplexState |= ct; e._read(this.afterRead); this.drain(); } if ((e._duplexState & rn) === ft) { e._duplexState |= rt; e.emit("readable"); } if ((e._duplexState & lt) === 0) this.updateNonPrimary(); } while (this.continueUpdate() === true); e._duplexState &= kt; } updateNonPrimary() { const e = this.stream; if ((e._duplexState & nn) === et) { e._duplexState = (e._duplexState | it) & yt; e.emit("end"); if ((e._duplexState & Gt) === Kt) e._duplexState |= He; if (this.pipeTo !== null) this.pipeTo.end(); } if ((e._duplexState & $t) === He) { if ((e._duplexState & Yt) === 0) { e._duplexState |= Ht; e._destroy(wn.bind(this)); } return; } if ((e._duplexState & Qt) === Ue) { e._duplexState = (e._duplexState | Ht) & Ke; e._open(Cn.bind(this)); } } continueUpdate() { if ((this.stream._duplexState & st) === 0) return false; this.stream._duplexState &= At; return true; } updateCallback() { if ((this.stream._duplexState & on) === Xe) this.update(); else this.updateNextTick(); } updateNextTickIfOpen() { if ((this.stream._duplexState & un) !== 0) return; this.stream._duplexState |= st; if ((this.stream._duplexState & Ge) === 0) Ve(this.afterUpdateNextTick); } updateNextTick() { if ((this.stream._duplexState & st) !== 0) return; this.stream._duplexState |= st; if ((this.stream._duplexState & Ge) === 0) Ve(this.afterUpdateNextTick); } } class TransformState { constructor(e) { this.data = null; this.afterTransform = Pn.bind(e); this.afterFinal = null; } } class Pipeline { constructor(e, t, n) { this.from = e; this.to = t; this.afterPipe = n; this.error = null; this.pipeToFinished = false; } finished() { this.pipeToFinished = true; } done(e, t) { if (t) this.error = t; if (e === this.to) { this.to = null; if (this.from !== null) { if ((this.from._duplexState & it) === 0 || !this.pipeToFinished) { this.from.destroy(this.error || new Error("Writable stream closed prematurely")); } return; } } if (e === this.from) { this.from = null; if (this.to !== null) { if ((e._duplexState & it) === 0) { this.to.destroy(this.error || new Error("Readable stream closed before ending")); } return; } } if (this.afterPipe !== null) this.afterPipe(this.error); this.to = this.from = this.afterPipe = null; } } function An() { this.stream._duplexState |= Qe; this.updateCallback(); } function kn(e) { const t = this.stream; if (e) t.destroy(e); if ((t._duplexState & $t) === 0) { t._duplexState |= Pt; t.emit("finish"); } if ((t._duplexState & Gt) === Kt) { t._duplexState |= He; } t._duplexState &= Ft; if ((t._duplexState & Rt) === 0) this.update(); else this.updateNextTick(); } function wn(e) { const t = this.stream; if (!e && this.error !== Ne) e = this.error; if (e) t.emit("error", e); t._duplexState |= ze; t.emit("close"); const n = t._readableState; const r = t._writableState; if (n !== null && n.pipeline !== null) n.pipeline.done(t, e); if (r !== null) { while (r.drains !== null && r.drains.length > 0) r.drains.shift().resolve(false); if (r.pipeline !== null) r.pipeline.done(t, e); } } function xn(e) { const t = this.stream; if (e) t.destroy(e); t._duplexState &= Nt; if (this.drains !== null) On(this.drains); if ((t._duplexState & hn) === Ct) { t._duplexState &= Mt; if ((t._duplexState & Tt) === Tt) { t.emit("drain"); } } this.updateCallback(); } function Sn(e) { if (e) this.stream.destroy(e); this.stream._duplexState &= dt; if (this.readAhead === false && (this.stream._duplexState & Ze) === 0) this.stream._duplexState &= wt; this.updateCallback(); } function Rn() { if ((this.stream._duplexState & Ge) === 0) { this.stream._duplexState &= At; this.update(); } } function In() { if ((this.stream._duplexState & Rt) === 0) { this.stream._duplexState &= Bt; this.update(); } } function On(e) { for (let t = 0; t < e.length; t++) { if (--e[t].writes === 0) { e.shift().resolve(true); t--; } } } function Cn(e) { const t = this.stream; if (e) t.destroy(e); if ((t._duplexState & He) === 0) { if ((t._duplexState & en) === 0) t._duplexState |= Xe; if ((t._duplexState & cn) === 0) t._duplexState |= It; t.emit("open"); } t._duplexState &= zt; if (t._writableState !== null) { t._writableState.updateCallback(); } if (t._readableState !== null) { t._readableState.updateCallback(); } } function Pn(e, t) { if (t !== undefined && t !== null) this.push(t); this._writableState.afterWrite(e); } function Tn(e) { if (this._readableState !== null) { if (e === "data") { this._duplexState |= tt | ht; this._readableState.updateNextTick(); } if (e === "readable") { this._duplexState |= nt; this._readableState.updateNextTick(); } } if (this._writableState !== null) { if (e === "drain") { this._duplexState |= Tt; this._writableState.updateNextTick(); } } } class Stream extends Le { constructor(e) { super(); this._duplexState = 0; this._readableState = null; this._writableState = null; if (e) { if (e.open) this._open = e.open; if (e.destroy) this._destroy = e.destroy; if (e.predestroy) this._predestroy = e.predestroy; if (e.signal) { e.signal.addEventListener("abort", Jn.bind(this)); } } this.on("newListener", Tn); } _open(e) { e(null); } _destroy(e) { e(null); } _predestroy() {} get readable() { return this._readableState !== null ? true : undefined; } get writable() { return this._writableState !== null ? true : undefined; } get destroyed() { return (this._duplexState & ze) !== 0; } get destroying() { return (this._duplexState & $t) !== 0; } destroy(e) { if ((this._duplexState & $t) === 0) { if (!e) e = Ne; this._duplexState = (this._duplexState | He) & Xt; if (this._readableState !== null) { this._readableState.highWaterMark = 0; this._readableState.error = e; } if (this._writableState !== null) { this._writableState.highWaterMark = 0; this._writableState.error = e; } this._duplexState |= We; this._predestroy(); this._duplexState &= $e; if (this._readableState !== null) this._readableState.updateNextTick(); if (this._writableState !== null) this._writableState.updateNextTick(); } } } let En = class Readable extends Stream { constructor(e) { super(e); this._duplexState |= Ue | Pt | ot; this._readableState = new ReadableState(this, e); if (e) { if (this._readableState.readAhead === false) this._duplexState &= wt; if (e.read) this._read = e.read; if (e.eagerOpen) this._readableState.updateNextTick(); if (e.encoding) this.setEncoding(e.encoding); } } setEncoding(e) { const t = new Me(e); const n = this._readableState.map || qn; this._readableState.map = r; return this; function r(e) { const r = t.push(e); return r === "" && (e.byteLength !== 0 || t.remaining > 0) ? null : n(r); } } _read(e) { e(null); } pipe(e, t) { this._readableState.updateNextTick(); this._readableState.pipe(e, t); return e; } read() { this._readableState.updateNextTick(); return this._readableState.read(); } push(e) { this._readableState.updateNextTickIfOpen(); return this._readableState.push(e); } unshift(e) { this._readableState.updateNextTickIfOpen(); return this._readableState.unshift(e); } resume() { this._duplexState |= ht; this._readableState.updateNextTick(); return this; } pause() { this._duplexState &= this._readableState.readAhead === false ? xt : bt; return this; } static _fromAsyncIterator(e, t) { let n; const r = new Readable({ ...t, read(t) { e.next().then(i).then(t.bind(null, null)).catch(t); }, predestroy() { n = e.return(); }, destroy(e) { if (!n) return e(null); n.then(e.bind(null, null)).catch(e); } }); return r; function i(e) { if (e.done) r.push(null); else r.push(e.value); } } static from(e, t) { if (Wn(e)) return e; if (e[vn]) return this._fromAsyncIterator(e[vn](), t); if (!Array.isArray(e)) e = e === undefined ? [] : [ e ]; let n = 0; return new Readable({ ...t, read(t) { this.push(n === e.length ? null : e[n++]); t(null); } }); } static isBackpressured(e) { return (e._duplexState & an) !== 0 || e._readableState.buffered >= e._readableState.highWaterMark; } static isPaused(e) { return (e._duplexState & Ze) === 0; } [vn]() { const e = this; let t = null; let n = null; let r = null; this.on("error", e => { t = e; }); this.on("readable", i); this.on("close", s); return { [vn]() { return this; }, next() { return new Promise(function(t, i) { n = t; r = i; const s = e.read(); if (s !== null) a(s); else if ((e._duplexState & ze) !== 0) a(null); }); }, return() { return o(null); }, throw(e) { return o(e); } }; function i() { if (n !== null) a(e.read()); } function s() { if (n !== null) a(null); } function a(i) { if (r === null) return; if (t) r(t); else if (i === null && (e._duplexState & it) === 0) r(Ne); else n({ value: i, done: i === null }); r = n = null; } function o(t) { e.destroy(t); return new Promise((n, r) => { if (e._duplexState & ze) return n({ value: undefined, done: true }); e.once("close", function() { if (t) r(t); else n({ value: undefined, done: true }); }); }); } } }; let Dn = class Writable extends Stream { constructor(e) { super(e); this._duplexState |= Ue | it; this._writableState = new WritableState(this, e); if (e) { if (e.writev) this._writev = e.writev; if (e.write) this._write = e.write; if (e.final) this._final = e.final; if (e.eagerOpen) this._writableState.updateNextTick(); } } cork() { this._duplexState |= Lt; } uncork() { this._duplexState &= Wt; this._writableState.updateNextTick(); } _writev(e, t) { t(null); } _write(e, t) { this._writableState.autoBatch(e, t); } _final(e) { e(null); } static isBackpressured(e) { return (e._duplexState & bn) !== 0; } static drained(e) { if (e.destroyed) return Promise.resolve(false); const t = e._writableState; const n = Gn(e) ? Math.min(1, t.queue.length) : t.queue.length; const r = n + (e._duplexState & Dt ? 1 : 0); if (r === 0) return Promise.resolve(true); if (t.drains === null) t.drains = []; return new Promise(e => { t.drains.push({ writes: r, resolve: e }); }); } write(e) { this._writableState.updateNextTick(); return this._writableState.push(e); } end(e) { this._writableState.updateNextTick(); this._writableState.end(e); return this; } }; class Duplex extends En { constructor(e) { super(e); this._duplexState = Ue | this._duplexState & ot; this._writableState = new WritableState(this, e); if (e) { if (e.writev) this._writev = e.writev; if (e.write) this._write = e.write; if (e.final) this._final = e.final; } } cork() { this._duplexState |= Lt; } uncork() { this._duplexState &= Wt; this._writableState.updateNextTick(); } _writev(e, t) { t(null); } _write(e, t) { this._writableState.autoBatch(e, t); } _final(e) { e(null); } write(e) { this._writableState.updateNextTick(); return this._writableState.push(e); } end(e) { this._writableState.updateNextTick(); this._writableState.end(e); return this; } } class Transform extends Duplex { constructor(e) { super(e); this._transformState = new TransformState(this); if (e) { if (e.transform) this._transform = e.transform; if (e.flush) this._flush = e.flush; } } _write(e, t) { if (this._readableState.buffered >= this._readableState.highWaterMark) { this._transformState.data = e; } else { this._transform(e, this._transformState.afterTransform); } } _read(e) { if (this._transformState.data !== null) { const t = this._transformState.data; this._transformState.data = null; e(null); this._transform(t, this._transformState.afterTransform); } else { e(null); } } destroy(e) { super.destroy(e); if (this._transformState.data !== null) { this._transformState.data = null; this._transformState.afterTransform(); } } _transform(e, t) { t(null, e); } _flush(e) { e(null); } _final(e) { this._transformState.afterFinal = e; this._flush(jn.bind(this)); } } class PassThrough extends Transform {} function jn(e, t) { const n = this._transformState.afterFinal; if (e) return n(e); if (t !== null && t !== undefined) this.push(t); this.push(null); n(null); } function Ln(...e) { return new Promise((t, n) => Nn(...e, e => { if (e) return n(e); t(); })); } function Nn(e, ...t) { const n = Array.isArray(e) ? [ ...e, ...t ] : [ e, ...t ]; const r = n.length && typeof n[n.length - 1] === "function" ? n.pop() : null; if (n.length < 2) throw new Error("Pipeline requires at least 2 streams"); let i = n[0]; let s = null; let a = null; for (let e = 1; e < n.length; e++) { s = n[e]; if (Mn(i)) { i.pipe(s, u); } else { o(i, true, e > 1, u); i.pipe(s); } i = s; } if (r) { let e = false; const t = Mn(s) || !!(s._writableState && s._writableState.autoDestroy); s.on("error", e => { if (a === null) a = e; }); s.on("finish", () => { e = true; if (!t) r(a); }); if (t) { s.on("close", () => r(a || (e ? null : qe))); } } return s; function o(e, t, n, r) { e.on("error", r); e.on("close", i); function i() { if (e._readableState && !e._readableState.ended) return r(qe); if (n && e._writableState && !e._writableState.ended) return r(qe); } } function u(e) { if (!e || a) return; a = e; for (const t of n) { t.destroy(e); } } } function qn(e) { return e; } function Fn(e) { return !!e._readableState || !!e._writableState; } function Mn(e) { return typeof e._duplexState === "number" && Fn(e); } function Vn(e) { return !!e._readableState && e._readableState.ended; } function Bn(e) { return !!e._writableState && e._writableState.ended; } function Un(e, t = {}) { const n = e._readableState && e._readableState.error || e._writableState && e._writableState.error; return !t.all && n === Ne ? null : n; } function Wn(e) { return Mn(e) && e.readable; } function Hn(e) { return (e._duplexState & Ue) !== Ue || (e._duplexState & Yt) !== 0; } function zn(e) { return typeof e === "object" && e !== null && typeof e.byteLength === "number"; } function Kn(e) { return zn(e) ? e.byteLength : 1024; } function $n() {} function Jn() { this.destroy(new Error("Stream aborted.")); } function Gn(e) { return e._writev !== Dn.prototype._writev && e._writev !== Duplex.prototype._writev; } var Xn = { pipeline: Nn, pipelinePromise: Ln, isStream: Fn, isStreamx: Mn, isEnded: Vn, isFinished: Bn, isDisturbed: Hn, getStreamError: Un, Stream: Stream, Writable: Dn, Readable: En, Duplex: Duplex, Transform: Transform, PassThrough: PassThrough }; var Yn = {}; const Zn = Re; const Qn = "0000000000000000000"; const er = "7777777777777777777"; const tr = "0".charCodeAt(0); const nr = Zn.from([ 117, 115, 116, 97, 114, 0 ]); const rr = Zn.from([ tr, tr ]); const ir = Zn.from([ 117, 115, 116, 97, 114, 32 ]); const sr = Zn.from([ 32, 0 ]); const ar = 4095; const or = 257; const ur = 263; Yn.decodeLongPath = function e(t, n) { return Ar(t, 0, t.length, n); }; Yn.encodePax = function e(t) { let n = ""; if (t.name) n += kr(" path=" + t.name + "\n"); if (t.linkname) n += kr(" linkpath=" + t.linkname + "\n"); const r = t.pax; if (r) { for (const e in r) { n += kr(" " + e + "=" + r[e] + "\n"); } } return Zn.from(n); }; Yn.decodePax = function e(t) { const n = {}; while (t.length) { let e = 0; while (e < t.length && t[e] !== 32) e++; const r = parseInt(Zn.toString(t.subarray(0, e)), 10); if (!r) return n; const i = Zn.toString(t.subarray(e + 1, r - 1)); const s = i.indexOf("="); if (s === -1) return n; n[i.slice(0, s)] = i.slice(s + 1); t = t.subarray(r); } return n; }; Yn.encode = function e(t) { const n = Zn.alloc(512); let r = t.name; let i = ""; if (t.typeflag === 5 && r[r.length - 1] !== "/") r += "/"; if (Zn.byteLength(r) !== r.length) return null; while (Zn.byteLength(r) > 100) { const e = r.indexOf("/"); if (e === -1) return null; i += i ? "/" + r.slice(0, e) : r.slice(0, e); r = r.slice(e + 1); } if (Zn.byteLength(r) > 100 || Zn.byteLength(i) > 155) return null; if (t.linkname && Zn.byteLength(t.linkname) > 100) return null; Zn.write(n, r); Zn.write(n, mr(t.mode & ar, 6), 100); Zn.write(n, mr(t.uid, 6), 108); Zn.write(n, mr(t.gid, 6), 116); _r(t.size, n, 124); Zn.write(n, mr(t.mtime.getTime() / 1e3 | 0, 11), 136); n[156] = tr + dr(t.type); if (t.linkname) Zn.write(n, t.linkname, 157); Zn.copy(nr, n, or); Zn.copy(rr, n, ur); if (t.uname) Zn.write(n, t.uname, 265); if (t.gname) Zn.write(n, t.gname, 297); Zn.write(n, mr(t.devmajor || 0, 6), 329); Zn.write(n, mr(t.devminor || 0, 6), 337); if (i) Zn.write(n, i, 345); Zn.write(n, mr(pr(n), 6), 148); return n; }; Yn.decode = function e(t, n, r) { let i = t[156] === 0 ? 0 : t[156] - tr; let s = Ar(t, 0, 100, n); const a = vr(t, 100, 8); const o = vr(t, 108, 8); const u = vr(t, 116, 8); const c = vr(t, 124, 12); const l = vr(t, 136, 12); const f = hr(i); const h = t[157] === 0 ? null : Ar(t, 157, 100, n); const d = Ar(t, 265, 32); const g = Ar(t, 297, 32); const p = vr(t, 329, 8); const m = vr(t, 337, 8); const b = pr(t); if (b === 8 * 32) return null; if (b !== vr(t, 148, 8)) throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?"); if (cr(t)) { if (t[345]) s = Ar(t, 345, 155, n) + "/" + s; } else if (lr(t)) ; else { if (!r) { throw new Error("Invalid tar header: unknown format."); } } if (i === 0 && s && s[s.length - 1] === "/") i = 5; return { name: s, mode: a, uid: o, gid: u, size: c, mtime: new Date(1e3 * l), type: f, linkname: h, uname: d, gname: g, devmajor: p, devminor: m, pax: null }; }; function cr(e) { return Zn.equals(nr, e.subarray(or, or + 6)); } function lr(e) { return Zn.equals(ir, e.subarray(or, or + 6)) && Zn.equals(sr, e.subarray(ur, ur + 2)); } function fr(e, t, n) { if (typeof e !== "number") return n; e = ~~e; if (e >= t) return t; if (e >= 0) return e; e += t; if (e >= 0) return e; return 0; } function hr(e) { switch (e) { 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; } function dr(e) { switch (e) { 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; } function gr(e, t, n, r) { for (;n < r; n++) { if (e[n] === t) return n; } return r; } function pr(e) { let t = 8 * 32; for (let n = 0; n < 148; n++) t += e[n]; for (let n = 156; n < 512; n++) t += e[n]; return t; } function mr(e, t) { e = e.toString(8); if (e.length > t) return er.slice(0, t) + " "; return Qn.slice(0, t - e.length) + e + " "; } function br(e, t, n) { t[n] = 128; for (let r = 11; r > 0; r--) { t[n + r] = e & 255; e = Math.floor(e / 256); } } function _r(e, t, n) { if (e.toString(8).length > 11) { br(e, t, n); } else { Zn.write(t, mr(e, 11), n); } } function yr(e) { let t; if (e[0] === 128) t = true; else if (e[0] === 255) t = false; else return null; const n = []; let r; for (r = e.length - 1; r > 0; r--) { const i = e[r]; if (t) n.push(i); else n.push(255 - i); } let i = 0; const s = n.length; for (r = 0; r < s; r++) { i += n[r] * Math.pow(256, r); } return t ? i : -1 * i; } function vr(e, t, n) { e = e.subarray(t, t + n); t = 0; if (e[t] & 128) { return yr(e); } else { while (t < e.length && e[t] === 32) t++; const n = fr(gr(e, 32, t, e.length), e.length, e.len