@mesadev/agentblame 0.2.5 → 0.2.7

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/dist/blame.js CHANGED
@@ -50,7 +50,7 @@ const c = {
50
50
  cyan: "\x1b[36m",
51
51
  yellow: "\x1b[33m",
52
52
  green: "\x1b[32m",
53
- orange: "\x1b[38;5;166m", // Mesa Orange - matches gutter color
53
+ orange: "\x1b[38;2;184;101;64m", // Soft Mesa Orange #b86540
54
54
  blue: "\x1b[34m",
55
55
  gray: "\x1b[90m",
56
56
  };
@@ -147,7 +147,7 @@ function outputFormatted(lines, filePath) {
147
147
  let attrInfo = "";
148
148
  let visibleLen = 0;
149
149
  if (attribution) {
150
- const provider = attribution.provider === "cursor" ? "Cursor" : "Claude";
150
+ const provider = attribution.provider === "cursor" ? "Cursor" : attribution.provider === "opencode" ? "OpenCode" : "Claude";
151
151
  const model = attribution.model && attribution.model !== "claude" ? attribution.model : "";
152
152
  const label = model ? `${provider} - ${model}` : provider;
153
153
  visibleLen = label.length + 3; // +2 for emoji (renders 2-wide) + 1 space
package/dist/blame.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"blame.js","sourceRoot":"","sources":["../src/blame.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2CH,sBAmFC;AA5HD,gDAAkC;AAClC,4CAA8B;AAC9B,+BAQe;AAEf,kBAAkB;AAClB,MAAM,CAAC,GAAG;IACR,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,SAAS;IACf,GAAG,EAAE,SAAS;IACd,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,UAAU;IAClB,KAAK,EAAE,UAAU;IACjB,MAAM,EAAE,gBAAgB,EAAE,qCAAqC;IAC/D,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,UAAU;CACjB,CAAC;AAeF;;GAEG;AACI,KAAK,UAAU,KAAK,CACzB,QAAgB,EAChB,UAAwB,EAAE;IAE1B,oBAAoB;IACpB,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE5C,oBAAoB;IACpB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,KAAK,CAAC,0BAA0B,YAAY,EAAE,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,mCAAmC;IACnC,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACvC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QACnB,OAAO,CAAC,KAAK,CAAC,sBAAsB,YAAY,EAAE,CAAC,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,IAAA,iBAAW,EAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;IAE/D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,kDAAkD;IAClD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC3D,IAAI,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;QACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,0DAA0D;IAC1D,MAAM,IAAA,qBAAe,EAAC,QAAQ,CAAC,CAAC;IAEhC,iBAAiB;IACjB,IAAI,WAAiD,CAAC;IACtD,IAAI,CAAC;QACH,WAAW,GAAG,MAAM,IAAA,cAAQ,EAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,qCAAqC;IACrC,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACrE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA6B,CAAC;IAEtD,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,MAAM,IAAA,cAAQ,EAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC3C,IAAI,IAAI,EAAE,YAAY,EAAE,CAAC;YACvB,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,yBAAyB;IACzB,MAAM,gBAAgB,GAAsB,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzE,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACjD,iFAAiF;QACjF,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YAClC,MAAM,WAAW,GACf,CAAC,CAAC,IAAI,KAAK,YAAY;gBACvB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAC7B,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAEhC,IAAI,CAAC,WAAW;gBAAE,OAAO,KAAK,CAAC;YAE/B,iFAAiF;YACjF,OAAO,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC;QACpE,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,SAAS;IACT,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,UAAU,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;IAC7C,CAAC;SAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,aAAa,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;IAChD,CAAC;SAAM,CAAC;QACN,eAAe,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,KAAwB,EAAE,QAAgB;IACjE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,QAAQ,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAErD,0BAA0B;IAC1B,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC;IAElD,KAAK,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,KAAK,EAAE,CAAC;QAC1C,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;QAC3D,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;QAC3E,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;QAChE,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;QAEvF,2GAA2G;QAC3G,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;YACzE,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,IAAI,WAAW,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3F,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC1D,UAAU,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,0CAA0C;YACzE,QAAQ,GAAG,GAAG,CAAC,CAAC,MAAM,KAAK,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;QAC/C,CAAC;QAED,MAAM,UAAU,GAAG,WAAW;YAC5B,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC,CAAC;YAC7D,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAE3B,OAAO,CAAC,GAAG,CACT,KAAK,GAAG,IAAI,MAAM,IAAI,IAAI,IAAI,UAAU,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,CAC9G,CAAC;IACJ,CAAC;IAED,wCAAwC;IACxC,MAAM,aAAa,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,QAAQ,KAAK,cAAc,CAClD,CAAC,MAAM,CAAC;IACT,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,GAAG,WAAW,CAAC;IACjD,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpG,MAAM,QAAQ,GAAG,GAAG,GAAG,KAAK,CAAC;IAE7B,cAAc;IACd,MAAM,QAAQ,GAAG,EAAE,CAAC;IACpB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;IACxD,MAAM,aAAa,GAAG,QAAQ,GAAG,UAAU,CAAC;IAC5C,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;IAC/D,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;IAElE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,QAAQ,EAAE,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,SAAS,WAAW,KAAK,KAAK,KAAK,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,aAAa,KAAK,KAAK,QAAQ,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACnJ,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,KAAwB,EAAE,QAAgB;IAC/D,oCAAoC;IACpC,MAAM,aAAa,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,QAAQ,KAAK,cAAc,CAClD,CAAC,MAAM,CAAC;IACT,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,GAAG,WAAW,CAAC;IAEjD,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,GAAG,CAAC,CAAC;IAC9B,OAAO,CAAC,GAAG,CAAC,oBAAoB,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CACT,oBAAoB,WAAW,KAAK,GAAG,CAAC,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,CAC9E,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,KAAK,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC/E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,qBAAqB;IACrB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC7C,KAAK,MAAM,EAAE,WAAW,EAAE,IAAI,KAAK,EAAE,CAAC;QACpC,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;YACtC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAE5D,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;YACxC,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC9B,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,SAAS,EAAE,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,OAAO,QAAQ,KAAK,KAAK,QAAQ,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,UAAU,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAChC,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,UAAU,EAAE,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,OAAO,SAAS,KAAK,KAAK,QAAQ,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,KAAwB,EAAE,QAAgB;IAC5D,4CAA4C;IAC5C,MAAM,aAAa,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG;QACb,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;YAC3C,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE;YACnC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,WAAW;gBACtB,CAAC,CAAC;oBACE,QAAQ,EAAE,WAAW,CAAC,QAAQ;oBAC9B,QAAQ,EAAE,WAAW,CAAC,QAAQ;oBAC9B,KAAK,EAAE,WAAW,CAAC,KAAK;oBACxB,SAAS,EAAE,WAAW,CAAC,SAAS;oBAChC,WAAW,EAAE,WAAW,CAAC,WAAW;iBACrC;gBACH,CAAC,CAAC,IAAI;SACT,CAAC,CAAC;QACH,OAAO,EAAE;YACP,KAAK,EAAE,aAAa,CAAC,MAAM;YAC3B,WAAW,EAAE,aAAa,CAAC,MAAM,CAC/B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,QAAQ,KAAK,cAAc,CAClD,CAAC,MAAM;YACR,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM;SAC1D;KACF,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,UAAU,CAAC,IAAU;IAC5B,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,GAAG,CAAC,CAAS,EAAE,KAAa;IACnC,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7B,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,IAAqB;IACxC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,KAAwB;IACnD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"blame.js","sourceRoot":"","sources":["../src/blame.ts"],"names":[],"mappings":"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"}
package/dist/capture.js CHANGED
@@ -115,6 +115,152 @@ function hashLines(content) {
115
115
  }
116
116
  return result;
117
117
  }
118
+ /**
119
+ * Hash lines with line numbers and context (for Claude structuredPatch)
120
+ */
121
+ function hashLinesWithNumbers(lines, allFileLines) {
122
+ const result = [];
123
+ for (const { content, lineNumber } of lines) {
124
+ // Skip empty lines
125
+ if (!content.trim())
126
+ continue;
127
+ // Get context (3 lines before and after)
128
+ const contextBefore = allFileLines
129
+ .slice(Math.max(0, lineNumber - 4), lineNumber - 1)
130
+ .join("\n");
131
+ const contextAfter = allFileLines
132
+ .slice(lineNumber, Math.min(allFileLines.length, lineNumber + 3))
133
+ .join("\n");
134
+ result.push({
135
+ content,
136
+ hash: computeHash(content),
137
+ hashNormalized: computeNormalizedHash(content),
138
+ lineNumber,
139
+ contextBefore: contextBefore || undefined,
140
+ contextAfter: contextAfter || undefined,
141
+ });
142
+ }
143
+ return result;
144
+ }
145
+ /**
146
+ * Parse Claude Code's structuredPatch to extract added lines with line numbers
147
+ */
148
+ function parseStructuredPatch(hunks, originalFileLines) {
149
+ const addedLines = [];
150
+ for (const hunk of hunks) {
151
+ let newLineNumber = hunk.newStart;
152
+ for (const line of hunk.lines) {
153
+ if (line.startsWith("+")) {
154
+ // Added line - strip the + prefix
155
+ addedLines.push({
156
+ content: line.slice(1),
157
+ lineNumber: newLineNumber,
158
+ });
159
+ newLineNumber++;
160
+ }
161
+ else if (line.startsWith("-")) {
162
+ // Deleted line - don't increment new line number
163
+ continue;
164
+ }
165
+ else {
166
+ // Context line (starts with space) - increment line number
167
+ newLineNumber++;
168
+ }
169
+ }
170
+ }
171
+ return addedLines;
172
+ }
173
+ /**
174
+ * Read a file and return its lines (for Cursor line number derivation)
175
+ */
176
+ async function readFileLines(filePath) {
177
+ try {
178
+ const fs = await Promise.resolve().then(() => __importStar(require("node:fs/promises")));
179
+ const content = await fs.readFile(filePath, "utf8");
180
+ return content.split("\n");
181
+ }
182
+ catch {
183
+ return null;
184
+ }
185
+ }
186
+ /**
187
+ * Extract model name from Claude Code transcript file.
188
+ * The transcript is a JSONL file where assistant messages contain the model field.
189
+ * We read from the end to find the most recent model used.
190
+ */
191
+ async function extractModelFromTranscript(transcriptPath) {
192
+ try {
193
+ const fs = await Promise.resolve().then(() => __importStar(require("node:fs/promises")));
194
+ const content = await fs.readFile(transcriptPath, "utf8");
195
+ const lines = content.split("\n");
196
+ // Read from the end to find the most recent assistant message with model info
197
+ for (let i = lines.length - 1; i >= 0; i--) {
198
+ const line = lines[i].trim();
199
+ if (!line)
200
+ continue;
201
+ try {
202
+ const entry = JSON.parse(line);
203
+ // Assistant messages have message.model field
204
+ if (entry.message?.model) {
205
+ return entry.message.model;
206
+ }
207
+ }
208
+ catch {
209
+ // Skip malformed lines
210
+ continue;
211
+ }
212
+ }
213
+ return null;
214
+ }
215
+ catch {
216
+ return null;
217
+ }
218
+ }
219
+ /**
220
+ * Find where old_string exists in file and return line numbers for new_string
221
+ * Returns null if old_string not found (new file or complex edit)
222
+ */
223
+ function findEditLocation(fileLines, oldString, newString) {
224
+ if (!oldString) {
225
+ // New content with no old string - can't determine line numbers without more context
226
+ return null;
227
+ }
228
+ const fileContent = fileLines.join("\n");
229
+ const oldIndex = fileContent.indexOf(oldString);
230
+ if (oldIndex === -1) {
231
+ return null;
232
+ }
233
+ // Count lines before the match to get line number
234
+ const linesBefore = fileContent.slice(0, oldIndex).split("\n").length;
235
+ const startLine = linesBefore;
236
+ // Calculate what the new file will look like after the edit
237
+ const newFileContent = fileContent.replace(oldString, newString);
238
+ const newFileLines = newFileContent.split("\n");
239
+ // Find the added lines by comparing old and new
240
+ const addedContent = extractAddedContent(oldString, newString);
241
+ if (!addedContent.trim()) {
242
+ return null;
243
+ }
244
+ const addedLines = addedContent.split("\n").filter(l => l.trim());
245
+ const result = [];
246
+ // Find each added line in the new content
247
+ let searchStart = startLine - 1;
248
+ for (const addedLine of addedLines) {
249
+ if (!addedLine.trim())
250
+ continue;
251
+ for (let i = searchStart; i < newFileLines.length; i++) {
252
+ if (newFileLines[i] === addedLine || newFileLines[i].trim() === addedLine.trim()) {
253
+ result.push({
254
+ content: addedLine,
255
+ lineNumber: i + 1, // 1-indexed
256
+ });
257
+ searchStart = i + 1;
258
+ break;
259
+ }
260
+ }
261
+ }
262
+ return result.length > 0 ? result : null;
263
+ }
118
264
  // =============================================================================
119
265
  // Payload Processing
120
266
  // =============================================================================
@@ -149,9 +295,11 @@ function saveEdit(edit) {
149
295
  editType: edit.editType,
150
296
  oldContent: edit.oldContent,
151
297
  lines: edit.lines,
298
+ sessionId: edit.sessionId,
299
+ toolUseId: edit.toolUseId,
152
300
  });
153
301
  }
