@vertesia/memory 0.43.0
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/LICENSE +201 -0
- package/README.md +421 -0
- package/lib/cjs/Builder.js +186 -0
- package/lib/cjs/Builder.js.map +1 -0
- package/lib/cjs/ContentObject.js +114 -0
- package/lib/cjs/ContentObject.js.map +1 -0
- package/lib/cjs/ContentSource.js +82 -0
- package/lib/cjs/ContentSource.js.map +1 -0
- package/lib/cjs/MemoryPack.js +228 -0
- package/lib/cjs/MemoryPack.js.map +1 -0
- package/lib/cjs/MemoryPackBuilder.js +47 -0
- package/lib/cjs/MemoryPackBuilder.js.map +1 -0
- package/lib/cjs/commands/copy.js +53 -0
- package/lib/cjs/commands/copy.js.map +1 -0
- package/lib/cjs/commands/exec.js +82 -0
- package/lib/cjs/commands/exec.js.map +1 -0
- package/lib/cjs/index.js +28 -0
- package/lib/cjs/index.js.map +1 -0
- package/lib/cjs/package.json +3 -0
- package/lib/cjs/utils/cmdline.js +90 -0
- package/lib/cjs/utils/cmdline.js.map +1 -0
- package/lib/cjs/utils/rewrite.js +166 -0
- package/lib/cjs/utils/rewrite.js.map +1 -0
- package/lib/cjs/utils/stream.js +27 -0
- package/lib/cjs/utils/stream.js.map +1 -0
- package/lib/cjs/utils/tar.js +185 -0
- package/lib/cjs/utils/tar.js.map +1 -0
- package/lib/esm/Builder.js +178 -0
- package/lib/esm/Builder.js.map +1 -0
- package/lib/esm/ContentObject.js +103 -0
- package/lib/esm/ContentObject.js.map +1 -0
- package/lib/esm/ContentSource.js +75 -0
- package/lib/esm/ContentSource.js.map +1 -0
- package/lib/esm/MemoryPack.js +218 -0
- package/lib/esm/MemoryPack.js.map +1 -0
- package/lib/esm/MemoryPackBuilder.js +43 -0
- package/lib/esm/MemoryPackBuilder.js.map +1 -0
- package/lib/esm/commands/copy.js +50 -0
- package/lib/esm/commands/copy.js.map +1 -0
- package/lib/esm/commands/exec.js +75 -0
- package/lib/esm/commands/exec.js.map +1 -0
- package/lib/esm/index.js +7 -0
- package/lib/esm/index.js.map +1 -0
- package/lib/esm/utils/cmdline.js +86 -0
- package/lib/esm/utils/cmdline.js.map +1 -0
- package/lib/esm/utils/rewrite.js +161 -0
- package/lib/esm/utils/rewrite.js.map +1 -0
- package/lib/esm/utils/stream.js +23 -0
- package/lib/esm/utils/stream.js.map +1 -0
- package/lib/esm/utils/tar.js +175 -0
- package/lib/esm/utils/tar.js.map +1 -0
- package/lib/tsconfig.tsbuildinfo +1 -0
- package/lib/types/Builder.d.ts +72 -0
- package/lib/types/Builder.d.ts.map +1 -0
- package/lib/types/ContentObject.d.ts +43 -0
- package/lib/types/ContentObject.d.ts.map +1 -0
- package/lib/types/ContentSource.d.ts +32 -0
- package/lib/types/ContentSource.d.ts.map +1 -0
- package/lib/types/MemoryPack.d.ts +46 -0
- package/lib/types/MemoryPack.d.ts.map +1 -0
- package/lib/types/MemoryPackBuilder.d.ts +18 -0
- package/lib/types/MemoryPackBuilder.d.ts.map +1 -0
- package/lib/types/commands/copy.d.ts +8 -0
- package/lib/types/commands/copy.d.ts.map +1 -0
- package/lib/types/commands/exec.d.ts +7 -0
- package/lib/types/commands/exec.d.ts.map +1 -0
- package/lib/types/index.d.ts +14 -0
- package/lib/types/index.d.ts.map +1 -0
- package/lib/types/utils/cmdline.d.ts +10 -0
- package/lib/types/utils/cmdline.d.ts.map +1 -0
- package/lib/types/utils/rewrite.d.ts +38 -0
- package/lib/types/utils/rewrite.d.ts.map +1 -0
- package/lib/types/utils/stream.d.ts +9 -0
- package/lib/types/utils/stream.d.ts.map +1 -0
- package/lib/types/utils/tar.d.ts +40 -0
- package/lib/types/utils/tar.d.ts.map +1 -0
- package/package.json +40 -0
- package/src/Builder.ts +239 -0
- package/src/ContentObject.ts +114 -0
- package/src/ContentSource.ts +88 -0
- package/src/MemoryPack.ts +233 -0
- package/src/MemoryPackBuilder.ts +55 -0
- package/src/builder.test.ts +214 -0
- package/src/commands/copy.ts +53 -0
- package/src/commands/exec.test.ts +22 -0
- package/src/commands/exec.ts +83 -0
- package/src/index.ts +14 -0
- package/src/utils/cmdline.test.ts +32 -0
- package/src/utils/cmdline.ts +92 -0
- package/src/utils/rewrite.test.ts +65 -0
- package/src/utils/rewrite.ts +167 -0
- package/src/utils/stream.test.ts +13 -0
- package/src/utils/stream.ts +27 -0
- package/src/utils/tar.test.ts +48 -0
- package/src/utils/tar.ts +203 -0
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { basename, dirname, extname, join } from "path";
|
|
2
|
+
export function createPathRewrite(path) {
|
|
3
|
+
let truncPath;
|
|
4
|
+
let basePath = '';
|
|
5
|
+
let index = path.indexOf('!');
|
|
6
|
+
if (index > -1) {
|
|
7
|
+
basePath = path.substring(0, index);
|
|
8
|
+
if (!basePath.endsWith('/')) {
|
|
9
|
+
basePath += '/';
|
|
10
|
+
}
|
|
11
|
+
truncPath = (path) => {
|
|
12
|
+
return path.substring(basePath.length);
|
|
13
|
+
};
|
|
14
|
+
path = path.substring(index + 1);
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
truncPath = (path) => {
|
|
18
|
+
return basename(path);
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
if (path === '*') {
|
|
22
|
+
// preserve path
|
|
23
|
+
return truncPath;
|
|
24
|
+
}
|
|
25
|
+
else if (path.endsWith("/*")) {
|
|
26
|
+
const prefix = path.slice(0, -2);
|
|
27
|
+
return (path) => {
|
|
28
|
+
path = truncPath(path);
|
|
29
|
+
return join(prefix, path);
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
// use path builder
|
|
34
|
+
return buildPathRewrite(path, truncPath);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
const RX_PARTS = /(%d\/)|(\.?%e)|(%[fnip])/g;
|
|
38
|
+
function buildPathRewrite(path, truncPath) {
|
|
39
|
+
let parts = [];
|
|
40
|
+
let m;
|
|
41
|
+
let lastIndex = 0;
|
|
42
|
+
while (m = RX_PARTS.exec(path)) {
|
|
43
|
+
if (m.index > lastIndex) {
|
|
44
|
+
const literal = path.substring(lastIndex, m.index);
|
|
45
|
+
parts.push(() => literal);
|
|
46
|
+
}
|
|
47
|
+
if (m[1]) { // %d/
|
|
48
|
+
parts.push((path) => path.dirname ? path.dirname + '/' : '');
|
|
49
|
+
}
|
|
50
|
+
else if (m[2]) { // .?%e
|
|
51
|
+
if (m[2][0] === '.') {
|
|
52
|
+
parts.push((path) => path.extname || '');
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
parts.push((path) => path.extname ? path.extname.slice(1) : ''); // extension without dot
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
else if (m[3]) {
|
|
59
|
+
switch (m[3]) {
|
|
60
|
+
case '%f':
|
|
61
|
+
parts.push((path) => path.name);
|
|
62
|
+
break;
|
|
63
|
+
case '%n':
|
|
64
|
+
parts.push((path) => path.basename);
|
|
65
|
+
break;
|
|
66
|
+
case '%p': // stringify the path by replacing / with _
|
|
67
|
+
parts.push((path) => {
|
|
68
|
+
let p = path.value;
|
|
69
|
+
if (p.startsWith('/')) {
|
|
70
|
+
p = p.substring(1);
|
|
71
|
+
}
|
|
72
|
+
return p.replaceAll('/', '_');
|
|
73
|
+
});
|
|
74
|
+
break;
|
|
75
|
+
case '%i': // index
|
|
76
|
+
parts.push((_path, index) => String(index));
|
|
77
|
+
break;
|
|
78
|
+
default: throw new Error(`Bug: should never happen`);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
lastIndex = m.index + m[0].length;
|
|
82
|
+
}
|
|
83
|
+
if (!parts.length) {
|
|
84
|
+
return () => path;
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
if (lastIndex < path.length) {
|
|
88
|
+
const literal = path.substring(lastIndex);
|
|
89
|
+
parts.push(() => literal);
|
|
90
|
+
}
|
|
91
|
+
return (path, index) => {
|
|
92
|
+
const pathObj = new Path(truncPath(path));
|
|
93
|
+
const out = [];
|
|
94
|
+
for (const part of parts) {
|
|
95
|
+
out.push(part(pathObj, index));
|
|
96
|
+
}
|
|
97
|
+
return out.join('');
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
export class Path {
|
|
102
|
+
_name;
|
|
103
|
+
_extname;
|
|
104
|
+
_dirname;
|
|
105
|
+
_basename;
|
|
106
|
+
/**
|
|
107
|
+
* The complete path value
|
|
108
|
+
*/
|
|
109
|
+
value;
|
|
110
|
+
/**
|
|
111
|
+
* The file name (the last portion of the path). Includes the extension if present.
|
|
112
|
+
*/
|
|
113
|
+
get name() {
|
|
114
|
+
if (!this._name) {
|
|
115
|
+
this._name = basename(this.value);
|
|
116
|
+
}
|
|
117
|
+
return this._name;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* The extension of the file including the leading '.'.
|
|
121
|
+
* An empty string if the file has no extension.
|
|
122
|
+
*/
|
|
123
|
+
get extname() {
|
|
124
|
+
if (!this._extname) {
|
|
125
|
+
this._extname = extname(this.value);
|
|
126
|
+
}
|
|
127
|
+
return this._extname;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* The directory portion of the path. Doesn'r include the trailing slash.
|
|
131
|
+
* If no directory is present, returns an empty string.
|
|
132
|
+
*/
|
|
133
|
+
get dirname() {
|
|
134
|
+
if (!this._dirname) {
|
|
135
|
+
this._dirname = dirname(this.value);
|
|
136
|
+
if (this._dirname === '.') {
|
|
137
|
+
this._dirname = '';
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
return this._dirname;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* The path without the extension
|
|
144
|
+
*/
|
|
145
|
+
get basename() {
|
|
146
|
+
if (!this._basename) {
|
|
147
|
+
this._basename = this.extname ? this.name.slice(0, -this.extname.length) : this.name;
|
|
148
|
+
}
|
|
149
|
+
return this._basename;
|
|
150
|
+
}
|
|
151
|
+
constructor(value) {
|
|
152
|
+
this.value = value;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Return the complete path value (same as `value`)
|
|
156
|
+
*/
|
|
157
|
+
toString() {
|
|
158
|
+
return this.value;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=rewrite.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rewrite.js","sourceRoot":"","sources":["../../../src/utils/rewrite.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Writable } from "stream";
|
|
2
|
+
export class BufferWritableStream extends Writable {
|
|
3
|
+
chunks = [];
|
|
4
|
+
buffer;
|
|
5
|
+
// _write method is required to handle the incoming data
|
|
6
|
+
_write(chunk, _encoding, callback) {
|
|
7
|
+
this.chunks.push(chunk); // Collect the chunk into the array
|
|
8
|
+
callback(); // Indicate that the write is complete
|
|
9
|
+
}
|
|
10
|
+
// Optional _final method is called when the stream is ending
|
|
11
|
+
_final(callback) {
|
|
12
|
+
this.buffer = Buffer.concat(this.chunks); // Concatenate the collected chunks into a buffer
|
|
13
|
+
callback(); // Indicate the stream is finished
|
|
14
|
+
}
|
|
15
|
+
// Method to get the final buffer when the stream is closed
|
|
16
|
+
getBuffer() {
|
|
17
|
+
return this.buffer;
|
|
18
|
+
}
|
|
19
|
+
getText(encoding = "utf-8") {
|
|
20
|
+
return this.buffer?.toString(encoding);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=stream.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../../../src/utils/stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,MAAM,OAAO,oBAAqB,SAAQ,QAAQ;IAC9C,MAAM,GAAa,EAAE,CAAA;IACrB,MAAM,CAAqB;IAE3B,wDAAwD;IACxD,MAAM,CAAC,KAAa,EAAE,SAAyB,EAAE,QAAwC;QACrF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,mCAAmC;QAC5D,QAAQ,EAAE,CAAC,CAAC,sCAAsC;IACtD,CAAC;IAED,6DAA6D;IAC7D,MAAM,CAAC,QAAwC;QAC3C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,iDAAiD;QAC3F,QAAQ,EAAE,CAAC,CAAC,kCAAkC;IAClD,CAAC;IAED,2DAA2D;IAC3D,SAAS;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,OAAO,CAAC,WAA2B,OAAO;QACtC,OAAO,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;CACJ"}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import fs from "fs";
|
|
2
|
+
import { open } from "fs/promises";
|
|
3
|
+
import { pipeline } from "stream/promises";
|
|
4
|
+
import tar from "tar-stream";
|
|
5
|
+
import zlib from "zlib";
|
|
6
|
+
export class TarBuilder {
|
|
7
|
+
pack;
|
|
8
|
+
indexData = [];
|
|
9
|
+
currentOffset = 0;
|
|
10
|
+
tarPromise;
|
|
11
|
+
constructor(file) {
|
|
12
|
+
const pack = tar.pack(); // Create a new tar stream
|
|
13
|
+
this.pack = pack;
|
|
14
|
+
// Open the output file as a write stream
|
|
15
|
+
const outputStream = fs.createWriteStream(file);
|
|
16
|
+
if (file.endsWith('.gz')) {
|
|
17
|
+
this.tarPromise = pipeline(pack, zlib.createGzip(), outputStream);
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
this.tarPromise = pipeline(pack, outputStream);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
async add(name, content) {
|
|
24
|
+
name = normalizePath(name);
|
|
25
|
+
// Calculate header size, 512 bytes for tar headers
|
|
26
|
+
const headerSize = 512;
|
|
27
|
+
const contentSize = content ? Buffer.byteLength(content) : 0;
|
|
28
|
+
const entryHeaderOffset = this.currentOffset;
|
|
29
|
+
// Store the index entry
|
|
30
|
+
// entry data offset is always at header offset + 512 bytes
|
|
31
|
+
if (contentSize > 0) { // do not index directories
|
|
32
|
+
this.indexData.push(`${name}:${entryHeaderOffset},${contentSize}`);
|
|
33
|
+
}
|
|
34
|
+
// Add the file entry to the tar stream
|
|
35
|
+
this.pack.entry({ name, size: contentSize }, content);
|
|
36
|
+
// Update the offset
|
|
37
|
+
this.currentOffset += headerSize + contentSize;
|
|
38
|
+
// Tar files are padded to 512-byte boundaries
|
|
39
|
+
if (contentSize % 512 !== 0) {
|
|
40
|
+
this.currentOffset += 512 - (contentSize % 512);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
async build() {
|
|
44
|
+
const pack = this.pack;
|
|
45
|
+
// Convert index data to string and calculate its size
|
|
46
|
+
const indexContent = this.indexData.join('\n') + '\n';
|
|
47
|
+
const indexContentSize = Buffer.byteLength(indexContent);
|
|
48
|
+
// Add the .index entry to the tar
|
|
49
|
+
pack.entry({ name: '.index', size: indexContentSize }, indexContent);
|
|
50
|
+
pack.finalize(); // Finalize the tar stream
|
|
51
|
+
await this.tarPromise;
|
|
52
|
+
}
|
|
53
|
+
destroy() {
|
|
54
|
+
this.pack.destroy();
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
export async function loadTarIndex(tarFile) {
|
|
58
|
+
const fd = await open(tarFile, 'r');
|
|
59
|
+
try {
|
|
60
|
+
return await readTarIndex(fd);
|
|
61
|
+
}
|
|
62
|
+
catch (err) {
|
|
63
|
+
await fd.close();
|
|
64
|
+
throw err;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
async function readTarIndex(fd) {
|
|
68
|
+
const stats = await fd.stat();
|
|
69
|
+
const size = stats.size;
|
|
70
|
+
// we want to find the index header.
|
|
71
|
+
// we read the last chunks of 512 until we find the file name followed by a 0 char.
|
|
72
|
+
// the tar file ends with a segment of 1024 bytes of 0 so we need to skip that.
|
|
73
|
+
// we pick a size for the buffer to also include the file size entry from the header. So the buffer should be
|
|
74
|
+
// of 100 + 8 + 8 + 8 + 12 bytes = 124 + 12 bytes = 136 bytes
|
|
75
|
+
// the file size will be located at offset 124 and is 12 bytes long
|
|
76
|
+
// skip 1024 0 bytes then skip another 1024 bytes to find the first possible location of the index header (512 bytes for content and 512 bytes for the header)
|
|
77
|
+
let offset = size - 1024 - 1024;
|
|
78
|
+
const buffer = Buffer.alloc(512);
|
|
79
|
+
while (offset >= 0) {
|
|
80
|
+
await fd.read(buffer, 0, 512, offset);
|
|
81
|
+
// remove the 0 byte padding
|
|
82
|
+
const fileName = buffer.toString('utf-8', 0, 100);
|
|
83
|
+
if (fileName.startsWith('.index\0')) {
|
|
84
|
+
// we found the index header
|
|
85
|
+
const indexSize = getHeaderFileSize(buffer);
|
|
86
|
+
const indexDataOffset = offset + 512;
|
|
87
|
+
const indexDataEnd = indexDataOffset + indexSize;
|
|
88
|
+
if (indexDataEnd > size - 1024) {
|
|
89
|
+
throw new Error('Invalid index data offsets: [' + indexDataOffset + ':' + indexDataEnd + ']');
|
|
90
|
+
}
|
|
91
|
+
const dataBbuffer = Buffer.alloc(indexSize);
|
|
92
|
+
await fd.read(dataBbuffer, 0, indexSize, indexDataOffset);
|
|
93
|
+
const indexContent = dataBbuffer.toString('utf-8');
|
|
94
|
+
return new TarIndex(fd, indexContent);
|
|
95
|
+
}
|
|
96
|
+
offset -= 512;
|
|
97
|
+
}
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
100
|
+
export class TarIndex {
|
|
101
|
+
fd;
|
|
102
|
+
entries = {};
|
|
103
|
+
headerBuffer = Buffer.alloc(512);
|
|
104
|
+
/**
|
|
105
|
+
* @param fd the tar file descriptor
|
|
106
|
+
* @param content the index content
|
|
107
|
+
*/
|
|
108
|
+
constructor(fd, content) {
|
|
109
|
+
this.fd = fd;
|
|
110
|
+
const lines = content.split('\n');
|
|
111
|
+
for (const line of lines) {
|
|
112
|
+
if (line) {
|
|
113
|
+
const [name, value] = line.split(':');
|
|
114
|
+
const [offsetStr, sizeStr] = value.split(',');
|
|
115
|
+
const offset = parseInt(offsetStr);
|
|
116
|
+
const size = parseInt(sizeStr);
|
|
117
|
+
this.entries[name] = { offset, size };
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
getPaths() {
|
|
122
|
+
return Object.keys(this.entries);
|
|
123
|
+
}
|
|
124
|
+
getSortedPaths() {
|
|
125
|
+
return Object.keys(this.entries).sort();
|
|
126
|
+
}
|
|
127
|
+
get(name) {
|
|
128
|
+
return this.entries[name];
|
|
129
|
+
}
|
|
130
|
+
async getContentAt(offset, size) {
|
|
131
|
+
const buffer = Buffer.alloc(size);
|
|
132
|
+
await this.fd.read(buffer, 0, size, offset + 512);
|
|
133
|
+
return buffer;
|
|
134
|
+
}
|
|
135
|
+
async getContent(name) {
|
|
136
|
+
const entry = this.entries[name];
|
|
137
|
+
if (entry) {
|
|
138
|
+
return this.getContentAt(entry.offset, entry.size);
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
return null;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
getReadStream(name, encoding) {
|
|
145
|
+
const entry = this.entries[name];
|
|
146
|
+
if (entry) {
|
|
147
|
+
const offset = entry.offset + 512;
|
|
148
|
+
return this.fd.createReadStream({
|
|
149
|
+
encoding,
|
|
150
|
+
start: entry.offset,
|
|
151
|
+
end: offset + entry.size
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
return null;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
async close() {
|
|
159
|
+
await this.fd.close();
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
function getHeaderFileSize(buffer) {
|
|
163
|
+
const octalSize = buffer.toString('ascii', 124, 136).trim();
|
|
164
|
+
return parseInt(octalSize, 8);
|
|
165
|
+
}
|
|
166
|
+
export function normalizePath(path) {
|
|
167
|
+
if (path.startsWith('/')) {
|
|
168
|
+
path = path.slice(1);
|
|
169
|
+
}
|
|
170
|
+
if (path.endsWith('/')) {
|
|
171
|
+
path = path.slice(-1);
|
|
172
|
+
}
|
|
173
|
+
return path;
|
|
174
|
+
}
|
|
175
|
+
//# sourceMappingURL=tar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tar.js","sourceRoot":"","sources":["../../../src/utils/tar.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"fileNames":["../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/.pnpm/@vertesia+json@0.42.2/node_modules/@vertesia/json/lib/types/types.d.ts","../../../node_modules/.pnpm/@vertesia+json@0.42.2/node_modules/@vertesia/json/lib/types/walk.d.ts","../../../node_modules/.pnpm/@vertesia+json@0.42.2/node_modules/@vertesia/json/lib/types/index.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/ts5.6/globals.typedarray.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/ts5.6/buffer.buffer.d.ts","../../../node_modules/.pnpm/undici-types@6.19.8/node_modules/undici-types/header.d.ts","../../../node_modules/.pnpm/undici-types@6.19.8/node_modules/undici-types/readable.d.ts","../../../node_modules/.pnpm/undici-types@6.19.8/node_modules/undici-types/file.d.ts","../../../node_modules/.pnpm/undici-types@6.19.8/node_modules/undici-types/fetch.d.ts","../../../node_modules/.pnpm/undici-types@6.19.8/node_modules/undici-types/formdata.d.ts","../../../node_modules/.pnpm/undici-types@6.19.8/node_modules/undici-types/connector.d.ts","../../../node_modules/.pnpm/undici-types@6.19.8/node_modules/undici-types/client.d.ts","../../../node_modules/.pnpm/undici-types@6.19.8/node_modules/undici-types/errors.d.ts","../../../node_modules/.pnpm/undici-types@6.19.8/node_modules/undici-types/dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.19.8/node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.19.8/node_modules/undici-types/global-origin.d.ts","../../../node_modules/.pnpm/undici-types@6.19.8/node_modules/undici-types/pool-stats.d.ts","../../../node_modules/.pnpm/undici-types@6.19.8/node_modules/undici-types/pool.d.ts","../../../node_modules/.pnpm/undici-types@6.19.8/node_modules/undici-types/handlers.d.ts","../../../node_modules/.pnpm/undici-types@6.19.8/node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.19.8/node_modules/undici-types/agent.d.ts","../../../node_modules/.pnpm/undici-types@6.19.8/node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@6.19.8/node_modules/undici-types/mock-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.19.8/node_modules/undici-types/mock-client.d.ts","../../../node_modules/.pnpm/undici-types@6.19.8/node_modules/undici-types/mock-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.19.8/node_modules/undici-types/mock-errors.d.ts","../../../node_modules/.pnpm/undici-types@6.19.8/node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.19.8/node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.19.8/node_modules/undici-types/retry-handler.d.ts","../../../node_modules/.pnpm/undici-types@6.19.8/node_modules/undici-types/retry-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.19.8/node_modules/undici-types/api.d.ts","../../../node_modules/.pnpm/undici-types@6.19.8/node_modules/undici-types/interceptors.d.ts","../../../node_modules/.pnpm/undici-types@6.19.8/node_modules/undici-types/util.d.ts","../../../node_modules/.pnpm/undici-types@6.19.8/node_modules/undici-types/cookies.d.ts","../../../node_modules/.pnpm/undici-types@6.19.8/node_modules/undici-types/patch.d.ts","../../../node_modules/.pnpm/undici-types@6.19.8/node_modules/undici-types/websocket.d.ts","../../../node_modules/.pnpm/undici-types@6.19.8/node_modules/undici-types/eventsource.d.ts","../../../node_modules/.pnpm/undici-types@6.19.8/node_modules/undici-types/filereader.d.ts","../../../node_modules/.pnpm/undici-types@6.19.8/node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/.pnpm/undici-types@6.19.8/node_modules/undici-types/content-type.d.ts","../../../node_modules/.pnpm/undici-types@6.19.8/node_modules/undici-types/cache.d.ts","../../../node_modules/.pnpm/undici-types@6.19.8/node_modules/undici-types/index.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/dom-events.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/inspector.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/sea.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/sqlite.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@22.7.7/node_modules/@types/node/ts5.6/index.d.ts","../../../node_modules/.pnpm/sharp@0.33.5/node_modules/sharp/lib/index.d.ts","../../../node_modules/.pnpm/@vertesia+converters@0.42.2/node_modules/@vertesia/converters/lib/types/image.d.ts","../../../node_modules/.pnpm/@vertesia+converters@0.42.2/node_modules/@vertesia/converters/lib/types/mutool.d.ts","../../../node_modules/.pnpm/@vertesia+converters@0.42.2/node_modules/@vertesia/converters/lib/types/pandoc.d.ts","../../../node_modules/.pnpm/@vertesia+converters@0.42.2/node_modules/@vertesia/converters/lib/types/index.d.ts","../../../node_modules/.pnpm/minipass@7.1.2/node_modules/minipass/dist/esm/index.d.ts","../../../node_modules/.pnpm/lru-cache@11.0.1/node_modules/lru-cache/dist/esm/index.d.ts","../../../node_modules/.pnpm/path-scurry@2.0.0/node_modules/path-scurry/dist/esm/index.d.ts","../../../node_modules/.pnpm/minimatch@10.0.1/node_modules/minimatch/dist/esm/ast.d.ts","../../../node_modules/.pnpm/minimatch@10.0.1/node_modules/minimatch/dist/esm/escape.d.ts","../../../node_modules/.pnpm/minimatch@10.0.1/node_modules/minimatch/dist/esm/unescape.d.ts","../../../node_modules/.pnpm/minimatch@10.0.1/node_modules/minimatch/dist/esm/index.d.ts","../../../node_modules/.pnpm/glob@11.0.0/node_modules/glob/dist/esm/pattern.d.ts","../../../node_modules/.pnpm/glob@11.0.0/node_modules/glob/dist/esm/processor.d.ts","../../../node_modules/.pnpm/glob@11.0.0/node_modules/glob/dist/esm/walker.d.ts","../../../node_modules/.pnpm/glob@11.0.0/node_modules/glob/dist/esm/ignore.d.ts","../../../node_modules/.pnpm/glob@11.0.0/node_modules/glob/dist/esm/glob.d.ts","../../../node_modules/.pnpm/glob@11.0.0/node_modules/glob/dist/esm/has-magic.d.ts","../../../node_modules/.pnpm/glob@11.0.0/node_modules/glob/dist/esm/index.d.ts","../src/contentsource.ts","../src/contentobject.ts","../src/utils/rewrite.ts","../src/commands/copy.ts","../src/utils/cmdline.ts","../src/utils/stream.ts","../src/commands/exec.ts","../../../node_modules/.pnpm/@types+braces@3.0.4/node_modules/@types/braces/index.d.ts","../../../node_modules/.pnpm/@types+micromatch@4.0.9/node_modules/@types/micromatch/index.d.ts","../../../node_modules/.pnpm/@types+tar-stream@3.1.3/node_modules/@types/tar-stream/index.d.ts","../src/utils/tar.ts","../src/memorypack.ts","../src/memorypackbuilder.ts","../src/builder.ts","../src/index.ts"],"fileIdsList":[[67,109],[67,109,186],[67,106,109],[67,108,109],[67,109,114,144],[67,109,110,115,121,122,129,141,152],[67,109,110,111,121,129],[62,63,64,67,109],[67,109,112,153],[67,109,113,114,122,130],[67,109,114,141,149],[67,109,115,117,121,129],[67,108,109,116],[67,109,117,118],[67,109,121],[67,109,119,121],[67,108,109,121],[67,109,121,122,123,141,152],[67,109,121,122,123,136,141,144],[67,104,109,157],[67,104,109,117,121,124,129,141,152],[67,109,121,122,124,125,129,141,149,152],[67,109,124,126,141,149,152],[67,109,121,127],[67,109,128,152,157],[67,109,117,121,129,141],[67,109,130],[67,109,131],[67,108,109,132],[67,106,107,108,109,110,111,112,113,114,115,116,117,118,119,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158],[67,109,134],[67,109,135],[67,109,121,136,137],[67,109,136,138,153,155],[67,109,121,141,142,143,144],[67,109,141,143],[67,109,141,142],[67,109,144],[67,109,145],[67,106,109,141],[67,109,121,147,148],[67,109,147,148],[67,109,114,129,141,149],[67,109,150],[109],[65,66,67,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158],[67,109,129,151],[67,109,124,135,152],[67,109,114,153],[67,109,141,154],[67,109,128,155],[67,109,156],[67,109,114,121,123,132,141,152,155,157],[67,109,141,158],[67,109,141,159],[67,109,160],[67,109,161,162,163],[59,60,67,109],[67,109,165,167,171,172,175],[67,109,176],[67,109,167,171,174],[67,109,165,167,171,174,175,176,177],[67,109,171],[67,109,167,171,172,174],[67,109,165,167,172,173,175],[67,109,168,169,170],[67,109,121,145,159],[67,109,122,131,165,166],[67,76,80,109,152],[67,76,109,141,152],[67,71,109],[67,73,76,109,149,152],[67,109,129,149],[67,109,159],[67,71,109,159],[67,73,76,109,129,152],[67,68,69,72,75,109,121,141,152],[67,76,83,109],[67,68,74,109],[67,76,97,98,109],[67,72,76,109,144,152,159],[67,97,109,159],[67,70,71,109,159],[67,76,109],[67,70,71,72,73,74,75,76,77,78,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,98,99,100,101,102,103,109],[67,76,91,109],[67,76,83,84,109],[67,74,76,84,85,109],[67,75,109],[67,68,71,76,109],[67,76,80,84,85,109],[67,80,109],[67,74,76,79,109,152],[67,68,73,76,83,109],[67,109,141],[67,71,76,97,109,157,159],[61,67,109,122,130,131,179,180,182,185,190,191],[67,109,179,180,181,192],[67,109,110,122,141,183,184],[67,109,122,141,164,179,192],[67,109,122,123,131,141,178],[67,109,179,180,182,185,189,190,191,192],[67,109,131,179,187,189],[67,109,179,189,190,192],[67,109,122,123,142,158,188]],"fileInfos":[{"version":"44e584d4f6444f58791784f1d530875970993129442a847597db702a073ca68c","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","impliedFormat":1},{"version":"9e8ca8ed051c2697578c023d9c29d6df689a083561feba5c14aedee895853999","affectsGlobalScope":true,"impliedFormat":1},{"version":"6920e1448680767498a0b77c6a00a8e77d14d62c3da8967b171f1ddffa3c18e4","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"45d8ccb3dfd57355eb29749919142d4321a0aa4df6acdfc54e30433d7176600a","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true,"impliedFormat":1},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1a94697425a99354df73d9c8291e2ecd4dddd370aed4023c2d6dee6cccb32666","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3f9fc0ec0b96a9e642f11eda09c0be83a61c7b336977f8b9fdb1e9788e925fe","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"479553e3779be7d4f68e9f40cdb82d038e5ef7592010100410723ceced22a0f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"d3d7b04b45033f57351c8434f60b6be1ea71a2dfec2d0a0c3c83badbb0e3e693","affectsGlobalScope":true,"impliedFormat":1},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true,"impliedFormat":1},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true,"impliedFormat":1},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true,"impliedFormat":1},{"version":"15c1c3d7b2e46e0025417ed6d5f03f419e57e6751f87925ca19dc88297053fe6","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"308f734399e78e329dda3b455c3102f21c979bd5adc951db3c04c1bf1bcd72c9","impliedFormat":99},{"version":"7449f98d329dcc1f475615678536ca3d224c828421b759f1a8cae2a4ba72160e","impliedFormat":99},{"version":"1340a96c79b6f127c27d9bfc404b3f8e10c34a332538b10006ff17d47a4f1fa1","impliedFormat":99},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"030e350db2525514580ed054f712ffb22d273e6bc7eddc1bb7eda1e0ba5d395e","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"613b21ccdf3be6329d56e6caa13b258c842edf8377be7bc9f014ed14cdcfc308","affectsGlobalScope":true,"impliedFormat":1},{"version":"2d1319e6b5d0efd8c5eae07eb864a00102151e8b9afddd2d45db52e9aae002c4","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"24bd580b5743dc56402c440dc7f9a4f5d592ad7a419f25414d37a7bfe11e342b","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"6bdc71028db658243775263e93a7db2fd2abfce3ca569c3cca5aee6ed5eb186d","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"4d2b0eb911816f66abe4970898f97a2cfc902bcd743cbfa5017fad79f7ef90d8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","impliedFormat":1},{"version":"24b8685c62562f5d98615c5a0c1d05f297cf5065f15246edfe99e81ec4c0e011","impliedFormat":1},{"version":"93507c745e8f29090efb99399c3f77bec07db17acd75634249dc92f961573387","impliedFormat":1},{"version":"339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"81184fe8e67d78ac4e5374650f0892d547d665d77da2b2f544b5d84729c4a15d","affectsGlobalScope":true,"impliedFormat":1},{"version":"f6114eb1e8f70ec08816bdaa6ec740a0a7a01f25743e36f655f00157be394374","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"76103716ba397bbb61f9fa9c9090dca59f39f9047cb1352b2179c5d8e7f4e8d0","impliedFormat":1},{"version":"53eac70430b30089a3a1959d8306b0f9cfaf0de75224b68ef25243e0b5ad1ca3","affectsGlobalScope":true,"impliedFormat":1},{"version":"4314c7a11517e221f7296b46547dbc4df047115b182f544d072bdccffa57fc72","impliedFormat":1},{"version":"115971d64632ea4742b5b115fb64ed04bcaae2c3c342f13d9ba7e3f9ee39c4e7","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"46e07db372dd75edc1a26e68f16d1b7ffb34b7ab3db5cdb3e391a3604ad7bb7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"24642567d3729bcc545bacb65ee7c0db423400c7f1ef757cab25d05650064f98","impliedFormat":1},{"version":"e6f5a38687bebe43a4cef426b69d34373ef68be9a6b1538ec0a371e69f309354","impliedFormat":1},{"version":"a6bf63d17324010ca1fbf0389cab83f93389bb0b9a01dc8a346d092f65b3605f","impliedFormat":1},{"version":"e009777bef4b023a999b2e5b9a136ff2cde37dc3f77c744a02840f05b18be8ff","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"875928df2f3e9a3aed4019539a15d04ff6140a06df6cd1b2feb836d22a81eaca","affectsGlobalScope":true,"impliedFormat":1},{"version":"20b97c3368b1a63d2156deea35d03b125bb07908906eb35e0438042a3bbb3e71","impliedFormat":1},{"version":"02e73584132025781e9ffa7beef9d58ee563954c592eb563dc724ebbfb7424eb","impliedFormat":1},{"version":"ad05f01340829d96e2d85506eaab585ca7a5b20d687448d35f97e2b0855399d8","impliedFormat":1},{"version":"fa56be9b96f747e93b895d8dc2aa4fb9f0816743e6e2abb9d60705e88d4743a2","impliedFormat":1},{"version":"8257c55ff6bff6169142a35fce6811b511d857b4ae4f522cdb6ce20fd2116b2c","impliedFormat":1},{"version":"6d386bc0d7f3afa1d401afc3e00ed6b09205a354a9795196caed937494a713e6","impliedFormat":1},{"version":"3a9e5dddbd6ca9507d0c06a557535ba2224a94a2b0f3e146e8215f93b7e5b3a8","affectsGlobalScope":true,"impliedFormat":1},{"version":"94c4187083503a74f4544503b5a30e2bd7af0032dc739b0c9a7ce87f8bddc7b9","impliedFormat":1},{"version":"b1b6ee0d012aeebe11d776a155d8979730440082797695fc8e2a5c326285678f","impliedFormat":1},{"version":"45875bcae57270aeb3ebc73a5e3fb4c7b9d91d6b045f107c1d8513c28ece71c0","impliedFormat":1},{"version":"3c36ab47df4668254ccc170fc42e7d5116fd86a7e408d8dc220e559837cd2bbb","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f6abdaf8764ef01a552a958f45e795b5e79153b87ddad3af5264b86d2681b72","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"c6b4e0a02545304935ecbf7de7a8e056a31bb50939b5b321c9d50a405b5a0bba","impliedFormat":1},{"version":"4de73e132bf47437c56b1e8416c60d9d517c8ba3822e7c623b54d4300834dd37","impliedFormat":1},{"version":"e432b0e3761ca9ba734bdd41e19a75fec1454ca8e9769bfdf8b31011854cf06a","impliedFormat":1},{"version":"e1120271ebbc9952fdc7b2dd3e145560e52e06956345e6fdf91d70ca4886464f","impliedFormat":1},{"version":"15c5e91b5f08be34a78e3d976179bf5b7a9cc28dc0ef1ffebffeb3c7812a2dca","impliedFormat":1},{"version":"a8f06c2382a30b7cb89ad2dfc48fc3b2b490f3dafcd839dadc008e4e5d57031d","impliedFormat":1},{"version":"553870e516f8c772b89f3820576152ebc70181d7994d96917bb943e37da7f8a7","impliedFormat":1},{"version":"269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"745c4240220559bd340c8aeb6e3c5270a709d3565e934dc22a69c304703956bc","affectsGlobalScope":true,"impliedFormat":1},{"version":"2754d8221d77c7b382096651925eb476f1066b3348da4b73fe71ced7801edada","impliedFormat":1},{"version":"cca97c55398b8699fa3a96ef261b01d200ed2a44d2983586ab1a81d7d7b23cd9","affectsGlobalScope":true,"impliedFormat":1},{"version":"bef91efa0baea5d0e0f0f27b574a8bc100ce62a6d7e70220a0d58af6acab5e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"f59493f68eade5200559e5016b5855f7d12e6381eb6cab9ad8a379af367b3b2d","impliedFormat":1},{"version":"125e3472965f529de239d2bc85b54579fed8e0b060d1d04de6576fb910a6ec7f","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"7d6ff413e198d25639f9f01f16673e7df4e4bd2875a42455afd4ecc02ef156da","affectsGlobalScope":true,"impliedFormat":1},{"version":"6512c499b32226c5a686ab98f5b33ae15bdebd6b9f3b60f80eeadd95e358f02c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a5c09990a37469b0311a92ce8feeb8682e83918723aedbd445bd7a0f510eaaa3","impliedFormat":1},{"version":"6b29aea17044029b257e5bd4e3e4f765cd72b8d3c11c753f363ab92cc3f9f947","impliedFormat":1},{"version":"ac5ed35e649cdd8143131964336ab9076937fa91802ec760b3ea63b59175c10a","impliedFormat":1},{"version":"d008cf1330c86b37a8128265c80795397c287cecff273bc3ce3a4883405f5112","affectsGlobalScope":true,"impliedFormat":1},{"version":"78dc0513cc4f1642906b74dda42146bcbd9df7401717d6e89ea6d72d12ecb539","impliedFormat":1},{"version":"171fd8807643c46a9d17e843959abdf10480d57d60d38d061fb44a4c8d4a8cc4","impliedFormat":1},{"version":"e749bbd37dadf82c9833278780527c717226e1e2c9bc7b2576c8ec1c40ec5647","impliedFormat":1},{"version":"90b68fc4af20144deca7fe3b375151ef95567d9b7ea97ccd974ef557c91e4324","impliedFormat":99},{"version":"7629cf8961345004859b6acef2cb31d2e807c340d1539d1bc60e211fdc8486ae","impliedFormat":99},{"version":"ec471abce8afd7e3ced5bdd4a6049efac7bf3826bcefe028470f1348b0f35bf4","impliedFormat":99},{"version":"bc5a96acbc6b66acd709597f7aaeb42484ae5e9da1b8067c424d8d885c0eacd5","impliedFormat":99},{"version":"4115aa147c5a64817fb55274b44087cbf1bc90f54906bfdfc9ee847a71cd91cf","impliedFormat":99},{"version":"623c392f985d35154de5dee5fc4275fbafd281832043a5c5005b032b20ad716a","impliedFormat":99},{"version":"072f583571d6e3d30cd9760ee3485d29484fb7b54ba772ac135c747a380096a1","impliedFormat":99},{"version":"7212c2d58855b8df35275180e97903a4b6093d4fbaefea863d8d028da63938c6","impliedFormat":99},{"version":"5bd0f306b4a9dc65bccf38d9295bc52720d2fa455e06f604529d981b5eb8d9dc","impliedFormat":99},{"version":"f30992084e86f4b4c223c558b187cb0a9e83071592bd830d8ff2a471ee2bf2d4","impliedFormat":99},{"version":"854045924626ba585f454b53531c42aed4365f02301aa8eca596423f4675b71f","impliedFormat":99},{"version":"dd9faff42b456b5f03b85d8fbd64838eb92f6f7b03b36322cbc59c005b7033d3","impliedFormat":99},{"version":"6ff702721d87c0ba8e7f8950e7b0a3b009dfd912fab3997e0b63fab8d83919c3","impliedFormat":99},{"version":"9dce9fc12e9a79d1135699d525aa6b44b71a45e32e3fa0cf331060b980b16317","impliedFormat":99},{"version":"586b2fd8a7d582329658aaceec22f8a5399e05013deb49bcfde28f95f093c8ee","impliedFormat":99},{"version":"dedc0ab5f7babe4aef870618cd2d4bc43dc67d1584ee43b68fc6e05554ef8f34","impliedFormat":99},{"version":"ef1f3eadd7bed282de45bafd7c2c00105cf1db93e22f6cd763bec8a9c2cf6df1","impliedFormat":99},{"version":"3d8885d13f76ff35b7860039e83c936ff37553849707c2fd1d580d193a52be5b","impliedFormat":99},{"version":"e9fcb96cd517965328bd2697f3bb4ddc395903bf7f75b762406acba8c688cd8c","signature":"1254fdc9e8dcf82380f8e41df0a2e02ceb1ab03cf5c89f4fddad8e2793a72bfc"},{"version":"3431e822c8f751c572cfa842ae13ba2aaebb15582ee9c612df5781f5739bc175","signature":"133782c738135aac614a9f95c9063a27f0dd71e3d6cd9f630b472b81b2a9fe02"},{"version":"a99c42bb6729f4ceae352dabe44cd9e576f0d90ebac58cbfb409806657c33908","signature":"ab1044db9475e712d49b6161d1d6457c95bd53b79d6698b6d746b568f3685d9b"},{"version":"d96f9ba5ae12941b79c39bea4dc47f43020cf56738ccba62a85dab34f7500de7","signature":"ba83b3f21c8568a33d2fb17b53b36929a81265a0d06d6224fb5a2fbc2a0e040f"},{"version":"1ee2d403317e53c83cdca7034fade5347968ba62717c88dcf409bf1000daa87e","signature":"0d8fc8fd3f229a4d993b014e1467f63555c658d1a862693502cfb86132fa51f2"},{"version":"7180a8d6953674996dec9c09b30285f0f0cb26122951969da9ef37a8f813f5ca","signature":"8fc4c7ede462c7151ee5693cface06c2052225c49173f87c11a19e3cf6916128"},{"version":"b2f6e1d74cf48a07856bc6f8d70c5396746682b50bb015fbc53233e07f16c822","signature":"22737d4a6aa1be697c7757b3d3714c8376e2f4236de8099067e19a78a6be70c4"},{"version":"9837b03c1d83ad529d419be65655a1cb85c097f13703936ec6be1ee43ec9ef5f","impliedFormat":1},{"version":"33a0782502805f6dac67362b4290250e29755139a9c0d93a42e9da3a6e282e85","impliedFormat":1},{"version":"1c335c43fcd4f39e1fdf77bdc399a98fd7a783189181a8c8e8645ce51f4c26e0","impliedFormat":1},{"version":"e1b5a98ad31de47afcb0877ee2b865974f26e82b9a3514778f43534fedc755fb","signature":"22f6c630b91dd4383aff97e649961d6b4431b46253163cf8d362637f58115503"},{"version":"aeb0df5f5288a1b7fb63cd0483e60cd331e4ef347faf8984c5d31793cd079801","signature":"02bbd2a9fbfdd3d1480a244872a26869fef6ec9de0a7df6cbe18bd6559001297"},{"version":"649d0d78397b0fbb7e4e6fbba1151e68630e73289f7b74a31c0de648e4c70d3f","signature":"69ca9f72155035bbd9a9ef58e1f5e4e947051b930902c4e6da12f267f4998ef0"},{"version":"cc554607b90c40b5120a824b993385fb36fd2f29e8487820970d7820883d9a3d","signature":"410a1ff1fb721db0d3b86d5a7d7dacaabda8a68ff4826f1a230db6d39f603d2b"},{"version":"5d54c98d09a30d66a08a775ebd87daf8641e32a485eb323e1d82cce426760097","signature":"ad9d9360ae23df40dec3e7c4da00ddf3ee5159628dbcbc2f3086c172a19efd28"}],"root":[[179,185],[189,193]],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declarationDir":"./types","esModuleInterop":true,"experimentalDecorators":true,"module":99,"noFallthroughCasesInSwitch":true,"noPropertyAccessFromIndexSignature":false,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./esm","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9,"useDefineForClassFields":true,"useUnknownInCatchVariables":true},"referencedMap":[[186,1],[187,2],[106,3],[107,3],[108,4],[109,5],[110,6],[111,7],[62,1],[65,8],[63,1],[64,1],[112,9],[113,10],[114,11],[115,12],[116,13],[117,14],[118,14],[120,15],[119,16],[121,17],[122,18],[123,19],[105,20],[124,21],[125,22],[126,23],[127,24],[128,25],[129,26],[130,27],[131,28],[132,29],[133,30],[134,31],[135,32],[136,33],[137,33],[138,34],[139,1],[140,1],[141,35],[143,36],[142,37],[144,38],[145,39],[146,40],[147,41],[148,42],[149,43],[150,44],[67,45],[66,1],[159,46],[151,47],[152,48],[153,49],[154,50],[155,51],[156,52],[157,53],[158,54],[188,55],[161,56],[164,57],[162,1],[163,1],[61,58],[59,1],[60,1],[176,59],[177,60],[175,61],[178,62],[172,63],[173,64],[174,65],[166,1],[168,63],[169,63],[171,66],[170,63],[165,67],[167,68],[160,55],[57,1],[58,1],[10,1],[12,1],[11,1],[2,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[3,1],[21,1],[4,1],[22,1],[26,1],[23,1],[24,1],[25,1],[27,1],[28,1],[29,1],[5,1],[30,1],[31,1],[32,1],[33,1],[6,1],[37,1],[34,1],[35,1],[36,1],[38,1],[7,1],[39,1],[44,1],[45,1],[40,1],[41,1],[42,1],[43,1],[8,1],[49,1],[46,1],[47,1],[48,1],[50,1],[9,1],[51,1],[52,1],[53,1],[56,1],[54,1],[55,1],[1,1],[83,69],[93,70],[82,69],[103,71],[74,72],[73,73],[102,74],[96,75],[101,76],[76,77],[90,78],[75,79],[99,80],[71,81],[70,74],[100,82],[72,83],[77,84],[78,1],[81,84],[68,1],[104,85],[94,86],[85,87],[86,88],[88,89],[84,90],[87,91],[97,74],[79,92],[80,93],[89,94],[69,95],[92,86],[91,84],[95,1],[98,96],[192,97],[182,98],[185,99],[180,100],[179,101],[193,102],[190,103],[191,104],[183,1],[181,28],[184,95],[189,105]],"latestChangedDtsFile":"./types/index.d.ts","version":"5.6.3"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { CopyOptions } from "./commands/copy.js";
|
|
2
|
+
import { ExecOptions } from "./commands/exec.js";
|
|
3
|
+
import { ContentObject, DocxObject, JsonObject, MediaObject, MediaOptions, PdfObject } from "./ContentObject.js";
|
|
4
|
+
import { ContentSource, SourceSpec } from "./ContentSource.js";
|
|
5
|
+
import { FromOptions, MemoryPackBuilder } from "./MemoryPackBuilder.js";
|
|
6
|
+
export interface BuildOptions {
|
|
7
|
+
indent?: number;
|
|
8
|
+
/**
|
|
9
|
+
* the path to save the output. Defaults to 'memory.tar'.
|
|
10
|
+
* If no .tar extension is present it will be added
|
|
11
|
+
*/
|
|
12
|
+
out?: string;
|
|
13
|
+
/**
|
|
14
|
+
* If set, suppress logs. Defaults to false.
|
|
15
|
+
*/
|
|
16
|
+
quiet?: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* If true, compress the output (tar or json) with gzip. Defaults to false.
|
|
19
|
+
*/
|
|
20
|
+
gzip?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Vars to be injected into the script context as the vars object
|
|
23
|
+
*/
|
|
24
|
+
vars?: Record<string, any>;
|
|
25
|
+
/**
|
|
26
|
+
* Optional publish action
|
|
27
|
+
* @param file
|
|
28
|
+
* @returns the URI of the published memory
|
|
29
|
+
*/
|
|
30
|
+
publish?: (file: string, name: string) => Promise<string>;
|
|
31
|
+
/**
|
|
32
|
+
* The directory where to transpile the recipe ts file
|
|
33
|
+
*/
|
|
34
|
+
transpileDir?: string;
|
|
35
|
+
}
|
|
36
|
+
export interface Commands {
|
|
37
|
+
vars: () => Record<string, any>;
|
|
38
|
+
tmpdir: () => string;
|
|
39
|
+
exec: (cmd: string, options?: ExecOptions) => Promise<void | string>;
|
|
40
|
+
from: (location: string, options?: FromOptions) => Promise<void>;
|
|
41
|
+
content: (location: string, encoding?: BufferEncoding) => ContentObject | ContentObject[];
|
|
42
|
+
json: (location: string) => ContentObject | ContentObject[];
|
|
43
|
+
pdf: (location: string) => PdfObject | PdfObject[];
|
|
44
|
+
docx: (location: string) => DocxObject | DocxObject[];
|
|
45
|
+
media: (location: string, options?: MediaOptions) => MediaObject | MediaObject[];
|
|
46
|
+
copy: (location: SourceSpec, path: string, options?: CopyOptions) => void;
|
|
47
|
+
copyText: (text: string, path: string) => void;
|
|
48
|
+
}
|
|
49
|
+
export declare class Builder implements Commands {
|
|
50
|
+
options: BuildOptions;
|
|
51
|
+
static instance?: Builder;
|
|
52
|
+
static getInstance(): Builder;
|
|
53
|
+
_vars: Record<string, any>;
|
|
54
|
+
_tmpdir?: string;
|
|
55
|
+
memory: MemoryPackBuilder;
|
|
56
|
+
constructor(options?: BuildOptions);
|
|
57
|
+
vars(): Record<string, any>;
|
|
58
|
+
tmpdir(): string;
|
|
59
|
+
from(location: string, options?: FromOptions): Promise<void>;
|
|
60
|
+
addEntry(path: string, source: ContentSource): void;
|
|
61
|
+
copy(location: SourceSpec, path: string, options?: CopyOptions): void;
|
|
62
|
+
copyText(text: string, path: string): void;
|
|
63
|
+
exec(cmd: string, options?: ExecOptions): Promise<string | undefined>;
|
|
64
|
+
content(location: string, encoding?: BufferEncoding): ContentObject | ContentObject[];
|
|
65
|
+
json(location: string): JsonObject | JsonObject[];
|
|
66
|
+
pdf(location: string): PdfObject | PdfObject[];
|
|
67
|
+
docx(location: string): DocxObject | DocxObject[];
|
|
68
|
+
media(location: string, options?: MediaOptions): MediaObject | MediaObject[];
|
|
69
|
+
build(object: Record<string, any>): Promise<string>;
|
|
70
|
+
private _getOutputNames;
|
|
71
|
+
}
|
|
72
|
+
export declare function buildMemoryPack(recipeFn: (commands: Commands) => Promise<Record<string, any>>, options: BuildOptions): Promise<string>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Builder.d.ts","sourceRoot":"","sources":["../../src/Builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import fs from "fs";
|
|
2
|
+
import { Builder } from "./Builder.js";
|
|
3
|
+
import { ContentSource } from "./ContentSource.js";
|
|
4
|
+
export declare class ContentObject implements ContentSource {
|
|
5
|
+
builder: Builder;
|
|
6
|
+
source: ContentSource;
|
|
7
|
+
encoding: BufferEncoding;
|
|
8
|
+
constructor(builder: Builder, source: ContentSource, encoding?: BufferEncoding);
|
|
9
|
+
getContent(): Promise<Buffer>;
|
|
10
|
+
getStream(): Promise<NodeJS.ReadableStream>;
|
|
11
|
+
copyTo(entry: string): void;
|
|
12
|
+
copyToFile(file: string): Promise<fs.WriteStream>;
|
|
13
|
+
/**
|
|
14
|
+
* Get a text representation of the object
|
|
15
|
+
*/
|
|
16
|
+
getText(encoding?: BufferEncoding): Promise<string>;
|
|
17
|
+
getJsonValue(): Promise<any>;
|
|
18
|
+
}
|
|
19
|
+
export declare class JsonObject extends ContentObject {
|
|
20
|
+
getJsonValue(): Promise<any>;
|
|
21
|
+
}
|
|
22
|
+
export interface MediaOptions {
|
|
23
|
+
max_hw?: number;
|
|
24
|
+
format?: "jpeg" | "png";
|
|
25
|
+
}
|
|
26
|
+
export declare class MediaObject extends ContentObject {
|
|
27
|
+
options: MediaOptions;
|
|
28
|
+
constructor(builder: Builder, source: ContentSource, options?: MediaOptions);
|
|
29
|
+
getStream(): Promise<NodeJS.ReadableStream>;
|
|
30
|
+
getContent(): Promise<Buffer>;
|
|
31
|
+
}
|
|
32
|
+
export declare class PdfObject extends ContentObject {
|
|
33
|
+
constructor(builder: Builder, source: ContentSource);
|
|
34
|
+
getStream(): Promise<NodeJS.ReadableStream>;
|
|
35
|
+
getContent(): Promise<Buffer>;
|
|
36
|
+
getText(): Promise<string>;
|
|
37
|
+
}
|
|
38
|
+
export declare class DocxObject extends ContentObject {
|
|
39
|
+
constructor(builder: Builder, source: ContentSource);
|
|
40
|
+
getBuffer(): Promise<Buffer>;
|
|
41
|
+
getStream(): Promise<NodeJS.ReadableStream>;
|
|
42
|
+
getText(): Promise<string>;
|
|
43
|
+
}
|