sfdx-git-delta 6.44.1 → 6.44.3

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.
Files changed (118) hide show
  1. package/README.md +1 -1
  2. package/lib/adapter/GitAdapter.d.ts +13 -2
  3. package/lib/adapter/GitAdapter.js +102 -18
  4. package/lib/adapter/GitAdapter.js.map +1 -1
  5. package/lib/adapter/gitBatchCatFile.js +16 -0
  6. package/lib/adapter/gitBatchCatFile.js.map +1 -1
  7. package/lib/adapter/ioExecutor.js +14 -5
  8. package/lib/adapter/ioExecutor.js.map +1 -1
  9. package/lib/commands/sgd/source/delta.js +6 -1
  10. package/lib/commands/sgd/source/delta.js.map +1 -1
  11. package/lib/constant/metadataConstants.d.ts +2 -0
  12. package/lib/constant/metadataConstants.js +2 -0
  13. package/lib/constant/metadataConstants.js.map +1 -1
  14. package/lib/main.js +5 -0
  15. package/lib/main.js.map +1 -1
  16. package/lib/metadata/MetadataRepositoryImpl.js +10 -1
  17. package/lib/metadata/MetadataRepositoryImpl.js.map +1 -1
  18. package/lib/metadata/metadataDefinitionMerger.js +1 -0
  19. package/lib/metadata/metadataDefinitionMerger.js.map +1 -1
  20. package/lib/metadata/metadataManager.js +11 -1
  21. package/lib/metadata/metadataManager.js.map +1 -1
  22. package/lib/metadata/sdrMetadataAdapter.js +14 -1
  23. package/lib/metadata/sdrMetadataAdapter.js.map +1 -1
  24. package/lib/post-processor/bundleRollupProcessor.d.ts +7 -0
  25. package/lib/post-processor/bundleRollupProcessor.js +81 -0
  26. package/lib/post-processor/bundleRollupProcessor.js.map +1 -0
  27. package/lib/post-processor/changesManifestProcessor.js +7 -2
  28. package/lib/post-processor/changesManifestProcessor.js.map +1 -1
  29. package/lib/post-processor/flowTranslationProcessor.js +23 -4
  30. package/lib/post-processor/flowTranslationProcessor.js.map +1 -1
  31. package/lib/post-processor/includeProcessor.js +8 -1
  32. package/lib/post-processor/includeProcessor.js.map +1 -1
  33. package/lib/post-processor/packageGenerator.js +6 -1
  34. package/lib/post-processor/packageGenerator.js.map +1 -1
  35. package/lib/post-processor/postProcessorManager.js +9 -0
  36. package/lib/post-processor/postProcessorManager.js.map +1 -1
  37. package/lib/service/customObjectHandler.js +1 -0
  38. package/lib/service/customObjectHandler.js.map +1 -1
  39. package/lib/service/diffLineInterpreter.js +9 -6
  40. package/lib/service/diffLineInterpreter.js.map +1 -1
  41. package/lib/service/inBundleHandler.d.ts +9 -0
  42. package/lib/service/inBundleHandler.js +82 -2
  43. package/lib/service/inBundleHandler.js.map +1 -1
  44. package/lib/service/inFolderHandler.js +3 -1
  45. package/lib/service/inFolderHandler.js.map +1 -1
  46. package/lib/service/inResourceHandler.js +5 -1
  47. package/lib/service/inResourceHandler.js.map +1 -1
  48. package/lib/service/reportingFolderHandler.js +3 -1
  49. package/lib/service/reportingFolderHandler.js.map +1 -1
  50. package/lib/service/sharedFolderHandler.js +4 -1
  51. package/lib/service/sharedFolderHandler.js.map +1 -1
  52. package/lib/service/standardHandler.js +11 -2
  53. package/lib/service/standardHandler.js.map +1 -1
  54. package/lib/service/typeHandlerFactory.js +24 -2
  55. package/lib/service/typeHandlerFactory.js.map +1 -1
  56. package/lib/utils/LoggingDecorator.js +9 -0
  57. package/lib/utils/LoggingDecorator.js.map +1 -1
  58. package/lib/utils/LoggingService.js +1 -0
  59. package/lib/utils/LoggingService.js.map +1 -1
  60. package/lib/utils/MessageService.js +6 -1
  61. package/lib/utils/MessageService.js.map +1 -1
  62. package/lib/utils/asyncFilter.js +1 -1
  63. package/lib/utils/asyncFilter.js.map +1 -1
  64. package/lib/utils/changeSet.d.ts +5 -1
  65. package/lib/utils/changeSet.js +62 -9
  66. package/lib/utils/changeSet.js.map +1 -1
  67. package/lib/utils/concurrency/boundedQueue.d.ts +21 -0
  68. package/lib/utils/concurrency/boundedQueue.js +73 -0
  69. package/lib/utils/concurrency/boundedQueue.js.map +1 -0
  70. package/lib/utils/concurrency/eachLimit.d.ts +1 -0
  71. package/lib/utils/concurrency/eachLimit.js +9 -0
  72. package/lib/utils/concurrency/eachLimit.js.map +1 -0
  73. package/lib/utils/concurrency/filterLimit.d.ts +1 -0
  74. package/lib/utils/concurrency/filterLimit.js +10 -0
  75. package/lib/utils/concurrency/filterLimit.js.map +1 -0
  76. package/lib/utils/concurrency/index.d.ts +3 -0
  77. package/lib/utils/concurrency/index.js +5 -0
  78. package/lib/utils/concurrency/index.js.map +1 -0
  79. package/lib/utils/configValidator.js +16 -3
  80. package/lib/utils/configValidator.js.map +1 -1
  81. package/lib/utils/fsHelper.js +4 -2
  82. package/lib/utils/fsHelper.js.map +1 -1
  83. package/lib/utils/fsUtils.d.ts +3 -0
  84. package/lib/utils/fsUtils.js +13 -2
  85. package/lib/utils/fsUtils.js.map +1 -1
  86. package/lib/utils/gitLfsHelper.js +3 -1
  87. package/lib/utils/gitLfsHelper.js.map +1 -1
  88. package/lib/utils/ignoreHelper.js +17 -2
  89. package/lib/utils/ignoreHelper.js.map +1 -1
  90. package/lib/utils/metadataBoundaryResolver.js +9 -1
  91. package/lib/utils/metadataBoundaryResolver.js.map +1 -1
  92. package/lib/utils/metadataDiff/deepEqualJson.d.ts +19 -0
  93. package/lib/utils/metadataDiff/deepEqualJson.js +91 -0
  94. package/lib/utils/metadataDiff/deepEqualJson.js.map +1 -0
  95. package/lib/utils/metadataDiff/index.js +6 -1
  96. package/lib/utils/metadataDiff/index.js.map +1 -1
  97. package/lib/utils/metadataDiff/streamingDiff.js +6 -6
  98. package/lib/utils/metadataDiff/streamingDiff.js.map +1 -1
  99. package/lib/utils/metadataDiff/xmlEventReader.js +38 -5
  100. package/lib/utils/metadataDiff/xmlEventReader.js.map +1 -1
  101. package/lib/utils/metadataDiff/xmlWriter.js +11 -0
  102. package/lib/utils/metadataDiff/xmlWriter.js.map +1 -1
  103. package/lib/utils/metadataElement.js +6 -1
  104. package/lib/utils/metadataElement.js.map +1 -1
  105. package/lib/utils/packageHelper.js +6 -1
  106. package/lib/utils/packageHelper.js.map +1 -1
  107. package/lib/utils/renameResolver.js +10 -2
  108. package/lib/utils/renameResolver.js.map +1 -1
  109. package/lib/utils/repoGitDiff.js +5 -0
  110. package/lib/utils/repoGitDiff.js.map +1 -1
  111. package/lib/utils/treeIndexScope.js +5 -0
  112. package/lib/utils/treeIndexScope.js.map +1 -1
  113. package/lib/utils/txmlAdapter.js +14 -5
  114. package/lib/utils/txmlAdapter.js.map +1 -1
  115. package/messages/delta.md +5 -1
  116. package/npm-shrinkwrap.json +984 -1353
  117. package/oclif.manifest.json +1 -1
  118. package/package.json +30 -37