154
- function processCursorPayload(payload, event) {
302
+ async function processCursorPayload(payload, event) {
155
303
  const edits = [];
156
304
  const timestamp = new Date().toISOString();
157
305
  // Only process afterFileEdit (Composer/Agent mode)
@@ -162,6 +310,8 @@ function processCursorPayload(payload, event) {
162
310
  if (!payload.edits || payload.edits.length === 0) {
163
311
  return edits;
164
312
  }
313
+ // Read the file to derive line numbers (Cursor doesn't provide them)
314
+ const fileLines = await readFileLines(payload.file_path);
165
315
  for (const edit of payload.edits) {
166
316
  const oldString = edit.old_string || "";
167
317
  const newString = edit.new_string || "";
@@ -171,8 +321,22 @@ function processCursorPayload(payload, event) {
171
321
  const addedContent = extractAddedContent(oldString, newString);
172
322
  if (!addedContent.trim())
173
323
  continue;
174
- // Hash each line individually
175
- const lines = hashLines(addedContent);
324
+ let lines;
325
+ // Try to derive line numbers if we have the file
326
+ if (fileLines && oldString) {
327
+ const linesWithNumbers = findEditLocation(fileLines, oldString, newString);
328
+ if (linesWithNumbers && linesWithNumbers.length > 0) {
329
+ lines = hashLinesWithNumbers(linesWithNumbers, fileLines);
330
+ }
331
+ else {
332
+ // Fallback to basic hashing without line numbers
333
+ lines = hashLines(addedContent);
334
+ }
335
+ }
336
+ else {
337
+ // No file or no old_string - hash without line numbers
338
+ lines = hashLines(addedContent);
339
+ }
176
340
  if (lines.length === 0)
177
341
  continue;
178
342
  edits.push({
@@ -180,78 +344,246 @@ function processCursorPayload(payload, event) {
180
344
  provider: "cursor",
181
345
  filePath: payload.file_path,
182
346
  model: payload.model || null,
183
- // Line-level data
184
347
  lines,
185
- // Aggregate data
186
348
  content: addedContent,
187
349
  contentHash: computeHash(addedContent),
188
350
  contentHashNormalized: computeNormalizedHash(addedContent),
189
- // Edit context
190
351
  editType: determineEditType(oldString, newString),
191
352
  oldContent: oldString || undefined,
353
+ sessionId: payload.conversation_id,
354
+ toolUseId: payload.generation_id,
192
355
  });
193
356
  }
194
357
  return edits;
195
358
  }
196
- function processClaudePayload(payload) {
359
+ async function processClaudePayload(payload) {
197
360
  const edits = [];
361
+ // CRITICAL: Skip payloads that are actually from Cursor.
362
+ // Both Cursor and Claude Code can trigger hooks from .claude/settings.json,
363
+ // so we need to detect Cursor payloads and skip them here.
364
+ // Cursor payloads have cursor_version field, Claude payloads don't.
365
+ if (payload.cursor_version) {
366
+ return edits;
367
+ }
368
+ // CRITICAL: Only process if this is an actual Edit or Write tool usage from Claude.
369
+ // Claude Code's hooks fire for various reasons, but we only want to capture
370
+ // when Claude actually performed an edit/write operation.
371
+ // Without a valid tool_name, this is likely a spurious trigger (e.g., from file
372
+ // watcher detecting external changes).
373
+ const toolName = payload.tool_name?.toLowerCase() || "";
374
+ if (toolName !== "edit" && toolName !== "write" && toolName !== "multiedit") {
375
+ return edits;
376
+ }
198
377
  const timestamp = new Date().toISOString();
199
- // Claude Code has tool_input with the actual content, or it may be at top level
378
+ // Claude Code has tool_input with the actual content
200
379
  const toolInput = payload.tool_input;
201
- const filePath = toolInput?.file_path || payload.file_path;
380
+ const toolResponse = payload.tool_response;
381
+ const filePath = toolResponse?.filePath || toolInput?.file_path || payload.file_path;
202
382
  if (!filePath)
203
383
  return edits;
204
- // Get content from tool_input or top-level payload
205
- const content = toolInput?.content || payload.content;
206
- const oldString = toolInput?.old_string || payload.old_string || "";
207
- const newString = toolInput?.new_string || payload.new_string || "";
208
- // Handle Write tool (new file, content only)
209
- if (content && !oldString && !newString) {
210
- if (!content.trim())
384
+ // Extract session info for correlation
385
+ const sessionId = payload.session_id;
386
+ const toolUseId = payload.tool_use_id;
387
+ // Extract model from transcript file (Claude Code provides transcript_path in hook payload)
388
+ let model = null;
389
+ if (payload.transcript_path) {
390
+ model = await extractModelFromTranscript(payload.transcript_path);
391
+ }
392
+ // Fallback to generic "claude" if transcript parsing fails
393
+ if (!model) {
394
+ model = "claude";
395
+ }
396
+ // For Edit/MultiEdit tools, REQUIRE structuredPatch.
397
+ // Without structuredPatch, we cannot accurately determine what Claude added.
398
+ // Spurious triggers (e.g., file watcher detecting external changes) won't have
399
+ // structuredPatch and would incorrectly capture the entire file.
400
+ if (toolName === "edit" || toolName === "multiedit") {
401
+ if (!toolResponse?.structuredPatch || toolResponse.structuredPatch.length === 0) {
402
+ // No structuredPatch - skip this capture to avoid incorrect attribution
211
403
  return edits;
404
+ }
405
+ // Get original file lines for context
406
+ const originalFileLines = (toolResponse.originalFile || "").split("\n");
407
+ // Parse the structured patch to get added lines with line numbers
408
+ const addedLinesWithNumbers = parseStructuredPatch(toolResponse.structuredPatch, originalFileLines);
409
+ if (addedLinesWithNumbers.length === 0)
410
+ return edits;
411
+ // Hash lines with their line numbers and context
412
+ const lines = hashLinesWithNumbers(addedLinesWithNumbers, originalFileLines);
413
+ if (lines.length === 0)
414
+ return edits;
415
+ // Aggregate content
416
+ const addedContent = addedLinesWithNumbers.map(l => l.content).join("\n");
417
+ edits.push({
418
+ timestamp,
419
+ provider: "claudeCode",
420
+ filePath,
421
+ model,
422
+ lines,
423
+ content: addedContent,
424
+ contentHash: computeHash(addedContent),
425
+ contentHashNormalized: computeNormalizedHash(addedContent),
426
+ editType: "modification",
427
+ sessionId,
428
+ toolUseId,
429
+ });
430
+ return edits;
431
+ }
432
+ // Handle Write tool (new file creation)
433
+ // For Write, we need content
434
+ if (toolName === "write") {
435
+ const content = toolInput?.content || payload.content;
436
+ if (!content || !content.trim()) {
437
+ return edits;
438
+ }
212
439
  const lines = hashLines(content);
213
440
  if (lines.length === 0)
214
441
  return edits;
215
442
  edits.push({
216
443
  timestamp,
217
444
  provider: "claudeCode",
218
- filePath: filePath,
219
- model: "claude",
220
- // Line-level data
445
+ filePath,
446
+ model,
221
447
  lines,
222
- // Aggregate data
223
- content: content,
448
+ content,
224
449
  contentHash: computeHash(content),
225
450
  contentHashNormalized: computeNormalizedHash(content),
226
- // Edit context
227
451
  editType: "addition",
452
+ sessionId,
453
+ toolUseId,
228
454
  });
229
455
  return edits;
230
456
  }
231
- // Handle Edit tool (old_string -> new_string)
232
- if (!newString)
233
- return edits;
234
- const addedContent = extractAddedContent(oldString, newString);
235
- if (!addedContent.trim())
457
+ // Unknown tool type that passed the initial check - skip
458
+ return edits;
459
+ }
460
+ /**
461
+ * Process OpenCode payload.
462
+ * OpenCode provides before/after file content which allows precise line number extraction.
463
+ */
464
+ function processOpenCodePayload(payload) {
465
+ const edits = [];
466
+ const timestamp = new Date().toISOString();
467
+ const filePath = payload.filePath;
468
+ if (!filePath)
236
469
  return edits;
237
- const lines = hashLines(addedContent);
238
- if (lines.length === 0)
470
+ const sessionId = payload.sessionID;
471
+ const toolUseId = payload.callID;
472
+ const model = payload.model || null;
473
+ // Handle write tool (new file creation)
474
+ if (payload.tool === "write" && payload.content) {
475
+ const content = payload.content;
476
+ if (!content.trim())
477
+ return edits;
478
+ // For new files, all lines are added
479
+ const fileLines = content.split("\n");
480
+ const linesWithNumbers = fileLines
481
+ .map((line, i) => ({ content: line, lineNumber: i + 1 }))
482
+ .filter(l => l.content.trim());
483
+ const lines = hashLinesWithNumbers(linesWithNumbers, fileLines);
484
+ if (lines.length === 0)
485
+ return edits;
486
+ edits.push({
487
+ timestamp,
488
+ provider: "opencode",
489
+ filePath,
490
+ model,
491
+ lines,
492
+ content,
493
+ contentHash: computeHash(content),
494
+ contentHashNormalized: computeNormalizedHash(content),
495
+ editType: "addition",
496
+ sessionId,
497
+ toolUseId,
498
+ });
239
499
  return edits;
240
- edits.push({
241
- timestamp,
242
- provider: "claudeCode",
243
- filePath: filePath,
244
- model: "claude",
245
- // Line-level data
246
- lines,
247
- // Aggregate data
248
- content: addedContent,
249
- contentHash: computeHash(addedContent),
250
- contentHashNormalized: computeNormalizedHash(addedContent),
251
- // Edit context
252
- editType: determineEditType(oldString, newString),
253
- oldContent: oldString || undefined,
254
- });
500
+ }
501
+ // Handle edit tool
502
+ if (payload.tool === "edit") {
503
+ // OpenCode provides full before/after content - use it for precise line detection
504
+ if (payload.before !== undefined && payload.after !== undefined) {
505
+ const beforeLines = payload.before.split("\n");
506
+ const afterLines = payload.after.split("\n");
507
+ // Use diffLines to find added lines with their positions
508
+ const parts = (0, diff_1.diffLines)(payload.before, payload.after);
509
+ const addedLinesWithNumbers = [];
510
+ let afterLineIndex = 0;
511
+ for (const part of parts) {
512
+ const partLines = part.value.split("\n");
513
+ // Remove empty string from split if value ends with \n
514
+ if (partLines[partLines.length - 1] === "") {
515
+ partLines.pop();
516
+ }
517
+ if (part.added) {
518
+ // These lines were added
519
+ for (const line of partLines) {
520
+ addedLinesWithNumbers.push({
521
+ content: line,
522
+ lineNumber: afterLineIndex + 1, // 1-indexed
523
+ });
524
+ afterLineIndex++;
525
+ }
526
+ }
527
+ else if (part.removed) {
528
+ // Removed lines don't affect after line index
529
+ }
530
+ else {
531
+ // Context lines - advance the after line index
532
+ afterLineIndex += partLines.length;
533
+ }
534
+ }
535
+ if (addedLinesWithNumbers.length === 0)
536
+ return edits;
537
+ // Filter empty lines and hash with context
538
+ const nonEmptyLines = addedLinesWithNumbers.filter(l => l.content.trim());
539
+ if (nonEmptyLines.length === 0)
540
+ return edits;
541
+ const lines = hashLinesWithNumbers(nonEmptyLines, afterLines);
542
+ if (lines.length === 0)
543
+ return edits;
544
+ const addedContent = nonEmptyLines.map(l => l.content).join("\n");
545
+ edits.push({
546
+ timestamp,
547
+ provider: "opencode",
548
+ filePath,
549
+ model,
550
+ lines,
551
+ content: addedContent,
552
+ contentHash: computeHash(addedContent),
553
+ contentHashNormalized: computeNormalizedHash(addedContent),
554
+ editType: "modification",
555
+ oldContent: payload.oldString,
556
+ sessionId,
557
+ toolUseId,
558
+ });
559
+ return edits;
560
+ }
561
+ // Fallback: use oldString/newString if before/after not available
562
+ const oldString = payload.oldString || "";
563
+ const newString = payload.newString || "";
564
+ if (!newString)
565
+ return edits;
566
+ const addedContent = extractAddedContent(oldString, newString);
567
+ if (!addedContent.trim())
568
+ return edits;
569
+ const lines = hashLines(addedContent);
570
+ if (lines.length === 0)
571
+ return edits;
572
+ edits.push({
573
+ timestamp,
574
+ provider: "opencode",
575
+ filePath,
576
+ model,
577
+ lines,
578
+ content: addedContent,
579
+ contentHash: computeHash(addedContent),
580
+ contentHashNormalized: computeNormalizedHash(addedContent),
581
+ editType: determineEditType(oldString, newString),
582
+ oldContent: oldString || undefined,
583
+ sessionId,
584
+ toolUseId,
585
+ });
586
+ }
255
587
  return edits;
256
588
  }
257
589
  // =============================================================================
@@ -277,10 +609,13 @@ async function runCapture() {
277
609
  let edits = [];
278
610
  if (provider === "cursor") {
279
611
  const eventName = event || data.hook_event_name || "afterFileEdit";
280
- edits = processCursorPayload(payload, eventName);
612
+ edits = await processCursorPayload(payload, eventName);
281
613
  }
282
614
  else if (provider === "claude") {
283
- edits = processClaudePayload(payload);
615
+ edits = await processClaudePayload(payload);
616
+ }
617
+ else if (provider === "opencode") {
618
+ edits = processOpenCodePayload(payload);
284
619
  }
285
620
  // Save all edits to SQLite database
286
621
  for (const edit of edits) {
@@ -1 +1 @@
1
- {"version":3,"file":"capture.js","sourceRoot":"","sources":["../src/capture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capture.js","sourceRoot":"","sources":["../src/capture.ts"],"names":[],"mappings":";;AACA;;;;;;;;;;;;;GAaG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAotBH,gCA6CC;AA/vBD,oDAAsC;AACtC,+BAAiC;AACjC,6CAA8D;AAC9D,qCAA+C;AAsF/C,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF,SAAS,WAAW,CAAC,OAAe;IAClC,OAAO,UAAU,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AAC/E,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAe;IAC5C,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC/C,OAAO,UAAU,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AAClF,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,OAAe,EAAE,OAAe;IAC3D,wDAAwD;IACxD,oEAAoE;IACpE,oEAAoE;IACpE,kEAAkE;IAClE,MAAM,SAAS,GAAG,CAAC,IAAY,EAAU,EAAE;QACzC,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;IAClD,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,IAAA,gBAAS,EAAC,SAAS,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAChE,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CACxB,UAA8B,EAC9B,UAAkB;IAElB,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC5C,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACpC,OAAO,cAAc,CAAC,CAAC,iDAAiD;IAC1E,CAAC;IACD,OAAO,aAAa,CAAC,CAAC,2BAA2B;AACnD,CAAC;AAED;;GAEG;AACH,SAAS,SAAS,CAAC,OAAe;IAChC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,MAAM,GAAmB,EAAE,CAAC;IAElC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,kEAAkE;QAClE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,SAAS;QAE3B,MAAM,CAAC,IAAI,CAAC;YACV,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC;YACvB,cAAc,EAAE,qBAAqB,CAAC,IAAI,CAAC;SAC5C,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAC3B,KAAqD,EACrD,YAAsB;IAEtB,MAAM,MAAM,GAAmB,EAAE,CAAC;IAElC,KAAK,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,KAAK,EAAE,CAAC;QAC5C,mBAAmB;QACnB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;YAAE,SAAS;QAE9B,yCAAyC;QACzC,MAAM,aAAa,GAAG,YAAY;aAC/B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC;aAClD,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,YAAY,GAAG,YAAY;aAC9B,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;aAChE,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,MAAM,CAAC,IAAI,CAAC;YACV,OAAO;YACP,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC;YAC1B,cAAc,EAAE,qBAAqB,CAAC,OAAO,CAAC;YAC9C,UAAU;YACV,aAAa,EAAE,aAAa,IAAI,SAAS;YACzC,YAAY,EAAE,YAAY,IAAI,SAAS;SACxC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAC3B,KAA4B,EAC5B,iBAA2B;IAE3B,MAAM,UAAU,GAAmD,EAAE,CAAC;IAEtE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC;QAElC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzB,kCAAkC;gBAClC,UAAU,CAAC,IAAI,CAAC;oBACd,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;oBACtB,UAAU,EAAE,aAAa;iBAC1B,CAAC,CAAC;gBACH,aAAa,EAAE,CAAC;YAClB,CAAC;iBAAM,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChC,iDAAiD;gBACjD,SAAS;YACX,CAAC;iBAAM,CAAC;gBACN,2DAA2D;gBAC3D,aAAa,EAAE,CAAC;YAClB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,aAAa,CAAC,QAAgB;IAC3C,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,wDAAa,kBAAkB,GAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACpD,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,0BAA0B,CAAC,cAAsB;IAC9D,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,wDAAa,kBAAkB,GAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAElC,8EAA8E;QAC9E,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI;gBAAE,SAAS;YAEpB,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC/B,8CAA8C;gBAC9C,IAAI,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;oBACzB,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC7B,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,uBAAuB;gBACvB,SAAS;YACX,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CACvB,SAAmB,EACnB,SAAiB,EACjB,SAAiB;IAEjB,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,qFAAqF;QACrF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhD,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kDAAkD;IAClD,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IACtE,MAAM,SAAS,GAAG,WAAW,CAAC;IAE9B,4DAA4D;IAC5D,MAAM,cAAc,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACjE,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEhD,gDAAgD;IAChD,MAAM,YAAY,GAAG,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC/D,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAClE,MAAM,MAAM,GAAmD,EAAE,CAAC;IAElE,0CAA0C;IAC1C,IAAI,WAAW,GAAG,SAAS,GAAG,CAAC,CAAC;IAChC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;YAAE,SAAS;QAEhC,KAAK,IAAI,CAAC,GAAG,WAAW,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvD,IAAI,YAAY,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;gBACjF,MAAM,CAAC,IAAI,CAAC;oBACV,OAAO,EAAE,SAAS;oBAClB,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,YAAY;iBAChC,CAAC,CAAC;gBACH,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;gBACpB,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3C,CAAC;AAED,gFAAgF;AAChF,qBAAqB;AACrB,gFAAgF;AAEhF,SAAS,SAAS;IAChB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,QAAQ,GAAqC,QAAQ,CAAC;IAC1D,IAAI,KAAyB,CAAC;IAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC5C,QAAQ,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAqC,CAAC;YAC3D,CAAC,EAAE,CAAC;QACN,CAAC;aAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAChD,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACpB,CAAC,EAAE,CAAC;QACN,CAAC;IACH,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,SAAS,QAAQ,CAAC,IAAkB;IAClC,IAAA,qBAAU,EAAC;QACT,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;QACjD,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,OAAsB,EACtB,KAAa;IAEb,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAE3C,mDAAmD;IACnD,kFAAkF;IAClF,IAAI,KAAK,KAAK,kBAAkB,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,qEAAqE;IACrE,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEzD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;QAExC,IAAI,CAAC,SAAS;YAAE,SAAS;QAEzB,iCAAiC;QACjC,MAAM,YAAY,GAAG,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/D,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;YAAE,SAAS;QAEnC,IAAI,KAAqB,CAAC;QAE1B,iDAAiD;QACjD,IAAI,SAAS,IAAI,SAAS,EAAE,CAAC;YAC3B,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAC3E,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpD,KAAK,GAAG,oBAAoB,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACN,iDAAiD;gBACjD,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,uDAAuD;YACvD,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;QAClC,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAEjC,KAAK,CAAC,IAAI,CAAC;YACT,SAAS;YACT,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,OAAO,CAAC,SAAS;YAC3B,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,IAAI;YAC5B,KAAK;YACL,OAAO,EAAE,YAAY;YACrB,WAAW,EAAE,WAAW,CAAC,YAAY,CAAC;YACtC,qBAAqB,EAAE,qBAAqB,CAAC,YAAY,CAAC;YAC1D,QAAQ,EAAE,iBAAiB,CAAC,SAAS,EAAE,SAAS,CAAC;YACjD,UAAU,EAAE,SAAS,IAAI,SAAS;YAClC,SAAS,EAAE,OAAO,CAAC,eAAe;YAClC,SAAS,EAAE,OAAO,CAAC,aAAa;SACjC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,OAAsB;IACxD,MAAM,KAAK,GAAmB,EAAE,CAAC;IAEjC,yDAAyD;IACzD,4EAA4E;IAC5E,2DAA2D;IAC3D,oEAAoE;IACpE,IAAK,OAAe,CAAC,cAAc,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,oFAAoF;IACpF,4EAA4E;IAC5E,0DAA0D;IAC1D,gFAAgF;IAChF,uCAAuC;IACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IACxD,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;QAC5E,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAE3C,qDAAqD;IACrD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;IACrC,MAAM,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;IAC3C,MAAM,QAAQ,GAAG,YAAY,EAAE,QAAQ,IAAI,SAAS,EAAE,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC;IAErF,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAE5B,uCAAuC;IACvC,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;IACrC,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;IAEtC,4FAA4F;IAC5F,IAAI,KAAK,GAAkB,IAAI,CAAC;IAChC,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QAC5B,KAAK,GAAG,MAAM,0BAA0B,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACpE,CAAC;IACD,2DAA2D;IAC3D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,GAAG,QAAQ,CAAC;IACnB,CAAC;IAED,qDAAqD;IACrD,6EAA6E;IAC7E,+EAA+E;IAC/E,iEAAiE;IACjE,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;QACpD,IAAI,CAAC,YAAY,EAAE,eAAe,IAAI,YAAY,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChF,wEAAwE;YACxE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,sCAAsC;QACtC,MAAM,iBAAiB,GAAG,CAAC,YAAY,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAExE,kEAAkE;QAClE,MAAM,qBAAqB,GAAG,oBAAoB,CAChD,YAAY,CAAC,eAAe,EAC5B,iBAAiB,CAClB,CAAC;QAEF,IAAI,qBAAqB,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAErD,iDAAiD;QACjD,MAAM,KAAK,GAAG,oBAAoB,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,CAAC;QAC7E,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAErC,oBAAoB;QACpB,MAAM,YAAY,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE1E,KAAK,CAAC,IAAI,CAAC;YACT,SAAS;YACT,QAAQ,EAAE,YAAY;YACtB,QAAQ;YACR,KAAK;YACL,KAAK;YACL,OAAO,EAAE,YAAY;YACrB,WAAW,EAAE,WAAW,CAAC,YAAY,CAAC;YACtC,qBAAqB,EAAE,qBAAqB,CAAC,YAAY,CAAC;YAC1D,QAAQ,EAAE,cAAc;YACxB,SAAS;YACT,SAAS;SACV,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC;IAED,wCAAwC;IACxC,6BAA6B;IAC7B,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,SAAS,EAAE,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;QAEtD,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAErC,KAAK,CAAC,IAAI,CAAC;YACT,SAAS;YACT,QAAQ,EAAE,YAAY;YACtB,QAAQ;YACR,KAAK;YACL,KAAK;YACL,OAAO;YACP,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC;YACjC,qBAAqB,EAAE,qBAAqB,CAAC,OAAO,CAAC;YACrD,QAAQ,EAAE,UAAU;YACpB,SAAS;YACT,SAAS;SACV,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;IAED,yDAAyD;IACzD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,SAAS,sBAAsB,CAAC,OAAwB;IACtD,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAE3C,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAE5B,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACpC,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IACjC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC;IAEpC,wCAAwC;IACxC,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;YAAE,OAAO,KAAK,CAAC;QAElC,qCAAqC;QACrC,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,gBAAgB,GAAG,SAAS;aAC/B,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aACxD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAEjC,MAAM,KAAK,GAAG,oBAAoB,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;QAChE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAErC,KAAK,CAAC,IAAI,CAAC;YACT,SAAS;YACT,QAAQ,EAAE,UAAU;YACpB,QAAQ;YACR,KAAK;YACL,KAAK;YACL,OAAO;YACP,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC;YACjC,qBAAqB,EAAE,qBAAqB,CAAC,OAAO,CAAC;YACrD,QAAQ,EAAE,UAAU;YACpB,SAAS;YACT,SAAS;SACV,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC;IAED,mBAAmB;IACnB,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC5B,kFAAkF;QAClF,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAChE,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAE7C,yDAAyD;YACzD,MAAM,KAAK,GAAG,IAAA,gBAAS,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YACvD,MAAM,qBAAqB,GAAmD,EAAE,CAAC;YAEjF,IAAI,cAAc,GAAG,CAAC,CAAC;YACvB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACzC,uDAAuD;gBACvD,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;oBAC3C,SAAS,CAAC,GAAG,EAAE,CAAC;gBAClB,CAAC;gBAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACf,yBAAyB;oBACzB,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;wBAC7B,qBAAqB,CAAC,IAAI,CAAC;4BACzB,OAAO,EAAE,IAAI;4BACb,UAAU,EAAE,cAAc,GAAG,CAAC,EAAE,YAAY;yBAC7C,CAAC,CAAC;wBACH,cAAc,EAAE,CAAC;oBACnB,CAAC;gBACH,CAAC;qBAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACxB,8CAA8C;gBAChD,CAAC;qBAAM,CAAC;oBACN,+CAA+C;oBAC/C,cAAc,IAAI,SAAS,CAAC,MAAM,CAAC;gBACrC,CAAC;YACH,CAAC;YAED,IAAI,qBAAqB,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YAErD,2CAA2C;YAC3C,MAAM,aAAa,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1E,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YAE7C,MAAM,KAAK,GAAG,oBAAoB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;YAC9D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YAErC,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAElE,KAAK,CAAC,IAAI,CAAC;gBACT,SAAS;gBACT,QAAQ,EAAE,UAAU;gBACpB,QAAQ;gBACR,KAAK;gBACL,KAAK;gBACL,OAAO,EAAE,YAAY;gBACrB,WAAW,EAAE,WAAW,CAAC,YAAY,CAAC;gBACtC,qBAAqB,EAAE,qBAAqB,CAAC,YAAY,CAAC;gBAC1D,QAAQ,EAAE,cAAc;gBACxB,UAAU,EAAE,OAAO,CAAC,SAAS;gBAC7B,SAAS;gBACT,SAAS;aACV,CAAC,CAAC;YAEH,OAAO,KAAK,CAAC;QACf,CAAC;QAED,kEAAkE;QAClE,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;QAC1C,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;QAE1C,IAAI,CAAC,SAAS;YAAE,OAAO,KAAK,CAAC;QAE7B,MAAM,YAAY,GAAG,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/D,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;YAAE,OAAO,KAAK,CAAC;QAEvC,MAAM,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;QACtC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAErC,KAAK,CAAC,IAAI,CAAC;YACT,SAAS;YACT,QAAQ,EAAE,UAAU;YACpB,QAAQ;YACR,KAAK;YACL,KAAK;YACL,OAAO,EAAE,YAAY;YACrB,WAAW,EAAE,WAAW,CAAC,YAAY,CAAC;YACtC,qBAAqB,EAAE,qBAAqB,CAAC,YAAY,CAAC;YAC1D,QAAQ,EAAE,iBAAiB,CAAC,SAAS,EAAE,SAAS,CAAC;YACjD,UAAU,EAAE,SAAS,IAAI,SAAS;YAClC,SAAS;YACT,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,gFAAgF;AAChF,OAAO;AACP,gFAAgF;AAEhF,KAAK,UAAU,SAAS;IACtB,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC;AAEM,KAAK,UAAU,UAAU;IAC9B,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,SAAS,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM,SAAS,EAAE,CAAC;QAEhC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAE/B,oDAAoD;QACpD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC;QAErC,IAAI,KAAK,GAAmB,EAAE,CAAC;QAE/B,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAG,KAAK,IAAI,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC;YACnE,KAAK,GAAG,MAAM,oBAAoB,CAAC,OAAwB,EAAE,SAAS,CAAC,CAAC;QAC1E,CAAC;aAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,KAAK,GAAG,MAAM,oBAAoB,CAAC,OAAwB,CAAC,CAAC;QAC/D,CAAC;aAAM,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;YACnC,KAAK,GAAG,sBAAsB,CAAC,OAA0B,CAAC,CAAC;QAC7D,CAAC;QAED,oCAAoC;QACpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,8CAA8C;YAC9C,MAAM,aAAa,GAAG,IAAA,wBAAiB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvD,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,oDAAoD;gBACpD,SAAS;YACX,CAAC;YAED,sCAAsC;YACtC,IAAA,2BAAgB,EAAC,aAAa,CAAC,CAAC;YAChC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,8CAA8C;QAC9C,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}