@newrelic/preflight 1.34.0 → 1.35.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/README.md +4 -0
- package/dist/hooks/collector-script.d.ts.map +1 -1
- package/dist/hooks/collector-script.js +40 -0
- package/dist/hooks/collector-script.js.map +1 -1
- package/dist/hooks/process-ancestry.d.ts +82 -0
- package/dist/hooks/process-ancestry.d.ts.map +1 -0
- package/dist/hooks/process-ancestry.js +161 -0
- package/dist/hooks/process-ancestry.js.map +1 -0
- package/dist/hooks/session-resolver.d.ts +44 -9
- package/dist/hooks/session-resolver.d.ts.map +1 -1
- package/dist/hooks/session-resolver.js +75 -7
- package/dist/hooks/session-resolver.js.map +1 -1
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -1
- package/dist/platforms/kiro-adapter.d.ts.map +1 -1
- package/dist/platforms/kiro-adapter.js +41 -0
- package/dist/platforms/kiro-adapter.js.map +1 -1
- package/dist/server.d.ts +16 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +33 -1
- package/dist/server.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -98,6 +98,10 @@ When prompted, pick a mode:
|
|
|
98
98
|
|
|
99
99
|
Restart your AI tool — hooks and the MCP server load at session start. Every tool call is captured automatically. Open **http://localhost:7777** to watch your session live.
|
|
100
100
|
|
|
101
|
+
> **Using Kiro?** Add Preflight as a [Kiro Power](docs/KIRO_POWER.md) for the
|
|
102
|
+
> `nr_observe_*` query tools — see the doc for install steps and how to add
|
|
103
|
+
> automatic tool-call capture on top.
|
|
104
|
+
|
|
101
105
|
> **Using Claude Code?** You can skip the npm install above and add Preflight as a [Claude Code plugin](docs/PLUGIN.md) instead:
|
|
102
106
|
>
|
|
103
107
|
> ```
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collector-script.d.ts","sourceRoot":"","sources":["../../src/hooks/collector-script.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;GAYG;AA0BH;;;;;;;;;GASG;AACH,iBAAS,aAAa,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAQjD;AA2BD,iBAAS,gBAAgB,IAAI,OAAO,CAKnC;AA4BD,iBAAS,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAarC;AAMD,iBAAS,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAGzC;AAED,iBAAS,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAQtC;AAED,iBAAS,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAGvD;AAoCD;;;;GAIG;AACH,eAAO,MAAM,OAAO;qBACD,MAAM,KAAG,MAAM;CACjC,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,SAAI,GAAG,MAAM,EAAE,CAsB9E;AAID,iBAAS,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CA4DpD;AAID,iBAAS,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAuC5E;
|
|
1
|
+
{"version":3,"file":"collector-script.d.ts","sourceRoot":"","sources":["../../src/hooks/collector-script.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;GAYG;AA0BH;;;;;;;;;GASG;AACH,iBAAS,aAAa,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAQjD;AA2BD,iBAAS,gBAAgB,IAAI,OAAO,CAKnC;AA4BD,iBAAS,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAarC;AAMD,iBAAS,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAGzC;AAED,iBAAS,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAQtC;AAED,iBAAS,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAGvD;AAoCD;;;;GAIG;AACH,eAAO,MAAM,OAAO;qBACD,MAAM,KAAG,MAAM;CACjC,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,SAAI,GAAG,MAAM,EAAE,CAsB9E;AAID,iBAAS,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CA4DpD;AAID,iBAAS,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAuC5E;AAkVD,iBAAS,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CA4nBtC;AAGD,OAAO,EACL,WAAW,EACX,MAAM,EACN,SAAS,EACT,MAAM,EACN,QAAQ,EACR,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,GACd,CAAC;AAkBF;;;;;GAKG;AACH,eAAO,MAAM,QAAQ;6BACM,MAAM,GAAG,MAAM,KAAG,MAAM;CAClD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,iBAAS,aAAa,IAAI,MAAM,CAS/B"}
|
|
@@ -385,6 +385,46 @@ function extractInputMeta(toolName, input) {
|
|
|
385
385
|
if (typeof obj.replace_all === 'boolean')
|
|
386
386
|
meta.replace_all = obj.replace_all;
|
|
387
387
|
break;
|
|
388
|
+
// Amazon Kiro. Tool names and tool_input field names captured from a live
|
|
389
|
+
// Kiro install (42.08, macOS) — `read_file` sends {path, offset, limit} and
|
|
390
|
+
// `str_replace` sends {path, oldStr, newStr, replace_all}. Two deltas from
|
|
391
|
+
// Claude Code worth noting: the file key is `path`, not `file_path`, and the
|
|
392
|
+
// edit strings are `oldStr`/`newStr`, not `old_string`/`new_string`.
|
|
393
|
+
//
|
|
394
|
+
// These are explicit cases rather than hoisting `path` into the
|
|
395
|
+
// name-independent file_path block above, because Grep/Glob also send `path`
|
|
396
|
+
// — there it means a search root, not a file, and promoting it to file_path
|
|
397
|
+
// would misreport searches as file access for every platform.
|
|
398
|
+
//
|
|
399
|
+
// The path Kiro sends is workspace-relative ("cloudformation/export-env.sh"),
|
|
400
|
+
// unlike Claude Code's absolute paths. That's fine for the unique-file
|
|
401
|
+
// counting these fields feed, but don't assume absolute downstream.
|
|
402
|
+
case 'read_file':
|
|
403
|
+
if (typeof obj.path === 'string')
|
|
404
|
+
meta.file_path = obj.path;
|
|
405
|
+
if (typeof obj.offset === 'number')
|
|
406
|
+
meta.offset = obj.offset;
|
|
407
|
+
if (typeof obj.limit === 'number')
|
|
408
|
+
meta.limit = obj.limit;
|
|
409
|
+
break;
|
|
410
|
+
case 'str_replace': {
|
|
411
|
+
if (typeof obj.path === 'string')
|
|
412
|
+
meta.file_path = obj.path;
|
|
413
|
+
const kiroOld = obj.oldStr;
|
|
414
|
+
const kiroNew = obj.newStr;
|
|
415
|
+
if (typeof kiroOld === 'string') {
|
|
416
|
+
meta.oldStringLength = kiroOld.length;
|
|
417
|
+
meta.oldLineCount = kiroOld.length > 0 ? countLines(kiroOld) : 0;
|
|
418
|
+
}
|
|
419
|
+
if (typeof kiroNew === 'string') {
|
|
420
|
+
meta.newStringLength = kiroNew.length;
|
|
421
|
+
meta.newLineCount = kiroNew.length > 0 ? countLines(kiroNew) : 0;
|
|
422
|
+
meta.isDelete = kiroNew.length === 0;
|
|
423
|
+
}
|
|
424
|
+
if (typeof obj.replace_all === 'boolean')
|
|
425
|
+
meta.replace_all = obj.replace_all;
|
|
426
|
+
break;
|
|
427
|
+
}
|
|
388
428
|
// PowerShell is a real, first-party Claude Code tool on native Windows,
|
|
389
429
|
// auto-enabled without Git Bash (code.claude.com/docs/en/tools-reference,
|
|
390
430
|
// /setup, /env-vars) — same command/description/timeout/run_in_background
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collector-script.js","sourceRoot":"","sources":["../../src/hooks/collector-script.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"collector-script.js","sourceRoot":"","sources":["../../src/hooks/collector-script.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;GAYG;AAEH,OAAO,EACL,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,SAAS,EACT,SAAS,EACT,UAAU,EACV,UAAU,EACV,SAAS,IAAI,WAAW,GACzB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAE9E,8EAA8E;AAC9E,qDAAqD;AACrD,8EAA8E;AAE9E,MAAM,aAAa,GAAG,wBAAwB,CAAC;AAC/C,MAAM,mBAAmB,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,qBAAqB,CAAC,CAAC;AAEtE;;;;;;;;;GASG;AACH,SAAS,aAAa,CAAC,SAAkB;IACvC,IAAI,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,SAAS,EAAE,CAAC;QAC3D,OAAO,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC;IAClD,CAAC;IACD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,mBAAmB,CAAC;IACpF,MAAM,MAAM,GACV,OAAO,SAAS,KAAK,QAAQ,IAAI,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IACzF,OAAO,OAAO,CAAC,UAAU,EAAE,UAAU,MAAM,QAAQ,CAAC,CAAC;AACvD,CAAC;AAED,6EAA6E;AAC7E,4EAA4E;AAC5E,yEAAyE;AACzE,8EAA8E;AAC9E,MAAM,uBAAuB,GAAY,CAAC,GAAG,EAAE;IAC7C,6EAA6E;IAC7E,2EAA2E;IAC3E,KAAK,MAAM,GAAG,IAAI,CAAC,qBAAqB,EAAE,gBAAgB,CAAC,EAAE,CAAC;QAC5D,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;YAC1D,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAA4B,CAAC;gBACxF,OAAO,MAAM,CAAC,YAAY,KAAK,IAAI,CAAC;YACtC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,qCAAqC;QACvC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC,EAAE,CAAC;AAEL,SAAS,eAAe;IACtB,OAAO,OAAO,CAAC,GAAG,CAAC,0BAA0B,KAAK,MAAM,IAAI,uBAAuB,CAAC;AACtF,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO,oBAAoB,CACzB,eAAe,EAAE,EACjB,OAAO,CAAC,GAAG,CAAC,+BAA+B,KAAK,MAAM,CACvD,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB;IAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC;IAC5D,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACrC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACjC,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;AAChD,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB;IAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;IAC7E,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC;QAC1E,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,8EAA8E;AAC9E,iFAAiF;AACjF,8EAA8E;AAE9E,MAAM,gBAAgB,GAAG,SAAS,CAAC,CAAC,OAAO;AAE3C,SAAS,MAAM,CAAC,KAAa;IAC3B,mFAAmF;IACnF,sDAAsD;IACtD,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,gBAAgB,EAAE,CAAC;QACxD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;QACrE,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,0CAA0C;IAC7F,CAAC;IACD,KAAK,MAAM,OAAO,IAAI,kBAAkB,EAAE,CAAC;QACzC,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,SAAS,SAAS,CAAC,KAAc;IAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACxC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,MAAM,CAAC,KAAc;IAC5B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,CAAC,CAAC;IACpD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,MAAM,CAAC;IACnD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa,EAAE,MAAc;IAC7C,IAAI,KAAK,CAAC,MAAM,IAAI,MAAM;QAAE,OAAO,KAAK,CAAC;IACzC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,gBAAgB,CAAC;AACnD,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,CAAC,CAAC;IAC1B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAC9C,CAAC;AAED,gFAAgF;AAChF,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,MAAM,IAAI,KAAK;QACf,OAAQ,KAA4B,CAAC,IAAI,KAAK,QAAQ,CACvD,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,+EAA+E;AAC/E,EAAE;AACF,8EAA8E;AAC9E,6EAA6E;AAC7E,kEAAkE;AAClE,EAAE;AACF,8EAA8E;AAC9E,yEAAyE;AACzE,2EAA2E;AAC3E,6EAA6E;AAC7E,yEAAyE;AACzE,6EAA6E;AAC7E,EAAE;AACF,+DAA+D;AAC/D,8EAA8E;AAC9E,mEAAmE;AACnE,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,QAAQ,EAAE,CAAC,IAAY,EAAU,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC;CAChE,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAAiB,EAAE,QAAQ,GAAG,CAAC;IAClE,MAAM,IAAI,GAAa,CAAC,SAAS,CAAC,CAAC;IACnC,IAAI,GAAG,GAAG,SAAS,CAAC;IACpB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,IAAI,GAAG,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QACzD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC;YACnD,2CAA2C;YAC3C,wEAAwE;YACxE,yCAAyC;YACzC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,SAAS,KAAK,CAAC,CAAC;gBAAE,MAAM;YAC5B,6EAA6E;YAC7E,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;YAC/E,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,CAAC;gBAAE,MAAM;YACzD,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAAE,MAAM,CAAC,cAAc;YACnD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACrB,GAAG,GAAG,SAAS,CAAC;QAClB,CAAC;QAAC,MAAM,CAAC;YACP,MAAM;QACR,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,IAAI,sBAAsB,GAAG,KAAK,CAAC;AAEnC,SAAS,mBAAmB,CAAC,SAAiB;IAC5C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;QAAE,OAAO;IAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,IAAI,CAAC;QAAE,OAAO;IAElD,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,mBAAmB,CAAC;QACpF,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;QAC7D,SAAS,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAE3D,oEAAoE;QACpE,sEAAsE;QACtE,gEAAgE;QAChE,wEAAwE;QACxE,8EAA8E;QAC9E,yEAAyE;QACzE,MAAM,IAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAExC,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,cAAc,GAAG,OAAO,CAAC,aAAa,EAAE,GAAG,GAAG,MAAM,CAAC,CAAC;YAC5D,sEAAsE;YACtE,oEAAoE;YACpE,kEAAkE;YAClE,qEAAqE;YACrE,kEAAkE;YAClE,sEAAsE;YACtE,uEAAuE;YACvE,qEAAqE;YACrE,mEAAmE;YACnE,+CAA+C;YAC/C,IAAI,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC;oBACH,IAAI,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;wBAC/D,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;wBACvB,IAAI,CAAC;4BACH,UAAU,CAAC,cAAc,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;wBACvC,CAAC;wBAAC,MAAM,CAAC;4BACP,+DAA+D;wBACjE,CAAC;wBACD,QAAQ,GAAG,IAAI,CAAC;wBAChB,SAAS;oBACX,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,8CAA8C;gBAChD,CAAC;YACH,CAAC;YACD,aAAa,CAAC,cAAc,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1D,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;QAED,IAAI,QAAQ;YAAE,sBAAsB,GAAG,KAAK,CAAC;IAC/C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,gEAAgE,MAAM,CAAC,GAAG,CAAC,IAAI,CAChF,CAAC;YACF,sBAAsB,GAAG,IAAI,CAAC;QAChC,CAAC;IACH,CAAC;AACH,CAAC;AAED,IAAI,yBAAyB,GAAG,KAAK,CAAC;AAEtC,SAAS,kBAAkB,CAAC,SAAiB,EAAE,GAAuB;IACpE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;QAAE,OAAO;IAC3C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAExD,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,mBAAmB,CAAC;QACpF,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QAC5D,SAAS,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAE3D,oEAAoE;QACpE,sEAAsE;QACtE,qEAAqE;QACrE,wEAAwE;QACxE,+DAA+D;QAC/D,yEAAyE;QACzE,sEAAsE;QACtE,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACjD,MAAM,cAAc,GAAG,OAAO,CAAC,aAAa,EAAE,GAAG,YAAY,MAAM,CAAC,CAAC;QAErE,IAAI,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACH,IAAI,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;oBAC/D,yBAAyB,GAAG,KAAK,CAAC;oBAClC,OAAO;gBACT,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,8CAA8C;YAChD,CAAC;QACH,CAAC;QACD,aAAa,CAAC,cAAc,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1D,yBAAyB,GAAG,KAAK,CAAC;IACpC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,yBAAyB,EAAE,CAAC;YAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,+DAA+D,MAAM,CAAC,GAAG,CAAC,IAAI,CAC/E,CAAC;YACF,yBAAyB,GAAG,IAAI,CAAC;QACnC,CAAC;IACH,CAAC;AACH,CAAC;AAoHD;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,QAAgB,EAAE,KAAc;IACxD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACzF,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,MAAM,IAAI,GAA4B,EAAE,CAAC;IAEzC,0EAA0E;IAC1E,yDAAyD;IACzD,oEAAoE;IACpE,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ;QAAE,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;SACjE,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ;QAAE,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC;IAEzE,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,MAAM;YACT,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;gBAAE,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;YAC7D,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ;gBAAE,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;YAC1D,MAAM;QACR,KAAK,OAAO,CAAC;QACb,KAAK,aAAa,EAAE,+CAA+C;YACjE,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACpC,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;gBACxC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxE,CAAC;YACD,MAAM;QACR,2EAA2E;QAC3E,2EAA2E;QAC3E,qEAAqE;QACrE,KAAK,wBAAwB,CAAC,CAAC,CAAC;YAC9B,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC;YAC7B,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC;YAC7B,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC;gBACrC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjE,CAAC;YACD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC;gBACrC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/D,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;YACtC,CAAC;YACD,MAAM;QACR,CAAC;QACD,KAAK,8BAA8B;YACjC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;gBAAE,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC;YACtF,MAAM;QACR,KAAK,iBAAiB;YACpB,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;gBAAE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ;gBAAE,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACpF,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,SAAS;gBAAE,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC,YAAY,CAAC;YACrF,MAAM;QACR,KAAK,MAAM;YACT,IAAI,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;gBACvC,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC;gBAC7C,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjF,CAAC;YACD,IAAI,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;gBACvC,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC;gBAC7C,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/E,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC;YAC9C,CAAC;YACD,IAAI,OAAO,GAAG,CAAC,WAAW,KAAK,SAAS;gBAAE,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;YAC7E,MAAM;QACR,0EAA0E;QAC1E,4EAA4E;QAC5E,2EAA2E;QAC3E,6EAA6E;QAC7E,qEAAqE;QACrE,EAAE;QACF,gEAAgE;QAChE,6EAA6E;QAC7E,4EAA4E;QAC5E,8DAA8D;QAC9D,EAAE;QACF,8EAA8E;QAC9E,uEAAuE;QACvE,oEAAoE;QACpE,KAAK,WAAW;YACd,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;gBAAE,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC;YAC5D,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;gBAAE,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;YAC7D,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ;gBAAE,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;YAC1D,MAAM;QACR,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;gBAAE,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC;YAC5D,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC;YAC3B,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC;YAC3B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAChC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;gBACtC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnE,CAAC;YACD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAChC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;gBACtC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;YACvC,CAAC;YACD,IAAI,OAAO,GAAG,CAAC,WAAW,KAAK,SAAS;gBAAE,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;YAC7E,MAAM;QACR,CAAC;QACD,wEAAwE;QACxE,0EAA0E;QAC1E,0EAA0E;QAC1E,uBAAuB;QACvB,KAAK,MAAM,CAAC;QACZ,KAAK,YAAY;YACf,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;gBAAE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ;gBAAE,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACpF,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;gBAAE,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;YAChE,IAAI,OAAO,GAAG,CAAC,iBAAiB,KAAK,SAAS;gBAC5C,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC,iBAAiB,CAAC;YACjD,MAAM;QACR,KAAK,MAAM;YACT,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;gBAAE,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;YAChE,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;gBAAE,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ;gBAAE,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;YAC5E,MAAM;QACR,KAAK,MAAM;YACT,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;gBAAE,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;YAChE,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;gBAAE,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;YACvD,MAAM;QACR,KAAK,OAAO;YACV,IAAI,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ;gBAAE,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;YAC5E,IAAI,OAAO,GAAG,CAAC,aAAa,KAAK,QAAQ;gBAAE,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,aAAa,CAAC;YAClF,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;gBAAE,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,KAAK,SAAS;gBAC5C,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC,iBAAiB,CAAC;YACjD,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;gBAAE,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ;gBAAE,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ;gBAAE,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ;gBAAE,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;YAC1D,MAAM;QACR,KAAK,iBAAiB;YACpB,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;gBAAE,IAAI,CAAC,SAAS,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACnF,MAAM;QACR,KAAK,YAAY;YACf,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;gBAAE,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;YAChE,MAAM;QACR,KAAK,YAAY;YACf,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;gBAAE,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;YAC7D,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;gBAAE,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;YAC7D,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;gBAAE,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;YAChE,MAAM;IACV,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CAAC,QAAgB,EAAE,MAAe;IAC1D,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC5F,MAAM,GAAG,GAAG,MAAiC,CAAC;IAE9C,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACrC,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;QACpC,CAAC;QACD,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACrC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;gBAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QACzD,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,MAAM,IAAI,GAA4B,EAAE,CAAC;QACzC,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC;QACrE,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ;YAAE,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC5E,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC;QACrE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACzD,CAAC;IAED,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,MAAM,IAAI,GAA4B,EAAE,CAAC;QACzC,IAAI,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ;YAAE,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,UAAU,CAAC;aACxE,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;aACzE,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;QAC9E,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBAChC,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzB,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;gBAC7C,CAAC;YACH,CAAC;YACD,IAAI,SAAS,GAAG,CAAC;gBAAE,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACtD,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACzD,CAAC;IAED,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,MAAM,IAAI,GAA4B,EAAE,CAAC;QACzC,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,SAAS;YAAE,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,SAAS,CAAC;QAC5E,IAAI,OAAO,GAAG,CAAC,WAAW,KAAK,SAAS;YAAE,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,WAAW,CAAC;QAClF,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;YAAE,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;aAC1E,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;YAAE,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;aACjF,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACpC,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBAChC,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzB,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;gBAChC,CAAC;YACH,CAAC;YACD,IAAI,QAAQ,GAAG,CAAC;gBAAE,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC;QACtD,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACzD,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,SAAS,mBAAmB,CAAC,IAAe;IAC1C,OAAO,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;AAC7F,CAAC;AAED,SAAS,WAAW,CAAC,GAAW;IAC9B,IAAI,IAAe,CAAC;IACpB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAc,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,iCAAiC;IAC3C,CAAC;IAED,wEAAwE;IACxE,0EAA0E;IAC1E,sEAAsE;IACtE,kCAAkC;IAClC,0EAA0E;IAC1E,yEAAyE;IACzE,oCAAoC;IACpC,kEAAkE;IAClE,yEAAyE;IACzE,2EAA2E;IAC3E,MAAM,SAAS,GACb,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,cAAc,CAAC;IAEvF,2EAA2E;IAC3E,6EAA6E;IAC7E,2EAA2E;IAC3E,gEAAgE;IAChE,wEAAwE;IACxE,2EAA2E;IAC3E,gEAAgE;IAChE,+CAA+C;IAC/C,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtE,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrC,kBAAkB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAChD,CAAC;IAED,qEAAqE;IACrE,sEAAsE;IACtE,yEAAyE;IACzE,2EAA2E;IAC3E,4DAA4D;IAC5D,0EAA0E;IAC1E,yEAAyE;IACzE,0EAA0E;IAC1E,sEAAsE;IACtE,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,iBAAiB,CAAC,EAAE,WAAW,EAAE,CAAC;IAClF,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC;IAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IACzC,MAAM,aAAa,GAAG,mBAAmB,EAAE,CAAC;IAE5C,yFAAyF;IACzF,sEAAsE;IACtE,yEAAyE;IACzE,uEAAuE;IACvE,mEAAmE;IACnE,sDAAsD;IACtD,MAAM,WAAW,GACf,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,YAAY,CAAC;IAEhG,qEAAqE;IACrE,uEAAuE;IACvE,wEAAwE;IACxE,yEAAyE;IACzE,kCAAkC;IAClC,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC;IACrD,MAAM,iBAAiB,GACrB,CAAC,gBAAgB;QACjB,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;QAChC,IAAI,CAAC,eAAe,KAAK,SAAS;QAClC,IAAI,CAAC,iBAAiB,KAAK,SAAS,CAAC;IAEvC,IAAI,KAA8B,CAAC;IAEnC,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;QAC/B,KAAK,GAAG;YACN,IAAI,EAAE,KAAc;YACpB,IAAI,EAAE,QAAQ;YACd,SAAS;YACT,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;YAClC,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC;SACtC,CAAC;QAEF,kEAAkE;QAClE,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9D,IAAI,SAAS,KAAK,SAAS;YAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;QAEzD,IAAI,aAAa,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACnD,MAAM,OAAO,GACX,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1F,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;SAAM,IAAI,SAAS,KAAK,aAAa,EAAE,CAAC;QACvC,4DAA4D;QAC5D,qEAAqE;QACrE,wEAAwE;QACxE,uEAAuE;QACvE,sEAAsE;QACtE,yEAAyE;QACzE,mEAAmE;QACnE,sEAAsE;QACtE,sCAAsC;QACtC,0EAA0E;QAC1E,sEAAsE;QACtE,mEAAmE;QACnE,0DAA0D;QAC1D,yEAAyE;QACzE,4DAA4D;QAC5D,uEAAuE;QACvE,QAAQ;QACR,sEAAsE;QACtE,sEAAsE;QACtE,0EAA0E;QAC1E,2DAA2D;QAC3D,0EAA0E;QAC1E,wEAAwE;QACxE,yDAAyD;QACzD,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,WAAW,CAAC;QAC5D,MAAM,WAAW,GACf,YAAY,KAAK,IAAI,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC;YACvF,CAAC,CAAE,YAAwC;YAC3C,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,eAAe,GACnB,WAAW,KAAK,SAAS;YACvB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,WAAW,CAAC,OAAO,KAAK,SAAS;gBACjC,CAAC,CAAC,WAAW,CAAC,OAAO;gBACrB,CAAC,CAAC,WAAW,CAAC,WAAW,KAAK,SAAS;oBACrC,CAAC,CAAC,WAAW,CAAC,WAAW,KAAK,SAAS;oBACvC,CAAC,CAAC,SAAS,CAAC;QACpB,KAAK,GAAG;YACN,IAAI,EAAE,MAAe;YACrB,IAAI,EAAE,QAAQ;YACd,SAAS;YACT,UAAU,EAAE,MAAM,CAAC,YAAY,CAAC;YAChC,OAAO,EAAE,OAAO,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI;SACvE,CAAC;QAEF,IACE,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ;YACpC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;YACjC,IAAI,CAAC,WAAW,IAAI,CAAC,EACrB,CAAC;YACD,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC;QAC5C,CAAC;QAED,wFAAwF;QACxF,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAClE,IAAI,aAAa,KAAK,SAAS;YAAE,KAAK,CAAC,SAAS,GAAG,aAAa,CAAC;QAEjE,kEAAkE;QAClE,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC7D,IAAI,UAAU,KAAK,SAAS;YAAE,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;QAE5D,IAAI,aAAa,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAChD,MAAM,OAAO,GACX,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YACjF,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;SAAM,IAAI,SAAS,KAAK,oBAAoB,EAAE,CAAC;QAC9C,KAAK,GAAG;YACN,IAAI,EAAE,MAAe;YACrB,IAAI,EAAE,QAAQ;YACd,SAAS;YACT,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,eAAe,CAAC;YAC5C,WAAW,EAAE,IAAI,CAAC,YAAY,IAAI,KAAK;SACxC,CAAC;QAEF,IACE,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ;YACpC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;YACjC,IAAI,CAAC,WAAW,IAAI,CAAC,EACrB,CAAC;YACD,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC;QAC5C,CAAC;IACH,CAAC;SAAM,IAAI,SAAS,KAAK,mBAAmB,IAAI,SAAS,KAAK,kBAAkB,EAAE,CAAC;QACjF,qEAAqE;QACrE,0EAA0E;QAC1E,qEAAqE;QACrE,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,IAAI,IAAI,CAAC,WAAW,KAAK,EAAE,EAAE,CAAC;YACpE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,SAAS,wBAAwB,CAAC,CAAC;YAC1F,OAAO;QACT,CAAC;QACD,KAAK;YACH,SAAS,KAAK,mBAAmB;gBAC/B,CAAC,CAAC,EAAE,IAAI,EAAE,oBAA6B,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE;gBACpE,CAAC,CAAC;oBACE,IAAI,EAAE,mBAA4B;oBAClC,IAAI,EAAE,QAAQ;oBACd,SAAS;oBACT,GAAG,CAAC,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ;wBACxC,IAAI,CAAC,aAAa,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;iBAC7E,CAAC;IACV,CAAC;SAAM,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;QACtC,6FAA6F;QAC7F,wEAAwE;QACxE,0EAA0E;QAC1E,uEAAuE;QACvE,2BAA2B;QAC3B,KAAK,GAAG;YACN,IAAI,EAAE,KAAc;YACpB,IAAI,EAAE,QAAQ;YACd,SAAS;YACT,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;YAClC,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC;SACtC,CAAC;QAEF,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9D,IAAI,SAAS,KAAK,SAAS;YAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;QAEzD,IAAI,aAAa,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACnD,MAAM,OAAO,GACX,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1F,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;SAAM,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;QACrC,2EAA2E;QAC3E,qEAAqE;QACrE,kFAAkF;QAClF,qEAAqE;QACrE,mDAAmD;QACnD,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;QACxC,MAAM,QAAQ,GACZ,YAAY,KAAK,IAAI;YACrB,OAAO,YAAY,KAAK,QAAQ;YAChC,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC;YAC3B,YAAwC,CAAC,KAAK,KAAK,SAAS,CAAC;QAChE,KAAK,GAAG;YACN,IAAI,EAAE,MAAe;YACrB,IAAI,EAAE,QAAQ;YACd,SAAS;YACT,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;YACtC,OAAO,EAAE,CAAC,QAAQ;SACnB,CAAC;QAEF,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAClE,IAAI,aAAa,KAAK,SAAS;YAAE,KAAK,CAAC,SAAS,GAAG,aAAa,CAAC;QAEjE,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACnE,IAAI,UAAU,KAAK,SAAS;YAAE,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;QAE5D,IAAI,aAAa,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACtD,MAAM,OAAO,GACX,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ;gBACpC,CAAC,CAAC,IAAI,CAAC,aAAa;gBACpB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACzC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;SAAM,IAAI,SAAS,KAAK,sBAAsB,EAAE,CAAC;QAChD,wEAAwE;QACxE,gDAAgD;QAChD,oDAAoD;QACpD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;QACnC,KAAK,GAAG;YACN,IAAI,EAAE,KAAc;YACpB,IAAI,EAAE,MAAM;YACZ,SAAS;YACT,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC;YAC1B,SAAS,EAAE,SAAS,CAAC,OAAO,CAAC;YAC7B,SAAS,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE;SACxC,CAAC;IACJ,CAAC;SAAM,IAAI,SAAS,KAAK,qBAAqB,EAAE,CAAC;QAC/C,qEAAqE;QACrE,iFAAiF;QACjF,0EAA0E;QAC1E,sEAAsE;QACtE,KAAK,GAAG;YACN,IAAI,EAAE,MAAe;YACrB,IAAI,EAAE,MAAM;YACZ,SAAS;YACT,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;SAAM,IAAI,SAAS,KAAK,oBAAoB,EAAE,CAAC;QAC9C,uEAAuE;QACvE,mEAAmE;QACnE,wEAAwE;QACxE,qCAAqC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC;QAC5C,KAAK,GAAG;YACN,IAAI,EAAE,KAAc;YACpB,IAAI,EAAE,OAAO;YACb,SAAS;YACT,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;YAClC,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC;SACtC,CAAC;IACJ,CAAC;SAAM,IAAI,SAAS,KAAK,mBAAmB,EAAE,CAAC;QAC7C,yEAAyE;QACzE,oEAAoE;QACpE,yBAAyB;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC;QAC5C,KAAK,GAAG;YACN,IAAI,EAAE,MAAe;YACrB,IAAI,EAAE,OAAO;YACb,SAAS;YACT,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;SAAM,IAAI,SAAS,KAAK,gBAAgB,EAAE,CAAC;QAC1C,6EAA6E;QAC7E,iFAAiF;QACjF,+EAA+E;QAC/E,4EAA4E;QAC5E,4EAA4E;QAC5E,8DAA8D;QAC9D,KAAK,GAAG;YACN,IAAI,EAAE,MAAe;YACrB,IAAI,EAAE,MAAM;YACZ,SAAS;YACT,OAAO,EAAE,IAAI;YACb,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;SAClF,CAAC;QACF,wEAAwE;QACxE,yEAAyE;QACzE,6CAA6C;QAC7C,IAAI,aAAa,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAChD,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;SAAM,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;QACzC,qEAAqE;QACrE,wEAAwE;QACxE,mDAAmD;QACnD,KAAK,GAAG;YACN,IAAI,EAAE,MAAe;YACrB,IAAI,EAAE,MAAM;YACZ,SAAS;YACT,OAAO,EAAE,IAAI;YACb,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;SAClF,CAAC;IACJ,CAAC;SAAM,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;QACzC,oFAAoF;QACpF,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC;QACrD,KAAK,GAAG;YACN,IAAI,EAAE,KAAc;YACpB,IAAI,EAAE,MAAM;YACZ,SAAS;YACT,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC;YAC3B,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC;YAC9B,GAAG,CAAC,OAAO,QAAQ,KAAK,QAAQ,IAAI,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC;SAC5E,CAAC;IACJ,CAAC;SAAM,IAAI,SAAS,KAAK,gBAAgB,EAAE,CAAC;QAC1C,sEAAsE;QACtE,oEAAoE;QACpE,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC;QACrD,KAAK,GAAG;YACN,IAAI,EAAE,MAAe;YACrB,IAAI,EAAE,MAAM;YACZ,SAAS;YACT,OAAO,EAAE,IAAI;YACb,GAAG,CAAC,OAAO,QAAQ,KAAK,QAAQ,IAAI,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC;SAC5E,CAAC;IACJ,CAAC;SAAM,IAAI,SAAS,KAAK,gBAAgB,EAAE,CAAC;QAC1C,qEAAqE;QACrE,uEAAuE;QACvE,mEAAmE;QACnE,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC;QACrD,KAAK,GAAG;YACN,IAAI,EAAE,KAAc;YACpB,IAAI,EAAE,MAAM;YACZ,SAAS;YACT,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC;YAC3B,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC;YAC9B,GAAG,CAAC,OAAO,QAAQ,KAAK,QAAQ,IAAI,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC;SAC5E,CAAC;IACJ,CAAC;SAAM,IAAI,SAAS,KAAK,iBAAiB,EAAE,CAAC;QAC3C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC;QACrD,KAAK,GAAG;YACN,IAAI,EAAE,MAAe;YACrB,IAAI,EAAE,MAAM;YACZ,SAAS;YACT,OAAO,EAAE,IAAI;YACb,GAAG,CAAC,OAAO,QAAQ,KAAK,QAAQ,IAAI,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC;SAC5E,CAAC;IACJ,CAAC;SAAM,IAAI,SAAS,KAAK,iBAAiB,EAAE,CAAC;QAC3C,sFAAsF;QACtF,MAAM,cAAc,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC;QAC9D,MAAM,WAAW,GAAG,OAAO,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7E,KAAK,GAAG;YACN,IAAI,EAAE,KAAc;YACpB,IAAI,EAAE,MAAM;YACZ,SAAS;YACT,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC;YAC9B,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC;YACjC,SAAS,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE;SAC5C,CAAC;IACJ,CAAC;SAAM,IAAI,SAAS,KAAK,kBAAkB,EAAE,CAAC;QAC5C,iEAAiE;QACjE,2EAA2E;QAC3E,KAAK,GAAG;YACN,IAAI,EAAE,MAAe;YACrB,IAAI,EAAE,MAAM;YACZ,SAAS;YACT,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;SAAM,IAAI,SAAS,KAAK,kBAAkB,EAAE,CAAC;QAC5C,0EAA0E;QAC1E,uEAAuE;QACvE,wCAAwC;QACxC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,OAAO,QAAQ,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;QAChG,KAAK,GAAG;YACN,IAAI,EAAE,KAAc;YACpB,IAAI,EAAE,OAAO;YACb,SAAS;YACT,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAC9C,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC;SAClD,CAAC;IACJ,CAAC;SAAM,IAAI,SAAS,KAAK,mBAAmB,EAAE,CAAC;QAC7C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,OAAO,QAAQ,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;QAChG,KAAK,GAAG;YACN,IAAI,EAAE,MAAe;YACrB,IAAI,EAAE,OAAO;YACb,SAAS;YACT,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;SAAM,IAAI,gBAAgB,EAAE,CAAC;QAC5B,sEAAsE;QACtE,6DAA6D;QAC7D,sEAAsE;QACtE,0BAA0B;QAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,SAAS,CAAC;QACrD,KAAK,GAAG;YACN,IAAI,EAAE,KAAc;YACpB,IAAI,EAAE,WAAW;YACjB,SAAS;YACT,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;YACtC,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;YACzC,GAAG,CAAC,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;SAC7E,CAAC;QAEF,uEAAuE;QACvE,wEAAwE;QACxE,oEAAoE;QACpE,uEAAuE;QACvE,MAAM,SAAS,GAAG,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACrE,IAAI,SAAS,KAAK,SAAS;YAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;QAEzD,IAAI,aAAa,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YACvD,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;SAAM,IAAI,iBAAiB,EAAE,CAAC;QAC7B,oEAAoE;QACpE,wEAAwE;QACxE,sEAAsE;QACtE,qEAAqE;QACrE,mEAAmE;QACnE,uEAAuE;QACvE,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;QACrE,KAAK,GAAG;YACN,IAAI,EAAE,MAAe;YACrB,IAAI,EAAE,SAAS;YACf,SAAS;YACT,OAAO,EAAE,CAAC,QAAQ;YAClB,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;YAC/B,GAAG,CAAC,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;SAC1F,CAAC;IACJ,CAAC;SAAM,IAAI,SAAS,KAAK,aAAa,EAAE,CAAC;QACvC,mEAAmE;QACnE,mDAAmD;QACnD,sEAAsE;QACtE,oEAAoE;QACpE,qEAAqE;QACrE,uCAAuC;QACvC,uEAAuE;QACvE,+DAA+D;QAC/D,KAAK,GAAG;YACN,IAAI,EAAE,aAAsB;YAC5B,SAAS,EAAE,IAAI,CAAC,KAAK,IAAI,SAAS;YAClC,SAAS;SACV,CAAC;QAEF,sEAAsE;QACtE,oEAAoE;QACpE,gEAAgE;QAChE,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;gBACrC,MAAM,OAAO,GACX,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ;oBACpC,CAAC,CAAC,IAAI,CAAC,aAAa;oBACpB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBACzC,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;YAChE,CAAC;YACD,IAAI,OAAO,IAAI,CAAC,sBAAsB,KAAK,QAAQ,EAAE,CAAC;gBACpD,KAAK,CAAC,oBAAoB,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,sBAAsB,EAAE,aAAa,CAAC,CAAC,CAAC;YAC5F,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,SAAS,KAAK,cAAc,EAAE,CAAC;QACxC,kEAAkE;QAClE,sEAAsE;QACtE,sEAAsE;QACtE,qEAAqE;QACrE,uEAAuE;QACvE,KAAK,GAAG;YACN,IAAI,EAAE,eAAwB;YAC9B,SAAS;YACT,GAAG,CAAC,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;YAC/D,GAAG,CAAC,OAAO,IAAI,CAAC,2BAA2B,KAAK,QAAQ,IAAI;gBAC1D,wBAAwB,EAAE,IAAI,CAAC,2BAA2B;aAC3D,CAAC;YACF,GAAG,CAAC,OAAO,IAAI,CAAC,cAAc,KAAK,QAAQ,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC;YACtF,GAAG,CAAC,OAAO,IAAI,CAAC,2BAA2B,KAAK,SAAS,IAAI;gBAC3D,wBAAwB,EAAE,IAAI,CAAC,2BAA2B;aAC3D,CAAC;YACF,GAAG,CAAC,OAAO,IAAI,CAAC,yBAAyB,KAAK,QAAQ,IAAI;gBACxD,sBAAsB,EAAE,IAAI,CAAC,yBAAyB;aACvD,CAAC;SACH,CAAC;IACJ,CAAC;SAAM,IAAI,SAAS,KAAK,oBAAoB,EAAE,CAAC;QAC9C,wEAAwE;QACxE,yEAAyE;QACzE,oEAAoE;QACpE,mEAAmE;QACnE,4EAA4E;QAC5E,KAAK,GAAG;YACN,IAAI,EAAE,qBAA8B;YACpC,QAAQ,EAAE,IAAI,CAAC,SAAS,IAAI,SAAS;YACrC,SAAS;YACT,GAAG,CAAC,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;YAC7E,GAAG,CAAC,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;SAC9E,CAAC;IACJ,CAAC;SAAM,IAAI,SAAS,KAAK,iBAAiB,EAAE,CAAC;QAC3C,8EAA8E;QAC9E,wEAAwE;QACxE,oEAAoE;QACpE,2DAA2D;QAC3D,uEAAuE;QACvE,iBAAiB;QACjB,KAAK,GAAG;YACN,IAAI,EAAE,cAAuB;YAC7B,SAAS,EAAE,IAAI,CAAC,UAAU,IAAI,SAAS;YACvC,OAAO,EAAE,IAAI,CAAC,QAAQ,IAAI,SAAS;YACnC,SAAS;YACT,GAAG,CAAC,IAAI,CAAC,eAAe,KAAK,SAAS,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC;YACnF,GAAG,CAAC,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;SAChE,CAAC;IACJ,CAAC;SAAM,IAAI,SAAS,KAAK,kBAAkB,EAAE,CAAC;QAC5C,mEAAmE;QACnE,sEAAsE;QACtE,sEAAsE;QACtE,iEAAiE;QACjE,sEAAsE;QACtE,sEAAsE;QACtE,6BAA6B;QAC7B,KAAK,GAAG;YACN,IAAI,EAAE,oBAA6B;YACnC,SAAS;SACV,CAAC;IACJ,CAAC;SAAM,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QAChC,oDAAoD;QACpD,wEAAwE;QACxE,wEAAwE;QACxE,sEAAsE;QACtE,qEAAqE;QACrE,4DAA4D;QAC5D,6DAA6D;QAC7D,oEAAoE;QACpE,oEAAoE;QACpE,KAAK,GAAG;YACN,IAAI,EAAE,MAAe;YACrB,SAAS;SACV,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,uCAAuC;QACvC,OAAO;IACT,CAAC;IAED,0BAA0B;IAC1B,IAAI,IAAI,CAAC,GAAG;QAAE,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IACnC,IAAI,IAAI,CAAC,eAAe;QAAE,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;IACtE,IAAI,IAAI,CAAC,eAAe;QAAE,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;IACtE,IAAI,SAAS;QAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IAC3C,qEAAqE;IACrE,wEAAwE;IACxE,sEAAsE;IACtE,0EAA0E;IAC1E,uEAAuE;IACvE,yEAAyE;IACzE,2EAA2E;IAC3E,oEAAoE;IACpE,gEAAgE;IAChE,MAAM,eAAe,GAAG,mBAAmB,EAAE,CAAC;IAC9C,IAAI,eAAe;QAAE,KAAK,CAAC,QAAQ,GAAG,eAAe,CAAC;IACtD,IAAI,IAAI,CAAC,WAAW;QAAE,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC;IACzD,IAAI,IAAI,CAAC,QAAQ;QAAE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;IACjD,IAAI,IAAI,CAAC,UAAU;QAAE,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;IAEvD,yDAAyD;IACzD,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QACtC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;QAE1C,MAAM,EAAE,GAAG,QAAQ,CACjB,UAAU,EACV,WAAW,CAAC,QAAQ,GAAG,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,QAAQ,EACjE,KAAK,CACN,CAAC;QACF,IAAI,CAAC;YACH,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC1B,CAAC;gBAAS,CAAC;YACT,SAAS,CAAC,EAAE,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,2CAA2C;IAC7C,CAAC;IAED,0EAA0E;IAC1E,2EAA2E;IAC3E,mEAAmE;IACnE,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,CAAC;YACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,0CAA0C;QAC5C,CAAC;IACH,CAAC;IAED,2EAA2E;IAC3E,kEAAkE;IAClE,oEAAoE;IACpE,wDAAwD;IACxD,IAAI,gBAAgB,EAAE,CAAC;QACrB,IAAI,CAAC;YACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACjD,CAAC;QAAC,MAAM,CAAC;YACP,2CAA2C;QAC7C,CAAC;IACH,CAAC;SAAM,IAAI,iBAAiB,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,2CAA2C;QAC7C,CAAC;IACH,CAAC;AACH,CAAC;AAED,uBAAuB;AACvB,OAAO,EACL,WAAW,EACX,MAAM,EACN,SAAS,EACT,MAAM,EACN,QAAQ,EACR,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,GACd,CAAC;AAEF,8EAA8E;AAC9E,6EAA6E;AAC7E,8EAA8E;AAE9E,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE;IAC5B,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;AACH,CAAC,CAAC,EAAE,CAAC;AACL,MAAM,kBAAkB,GACtB,eAAe,IAAI,IAAI,IAAI,0BAA0B,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AAE9E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,YAAY,EAAE,CAAC,QAAyB,EAAU,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC;CACrF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,SAAS,aAAa;IACpB,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED,IAAI,kBAAkB,EAAE,CAAC;IACvB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,aAAa,EAAE,CAAC;QAC9B,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YACjB,WAAW,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,2CAA2C;IAC7C,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cross-platform ancestor-PID walk for the MCP server (read side).
|
|
3
|
+
*
|
|
4
|
+
* Why this exists: the session-id breadcrumb the hook collector writes is keyed
|
|
5
|
+
* on a PID, and `resolveFromBreadcrumb()` (session-resolver.ts) looks it up at
|
|
6
|
+
* the MCP server's own `process.ppid`. That only lines up when the server and
|
|
7
|
+
* the collector are both direct children of the IDE. When the server's launch
|
|
8
|
+
* command routes through a wrapper — `npx`, which execs an `npm exec` process
|
|
9
|
+
* in between — the server's `ppid` is the wrapper, not the IDE, and the lookup
|
|
10
|
+
* misses even though the correct breadcrumb is sitting one level further up.
|
|
11
|
+
* Confirmed on Kiro: `Kiro Helper → npm exec → node preflight --stdio`, with
|
|
12
|
+
* the breadcrumb at Kiro Helper's PID.
|
|
13
|
+
*
|
|
14
|
+
* Note this is NOT the same gap `collector-script.ts`'s `getLinuxAncestorPids`
|
|
15
|
+
* covers. That one walks up from the *collector's* ppid so the collector can
|
|
16
|
+
* write a breadcrumb at every ancestor, for hook runners that interpose a shell
|
|
17
|
+
* between the IDE and the collector. A wrapper between the IDE and the *server*
|
|
18
|
+
* is a different branch of the tree, so no amount of write-side walking reaches
|
|
19
|
+
* it — the server has to walk its own ancestry.
|
|
20
|
+
*
|
|
21
|
+
* Platform coverage:
|
|
22
|
+
* - linux — reads `/proc/<pid>/stat`. No subprocess.
|
|
23
|
+
* - darwin and other POSIX — one `ps -Ao pid=,ppid=` call for the whole
|
|
24
|
+
* process table, parsed into a pid→ppid map and walked in memory.
|
|
25
|
+
* - win32 — NOT IMPLEMENTED: returns `[startPid]`, which is exactly the
|
|
26
|
+
* pre-walk behavior, so nothing regresses. `wmic` is deprecated/removed on
|
|
27
|
+
* current Windows and PowerShell `Get-CimInstance` costs hundreds of ms to
|
|
28
|
+
* start, so neither was adopted blind. Consequence to be aware of: a
|
|
29
|
+
* wrapper-launched MCP server on native Windows still can't resolve its
|
|
30
|
+
* session_id by PID. Claude Code on native Windows is unaffected — it
|
|
31
|
+
* launches the server directly and has the cwd breadcrumb as a fallback.
|
|
32
|
+
*
|
|
33
|
+
* The `/proc` parsing here is deliberately duplicated from
|
|
34
|
+
* `collector-script.ts`'s `getLinuxAncestorPids` rather than imported: that
|
|
35
|
+
* module runs on every single tool call under a <5ms budget with a "no heavy
|
|
36
|
+
* imports" rule, and importing this one would pull `node:child_process` into
|
|
37
|
+
* that path. It also has top-level side effects (it reads stdin when invoked
|
|
38
|
+
* directly). Same precedent as `src/metrics/transcript-reasoning.ts`'s
|
|
39
|
+
* duplicated `translateWslPath`. Keep the two parsers in sync.
|
|
40
|
+
*/
|
|
41
|
+
/**
|
|
42
|
+
* Narrowed `execFileSync` shape — only what this module needs, so tests can
|
|
43
|
+
* inject a plain function instead of mocking `node:child_process`. Mirrors
|
|
44
|
+
* `ExecFileFn` in src/alerts/os-notifier.ts.
|
|
45
|
+
*/
|
|
46
|
+
export type ExecFileSyncFn = (file: string, args: readonly string[], options: {
|
|
47
|
+
readonly encoding: 'utf-8';
|
|
48
|
+
readonly timeout: number;
|
|
49
|
+
readonly stdio: readonly ['ignore', 'pipe', 'ignore'];
|
|
50
|
+
}) => string;
|
|
51
|
+
export interface AncestorPidsOptions {
|
|
52
|
+
/** How many levels above `startPid` to walk. Default 4 — see getAncestorPids. */
|
|
53
|
+
readonly maxDepth?: number;
|
|
54
|
+
/** Override `process.platform` (test seam). */
|
|
55
|
+
readonly platform?: NodeJS.Platform;
|
|
56
|
+
/** Override the `ps` invocation (test seam). */
|
|
57
|
+
readonly execFileSync?: ExecFileSyncFn;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Seam for unit tests: replace `readFile` to inject fake `/proc/<pid>/stat`
|
|
61
|
+
* content without touching the real filesystem. Production code never sets this.
|
|
62
|
+
* @internal
|
|
63
|
+
*/
|
|
64
|
+
export declare const _procFs: {
|
|
65
|
+
readFile: (path: string) => string;
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* Returns `[startPid, parent, grandparent, ...]` — `startPid` is always at
|
|
69
|
+
* index 0, so the result is never empty for a valid input.
|
|
70
|
+
*
|
|
71
|
+
* The walk stops at `maxDepth` levels, at PID <= 1 (init/systemd and the PID-0
|
|
72
|
+
* sentinel are never useful breadcrumb keys), on a cycle, and on any lookup
|
|
73
|
+
* failure. Default `maxDepth` is 4: the motivating `npx` case needs only one
|
|
74
|
+
* level, and a wrapper shell behind it would need two, while deeper ancestors
|
|
75
|
+
* are progressively more *shared* between concurrent sessions on the same
|
|
76
|
+
* machine — so a shallow cap covers real launcher shapes without widening the
|
|
77
|
+
* window for resolving to a neighbouring session's breadcrumb.
|
|
78
|
+
*
|
|
79
|
+
* Never throws.
|
|
80
|
+
*/
|
|
81
|
+
export declare function getAncestorPids(startPid: number, options?: AncestorPidsOptions): number[];
|
|
82
|
+
//# sourceMappingURL=process-ancestry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-ancestry.d.ts","sourceRoot":"","sources":["../../src/hooks/process-ancestry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAYH;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,CAC3B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,EAAE;IACP,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;CACvD,KACE,MAAM,CAAC;AAEZ,MAAM,WAAW,mBAAmB;IAClC,iFAAiF;IACjF,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,+CAA+C;IAC/C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IACpC,gDAAgD;IAChD,QAAQ,CAAC,YAAY,CAAC,EAAE,cAAc,CAAC;CACxC;AAED;;;;GAIG;AACH,eAAO,MAAM,OAAO;qBACD,MAAM,KAAG,MAAM;CACjC,CAAC;AAqDF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,GAAG,MAAM,EAAE,CAwC7F"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cross-platform ancestor-PID walk for the MCP server (read side).
|
|
3
|
+
*
|
|
4
|
+
* Why this exists: the session-id breadcrumb the hook collector writes is keyed
|
|
5
|
+
* on a PID, and `resolveFromBreadcrumb()` (session-resolver.ts) looks it up at
|
|
6
|
+
* the MCP server's own `process.ppid`. That only lines up when the server and
|
|
7
|
+
* the collector are both direct children of the IDE. When the server's launch
|
|
8
|
+
* command routes through a wrapper — `npx`, which execs an `npm exec` process
|
|
9
|
+
* in between — the server's `ppid` is the wrapper, not the IDE, and the lookup
|
|
10
|
+
* misses even though the correct breadcrumb is sitting one level further up.
|
|
11
|
+
* Confirmed on Kiro: `Kiro Helper → npm exec → node preflight --stdio`, with
|
|
12
|
+
* the breadcrumb at Kiro Helper's PID.
|
|
13
|
+
*
|
|
14
|
+
* Note this is NOT the same gap `collector-script.ts`'s `getLinuxAncestorPids`
|
|
15
|
+
* covers. That one walks up from the *collector's* ppid so the collector can
|
|
16
|
+
* write a breadcrumb at every ancestor, for hook runners that interpose a shell
|
|
17
|
+
* between the IDE and the collector. A wrapper between the IDE and the *server*
|
|
18
|
+
* is a different branch of the tree, so no amount of write-side walking reaches
|
|
19
|
+
* it — the server has to walk its own ancestry.
|
|
20
|
+
*
|
|
21
|
+
* Platform coverage:
|
|
22
|
+
* - linux — reads `/proc/<pid>/stat`. No subprocess.
|
|
23
|
+
* - darwin and other POSIX — one `ps -Ao pid=,ppid=` call for the whole
|
|
24
|
+
* process table, parsed into a pid→ppid map and walked in memory.
|
|
25
|
+
* - win32 — NOT IMPLEMENTED: returns `[startPid]`, which is exactly the
|
|
26
|
+
* pre-walk behavior, so nothing regresses. `wmic` is deprecated/removed on
|
|
27
|
+
* current Windows and PowerShell `Get-CimInstance` costs hundreds of ms to
|
|
28
|
+
* start, so neither was adopted blind. Consequence to be aware of: a
|
|
29
|
+
* wrapper-launched MCP server on native Windows still can't resolve its
|
|
30
|
+
* session_id by PID. Claude Code on native Windows is unaffected — it
|
|
31
|
+
* launches the server directly and has the cwd breadcrumb as a fallback.
|
|
32
|
+
*
|
|
33
|
+
* The `/proc` parsing here is deliberately duplicated from
|
|
34
|
+
* `collector-script.ts`'s `getLinuxAncestorPids` rather than imported: that
|
|
35
|
+
* module runs on every single tool call under a <5ms budget with a "no heavy
|
|
36
|
+
* imports" rule, and importing this one would pull `node:child_process` into
|
|
37
|
+
* that path. It also has top-level side effects (it reads stdin when invoked
|
|
38
|
+
* directly). Same precedent as `src/metrics/transcript-reasoning.ts`'s
|
|
39
|
+
* duplicated `translateWslPath`. Keep the two parsers in sync.
|
|
40
|
+
*/
|
|
41
|
+
import { execFileSync as nodeExecFileSync } from 'node:child_process';
|
|
42
|
+
import { readFileSync } from 'node:fs';
|
|
43
|
+
import { createLogger } from '../shared/index.js';
|
|
44
|
+
const logger = createLogger('process-ancestry');
|
|
45
|
+
/** Whole-table lookup timeout. Matches the 2s budget used for `git` in index.ts. */
|
|
46
|
+
const PS_TIMEOUT_MS = 2000;
|
|
47
|
+
/**
|
|
48
|
+
* Seam for unit tests: replace `readFile` to inject fake `/proc/<pid>/stat`
|
|
49
|
+
* content without touching the real filesystem. Production code never sets this.
|
|
50
|
+
* @internal
|
|
51
|
+
*/
|
|
52
|
+
export const _procFs = {
|
|
53
|
+
readFile: (path) => readFileSync(path, 'utf-8'),
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Parses a `/proc/<pid>/stat` line and returns the parent PID, or null when the
|
|
57
|
+
* line is malformed.
|
|
58
|
+
*
|
|
59
|
+
* Format: `pid (comm) state ppid pgrp ...`. `comm` can itself contain spaces
|
|
60
|
+
* and parentheses, so the field separator is found with lastIndexOf(')').
|
|
61
|
+
*/
|
|
62
|
+
function parentPidFromProcStat(stat) {
|
|
63
|
+
const lastParen = stat.lastIndexOf(')');
|
|
64
|
+
if (lastParen === -1)
|
|
65
|
+
return null;
|
|
66
|
+
// After the last ')': " state ppid ..." — split on space, index [1] is ppid.
|
|
67
|
+
const parsed = parseInt(stat.slice(lastParen + 2).split(' ')[1] ?? '', 10);
|
|
68
|
+
return Number.isFinite(parsed) ? parsed : null;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Builds a pid→ppid map for every process, via a single `ps` call.
|
|
72
|
+
* Returns an empty map on any failure (missing `ps`, non-zero exit, timeout,
|
|
73
|
+
* unparseable output) so callers degrade to a depth-0 walk rather than throw.
|
|
74
|
+
*/
|
|
75
|
+
function readProcessTable(execFileSync) {
|
|
76
|
+
const table = new Map();
|
|
77
|
+
let out;
|
|
78
|
+
try {
|
|
79
|
+
// `-A` = all processes; `-o pid=,ppid=` = those two columns, no header.
|
|
80
|
+
// Both are POSIX options. One call for the whole table rather than one per
|
|
81
|
+
// level, so the walk costs a single subprocess (~40ms on macOS).
|
|
82
|
+
out = execFileSync('ps', ['-Ao', 'pid=,ppid='], {
|
|
83
|
+
encoding: 'utf-8',
|
|
84
|
+
timeout: PS_TIMEOUT_MS,
|
|
85
|
+
stdio: ['ignore', 'pipe', 'ignore'],
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
catch (err) {
|
|
89
|
+
// execFileSync throws on non-zero exit, timeout, and ENOENT alike. A
|
|
90
|
+
// pathological injected fn could also throw synchronously — same handling.
|
|
91
|
+
logger.debug('Could not read process table via ps', { error: String(err) });
|
|
92
|
+
return table;
|
|
93
|
+
}
|
|
94
|
+
if (typeof out !== 'string')
|
|
95
|
+
return table;
|
|
96
|
+
for (const line of out.split('\n')) {
|
|
97
|
+
const parts = line.trim().split(/\s+/);
|
|
98
|
+
if (parts.length < 2)
|
|
99
|
+
continue;
|
|
100
|
+
const pid = parseInt(parts[0] ?? '', 10);
|
|
101
|
+
const ppid = parseInt(parts[1] ?? '', 10);
|
|
102
|
+
if (!Number.isFinite(pid) || !Number.isFinite(ppid))
|
|
103
|
+
continue;
|
|
104
|
+
table.set(pid, ppid);
|
|
105
|
+
}
|
|
106
|
+
return table;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Returns `[startPid, parent, grandparent, ...]` — `startPid` is always at
|
|
110
|
+
* index 0, so the result is never empty for a valid input.
|
|
111
|
+
*
|
|
112
|
+
* The walk stops at `maxDepth` levels, at PID <= 1 (init/systemd and the PID-0
|
|
113
|
+
* sentinel are never useful breadcrumb keys), on a cycle, and on any lookup
|
|
114
|
+
* failure. Default `maxDepth` is 4: the motivating `npx` case needs only one
|
|
115
|
+
* level, and a wrapper shell behind it would need two, while deeper ancestors
|
|
116
|
+
* are progressively more *shared* between concurrent sessions on the same
|
|
117
|
+
* machine — so a shallow cap covers real launcher shapes without widening the
|
|
118
|
+
* window for resolving to a neighbouring session's breadcrumb.
|
|
119
|
+
*
|
|
120
|
+
* Never throws.
|
|
121
|
+
*/
|
|
122
|
+
export function getAncestorPids(startPid, options = {}) {
|
|
123
|
+
if (!Number.isFinite(startPid) || startPid <= 0)
|
|
124
|
+
return [];
|
|
125
|
+
const maxDepth = options.maxDepth ?? 4;
|
|
126
|
+
const platform = options.platform ?? process.platform;
|
|
127
|
+
const pids = [startPid];
|
|
128
|
+
if (platform === 'win32') {
|
|
129
|
+
// Not implemented — see the module doc comment. Returning just the direct
|
|
130
|
+
// pid keeps behavior identical to having no walk at all.
|
|
131
|
+
return pids;
|
|
132
|
+
}
|
|
133
|
+
// On Linux read /proc directly; everywhere else pay for one `ps` call, and
|
|
134
|
+
// only lazily — a walk that stops at depth 0 never spawns anything.
|
|
135
|
+
let table;
|
|
136
|
+
const execFileSync = options.execFileSync ?? nodeExecFileSync;
|
|
137
|
+
let pid = startPid;
|
|
138
|
+
for (let depth = 0; depth < maxDepth && pid > 1; depth++) {
|
|
139
|
+
let parentPid = null;
|
|
140
|
+
if (platform === 'linux') {
|
|
141
|
+
try {
|
|
142
|
+
parentPid = parentPidFromProcStat(_procFs.readFile(`/proc/${pid}/stat`));
|
|
143
|
+
}
|
|
144
|
+
catch {
|
|
145
|
+
break;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
table ??= readProcessTable(execFileSync);
|
|
150
|
+
parentPid = table.get(pid) ?? null;
|
|
151
|
+
}
|
|
152
|
+
if (parentPid === null || !Number.isFinite(parentPid) || parentPid <= 1)
|
|
153
|
+
break;
|
|
154
|
+
if (pids.includes(parentPid))
|
|
155
|
+
break; // cycle guard
|
|
156
|
+
pids.push(parentPid);
|
|
157
|
+
pid = parentPid;
|
|
158
|
+
}
|
|
159
|
+
return pids;
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=process-ancestry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-ancestry.js","sourceRoot":"","sources":["../../src/hooks/process-ancestry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Resolve the Claude Code session_id for the running MCP process.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Four sources, in order:
|
|
5
5
|
* 1. `CLAUDE_JOB_DIR` env var → read `<dir>/state.json`, regex-extract the
|
|
6
6
|
* session UUID from the `linkScanPath` field's filename. Instant; used
|
|
7
7
|
* by background-job MCPs.
|
|
@@ -11,23 +11,29 @@
|
|
|
11
11
|
* breadcrumb was written — resolveFromBreadcrumb() guards against that
|
|
12
12
|
* by rejecting a breadcrumb older than the resolving process's own
|
|
13
13
|
* start time (see its doc comment).
|
|
14
|
-
* 3.
|
|
14
|
+
* 3. ancestor PPID breadcrumbs — the same files as #2, but looked up at each
|
|
15
|
+
* of this process's ancestor PIDs rather than only its immediate parent.
|
|
16
|
+
* Covers launchers that interpose a process between the IDE and the MCP
|
|
17
|
+
* server (`npx`, which execs an `npm exec` wrapper), where our own
|
|
18
|
+
* `process.ppid` is that wrapper and the breadcrumb sits a level above it.
|
|
19
|
+
* See process-ancestry.ts. Only consulted when #2 misses.
|
|
20
|
+
* 4. cwd breadcrumb at `<storage>/session-by-cwd/<sanitized-cwd>.txt` —
|
|
15
21
|
* also written by the hook collector on every tool call, keyed by the
|
|
16
22
|
* project directory instead of a PID. Fallback for platforms where the
|
|
17
23
|
* PPID bridge never reaches the MCP's own `process.ppid` (e.g. native
|
|
18
24
|
* Windows, where Claude Code interposes Git Bash between itself and the
|
|
19
|
-
* hook collector but launches the MCP server directly).
|
|
20
|
-
* when #2
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
25
|
+
* hook collector but launches the MCP server directly). Consulted last,
|
|
26
|
+
* only when #2 and #3 both miss.
|
|
27
|
+
* Sources #2–#4 are polled together at exponential backoff: 100ms, 200ms,
|
|
28
|
+
* 500ms, 1s, 2s, then steady at 2s. No hard timeout; logs a single WARN at
|
|
29
|
+
* 60s if still unresolved.
|
|
24
30
|
*
|
|
25
31
|
* The MCP must never fabricate its own session_id. If none of these resolve,
|
|
26
32
|
* tool handlers should report "session_id not yet resolved" rather than make
|
|
27
33
|
* one up.
|
|
28
34
|
*/
|
|
29
|
-
/** Which of the
|
|
30
|
-
export type SessionIdSource = 'jobdir' | 'ppid' | 'cwd';
|
|
35
|
+
/** Which of the sources produced a resolveSessionId() result. */
|
|
36
|
+
export type SessionIdSource = 'jobdir' | 'ppid' | 'ppid-ancestor' | 'cwd';
|
|
31
37
|
export interface SessionResolverOptions {
|
|
32
38
|
/** Override the storage path used to find the breadcrumb directory. */
|
|
33
39
|
readonly storagePath?: string;
|
|
@@ -37,6 +43,12 @@ export interface SessionResolverOptions {
|
|
|
37
43
|
readonly cwd?: string;
|
|
38
44
|
/** Override `process.env.CLAUDE_JOB_DIR` (test seam). */
|
|
39
45
|
readonly claudeJobDir?: string | null;
|
|
46
|
+
/**
|
|
47
|
+
* Override the ancestor-PID chain that would otherwise be derived from
|
|
48
|
+
* `ppid` via getAncestorPids() (test seam). Supplying it also skips that
|
|
49
|
+
* derivation, which on non-Linux costs a `ps` subprocess.
|
|
50
|
+
*/
|
|
51
|
+
readonly ancestorPids?: readonly number[];
|
|
40
52
|
/** When true, skip the WARN log (test seam). */
|
|
41
53
|
readonly suppressWarn?: boolean;
|
|
42
54
|
/**
|
|
@@ -68,6 +80,29 @@ export declare function resolveFromJobDir(claudeJobDir: string | null | undefine
|
|
|
68
80
|
* only checks whether the PID is alive, and a recycled PID always is.
|
|
69
81
|
*/
|
|
70
82
|
export declare function resolveFromBreadcrumb(storagePath: string, ppid: number | undefined, processStartMs?: number): string | null;
|
|
83
|
+
/** What resolveFromAncestorBreadcrumb() found, and where. */
|
|
84
|
+
export interface AncestorBreadcrumbHit {
|
|
85
|
+
readonly sessionId: string;
|
|
86
|
+
/** The ancestor PID whose breadcrumb matched. */
|
|
87
|
+
readonly pid: number;
|
|
88
|
+
/** Levels above our own ppid — 1 is our ppid's parent. */
|
|
89
|
+
readonly depth: number;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Try each ANCESTOR pid's breadcrumb, for the case where a launcher interposed
|
|
93
|
+
* a process between the IDE and this one so our own `process.ppid` isn't the
|
|
94
|
+
* PID the collector keyed its breadcrumb on (`npx` → `npm exec` → server; see
|
|
95
|
+
* process-ancestry.ts). Index 0 of `ancestorPids` is our own ppid and is
|
|
96
|
+
* skipped — resolveFromBreadcrumb() already covered it.
|
|
97
|
+
*
|
|
98
|
+
* First match wins: the closest ancestor is the most specific, and therefore
|
|
99
|
+
* the least likely to be a PID shared with a concurrent session.
|
|
100
|
+
*
|
|
101
|
+
* Each level goes through resolveFromBreadcrumb(), so the PID-recycling mtime
|
|
102
|
+
* gate applies per level — which matters more here than for a single lookup,
|
|
103
|
+
* since a walk tests several PIDs and any of them could have been recycled.
|
|
104
|
+
*/
|
|
105
|
+
export declare function resolveFromAncestorBreadcrumb(storagePath: string, ancestorPids: readonly number[], processStartMs?: number): AncestorBreadcrumbHit | null;
|
|
71
106
|
/**
|
|
72
107
|
* Sanitize a cwd into the single filename segment used both by the collector's
|
|
73
108
|
* `writeCwdBreadcrumb()` (session-by-cwd breadcrumb) and by Claude Code's own
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-resolver.d.ts","sourceRoot":"","sources":["../../src/hooks/session-resolver.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"session-resolver.d.ts","sourceRoot":"","sources":["../../src/hooks/session-resolver.ts"],"names":[],"mappings":"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"}
|