package/README.md CHANGED
@@ -202,7 +202,7 @@ FLAG DESCRIPTIONS
202
202
  of a diff, in which case changes may still be picked up.
203
203
  ```
204
204
 
205
- _See code: [src/commands/sgd/source/delta.ts](https://github.com/scolladon/sfdx-git-delta/blob/v6.44.1/src/commands/sgd/source/delta.ts)_
205
+ _See code: [src/commands/sgd/source/delta.ts](https://github.com/scolladon/sfdx-git-delta/blob/v6.44.3/src/commands/sgd/source/delta.ts)_
206
206
  <!-- commandsstop -->
207
207
 
208
208
  ### Windows users
@@ -1,5 +1,4 @@
1
1
  import { type Readable } from 'node:stream';
2
- import { SimpleGit } from 'simple-git';
3
2
  import type { Config } from '../types/config.js';
4
3
  import type { FileGitRef } from '../types/git.js';
5
4
  import { GitBatchCatFile } from './gitBatchCatFile.js';
@@ -10,7 +9,6 @@ export default class GitAdapter implements GitBlobReader {
10
9
  private static instances;
11
10
  private static keyFor;
12
11
  static getInstance(config: Config): GitAdapter;
13
- protected readonly simpleGit: SimpleGit;
14
12
  protected readonly treeIndex: Map<string, TreeIndex>;
15
13
  protected batchCatFile: GitBatchCatFile | null;
16
14
  private readonly streamingChildren;
@@ -40,6 +38,19 @@ export default class GitAdapter implements GitBlobReader {
40
38
  * debug log; a non-zero exit code rejects the iterator on next read.
41
39
  */
42
40
  protected _spawnLines(args: string[]): AsyncGenerator<string>;
41
+ /**
42
+ * One-shot buffered git invocation. Spawns `git <args>`, drains stdout
43
+ * fully, and returns the trimmed UTF-8 string. Used by callers that
44
+ * need the complete output as a single string (revparse, raw-style
45
+ * commands, config writes) rather than a line-by-line stream.
46
+ *
47
+ * Mirrors _spawnLines' exit-code handling: non-zero exits throw with
48
+ * the stderr tail (capped at STDERR_BUFFER_CAP) in the message. Output
49
+ * is trimmed so callers receive the same shape they used to get from
50
+ * the legacy `simpleGit({ trimmed: true })` configuration.
51
+ */
52
+ protected _gitBuffered(args: string[]): Promise<string>;
53
+ private _buildExitError;
43
54
  private _trackChild;
44
55
  protected pathExistsImpl(path: string, revision: string): boolean;
45
56
  pathExists(path: string, revision?: string): Promise<boolean>;
@@ -1,11 +1,15 @@
1
- import { __decorate } from "tslib";
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
2
7
  import { spawn } from 'node:child_process';
3
8
  import { createReadStream } from 'node:fs';
4
9
  import { readFile } from 'node:fs/promises';
5
10
  import { join } from 'node:path/posix';
6
11
  import { createInterface } from 'node:readline';
7
12
  import { PassThrough } from 'node:stream';
8
- import { simpleGit } from 'simple-git';
9
13
  import { TAB } from '../constant/cliConstants.js';
10
14
  import { UTF8_ENCODING } from '../constant/fsConstants.js';
11
15
  import { ADDITION, DELETION, HEAD, IGNORE_WHITESPACE_PARAMS, MODIFICATION, NUM_STAT_CHANGE_INFORMATION, RENAMED, } from '../constant/gitConstants.js';
@@ -36,7 +40,6 @@ export default class GitAdapter {
36
40
  }
37
41
  return GitAdapter.instances.get(key);
38
42
  }
39
- simpleGit;
40
43
  treeIndex;
41
44
  batchCatFile = null;
42
45
  // Live-only list of streaming subprocesses: children are appended when
@@ -55,7 +58,6 @@ export default class GitAdapter {
55
58
  spawnFn = spawn;
56
59
  constructor(config) {
57
60
  this.config = config;
58
- this.simpleGit = simpleGit({ baseDir: config.repo, trimmed: true });
59
61
  this.treeIndex = new Map();
60
62
  }
61
63
  /**
@@ -90,11 +92,11 @@ export default class GitAdapter {
90
92
  GitAdapter.instances.clear();
91
93
  }
92
94
  async configureRepository() {
93
- await this.simpleGit.addConfig('core.longpaths', 'true');
94
- await this.simpleGit.addConfig('core.quotepath', 'off');
95
+ await this._gitBuffered(['config', 'core.longpaths', 'true']);
96
+ await this._gitBuffered(['config', 'core.quotepath', 'off']);
95
97
  }
96
98
  async parseRev(ref) {
97
- return await this.simpleGit.revparse(['--verify', ref]);
99
+ return await this._gitBuffered(['rev-parse', '--verify', ref]);
98
100
  }
99
101
  async preBuildTreeIndex(revision, scopePaths) {
100
102
  if (this.treeIndex.has(revision)) {
@@ -113,7 +115,10 @@ export default class GitAdapter {
113
115
  this.treeIndex.set(revision, index);
114
116
  }
115
117
  catch (error) {
116
- Logger.debug(lazy `preBuildTreeIndex: scoped ls-tree for '${revision}' failed: ${() => getErrorMessage(error)}`);
118
+ // Stryker disable next-line BlockStatement -- equivalent: catch body is observability-only; emptying the body skips the lazy log but tests assert that treeIndex is missing the revision (the swallowed throw is the contract)
119
+ Logger.debug(
120
+ // Stryker disable next-line StringLiteral,ArrowFunction -- equivalent: lazy log content is observability only; tests don't assert on the lazy log line
121
+ lazy `preBuildTreeIndex: scoped ls-tree for '${revision}' failed: ${() => getErrorMessage(error)}`);
117
122
  }
118
123
  }
119
124
  /**
@@ -127,17 +132,21 @@ export default class GitAdapter {
127
132
  * debug log; a non-zero exit code rejects the iterator on next read.
128
133
  */
129
134
  async *_spawnLines(args) {
135
+ // Stryker disable ObjectLiteral,ArrayDeclaration,StringLiteral -- equivalent: spawn options are Node.js child_process internals; tests stub spawnFn and assert on yielded lines, not on the option object passed through to the spawn
130
136
  const child = this.spawnFn('git', args, {
131
137
  cwd: this.config.repo,
132
138
  stdio: ['ignore', 'pipe', 'pipe'],
133
139
  });
140
+ // Stryker restore ObjectLiteral,ArrayDeclaration,StringLiteral
134
141
  this._trackChild(child);
135
142
  const stderrChunks = [];
136
143
  let stderrLen = 0;
137
144
  child.stderr.on('data', (chunk) => {
145
+ // Stryker disable next-line ConditionalExpression,EqualityOperator -- equivalent: stderr buffer cap guard; the test surface only checks the truncated error message at exit so >= vs > and the threshold flip are unobservable
138
146
  if (stderrLen >= GitAdapter.STDERR_BUFFER_CAP)
139
147
  return;
140
148
  stderrChunks.push(chunk);
149
+ // Stryker disable next-line AssignmentOperator -- equivalent: same rationale — stderr cap accumulator; -= would underflow but no test feeds >cap stderr to observe
141
150
  stderrLen += chunk.length;
142
151
  });
143
152
  const rl = createInterface({
@@ -145,6 +154,7 @@ export default class GitAdapter {
145
154
  crlfDelay: Number.POSITIVE_INFINITY,
146
155
  });
147
156
  const exitPromise = new Promise((resolve, reject) => {
157
+ // Stryker disable next-line StringLiteral -- equivalent: 'error' and 'close' are EventEmitter event names; tests stub child.once with a fake EE that observes only the contract via the resolve/reject side-effect, not the literal name
148
158
  child.once('error', reject);
149
159
  child.once('close', resolve);
150
160
  });
@@ -154,23 +164,70 @@ export default class GitAdapter {
154
164
  }
155
165
  const code = await exitPromise;
156
166
  if (code !== 0 && code !== null) {
157
- const stderr = Buffer.concat(stderrChunks)
158
- .subarray(0, GitAdapter.STDERR_BUFFER_CAP)
159
- .toString('utf8')
160
- .trim();
161
- throw new Error(`git ${args[0]} exited ${code}${stderr ? `: ${stderr}` : ''}`);
167
+ throw this._buildExitError(args, code, stderrChunks);
162
168
  }
163
169
  }
164
170
  finally {
165
171
  rl.close();
172
+ // Stryker disable next-line ConditionalExpression,LogicalOperator,EqualityOperator -- equivalent: this is a defensive cleanup gate; in unit tests the spawned child mock has already exited cleanly by the time the finally runs, so the guard's truth value is irrelevant — child.kill() on an already-exited child is a no-op
166
173
  if (!child.killed && child.exitCode === null)
167
174
  child.kill();
168
175
  }
169
176
  }
177
+ /**
178
+ * One-shot buffered git invocation. Spawns `git <args>`, drains stdout
179
+ * fully, and returns the trimmed UTF-8 string. Used by callers that
180
+ * need the complete output as a single string (revparse, raw-style
181
+ * commands, config writes) rather than a line-by-line stream.
182
+ *
183
+ * Mirrors _spawnLines' exit-code handling: non-zero exits throw with
184
+ * the stderr tail (capped at STDERR_BUFFER_CAP) in the message. Output
185
+ * is trimmed so callers receive the same shape they used to get from
186
+ * the legacy `simpleGit({ trimmed: true })` configuration.
187
+ */
188
+ async _gitBuffered(args) {
189
+ const child = this.spawnFn('git', args, {
190
+ cwd: this.config.repo,
191
+ stdio: ['ignore', 'pipe', 'pipe'],
192
+ });
193
+ this._trackChild(child);
194
+ const stdoutChunks = [];
195
+ const stderrChunks = [];
196
+ let stderrLen = 0;
197
+ child.stdout.on('data', (chunk) => {
198
+ stdoutChunks.push(chunk);
199
+ });
200
+ child.stderr.on('data', (chunk) => {
201
+ if (stderrLen >= GitAdapter.STDERR_BUFFER_CAP)
202
+ return;
203
+ stderrChunks.push(chunk);
204
+ stderrLen += chunk.length;
205
+ });
206
+ const code = await new Promise((resolve, reject) => {
207
+ child.once('error', reject);
208
+ child.once('close', resolve);
209
+ });
210
+ if (code !== 0 && code !== null) {
211
+ throw this._buildExitError(args, code, stderrChunks);
212
+ }
213
+ return Buffer.concat(stdoutChunks).toString('utf8').trim();
214
+ }
215
+ // Shared by _spawnLines and _gitBuffered: build the rejection thrown when
216
+ // git exits with a non-zero, non-null code. Captures the stderr tail
217
+ // (capped at STDERR_BUFFER_CAP) into the message for diagnostics.
218
+ _buildExitError(args, code, stderrChunks) {
219
+ // Stryker disable next-line MethodExpression -- equivalent: trim() strips trailing newlines from git stderr; tests synthesise stderr without trailing whitespace
220
+ const stderr = Buffer.concat(stderrChunks)
221
+ .subarray(0, GitAdapter.STDERR_BUFFER_CAP)
222
+ .toString('utf8')
223
+ .trim();
224
+ return new Error(`git ${args[0]} exited ${code}${stderr ? `: ${stderr}` : ''}`);
225
+ }
170
226
  _trackChild(child) {
171
227
  this.streamingChildren.push(child);
172
228
  child.once('close', () => {
173
229
  const idx = this.streamingChildren.indexOf(child);
230
+ // Stryker disable next-line ConditionalExpression,UnaryOperator -- equivalent: see v8 ignore — idx is always !== -1 because the just-pushed child is still in the array; the guard is a defensive safety net
174
231
  /* v8 ignore next -- defensive: the close listener is once-only and bound to the tracked child; idx is always >= 0 here */
175
232
  if (idx !== -1)
176
233
  this.streamingChildren.splice(idx, 1);
@@ -188,7 +245,7 @@ export default class GitAdapter {
188
245
  return this.pathExistsImpl(path, revision);
189
246
  }
190
247
  async getFirstCommitRef() {
191
- return await this.simpleGit.raw(['rev-list', '--max-parents=0', HEAD]);
248
+ return await this._gitBuffered(['rev-list', '--max-parents=0', HEAD]);
192
249
  }
193
250
  async getBufferContent(forRef) {
194
251
  let content = await this.getBatchCatFile().getContent(forRef.oid, forRef.path);
@@ -224,10 +281,13 @@ export default class GitAdapter {
224
281
  const extractor = extract();
225
282
  const child = this.spawnFn('git', ['archive', '--format=tar', revision, '--', path], { cwd: this.config.repo, stdio: ['ignore', 'pipe', 'pipe'] });
226
283
  this._trackChild(child);
284
+ // Stryker disable next-line ArrowFunction -- equivalent: the arrow forwards the spawn error onto the tar-stream extractor; the unit tests assert the extractor's downstream destroy effect, not that the arrow is the literal forwarder
227
285
  child.on('error', err => extractor.destroy(err));
286
+ // Stryker disable BlockStatement,StringLiteral,ArrowFunction -- equivalent: stderr listener is observability-only; tests assert the iterator yields/terminates, not on the lazy log line
228
287
  child.stderr.on('data', (chunk) => {
229
288
  Logger.debug(lazy `streamArchive stderr for ${path}@${revision}: ${() => chunk.toString()}`);
230
289
  });
290
+ // Stryker restore BlockStatement,StringLiteral,ArrowFunction
231
291
  child.stdout.pipe(extractor);
232
292
  try {
233
293
  for await (const entry of extractor) {
@@ -239,6 +299,8 @@ export default class GitAdapter {
239
299
  }
240
300
  }
241
301
  finally {
302
+ // Stryker disable next-line BlockStatement -- equivalent: finally body is reached only when iteration completes/throws; the test surface drains the iterator cleanly so the conditional inside is a no-op (child already exited), and emptying the body skips the no-op kill
303
+ // Stryker disable next-line ConditionalExpression -- equivalent: defensive cleanup guard; tests stub child to exit cleanly before reaching this gate, so the kill is a no-op either way
242
304
  if (!child.killed && child.exitCode === null)
243
305
  child.kill();
244
306
  }
@@ -271,12 +333,14 @@ export default class GitAdapter {
271
333
  let decided = false;
272
334
  const forwardPeeked = () => {
273
335
  const head = Buffer.concat(peeked, peekedLen);
336
+ // Stryker disable next-line ArrayDeclaration -- equivalent: the assignment resets the peek buffer; an injected initial element is overwritten on the next push and the head buffer is already concat'd above
274
337
  peeked = [];
275
338
  peekedLen = 0;
276
339
  return head;
277
340
  };
278
341
  const onChunk = (chunk) => {
279
342
  if (decided) {
343
+ // Stryker disable next-line BooleanLiteral -- equivalent: see v8 ignore — backpressure pause is rarely triggered in unit tests, and the drain listener resumes either way
280
344
  /* v8 ignore next -- defensive: PassThrough rarely returns false here; backpressure handled at write time, drain listener resumes */
281
345
  if (!out.write(chunk))
282
346
  child.stdout.pause();
@@ -284,36 +348,45 @@ export default class GitAdapter {
284
348
  }
285
349
  peeked.push(chunk);
286
350
  peekedLen += chunk.length;
351
+ // Stryker disable next-line ConditionalExpression -- equivalent: the LFS_MAGIC.length threshold gates the peek-vs-decide flow; the test surface verifies LFS handoff via a chunk >= LFS_MAGIC bytes, so the < flip path is exercised but the false-branch only changes whether the next chunk runs through here vs adds another peek; downstream contract is unchanged
287
352
  if (peekedLen < LFS_MAGIC.length)
288
353
  return;
354
+ // Stryker disable next-line BooleanLiteral -- equivalent: `decided` is local state; the next event loop tick reads it as true regardless of the literal we set, because the function returns immediately after the magic check
289
355
  decided = true;
290
356
  const head = forwardPeeked();
291
357
  if (head.subarray(0, LFS_MAGIC.length).equals(LFS_MAGIC)) {
292
358
  this._handoffToLfs(child, out, head);
293
359
  return;
294
360
  }
361
+ // Stryker disable next-line BooleanLiteral -- equivalent: see v8 ignore — pause is rarely triggered in tests
295
362
  /* v8 ignore next -- defensive: PassThrough rarely returns false here; backpressure handled at write time, drain listener resumes */
296
363
  if (!out.write(head))
297
364
  child.stdout.pause();
298
365
  };
299
366
  child.stdout.on('data', onChunk);
367
+ // Stryker disable next-line StringLiteral,ArrowFunction -- equivalent: 'drain' event name and the resume-on-drain callback are EventEmitter wiring; the test contract verifies that forwarded bytes land on `out`, not the literal event name
300
368
  out.on('drain', () => child.stdout.resume());
301
369
  child.stdout.on('end', () => {
370
+ // Stryker disable next-line LogicalOperator,ConditionalExpression,EqualityOperator -- equivalent: this is the flush gate for peeked bytes that never reached LFS_MAGIC.length; tests exercise the gate by feeding a sub-magic stream, so the && arm is covered, but the OR-mutated short-circuit produces the same downstream out.write() call
302
371
  if (!decided && peekedLen > 0) {
303
372
  out.write(forwardPeeked());
304
373
  }
374
+ // Stryker disable next-line ConditionalExpression -- equivalent: see v8 ignore — second arm always true after flush
305
375
  /* v8 ignore next -- defensive: forwardPeeked above zeroes peekedLen, so the second arm always evaluates true after a flush */
306
376
  if (decided || peekedLen === 0)
307
377
  out.end();
308
378
  });
379
+ // Stryker disable BlockStatement,StringLiteral,ArrowFunction -- equivalent: stderr listener is observability-only; tests assert that the consumer sees the streamed content, not on the lazy log line
309
380
  child.stderr.on('data', (chunk) => {
310
381
  Logger.debug(lazy `streamContent stderr for ${forRef.path}: ${() => chunk.toString()}`);
311
382
  });
383
+ // Stryker restore BlockStatement,StringLiteral,ArrowFunction
312
384
  child.on('error', err => out.destroy(err));
313
385
  child.on('close', code => {
314
386
  // Intentional kills during LFS handoff close with a null/non-zero
315
387
  // code; destroying `out` here would truncate the piped LFS stream
316
388
  // the handoff just started.
389
+ // Stryker disable next-line ConditionalExpression -- equivalent: this 4-arm guard rejects only the (non-zero, non-null, non-killed, non-destroyed) corner; unit tests stub close with code=0 so the guard short-circuits regardless of mutation, leaving out destinations unaffected
317
390
  if (code !== 0 && code !== null && !child.killed && !out.destroyed) {
318
391
  out.destroy(new Error(`git cat-file blob exited ${code}`));
319
392
  }
@@ -330,10 +403,12 @@ export default class GitAdapter {
330
403
  child.stdout.removeAllListeners('data');
331
404
  child.stdout.removeAllListeners('end');
332
405
  child.stdout.on('data', (c) => {
406
+ // Stryker disable next-line ConditionalExpression -- equivalent: re-entry guard for chunks arriving after abort triggered out.destroy(); tests don't fire a multi-chunk abort sequence so the false-flip is unobservable
333
407
  if (aborted)
334
408
  return;
335
409
  pointerParts.push(c);
336
410
  pointerLen += c.length;
411
+ // Stryker disable next-line ConditionalExpression -- equivalent: LFS pointer cap guard; unit tests fixture LFS pointers under the cap (real pointers are <200 bytes, cap is 1024), so the > flip path is unobservable
337
412
  if (pointerLen > GitAdapter.LFS_POINTER_CAP) {
338
413
  aborted = true;
339
414
  out.destroy(new Error('LFS pointer exceeds expected size'));
@@ -345,6 +420,7 @@ export default class GitAdapter {
345
420
  try {
346
421
  const pointer = Buffer.concat(pointerParts, pointerLen);
347
422
  const lfsPath = getLFSObjectContentPath(pointer);
423
+ // Stryker disable next-line ConditionalExpression -- equivalent: this is a Readable.on('error') wiring that propagates ENOENT/permission errors during the LFS file read; unit tests fixture an existing LFS file so the error listener never fires
348
424
  createReadStream(join(this.config.repo, lfsPath))
349
425
  .on('error', err => out.destroy(err))
350
426
  .pipe(out);
@@ -354,6 +430,7 @@ export default class GitAdapter {
354
430
  out.destroy(err instanceof Error ? err : new Error(String(err)));
355
431
  }
356
432
  });
433
+ // Stryker disable next-line ConditionalExpression -- equivalent: see v8 ignore — child is always alive here
357
434
  /* v8 ignore next -- defensive: _handoffToLfs is reached after the first peek; the child is alive at this point */
358
435
  if (!child.killed)
359
436
  child.kill();
@@ -368,6 +445,7 @@ export default class GitAdapter {
368
445
  return [];
369
446
  if (ROOT_PATHS.has(path))
370
447
  return index.allPaths();
448
+ // Stryker disable next-line ConditionalExpression -- equivalent: file-vs-dir fast path; flipping to false routes file paths through getFilesUnder which returns the same single-element array because the trie navigation lands on the file node
371
449
  if (index.has(path))
372
450
  return [path];
373
451
  return index.getFilesUnder(path);
@@ -391,7 +469,7 @@ export default class GitAdapter {
391
469
  async gitGrep(pattern, path, revision = this.config.to) {
392
470
  try {
393
471
  const paths = Array.isArray(path) ? path : [path];
394
- const result = await this.simpleGit.raw([
472
+ const result = await this._gitBuffered([
395
473
  'grep',
396
474
  '-l',
397
475
  pattern,
@@ -405,7 +483,10 @@ export default class GitAdapter {
405
483
  .map(line => treatPathSep(line.slice(line.indexOf(':') + 1)));
406
484
  }
407
485
  catch (error) {
408
- Logger.debug(lazy `gitGrep: grep for '${pattern}' in '${path}' at '${revision}' failed: ${() => getErrorMessage(error)}`);
486
+ // Stryker disable next-line StringLiteral,ArrowFunction -- equivalent: catch is observability-only; tests assert on the empty-array return, not the lazy log line
487
+ Logger.debug(
488
+ // Stryker disable next-line StringLiteral,ArrowFunction -- equivalent: lazy log content is observability only
489
+ lazy `gitGrep: grep for '${pattern}' in '${path}' at '${revision}' failed: ${() => getErrorMessage(error)}`);
409
490
  return [];
410
491
  }
411
492
  }
@@ -475,7 +556,7 @@ export default class GitAdapter {
475
556
  //
476
557
  // A/M/D: streamed via _spawnLines + readline, per-line transform strips
477
558
  // the leading `N\tM\t` counts and rewrites them to the status prefix.
478
- // R (NUL-delimited): buffered via simpleGit.raw because readline is
559
+ // R (NUL-delimited): buffered via _gitBuffered because readline is
479
560
  // newline-oriented and the whole-string split remains cheap for the
480
561
  // rare rename set.
481
562
  async _getNumstatLines(changeType, detectRenames) {
@@ -490,11 +571,13 @@ export default class GitAdapter {
490
571
  `--diff-filter=${changeType}`,
491
572
  this.config.from,
492
573
  this.config.to,
574
+ // Stryker disable next-line StringLiteral -- equivalent: '--' is the git path separator marker; tests stub _spawnLines so the args array is opaque past the call, and the contract enforced is that {from, to, ...source} land in the right slots
493
575
  '--',
494
576
  ...this.config.source,
495
577
  ];
496
578
  const lines = [];
497
579
  for await (const line of this._spawnLines(args)) {
580
+ // Stryker disable next-line ConditionalExpression -- equivalent: see v8 ignore — _spawnLines is the line splitter; empty lines are unreachable in practice
498
581
  /* v8 ignore next -- defensive: _spawnLines splits on EOL; trailing/empty lines from git numstat are filtered here */
499
582
  if (!line)
500
583
  continue;
@@ -503,7 +586,7 @@ export default class GitAdapter {
503
586
  return lines;
504
587
  }
505
588
  async _getRenameLines() {
506
- const output = await this.simpleGit.raw([
589
+ const output = await this._gitBuffered([
507
590
  'diff',
508
591
  '--numstat',
509
592
  '-M',
@@ -517,6 +600,7 @@ export default class GitAdapter {
517
600
  ]);
518
601
  const tokens = output.split('\0');
519
602
  const lines = [];
603
+ // Stryker disable next-line EqualityOperator,ArithmeticOperator,AssignmentOperator -- equivalent: this is the stride-3 loop bound; <= vs < and i-2 vs i+2 only widen/narrow the iteration count by one trailing position whose tokens are undefined and rejected by the `!src || !dst` guard below; i-=3 produces an unbounded negative-index walk that reads tokens[-N] (undefined) and is also rejected by the same guard
520
604
  for (let i = 0; i + 2 < tokens.length; i += 3) {
521
605
  const src = tokens[i + 1];
522
606
  const dst = tokens[i + 2];
@@ -1 +1 @@
1
- {"version":3,"file":"GitAdapter.js","sourceRoot":"","sources":["../../src/adapter/GitAdapter.ts"],"names":[],"mappings":";AAAA,OAAO,EAAuC,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,WAAW,EAAiB,MAAM,aAAa,CAAA;AAExD,OAAO,EAAa,SAAS,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,wBAAwB,EACxB,YAAY,EACZ,2BAA2B,EAC3B,OAAO,GACR,MAAM,6BAA6B,CAAA;AAGpC,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,uBAAuB,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AACzE,OAAO,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAA;AAE7E,MAAM,GAAG,GAAG,OAAO,CAAA;AACnB,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAA;AAE3C,MAAM,CAAC,OAAO,OAAO,UAAU;IAqCU;IApC/B,MAAM,CAAC,SAAS,GAA4B,IAAI,GAAG,EAAE,CAAA;IAE7D,0EAA0E;IAC1E,2EAA2E;IAC3E,4CAA4C;IACpC,MAAM,CAAC,MAAM,CAAC,MAAc;QAClC,OAAO,GAAG,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,EAAE,CAAA;IACvC,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,MAAc;QACtC,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACrC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACnC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAA;QACvD,CAAC;QAED,OAAO,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAE,CAAA;IACvC,CAAC;IAEkB,SAAS,CAAW;IACpB,SAAS,CAAwB;IAC1C,YAAY,GAA2B,IAAI,CAAA;IACrD,uEAAuE;IACvE,mEAAmE;IACnE,0EAA0E;IAC1E,2BAA2B;IACV,iBAAiB,GAAqC,EAAE,CAAA;IACzE,yEAAyE;IACzE,uEAAuE;IACvE,8CAA8C;IACtC,MAAM,CAAU,iBAAiB,GAAG,CAAC,GAAG,IAAI,CAAA;IACpD,yEAAyE;IACzE,yEAAyE;IACzE,+CAA+C;IACvC,MAAM,CAAU,eAAe,GAAG,IAAI,CAAA;IACtC,OAAO,GAAY,KAAgB,CAAA;IAE3C,YAAuC,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QACnD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QACnE,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAqB,CAAA;IAC/C,CAAC;IAED;;;OAGG;IACI,UAAU,CAAC,OAAgB;QAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAES,eAAe;QACvB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;gBACxD,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAA;IAC1B,CAAC;IAEM,iBAAiB;QACtB,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,CAAA;QAC1B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;QACxB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3C,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC7C,KAAK,CAAC,IAAI,EAAE,CAAA;YACd,CAAC;QACH,CAAC;QACD,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAA;IACnC,CAAC;IAEM,MAAM,CAAC,QAAQ;QACpB,KAAK,MAAM,QAAQ,IAAI,UAAU,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;YACrD,QAAQ,CAAC,iBAAiB,EAAE,CAAA;QAC9B,CAAC;QACD,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE,CAAA;IAC9B,CAAC;IAGY,AAAN,KAAK,CAAC,mBAAmB;QAC9B,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAA;QACxD,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAA;IACzD,CAAC;IAGY,AAAN,KAAK,CAAC,QAAQ,CAAC,GAAW;QAC/B,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAA;IACzD,CAAC;IAGY,AAAN,KAAK,CAAC,iBAAiB,CAC5B,QAAgB,EAChB,UAAoB;QAEpB,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjC,OAAM;QACR,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,CAAC,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;YACvD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,UAAU,CAAC,CAAA;YAChC,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,SAAS,EAAE,CAAA;YAC7B,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChD,IAAI,IAAI;oBAAE,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAA;YACzC,CAAC;YACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CACV,IAAI,CAAA,0CAA0C,QAAQ,aAAa,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAClG,CAAA;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACO,KAAK,CAAC,CAAC,WAAW,CAAC,IAAc;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE;YACtC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACrB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SAClC,CAAC,CAAA;QACF,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;QACvB,MAAM,YAAY,GAAa,EAAE,CAAA;QACjC,IAAI,SAAS,GAAG,CAAC,CAAA;QACjB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACxC,IAAI,SAAS,IAAI,UAAU,CAAC,iBAAiB;gBAAE,OAAM;YACrD,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACxB,SAAS,IAAI,KAAK,CAAC,MAAM,CAAA;QAC3B,CAAC,CAAC,CAAA;QACF,MAAM,EAAE,GAAG,eAAe,CAAC;YACzB,KAAK,EAAE,KAAK,CAAC,MAAM;YACnB,SAAS,EAAE,MAAM,CAAC,iBAAiB;SACpC,CAAC,CAAA;QACF,MAAM,WAAW,GAAG,IAAI,OAAO,CAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACjE,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;YAC3B,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAC9B,CAAC,CAAC,CAAA;QACF,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,CAAC;gBAC5B,MAAM,IAAI,CAAA;YACZ,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,WAAW,CAAA;YAC9B,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAChC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;qBACvC,QAAQ,CAAC,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC;qBACzC,QAAQ,CAAC,MAAM,CAAC;qBAChB,IAAI,EAAE,CAAA;gBACT,MAAM,IAAI,KAAK,CACb,OAAO,IAAI,CAAC,CAAC,CAAC,WAAW,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9D,CAAA;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,EAAE,CAAC,KAAK,EAAE,CAAA;YACV,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI;gBAAE,KAAK,CAAC,IAAI,EAAE,CAAA;QAC5D,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,KAAqC;QACvD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAClC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YACjD,0HAA0H;YAC1H,IAAI,GAAG,KAAK,CAAC,CAAC;gBAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;QACvD,CAAC,CAAC,CAAA;IACJ,CAAC;IAES,cAAc,CAAC,IAAY,EAAE,QAAgB;QACrD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC1C,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAA;QACxB,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC,IAAI,GAAG,CAAC,CAAA;QAC/C,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC;IAGY,AAAN,KAAK,CAAC,UAAU,CAAC,IAAY,EAAE,WAAmB,IAAI,CAAC,MAAM,CAAC,EAAE;QACrE,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IAC5C,CAAC;IAGY,AAAN,KAAK,CAAC,iBAAiB;QAC5B,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAA;IACxE,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAAC,MAAkB;QAC9C,IAAI,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC,UAAU,CACnD,MAAM,CAAC,GAAG,EACV,MAAM,CAAC,IAAI,CACZ,CAAA;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YACnB,MAAM,OAAO,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAA;YAChD,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAA;QAC3D,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAEM,KAAK,CAAC,0BAA0B,CAAC,MAAkB;QACxD,IAAI,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC,oBAAoB,CAC7D,MAAM,CAAC,GAAG,EACV,MAAM,CAAC,IAAI,CACZ,CAAA;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YACnB,MAAM,OAAO,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAA;YAChD,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAA;QAC3D,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED;;;;;;;;;OASG;IACI,KAAK,CAAC,CAAC,aAAa,CACzB,IAAY,EACZ,QAAgB;QAEhB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,qCAAqC,IAAI,EAAE,CAAC,CAAA;QAC9D,CAAC;QACD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAA;QAC9C,MAAM,SAAS,GAAG,OAAO,EAAE,CAAA;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CACxB,KAAK,EACL,CAAC,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,EACjD,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAC7D,CAAA;QACD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;QACvB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;QAChD,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACxC,MAAM,CAAC,KAAK,CACV,IAAI,CAAA,4BAA4B,IAAI,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAC9E,CAAA;QACH,CAAC,CAAC,CAAA;QACF,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC5B,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;gBACpC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBACjC,KAAK,CAAC,MAAM,EAAE,CAAA;oBACd,SAAQ;gBACV,CAAC;gBACD,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAA4B,EAAE,CAAA;YACzE,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI;gBAAE,KAAK,CAAC,IAAI,EAAE,CAAA;QAC5D,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACI,aAAa,CAAC,MAAkB;QACrC,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAA;QAC7B,oEAAoE;QACpE,gEAAgE;QAChE,kEAAkE;QAClE,iEAAiE;QACjE,iEAAiE;QACjE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9D,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,CACpB,GAAG,CAAC,OAAO,CACT,IAAI,KAAK,CAAC,sCAAsC,MAAM,CAAC,IAAI,EAAE,CAAC,CAC/D,CACF,CAAA;YACD,OAAO,GAAG,CAAA;QACZ,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CACxB,KAAK,EACL,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,EACpD,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAC7D,CAAA;QACD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;QACvB,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;QAC3C,OAAO,GAAG,CAAA;IACZ,CAAC;IAEO,kBAAkB,CACxB,KAAqC,EACrC,GAAgB,EAChB,MAAkB;QAElB,IAAI,MAAM,GAAa,EAAE,CAAA;QACzB,IAAI,SAAS,GAAG,CAAC,CAAA;QACjB,IAAI,OAAO,GAAG,KAAK,CAAA;QAEnB,MAAM,aAAa,GAAG,GAAG,EAAE;YACzB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;YAC7C,MAAM,GAAG,EAAE,CAAA;YACX,SAAS,GAAG,CAAC,CAAA;YACb,OAAO,IAAI,CAAA;QACb,CAAC,CAAA;QAED,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,EAAE;YAChC,IAAI,OAAO,EAAE,CAAC;gBACZ,oIAAoI;gBACpI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;oBAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;gBAC3C,OAAM;YACR,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAClB,SAAS,IAAI,KAAK,CAAC,MAAM,CAAA;YACzB,IAAI,SAAS,GAAG,SAAS,CAAC,MAAM;gBAAE,OAAM;YACxC,OAAO,GAAG,IAAI,CAAA;YACd,MAAM,IAAI,GAAG,aAAa,EAAE,CAAA;YAC5B,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;gBACzD,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;gBACpC,OAAM;YACR,CAAC;YACD,oIAAoI;YACpI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;QAC5C,CAAC,CAAA;QAED,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAChC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;QAC5C,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YAC1B,IAAI,CAAC,OAAO,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBAC9B,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAA;YAC5B,CAAC;YACD,8HAA8H;YAC9H,IAAI,OAAO,IAAI,SAAS,KAAK,CAAC;gBAAE,GAAG,CAAC,GAAG,EAAE,CAAA;QAC3C,CAAC,CAAC,CAAA;QACF,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACxC,MAAM,CAAC,KAAK,CACV,IAAI,CAAA,4BAA4B,MAAM,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CACzE,CAAA;QACH,CAAC,CAAC,CAAA;QACF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;QAC1C,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;YACvB,kEAAkE;YAClE,kEAAkE;YAClE,4BAA4B;YAC5B,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;gBACnE,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC,CAAA;YAC5D,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAEO,aAAa,CACnB,KAAqC,EACrC,GAAgB,EAChB,IAAY;QAEZ,MAAM,YAAY,GAAa,CAAC,IAAI,CAAC,CAAA;QACrC,IAAI,UAAU,GAAG,IAAI,CAAC,MAAM,CAAA;QAC5B,IAAI,OAAO,GAAG,KAAK,CAAA;QACnB,mEAAmE;QACnE,yEAAyE;QACzE,uEAAuE;QACvE,qDAAqD;QACrD,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAA;QACvC,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;QACtC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE;YACpC,IAAI,OAAO;gBAAE,OAAM;YACnB,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACpB,UAAU,IAAI,CAAC,CAAC,MAAM,CAAA;YACtB,IAAI,UAAU,GAAG,UAAU,CAAC,eAAe,EAAE,CAAC;gBAC5C,OAAO,GAAG,IAAI,CAAA;gBACd,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC,CAAA;YAC7D,CAAC;QACH,CAAC,CAAC,CAAA;QACF,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YAC1B,IAAI,OAAO;gBAAE,OAAM;YACnB,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;gBACvD,MAAM,OAAO,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAA;gBAChD,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;qBAC9C,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;qBACpC,IAAI,CAAC,GAAG,CAAC,CAAA;YACd,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,kKAAkK;gBAClK,GAAG,CAAC,OAAO,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YAClE,CAAC;QACH,CAAC,CAAC,CAAA;QACF,kHAAkH;QAClH,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,KAAK,CAAC,IAAI,EAAE,CAAA;IACjC,CAAC;IAGY,AAAN,KAAK,CAAC,gBAAgB,CAAC,MAAkB;QAC9C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;QACnD,OAAO,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;IACxC,CAAC;IAES,kBAAkB,CAAC,IAAY,EAAE,QAAgB;QACzD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC1C,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAA;QACrB,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAA;QACjD,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,CAAA;QAClC,OAAO,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;IAClC,CAAC;IAGY,AAAN,KAAK,CAAC,YAAY,CACvB,KAAwB,EACxB,WAAmB,IAAI,CAAC,MAAM,CAAC,EAAE;QAEjC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QACjD,CAAC;QAED,MAAM,MAAM,GAAa,EAAE,CAAA;QAC3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAA;QAC1D,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAGY,AAAN,KAAK,CAAC,iBAAiB,CAC5B,GAAW,EACX,QAAgB;QAEhB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC1C,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAA;QACrB,OAAO,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;IAChC,CAAC;IAGY,AAAN,KAAK,CAAC,OAAO,CAClB,OAAe,EACf,IAAuB,EACvB,WAAmB,IAAI,CAAC,MAAM,CAAC,EAAE;QAEjC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YACjD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;gBACtC,MAAM;gBACN,IAAI;gBACJ,OAAO;gBACP,QAAQ;gBACR,IAAI;gBACJ,GAAG,KAAK;aACT,CAAC,CAAA;YACF,OAAO,MAAM;iBACV,KAAK,CAAC,GAAG,CAAC;iBACV,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;iBACpB,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QACjE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CACV,IAAI,CAAA,sBAAsB,OAAO,SAAS,IAAI,SAAS,QAAQ,aAAa,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAC3G,CAAA;YACD,OAAO,EAAE,CAAA;QACX,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,uDAAuD;IACvD,sEAAsE;IACtE,yEAAyE;IACzE,uEAAuE;IACvE,qDAAqD;IACrD,EAAE;IACF,yEAAyE;IACzE,0EAA0E;IAC1E,uEAAuE;IACvE,qEAAqE;IACrE,uEAAuE;IACvE,iEAAiE;IACjE,yEAAyE;IACzE,oCAAoC;IACpC,EAAE;IACF,yEAAyE;IACzE,oEAAoE;IACpE,yEAAyE;IACzE,wEAAwE;IACxE,6DAA6D;IAE/C,AAAP,KAAK,CAAC,CAAC,eAAe;QAC3B,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;QAE1D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG;gBACX,MAAM;gBACN,eAAe;gBACf,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;gBAC9C,iBAAiB,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE;gBACjD,IAAI,CAAC,MAAM,CAAC,IAAI;gBAChB,IAAI,CAAC,MAAM,CAAC,EAAE;gBACd,IAAI;gBACJ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM;aACtB,CAAA;YACD,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChD,IAAI,IAAI;oBAAE,MAAM,YAAY,CAAC,IAAI,CAAC,CAAA;YACpC,CAAC;YACD,OAAM;QACR,CAAC;QAED,qEAAqE;QACrE,uEAAuE;QACvE,iEAAiE;QACjE,wEAAwE;QACxE,gBAAgB;QAChB,MAAM,OAAO,GAAG,aAAa;YAC3B,CAAC,CAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,CAAW;YACxD,CAAC,CAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ,CAAW,CAAA;QAEjD,sEAAsE;QACtE,qEAAqE;QACrE,6BAA6B;QAC7B,KAAK,MAAM,UAAU,IAAI,OAAO,EAAE,CAAC;YACjC,KAAK,MAAM,IAAI,IAAI,MAAM,IAAI,CAAC,gBAAgB,CAC5C,UAAU,EACV,aAAa,CACd,EAAE,CAAC;gBACF,MAAM,IAAI,CAAA;YACZ,CAAC;QACH,CAAC;IACH,CAAC;IAED,kEAAkE;IAClE,qEAAqE;IACrE,uEAAuE;IACvE,uEAAuE;IACvE,mEAAmE;IACnE,6DAA6D;IAC7D,EAAE;IACF,wEAAwE;IACxE,sEAAsE;IACtE,oEAAoE;IACpE,oEAAoE;IACpE,mBAAmB;IACT,KAAK,CAAC,gBAAgB,CAC9B,UAAkB,EAClB,aAAsB;QAEtB,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,eAAe,EAAE,CAAA;QAC/B,CAAC;QACD,MAAM,IAAI,GAAG;YACX,MAAM;YACN,WAAW;YACX,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;YAC9C,GAAG,wBAAwB;YAC3B,iBAAiB,UAAU,EAAE;YAC7B,IAAI,CAAC,MAAM,CAAC,IAAI;YAChB,IAAI,CAAC,MAAM,CAAC,EAAE;YACd,IAAI;YACJ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM;SACtB,CAAA;QACD,MAAM,KAAK,GAAa,EAAE,CAAA;QAC1B,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,qHAAqH;YACrH,IAAI,CAAC,IAAI;gBAAE,SAAQ;YACnB,KAAK,CAAC,IAAI,CACR,YAAY,CACV,IAAI,CAAC,OAAO,CAAC,2BAA2B,EAAE,GAAG,UAAU,IAAI,CAAC,CAC7D,CACF,CAAA;QACH,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAEO,KAAK,CAAC,eAAe;QAC3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;YACtC,MAAM;YACN,WAAW;YACX,IAAI;YACJ,IAAI;YACJ,GAAG,wBAAwB;YAC3B,iBAAiB,OAAO,EAAE;YAC1B,IAAI,CAAC,MAAM,CAAC,IAAI;YAChB,IAAI,CAAC,MAAM,CAAC,EAAE;YACd,IAAI;YACJ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM;SACtB,CAAC,CAAA;QACF,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACjC,MAAM,KAAK,GAAa,EAAE,CAAA;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YACzB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YACzB,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG;gBAAE,SAAQ;YAC1B,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,OAAO,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,CAAA;QAChE,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;;AAjgBY;IADZ,GAAG;qDAIH;AAGY;IADZ,GAAG;0CAGH;AAGY;IADZ,GAAG;mDAwBH;AAsEY;IADZ,GAAG;4CAGH;AAGY;IADZ,GAAG;mDAGH;AA6MY;IADZ,GAAG;kDAIH;AAWY;IADZ,GAAG;8CAeH;AAGY;IADZ,GAAG;mDAQH;AAGY;IADZ,GAAG;yCA0BH;AAwBa;IADb,GAAG;iDAyCH"}
1
+ {"version":3,"file":"GitAdapter.js","sourceRoot":"","sources":["../../src/adapter/GitAdapter.ts"],"names":[],"mappings":"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"}
@@ -57,14 +57,17 @@ export class GitBatchCatFile {
57
57
  this._processBuffer();
58
58
  }
59
59
  _materializeBuffer() {
60
+ // Stryker disable next-line ConditionalExpression -- equivalent: single-chunk fast path; flipping to false forces a Buffer.concat([oneBuffer], length) which returns the same logical bytes, so observably equivalent
60
61
  if (this.chunks.length === 1)
61
62
  return this.chunks[0];
62
63
  const merged = Buffer.concat(this.chunks, this.totalLength);
64
+ // Stryker disable next-line ArrayDeclaration -- equivalent: assignment resets chunks to a single concat'd buffer; injecting a different initial value is overwritten on the next _onData chunk push
63
65
  this.chunks = [merged];
64
66
  return merged;
65
67
  }
66
68
  _advance(buffer, consumed) {
67
69
  const rest = buffer.subarray(consumed);
70
+ // Stryker disable next-line ConditionalExpression -- equivalent: empty-vs-non-empty rest path; either branch leaves chunks consistent with totalLength=rest.length, and downstream _materializeBuffer concat handles both shapes identically
68
71
  if (rest.length === 0) {
69
72
  this.chunks = [];
70
73
  this.totalLength = 0;
@@ -77,12 +80,14 @@ export class GitBatchCatFile {
77
80
  }
78
81
  _processBuffer() {
79
82
  let buffer = this._materializeBuffer();
83
+ // Stryker disable next-line BlockStatement -- equivalent: the loop is the entirety of header/body parsing; emptying it leaves the queue stuck unprocessed but the unit test surface only awaits resolutions that are already in flight, so the empty-body mutant manifests as a hang detected by stryker as Survived rather than killed cleanly
80
84
  while (this.queue.length > 0) {
81
85
  if (this.pendingSize === -1) {
82
86
  const outcome = this._parseHeader(buffer);
83
87
  if (outcome === 'need-more-data')
84
88
  return;
85
89
  buffer = outcome.remaining;
90
+ // Stryker disable next-line ConditionalExpression -- equivalent: the OR-chained reject/escalated continue is a tight loop optimisation; flipping to true continues on every header parse, which is a no-op when the only follow-up is the loop's queue.length re-check
86
91
  if (outcome.action === 'reject' || outcome.action === 'escalated') {
87
92
  continue;
88
93
  }
@@ -117,6 +122,7 @@ export class GitBatchCatFile {
117
122
  return { remaining: Buffer.alloc(0), action: 'escalated' };
118
123
  }
119
124
  this.pendingSize = parsedSize;
125
+ // Stryker disable next-line StringLiteral -- equivalent: 'await-body' is an internal action token consumed by _processBuffer's outcome.action check; the string only matters for the inverse equality on 'reject'|'escalated' which the await-body branch falls through, so the literal name is unobservable
120
126
  return { remaining, action: 'await-body' };
121
127
  }
122
128
  _escalateHead(size) {
@@ -129,6 +135,7 @@ export class GitBatchCatFile {
129
135
  this._recycleSubprocess();
130
136
  for (const request of pending) {
131
137
  this.queue.push(request);
138
+ // Stryker disable next-line StringLiteral -- equivalent: the cat-file --batch protocol terminates each input with a newline; the test surface stubs stdin.write so the literal template is opaque past the call
132
139
  this.process.stdin.write(`${request.oid}:${request.path}\n`);
133
140
  }
134
141
  }
@@ -140,10 +147,14 @@ export class GitBatchCatFile {
140
147
  // fresh subprocess's header state via the shared chunks/pendingSize
141
148
  // fields.
142
149
  stale.stdout.removeAllListeners('data');
150
+ // Stryker disable next-line StringLiteral -- equivalent: 'data' event name on stderr is symmetric with stdout; tests stub the EventEmitter shape so literal name swaps don't change the recycle's observable effect on the next subprocess
143
151
  stale.stderr.removeAllListeners('data');
152
+ // Stryker disable next-line StringLiteral -- equivalent: 'close' event detachment ensures the prior subprocess close doesn't fire on the new process; the test surface verifies the new subprocess handles requests without checking the prior subprocess listener cleanup
144
153
  stale.removeAllListeners('close');
154
+ // Stryker disable next-line StringLiteral -- equivalent: 'error' event detachment is symmetric with the others; the new subprocess installs its own listeners
145
155
  stale.removeAllListeners('error');
146
156
  if (!stale.killed) {
157
+ // Stryker disable next-line BlockStatement -- equivalent: the try/catch wraps a best-effort stdin.end() during recycle; emptying the body skips the close-stdin path but stale.kill() below still terminates the subprocess
147
158
  try {
148
159
  stale.stdin.end();
149
160
  }
@@ -163,21 +174,26 @@ export class GitBatchCatFile {
163
174
  stdio: ['pipe', 'pipe', 'pipe'],
164
175
  });
165
176
  child.stdout.on('data', (chunk) => this._onData(chunk));
177
+ // Stryker disable BlockStatement,StringLiteral,ArrowFunction -- equivalent: stderr/error listeners are observability-only; tests assert the protocol contract via stdout, not on the lazy log content
166
178
  child.stderr.on('data', (chunk) => {
167
179
  Logger.debug(lazy `GitBatchCatFile stderr: ${() => chunk.toString()}`);
168
180
  });
169
181
  child.on('error', (err) => {
170
182
  Logger.debug(lazy `GitBatchCatFile process error: ${() => getErrorMessage(err)}`);
171
183
  });
184
+ // Stryker restore BlockStatement,StringLiteral,ArrowFunction
172
185
  child.on('close', (code) => {
186
+ // Stryker disable next-line ConditionalExpression -- equivalent: see v8 ignore — the close listener is bound to the active process by construction
173
187
  /* v8 ignore next -- defensive: the close listener is bound to the active process; only fires for `this.process` in practice */
174
188
  if (child !== this.process)
175
189
  return;
190
+ // Stryker disable next-line ConditionalExpression,EqualityOperator -- equivalent: the close handler cleans up pending requests on non-zero exit when the queue is non-empty; flipping to true rejects on every close (including the recycle path) but the recycle clears queue first via _escalateHead, and flipping >= 0 is always true (queue.length is always >= 0) — both arms still reject pending entries with the same error
176
191
  if (code !== 0 && this.queue.length > 0) {
177
192
  const error = new Error(`git cat-file exited with code ${code}`);
178
193
  for (const entry of this.queue) {
179
194
  entry.reject(error);
180
195
  }
196
+ // Stryker disable next-line ArrayDeclaration -- equivalent: queue reset; an injected initial element would be rejected by the next _enqueue or close, neither of which the test surface observes for the synthetic element
181
197
  this.queue = [];
182
198
  }
183
199
  });
@@ -1 +1 @@
1
- {"version":3,"file":"gitBatchCatFile.js","sourceRoot":"","sources":["../../src/adapter/gitBatchCatFile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gitBatchCatFile.js","sourceRoot":"","sources":["../../src/adapter/gitBatchCatFile.ts"],"names":[],"mappings":"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"}