@resolveio/server-lib 22.3.201 → 22.3.203

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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/util/ai-runner-manager-policy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqhCA,oGAqHC;AAED,wFAsHC;AAwGD,8FAmDC;AA6KD,4FAkDC;AAED,4FAsIC;AA0KD,kGAuDC;AA4CD,0GAmNC;AAED,gGAgGC;AAED,8FAyCC;AAyLD,0GA4GC;AAED,oFA8CC;AAwBD,0FAiBC;AAED,oFAUC;AAiBD,wEAcC;AAED,8FAwDC;AAwKD,oGAkDC;AA6KD,kGAuGC;AAyDD,wGAqKC;AAED,wGAWC;AAsCD,8GAiEE;AA0CF,sHAoFC;AAED,4HAkEC;AAkCD,wFAoEC;AAQD,oFAyHC;AAuBD,kFA6RC;AAyED,wEAyHC;AAwFD,kGAsPC;AA97HD,SAAS,SAAS,CAAC,KAAU,EAAE,GAAU;IAAV,oBAAA,EAAA,UAAU;IACxC,OAAO,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,SAAS,CAAC,MAAW,EAAE,KAAU,EAAE,GAAS;;IAArB,sBAAA,EAAA,UAAU;IAAE,oBAAA,EAAA,SAAS;IACpD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,CAAC;IACX,CAAC;IACD,IAAM,MAAM,GAAa,EAAE,CAAC;;QAC5B,KAAoB,IAAA,WAAA,SAAA,MAAM,CAAA,8BAAA,kDAAE,CAAC;YAAxB,IAAM,KAAK,mBAAA;YACf,IAAM,UAAU,GAAG,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACzC,IAAI,UAAU,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBAChD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACzB,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;gBAC5B,MAAM;YACP,CAAC;QACF,CAAC;;;;;;;;;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED,IAAM,eAAe,GAAG,IAAI,GAAG,CAAkC;IAChE,WAAW;IACX,YAAY;IACZ,QAAQ;IACR,WAAW;IACX,oBAAoB;IACpB,iBAAiB;IACjB,kBAAkB;IAClB,qBAAqB;IACrB,qBAAqB;IACrB,gBAAgB;CAChB,CAAC,CAAC;AAEH,SAAS,WAAW,CAAC,KAAU;IAC9B,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AACjF,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAU;IACxC,IAAM,UAAU,GAAG,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAC/E,IAAI,2CAA2C,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAClE,OAAO,cAAc,CAAC;IACvB,CAAC;IACD,IAAI,uEAAuE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9F,OAAO,0BAA0B,CAAC;IACnC,CAAC;IACD,OAAO,aAAa,CAAC;AACtB,CAAC;AAED,SAAS,gCAAgC,CAAC,KAAU;IACnD,IAAM,UAAU,GAAG,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAC9E,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;QAC5B,OAAO,OAAO,CAAC;IAChB,CAAC;IACD,IAAI,UAAU,KAAK,UAAU,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC1D,OAAO,UAAU,CAAC;IACnB,CAAC;IACD,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC;IACf,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAU;IACnC,IAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,YAAY,CAAC,KAAU;IAC/B,IAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACrD,CAAC;AAED,SAAS,WAAW,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW;IAC3D,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,6BAA6B,CAAC,KAAU;IAChD,IAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACrC,OAAO,CAAC,MAAM,IAAI,kFAAkF,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACnH,CAAC;AAED,SAAgB,4CAA4C,CAC3D,KAAqD;;IAArD,sBAAA,EAAA,UAAqD;IAErD,IAAM,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IAC5D,IAAM,YAAY,GAAG,uCAAuC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACjF,IAAM,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IAC1D,IAAM,gBAAgB,GAAG,gCAAgC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAClF,IAAM,eAAe,GAAG,SAAS,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAClE,IAAM,sBAAsB,GAAG,gBAAgB,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC9E,IAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC5D,IAAM,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,KAAK,IAAI,IAAI,gBAAgB,KAAK,UAAU,IAAI,gBAAgB,KAAK,OAAO,CAAC;IAC5H,IAAM,WAAW,GAAG,KAAK,CAAC,WAAW,KAAK,IAAI,CAAC;IAC/C,IAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,KAAK,GAAG,GAAG,CAAC;IAChB,IAAI,cAAc,KAAK,oBAAoB,EAAE,CAAC;QAC7C,KAAK,GAAG,IAAI,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACtC,CAAC;SACI,IAAI,cAAc,KAAK,yBAAyB,EAAE,CAAC;QACvD,KAAK,GAAG,IAAI,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACrC,CAAC;SACI,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,eAAe,EAAE,CAAC;QAC7E,KAAK,GAAG,IAAI,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACnC,CAAC;SACI,IAAI,cAAc,KAAK,kBAAkB,EAAE,CAAC;QAChD,KAAK,GAAG,GAAG,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACtC,CAAC;SACI,IAAI,cAAc,KAAK,oBAAoB,EAAE,CAAC;QAClD,KAAK,GAAG,GAAG,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACxC,CAAC;SACI,IAAI,cAAc,KAAK,oBAAoB,EAAE,CAAC;QAClD,KAAK,GAAG,GAAG,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACxC,CAAC;SACI,IAAI,cAAc,KAAK,6BAA6B,IAAI,cAAc,KAAK,+BAA+B,EAAE,CAAC;QACjH,KAAK,GAAG,IAAI,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IAClD,CAAC;SACI,IAAI,cAAc,KAAK,6BAA6B,EAAE,CAAC;QAC3D,KAAK,GAAG,IAAI,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,gBAAgB,KAAK,OAAO,EAAE,CAAC;QAClC,KAAK,IAAI,GAAG,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAChC,CAAC;SACI,IAAI,gBAAgB,EAAE,CAAC;QAC3B,KAAK,IAAI,GAAG,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACnC,CAAC;SACI,IAAI,WAAW,EAAE,CAAC;QACtB,KAAK,IAAI,GAAG,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC9B,CAAC;SACI,IAAI,gBAAgB,KAAK,MAAM,EAAE,CAAC;QACtC,KAAK,IAAI,IAAI,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC/B,CAAC;SACI,IAAI,CAAC,6BAA6B,CAAC,cAAc,CAAC,EAAE,CAAC;QACzD,KAAK,IAAI,IAAI,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,CAAC,YAAY,KAAK,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,cAAc,KAAK,kBAAkB,EAAE,CAAC;QACzG,KAAK,IAAI,IAAI,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,CAAC,YAAY,KAAK,SAAS,IAAI,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,cAAc,KAAK,oBAAoB,EAAE,CAAC;QAC/G,KAAK,IAAI,IAAI,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,yBAAyB,CAAC,IAAI,CAAC,UAAG,YAAY,cAAI,aAAa,CAAE,CAAC,IAAI,cAAc,KAAK,oBAAoB,EAAE,CAAC;QACnH,KAAK,IAAI,GAAG,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,sBAAsB,IAAI,CAAC,EAAE,CAAC;QACjC,KAAK,IAAI,GAAG,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACrC,CAAC;SACI,IAAI,sBAAsB,IAAI,CAAC,EAAE,CAAC;QACtC,KAAK,IAAI,IAAI,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACvC,CAAC;SACI,IAAI,sBAAsB,IAAI,CAAC,EAAE,CAAC;QACtC,KAAK,IAAI,IAAI,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,aAAa,GAAG,CAAC,IAAI,sBAAsB,GAAG,aAAa,GAAG,GAAG,EAAE,CAAC;QACvE,KAAK,IAAI,GAAG,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,KAAK,CAAC,4BAA4B,KAAK,IAAI,EAAE,CAAC;QACjD,KAAK,IAAI,IAAI,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IACjD,CAAC;;QACD,KAAqB,IAAA,oBAAA,SAAA,eAAe,CAAA,gDAAA,6EAAE,CAAC;YAAlC,IAAM,MAAM,4BAAA;YAChB,IAAI,oHAAoH,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACvI,KAAK,IAAI,IAAI,CAAC;gBACd,OAAO,CAAC,IAAI,CAAC,0BAAmB,MAAM,CAAE,CAAC,CAAC;YAC3C,CAAC;QACF,CAAC;;;;;;;;;IACD,IAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,IAAM,QAAQ,GAAG,CAAC,CAAC;IACnB,OAAO;QACN,KAAK,EAAE,OAAO;QACd,QAAQ,UAAA;QACR,QAAQ,EAAE,OAAO,IAAI,QAAQ;QAC7B,MAAM,EAAE,WAAW;QACnB,UAAU,EAAE,gBAAgB,KAAK,OAAO,IAAI,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK;QAC/E,MAAM,EAAE,OAAO,IAAI,QAAQ;YAC1B,CAAC,CAAC,uCAAuC;YACzC,CAAC,CAAC,mCAAmC;QACtC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;KAClD,CAAC;AACH,CAAC;AAED,SAAgB,sCAAsC,CACrD,KAAiD;;IAAjD,sBAAA,EAAA,UAAiD;IAEjD,IAAM,IAAI,GAAG,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAM,eAAe,GAAG,gBAAgB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAChE,IAAM,sBAAsB,GAAG,gBAAgB,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC9E,IAAM,iBAAiB,GAAG,eAAe,GAAG,sBAAsB,CAAC;IACnE,IAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC5D,IAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC5D,IAAM,kBAAkB,GAAG,aAAa,GAAG,CAAC,IAAI,iBAAiB,IAAI,aAAa,CAAC;IACnF,IAAM,kBAAkB,GAAG,aAAa,GAAG,CAAC,IAAI,iBAAiB,GAAG,aAAa,CAAC;IAClF,IAAM,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IAC5D,IAAM,gBAAgB,GAAG,gCAAgC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAClF,IAAM,eAAe,GAAG,SAAS,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAClE,IAAM,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,KAAK,IAAI,IAAI,gBAAgB,KAAK,UAAU,IAAI,gBAAgB,KAAK,OAAO,CAAC;IAC5H,IAAM,WAAW,GAAG,KAAK,CAAC,WAAW,KAAK,IAAI,CAAC;IAC/C,IAAM,cAAc,GAAG,gBAAgB,IAAI,WAAW,IAAI,eAAe,CAAC,IAAI,CAAC,UAAC,MAAM,IAAK,OAAA,qHAAqH,CAAC,IAAI,CAAC,MAAM,CAAC,EAAlI,CAAkI,CAAC,CAAC;IAC/N,IAAM,mBAAmB,GAAG,6BAA6B,CAAC,cAAc,CAAC,CAAC;IAC1E,IAAM,qBAAqB,GAAG,4CAA4C,CAAC;QAC1E,cAAc,gBAAA;QACd,sBAAsB,wBAAA;QACtB,eAAe,iBAAA;QACf,aAAa,eAAA;QACb,gBAAgB,kBAAA;QAChB,gBAAgB,kBAAA;QAChB,WAAW,aAAA;QACX,eAAe,iBAAA;QACf,4BAA4B,EAAE,KAAK,CAAC,4BAA4B,KAAK,IAAI;KACzE,CAAC,CAAC;IACH,IAAM,qBAAqB,GAAG,YAAY,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACrE,IAAM,kBAAkB,GAAG,qBAAqB,KAAK,SAAS,CAAC;IAC/D,IAAM,kBAAkB,GAAG,kBAAkB,CAAC,CAAC,CAAC,qBAA+B,CAAC,CAAC,CAAC,qBAAqB,CAAC,KAAK,CAAC;IAC9G,IAAM,gBAAgB,GAAG,MAAA,YAAY,CAAC,KAAK,CAAC,qBAAqB,CAAC,mCAAI,qBAAqB,CAAC,QAAQ,CAAC;IACrG,IAAM,qBAAqB,GAAG,kBAAkB,IAAI,gBAAgB,CAAC;IACrE,IAAM,mBAAmB,GAAoE,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC;IAC3I,IAAM,gBAAgB;QACrB,MAAM;QACN,wBAAwB;cACrB,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,kBAC5C,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,kBAC5C,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,kBAC1C,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,iCAAiC,EAAE,mCAAmC,CAAC,CAAC,SACxG,CAAC;IACF,IAAM,gBAAgB,GAAa,EAAE,CAAC;IACtC,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,iBAAiB,GAAG,IAAI,CAAC;IAC7B,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,qBAAqB,GAAG,IAAI,CAAC;IACjC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,kBAAkB,GAAmE,IAAI,CAAC;IAC9F,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;QAC7B,iBAAiB,GAAG,KAAK,CAAC;QAC1B,MAAM,GAAG,qCAAqC,CAAC;QAC/C,gBAAgB,CAAC,IAAI,CAAC,yGAAyG,CAAC,CAAC;IAClI,CAAC;SACI,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;QACjC,MAAM,GAAG,wCAAwC,CAAC;QAClD,gBAAgB,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;IAC7F,CAAC;SACI,IAAI,kBAAkB,EAAE,CAAC;QAC7B,OAAO,GAAG,IAAI,CAAC;QACf,eAAe,GAAG,KAAK,CAAC;QACxB,iBAAiB,GAAG,KAAK,CAAC,gBAAgB,KAAK,IAAI,CAAC;QACpD,MAAM,GAAG,8CAA8C,CAAC;QACxD,kBAAkB,GAAG,2BAA2B,CAAC;QACjD,gBAAgB,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;IAChG,CAAC;SACI,IAAI,CAAC,mBAAmB,IAAI,CAAC,cAAc,EAAE,CAAC;QAClD,eAAe,GAAG,KAAK,CAAC;QACxB,qBAAqB,GAAG,IAAI,CAAC;QAC7B,MAAM,GAAG,uCAAuC,CAAC;QACjD,gBAAgB,CAAC,IAAI,CAAC,8HAA8H,CAAC,CAAC;IACvJ,CAAC;SACI,IAAI,CAAC,mBAAmB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACzD,eAAe,GAAG,KAAK,CAAC;QACxB,qBAAqB,GAAG,IAAI,CAAC;QAC7B,MAAM,GAAG,wCAAwC,CAAC;QAClD,gBAAgB,CAAC,IAAI,CAAC,iGAAiG,CAAC,CAAC;IAC1H,CAAC;SACI,CAAC;QACL,eAAe,GAAG,IAAI,CAAC;QACvB,qBAAqB,GAAG,kBAAkB,CAAC;QAC3C,MAAM,GAAG,kBAAkB;YAC1B,CAAC,CAAC,gDAAgD;YAClD,CAAC,CAAC,+CAA+C,CAAC;QACnD,IAAI,kBAAkB,EAAE,CAAC;YACxB,gBAAgB,CAAC,IAAI,CAAC,gHAAgH,CAAC,CAAC;QACzI,CAAC;IACF,CAAC;IACD,OAAO;QACN,IAAI,MAAA;QACJ,eAAe,iBAAA;QACf,iBAAiB,mBAAA;QACjB,OAAO,SAAA;QACP,qBAAqB,uBAAA;QACrB,MAAM,QAAA;QACN,eAAe,iBAAA;QACf,sBAAsB,wBAAA;QACtB,iBAAiB,mBAAA;QACjB,aAAa,eAAA;QACb,aAAa,eAAA;QACb,kBAAkB,oBAAA;QAClB,kBAAkB,oBAAA;QAClB,cAAc,gBAAA;QACd,kBAAkB,oBAAA;QAClB,qBAAqB,EAAE,gBAAgB;QACvC,kBAAkB,oBAAA;QAClB,mBAAmB,qBAAA;QACnB,qBAAqB,uBAAA;QACrB,gBAAgB,kBAAA;QAChB,gBAAgB,kBAAA;QAChB,WAAW,aAAA;QACX,cAAc,gBAAA;QACd,eAAe,iBAAA;QACf,kBAAkB,oBAAA;QAClB,gBAAgB,kBAAA;QAChB,gBAAgB,kBAAA;KAChB,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,KAAU;IAClC,IAAM,IAAI,GAAG,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC3E,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;AACrF,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAU;IACzC,IAAM,UAAU,GAAG,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAoC,CAAC;IAClH,OAAO,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1D,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAU;IACxC,IAAM,UAAU,GAAG,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAC/E,IAAI,+DAA+D,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACtF,OAAO,QAAQ,CAAC;IACjB,CAAC;IACD,IAAI,4CAA4C,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACnE,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAI,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACzC,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,OAAO,YAAY,CAAC;AACrB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAU;IACrC,OAAO,qBAAqB,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC;AAClD,CAAC;AAED,SAAS,6BAA6B,CAAC,KAAU;IAChD,IAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAClC,OAAO;QACN,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC;QACvC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;QACrE,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC;QAC5E,YAAY,EAAE,SAAS,CAAC,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC;QAClH,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC;QAC5E,cAAc,EAAE,SAAS,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,wBAAwB,IAAI,MAAM,CAAC,0BAA0B,EAAE,GAAG,CAAC;QACvJ,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC;QAC9G,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC;QAC9E,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC;QAC7D,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC;KAC5E,CAAC;AACH,CAAC;AAED,SAAS,8BAA8B,CAAC,KAAU,EAAE,QAAiD;IACpG,IAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACrD,IAAM,OAAO,GAAG,UAAU;SACxB,GAAG,CAAC,6BAA6B,CAAC;SAClC,MAAM,CAAC,UAAC,MAAM,IAAK,OAAA,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK,IAAK,OAAA,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,EAArB,CAAqB,CAAC,EAA5D,CAA4D,CAAC,CAAC;IACnF,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK,IAAK,OAAA,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,EAArB,CAAqB,CAAC,EAAE,CAAC;QACnG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC;IACD,IAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,OAAO,OAAO,CAAC,MAAM,CAAC,UAAC,MAAM;QAC5B,IAAM,GAAG,GAAG,UAAG,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,eAAK,SAAS,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAE,CAAC;QAC1K,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC;QACd,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,OAAO,IAAI,CAAC;IACb,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,kCAAkC,CAAC,KAAU;IACrD,IAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAClC,OAAO;QACN,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;QACrE,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC;QAC5E,cAAc,EAAE,SAAS,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,oBAAoB,IAAI,MAAM,CAAC,sBAAsB,EAAE,GAAG,CAAC;QAC/I,aAAa,EAAE,SAAS,CAAC,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,mBAAmB,IAAI,MAAM,CAAC,qBAAqB,EAAE,GAAG,CAAC;QAC1I,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC;QAC5F,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;KACrC,CAAC;AACH,CAAC;AAED,SAAS,mCAAmC,CAAC,KAAU;IACtD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;SACxC,GAAG,CAAC,kCAAkC,CAAC;SACvC,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,EAAjF,CAAiF,CAAC;SACpG,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,8BAA8B,CAAC,KAAU;;IACjD,IAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAClC,IAAM,UAAU,GAAG,MAAM,CAAC,MAAA,MAAM,CAAC,UAAU,mCAAI,MAAM,CAAC,WAAW,CAAC,CAAC;IACnE,IAAM,WAAW,GAAG,MAAM,CAAC,MAAA,MAAM,CAAC,WAAW,mCAAI,MAAM,CAAC,YAAY,CAAC,CAAC;IACtE,OAAO;QACN,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;QACrE,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;QACtD,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC;QAC9E,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QACzF,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;KAC5F,CAAC;AACH,CAAC;AAED,SAAS,+BAA+B,CAAC,KAAU;IAClD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;SACxC,GAAG,CAAC,8BAA8B,CAAC;SACnC,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAA5C,CAA4C,CAAC;SAC/D,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAChB,CAAC;AAED,SAAgB,yCAAyC,CACxD,KAAU,EACV,MAAmD;;IAEnD,IAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;QACjC,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAM,OAAO,GAAG,sBAAsB,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,cAAc,KAAI,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,0CAAE,kBAAkB,CAAA,CAAC,CAAC;IAClJ,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAM,MAAM,GAAG,6BAA6B,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC;IACtE,IAAM,OAAO,GAAG,8BAA8B,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IACxH,OAAO;QACN,OAAO,SAAA;QACP,MAAM,EAAE,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC;QAC5C,MAAM,QAAA;QACN,OAAO,SAAA;QACP,oBAAoB,EAAE,SAAS,CAAC,MAAM,CAAC,oBAAoB,IAAI,MAAM,CAAC,sBAAsB,IAAI,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC;QACzH,aAAa,EAAE,SAAS,CAAC,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC;QACpG,oBAAoB,EAAE,SAAS,CAAC,MAAM,CAAC,oBAAoB,IAAI,MAAM,CAAC,sBAAsB,IAAI,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC;QACrJ,mBAAmB,EAAE,SAAS,CAAC,MAAM,CAAC,mBAAmB,IAAI,MAAM,CAAC,qBAAqB,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC;QAChJ,cAAc,EAAE,SAAS,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC;QAClG,eAAe,EAAE,mCAAmC,CAAC,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,cAAc,CAAC;QAC5K,eAAe,EAAE,SAAS,CAAC,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,gBAAgB,EAAE,IAAI,CAAC;QACnF,cAAc,EAAE,+BAA+B,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,qBAAqB,IAAI,MAAM,CAAC,uBAAuB,CAAC;QACrL,iBAAiB,EAAE,SAAS,CAAC,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,mBAAmB,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;QAC1G,YAAY,EAAE,+BAA+B,CAAC,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,kBAAkB,CAAC;QAClJ,cAAc,EAAE,SAAS,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC;QACvH,SAAS,EAAE,+BAA+B,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,sBAAsB,IAAI,MAAM,CAAC,yBAAyB,CAAC;QACtJ,iBAAiB,EAAE,SAAS,CAAC,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,mBAAmB,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC;QACtI,cAAc,EAAE,SAAS,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC;QAChI,wBAAwB,EAAE,SAAS,CAAC,MAAM,CAAC,wBAAwB,IAAI,MAAM,CAAC,0BAA0B,IAAI,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC;QACjK,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC;QAChH,oBAAoB,EAAE,SAAS,CAAC,MAAM,CAAC,oBAAoB,IAAI,MAAM,CAAC,sBAAsB,EAAE,IAAI,CAAC;QACnG,gBAAgB,EAAE,SAAS,CAAC,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,kBAAkB,EAAE,IAAI,CAAC;QACvF,yBAAyB,EAAE,SAAS,CAAC,MAAM,CAAC,yBAAyB,IAAI,MAAM,CAAC,2BAA2B,EAAE,IAAI,CAAC;QAClH,sBAAsB,EAAE,SAAS,CAAC,MAAM,CAAC,sBAAsB,IAAI,MAAM,CAAC,wBAAwB,EAAE,IAAI,CAAC;QACzG,0BAA0B,EAAE,SAAS,CAAC,MAAM,CAAC,0BAA0B,IAAI,MAAM,CAAC,4BAA4B,IAAI,MAAM,CAAC,mBAAmB,IAAI,MAAM,CAAC,oBAAoB,EAAE,GAAG,CAAC;QACjL,8BAA8B,EAAE,SAAS,CAAC,MAAM,CAAC,8BAA8B,IAAI,MAAM,CAAC,iCAAiC,IAAI,MAAM,CAAC,uBAAuB,IAAI,MAAM,CAAC,yBAAyB,EAAE,GAAG,CAAC;QACvM,eAAe,EAAE,SAAS,CAAC,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC;QAC5K,eAAe,EAAE,SAAS,CAAC,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC;QAC5K,eAAe,EAAE,SAAS,CAAC,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,oBAAoB,EAAE,GAAG,CAAC;QAC/I,aAAa,EAAE,SAAS,CAAC,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,2BAA2B,IAAI,MAAM,CAAC,8BAA8B,EAAE,GAAG,CAAC;QACpN,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,YAAY;QACtD,iBAAiB,EAAE,SAAS,CAAC,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,mBAAmB,EAAE,IAAI,CAAC;QAC1F,yBAAyB,EAAE,SAAS,CAAC,MAAM,CAAC,yBAAyB,IAAI,MAAM,CAAC,4BAA4B,EAAE,IAAI,CAAC;QACnH,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,KAAK,IAAI,IAAI,MAAM,CAAC,qBAAqB,KAAK,IAAI;QACjG,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,WAAW;KACnD,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAC9B,MAA8D,EAC9D,OAA6C;;IAE7C,OAAO,CAAC,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,0CAAE,KAAK,KAAI,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,OAAO,KAAK,OAAO,EAAxB,CAAwB,CAAC,CAAC;AACnF,CAAC;AAED,SAAS,WAAW,CAAC,QAAkB,EAAE,SAAkB,EAAE,OAAe;IAC3E,IAAI,CAAC,SAAS,EAAE,CAAC;QAChB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;AACF,CAAC;AAED,SAAS,0BAA0B,CAAC,OAA6C;IAChF,OAAO,+FAA+F,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACtH,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAa;;IAC5C,IAAM,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,8FAA8F,CAAC,CAAC;IAC1I,OAAO,CAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC,0CAAE,WAAW,EAAE,KAAI,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACxC,OAAO,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAa;IAC5C,OAAO,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,iBAAiB,CAAC,MAA8C,EAAE,aAAqB;IAC/F,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,iBAAU,aAAa,MAAG,CAAC;AAC3G,CAAC;AAED,SAAS,+BAA+B,CAAC,QAA0C;IAClF,IAAM,OAAO,GAAG,8BAA8B,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAClF,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,UAAC,MAAM,IAAK,OAAA,CAAC,CAAC,MAAM,EAAR,CAAQ,CAAC,CAAC;AAClF,CAAC;AAED,SAAS,qBAAqB,CAAC,UAAe,EAAE,UAAe,EAAE,MAA8C;IAC9G,IAAM,IAAI,GAAG,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IACtD,IAAM,IAAI,GAAG,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACxC,IAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7D,IAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC/C,IAAI,UAAU,IAAI,IAAI,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QAC/C,OAAO,KAAK,CAAC;IACd,CAAC;IACD,IAAI,UAAU,IAAI,IAAI,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QAC/C,OAAO,KAAK,CAAC;IACd,CAAC;IACD,OAAO,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,6BAA6B,CACrC,QAA0C,EAC1C,MAA8C,EAC9C,iBAA0B;IAE1B,IAAM,KAAK,GAAG,CAAC,QAAQ,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK,IAAK,OAAA,qBAAqB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,EAArD,CAAqD,CAAC,CAAC;IACtH,IAAI,KAAK,EAAE,CAAC;QACX,OAAO,KAAK,CAAC;IACd,CAAC;IACD,IAAI,iBAAiB,IAAI,CAAC,QAAQ,CAAC,mBAAmB,IAAI,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QACpF,OAAO;YACN,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,cAAc,EAAE,QAAQ,CAAC,oBAAoB;YAC7C,aAAa,EAAE,QAAQ,CAAC,mBAAmB;YAC3C,QAAQ,EAAE,QAAQ,CAAC,cAAc;YACjC,MAAM,EAAE,QAAQ,CAAC,MAAM;SACvB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,SAAS,+BAA+B,CACvC,OAA8D,EAC9D,MAA8C,EAC9C,uBAA4B;IAE5B,IAAM,KAAK,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK,IAAK,OAAA,qBAAqB,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,EAApD,CAAoD,CAAC,CAAC;IACpG,IAAI,KAAK,EAAE,CAAC;QACX,OAAO,KAAK,CAAC;IACd,CAAC;IACD,IAAI,uBAAuB,EAAE,CAAC;QAC7B,OAAO;YACN,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,MAAM,EAAE,SAAS,CAAC,uBAAuB,EAAE,GAAG,CAAC;SAC/C,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,SAAS,mCAAmC,CAC3C,QAA0C,EAC1C,QAAkB;IAElB,IAAM,OAAO,GAAG,+BAA+B,CAAC,QAAQ,CAAC,CAAC;IAC1D,IAAM,qBAAqB,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IACjD,IAAI,qBAAqB,IAAI,CAAC,CAAC,QAAQ,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;QACvE,QAAQ,CAAC,IAAI,CAAC,+GAA+G,CAAC,CAAC;IAChI,CAAC;IACD,IAAI,qBAAqB,IAAI,CAAC,CAAC,QAAQ,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;QACtE,QAAQ,CAAC,IAAI,CAAC,gGAAgG,CAAC,CAAC;IACjH,CAAC;IACD,IAAI,qBAAqB,IAAI,CAAC,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;QACpE,QAAQ,CAAC,IAAI,CAAC,8FAA8F,CAAC,CAAC;IAC/G,CAAC;IACD,IAAI,qBAAqB,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;QACjE,QAAQ,CAAC,IAAI,CAAC,2FAA2F,CAAC,CAAC;IAC5G,CAAC;IACD,OAAO,CAAC,OAAO,CAAC,UAAC,MAAM,EAAE,KAAK;QAC7B,IAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC/C,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,4BAAqB,KAAK,2BAAwB,CAAC,CAAC;QACzF,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,4BAAqB,KAAK,2BAAwB,CAAC,CAAC;QACzF,IAAM,aAAa,GAAG,6BAA6B,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,qBAAqB,CAAC,CAAC;QAC9F,IAAM,aAAa,GAAG,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,aAAa,MAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,QAAQ,CAAA,IAAI,EAAE,CAAC;QACpF,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,aAAa,EAAE,4BAAqB,KAAK,iDAA8C,CAAC,CAAC;QACjH,IAAI,aAAa,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,EAAE,CAAC;YAC7D,QAAQ,CAAC,IAAI,CAAC,4BAAqB,KAAK,kGAA+F,CAAC,CAAC;QAC1I,CAAC;QACD,IAAI,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,cAAc,KAAI,aAAa,IAAI,aAAa,CAAC,cAAc,KAAK,aAAa,EAAE,CAAC;YACtG,QAAQ,CAAC,IAAI,CAAC,4BAAqB,KAAK,oFAAiF,CAAC,CAAC;QAC5H,CAAC;QACD,IAAM,YAAY,GAAG,+BAA+B,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,IAAI,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClM,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,YAAY,IAAI,kBAAkB,CAAC,YAAY,CAAC,MAAM,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE,4BAAqB,KAAK,gEAA6D,CAAC,CAAC;QACnM,IAAM,WAAW,GAAG,+BAA+B,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAC5I,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,WAAW,IAAI,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,4BAAqB,KAAK,+DAA4D,CAAC,CAAC;QACvK,IAAM,aAAa,GAAG,+BAA+B,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACxI,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,aAAa,IAAI,kBAAkB,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,4BAAqB,KAAK,yDAAsD,CAAC,CAAC;QACrK,IAAI,aAAa,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,IAAI,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;YAClH,QAAQ,CAAC,IAAI,CAAC,4BAAqB,KAAK,sCAAmC,CAAC,CAAC;QAC9E,CAAC;IACF,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAuC,EAAE,OAA6C;IACxH,IAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAM,eAAe,GAAG,SAAS,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;IAC9D,IAAM,eAAe,GAAG,SAAS,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;IAC9D,IAAM,eAAe,GAAG,SAAS,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;IAC9D,IAAM,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IAC1D,IAAM,YAAY,GAAG,sBAAsB,CAAC,eAAe,CAAC,CAAC;IAC7D,IAAI,CAAC,eAAe,IAAI,CAAC,eAAe,EAAE,CAAC;QAC1C,QAAQ,CAAC,IAAI,CAAC,UAAG,OAAO,iMAA8L,CAAC,CAAC;QACxN,OAAO,QAAQ,CAAC;IACjB,CAAC;IACD,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,EAAE,CAAC;QAC1C,QAAQ,CAAC,IAAI,CAAC,UAAG,OAAO,iEAA8D,CAAC,CAAC;IACzF,CAAC;IACD,IAAI,CAAC,YAAY,EAAE,CAAC;QACnB,QAAQ,CAAC,IAAI,CAAC,UAAG,OAAO,+FAA4F,CAAC,CAAC;IACvH,CAAC;SACI,IAAI,kBAAkB,CAAC,eAAe,CAAC,IAAI,YAAY,KAAK,eAAe,CAAC,WAAW,EAAE,EAAE,CAAC;QAChG,QAAQ,CAAC,IAAI,CAAC,UAAG,OAAO,mEAAgE,CAAC,CAAC;IAC3F,CAAC;IACD,IAAI,CAAC,eAAe,EAAE,CAAC;QACtB,QAAQ,CAAC,IAAI,CAAC,UAAG,OAAO,2HAAwH,CAAC,CAAC;IACnJ,CAAC;SACI,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,EAAE,CAAC;QAC/C,QAAQ,CAAC,IAAI,CAAC,UAAG,OAAO,gEAA6D,CAAC,CAAC;IACxF,CAAC;IACD,IAAI,CAAC,aAAa,EAAE,CAAC;QACpB,QAAQ,CAAC,IAAI,CAAC,UAAG,OAAO,2HAAwH,CAAC,CAAC;IACnJ,CAAC;SACI,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,EAAE,CAAC;QAC7C,QAAQ,CAAC,IAAI,CAAC,UAAG,OAAO,8DAA2D,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED,SAAgB,wCAAwC,CACvD,KAAU,EACV,WAAsD;IAAtD,4BAAA,EAAA,gBAAsD;IAEtD,IAAM,UAAU,GAAG,yCAAyC,CAAC,KAAK,CAAC,CAAC;IACpE,IAAM,MAAM,GAAG,CAAC,UAAU,IAAI,WAAW,CAAC,KAAK,CAAC,CAAwB,CAAC;IACzE,IAAM,OAAO,GAAG,CAAC,WAAW,KAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,CAAA,IAAI,MAAM,CAAC,OAAO,IAAI,EAAE,CAAyC,CAAC;IACrH,IAAM,QAAQ,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IACrD,IAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACpL,IAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACpL,IAAM,eAAe,GAAG,sBAAsB,CAAC,eAAe,CAAC,CAAC;IAChE,IAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;IACvJ,IAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,2BAA2B,IAAI,MAAM,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAC;IAC5N,IAAM,QAAQ,GAAG,QAAQ;QACxB,CAAC,CAAC,yBAAyB,CAAC;YAC3B,OAAO,EAAE,OAA0C;YACnD,MAAM,EAAE,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,KAAI,EAAE;YAChC,eAAe,iBAAA;YACf,eAAe,iBAAA;YACf,eAAe,iBAAA;YACf,aAAa,eAAA;SACb,EAAE,OAAO,CAAC;QACX,CAAC,CAAC,EAAE,CAAC;IACN,IAAM,MAAM,GAA2C,CAAC,QAAQ;QAC/D,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,eAAe,IAAI,CAAC,eAAe,IAAI,CAAC,aAAa,CAAC;YAC7E,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,QAAQ,CAAC,MAAM;gBAChB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,QAAQ,CAAC;IACd,IAAM,MAAM,GAAG,CAAC,QAAQ,IAAI,MAAM,KAAK,QAAQ,CAAC;IAChD,OAAO;QACN,QAAQ,UAAA;QACR,MAAM,QAAA;QACN,MAAM,QAAA;QACN,6BAA6B,EAAE,QAAQ,IAAI,CAAC,MAAM;QAClD,OAAO,SAAA;QACP,eAAe,iBAAA;QACf,eAAe,iBAAA;QACf,eAAe,iBAAA;QACf,eAAe,iBAAA;QACf,aAAa,eAAA;QACb,QAAQ,UAAA;QACR,YAAY,EAAE,QAAQ,IAAI,CAAC,MAAM;YAChC,CAAC,CAAC,CAAC,kCAAkC,EAAE,0CAA0C,EAAE,wBAAwB,CAAC;YAC5G,CAAC,CAAC,EAAE;QACL,gBAAgB,EAAE,QAAQ;YACzB,CAAC,CAAC,CAAC,mCAAmC,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,sBAAsB,CAAC;YACvH,CAAC,CAAC,EAAE;KACL,CAAC;AACH,CAAC;AAED,SAAgB,wCAAwC,CACvD,KAAU,EACV,OAAqE;;IAArE,wBAAA,EAAA,YAAqE;IAErE,IAAM,UAAU,GAAG,yCAAyC,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACpF,IAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,OAAO;YACN,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,CAAC,uDAAuD,CAAC;YACnE,QAAQ,EAAE,EAAE;YACZ,iBAAiB,EAAE,KAAK;YACxB,iBAAiB,EAAE,IAAI;YACvB,eAAe,EAAE,KAAK;YACtB,gBAAgB,EAAE,CAAA,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,0CAAE,KAAK,0CAAE,OAAO,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,gBAAgB,EAArB,CAAqB,CAAC,KAAI,EAAE;YAC3F,eAAe,EAAE,CAAA,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,0CAAE,KAAK,0CAAE,OAAO,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,eAAe,EAApB,CAAoB,CAAC,KAAI,EAAE;YACzF,iBAAiB,EAAE,wCAAwC,CAAC,KAAK,CAAC;YAClE,MAAM,QAAA;YACN,UAAU,EAAE,wBAAwB;SACpC,CAAC;IACH,CAAC;IACD,IAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAM,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,EAAE,CAAC;IACvC,IAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;IACnC,IAAM,IAAI,GAAG,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrD,IAAM,gBAAgB,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,gBAAgB,KAAI,EAAE,CAAC;IACtD,IAAM,eAAe,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,eAAe,KAAI,EAAE,CAAC;IACpD,IAAM,sBAAsB,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,iBAAiB,MAAK,IAAI,CAAC;IAClE,IAAM,qBAAqB,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,sBAAsB,MAAK,IAAI,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,uBAAuB,MAAK,IAAI,CAAC;IAClH,IAAM,iBAAiB,GAAG,wCAAwC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACxF,IAAI,UAAU,CAAC,mBAAmB,IAAI,CAAC,sBAAsB,IAAI,OAAO,KAAK,qBAAqB,IAAI,OAAO,KAAK,qBAAqB,EAAE,CAAC;QACzI,QAAQ,CAAC,IAAI,CAAC,oGAAoG,CAAC,CAAC;IACrH,CAAC;IACD,IAAI,UAAU,CAAC,mBAAmB,IAAI,qBAAqB,IAAI,CAAC,UAAU,CAAC,iBAAiB,IAAI,OAAO,KAAK,qBAAqB,EAAE,CAAC;QACnI,QAAQ,CAAC,IAAI,CAAC,qGAAqG,CAAC,CAAC;IACtH,CAAC;IACD,IAAI,iBAAiB,CAAC,QAAQ,EAAE,CAAC;QAChC,QAAQ,CAAC,IAAI,OAAb,QAAQ,2BAAS,iBAAiB,CAAC,QAAQ,WAAE;IAC9C,CAAC;IACD,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;QAC9B,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,oBAAoB,EAAE,kDAAkD,CAAC,CAAC;QAC7G,mCAAmC,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC3D,CAAC;SACI,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAClC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,aAAa,EAAE,0CAA0C,CAAC,CAAC;QAC9F,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,0CAA0C,CAAC,CAAC;QACnF,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE,kDAAkD,CAAC,CAAC;QACnG,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,cAAc,EAAE,2CAA2C,CAAC,CAAC;QAChG,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,wBAAwB,EAAE,qDAAqD,CAAC,CAAC;QACpH,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,wCAAwC,CAAC,CAAC;IAC3F,CAAC;SACI,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC/B,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,0CAA0C,CAAC,CAAC;QACtF,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,oBAAoB,EAAE,8CAA8C,CAAC,CAAC;QACzG,WAAW,CAAC,QAAQ,EAAE,kBAAkB,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,kDAAkD,CAAC,CAAC;IAC7H,CAAC;SACI,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAClC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,2CAA2C,CAAC,CAAC;QACrF,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,gBAAgB,EAAE,6CAA6C,CAAC,CAAC;QACpG,WAAW,CAAC,QAAQ,EAAE,kBAAkB,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,qDAAqD,CAAC,CAAC;IAChI,CAAC;SACI,IAAI,OAAO,KAAK,oBAAoB,EAAE,CAAC;QAC3C,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,qDAAqD,CAAC,CAAC;QAChG,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,yBAAyB,EAAE,+DAA+D,CAAC,CAAC;QAC/H,WAAW,CAAC,QAAQ,EAAE,kBAAkB,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,kBAAkB,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,mFAAmF,CAAC,CAAC;IAClN,CAAC;SACI,IAAI,OAAO,KAAK,iBAAiB,EAAE,CAAC;QACxC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,qDAAqD,CAAC,CAAC;QACnG,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,sBAAsB,IAAI,UAAU,CAAC,eAAe,CAAC,EAAE,mDAAmD,CAAC,CAAC;QAChJ,WAAW,CAAC,QAAQ,EAAE,kBAAkB,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,2DAA2D,CAAC,CAAC;QACrI,WAAW,CAAC,QAAQ,EAAE,kBAAkB,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,wDAAwD,CAAC,CAAC;IAChI,CAAC;SACI,IAAI,OAAO,KAAK,kBAAkB,EAAE,CAAC;QACzC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,0BAA0B,EAAE,8DAA8D,CAAC,CAAC;QAC/H,WAAW,CAAC,QAAQ,EAAE,kBAAkB,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,4DAA4D,CAAC,CAAC;IACvI,CAAC;SACI,IAAI,OAAO,KAAK,qBAAqB,EAAE,CAAC;QAC5C,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,iBAAiB,EAAE,iDAAiD,CAAC,CAAC;QACzG,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,yBAAyB,EAAE,yDAAyD,CAAC,CAAC;IAC1H,CAAC;SACI,IAAI,OAAO,KAAK,qBAAqB,EAAE,CAAC;QAC5C,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,0BAA0B,EAAE,0DAA0D,CAAC,CAAC;QAC3H,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,8BAA8B,EAAE,8DAA8D,CAAC,CAAC;QACnI,IAAI,UAAU,CAAC,0BAA0B,IAAI,UAAU,CAAC,8BAA8B,IAAI,UAAU,CAAC,0BAA0B,KAAK,UAAU,CAAC,8BAA8B,EAAE,CAAC;YAC/K,QAAQ,CAAC,IAAI,CAAC,uFAAuF,CAAC,CAAC;QACxG,CAAC;QACD,WAAW,CAAC,QAAQ,EAAE,kBAAkB,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,wDAAwD,CAAC,CAAC;IACnI,CAAC;SACI,IAAI,OAAO,KAAK,gBAAgB,EAAE,CAAC;QACvC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,0BAA0B,EAAE,qDAAqD,CAAC,CAAC;QACtH,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC;YACpC,QAAQ,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;QACzF,CAAC;IACF,CAAC;IACD,IAAI,CAAC,IAAI,IAAI,MAAM,EAAE,CAAC;QACrB,QAAQ,CAAC,IAAI,CAAC,yBAAkB,OAAO,mEAAgE,CAAC,CAAC;IAC1G,CAAC;IACD,IAAM,sBAAsB,GAAG,OAAO,KAAK,qBAAqB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC;IAC1F,IAAM,sBAAsB,GAAG,OAAO,KAAK,qBAAqB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC;IAC1F,IAAM,iBAAiB,GAAG,sBAAsB,IAAI,sBAAsB,IAAI,CAAC,sBAAsB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,mBAAmB,KAAK,IAAI,CAAC,CAAC;IAC3K,IAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC;IACpE,IAAM,MAAM,GAA2C,QAAQ,CAAC,MAAM;QACrE,CAAC,CAAC,CAAC,qBAAqB,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC;QACrF,CAAC,CAAC,QAAQ,CAAC;IACZ,IAAM,iBAAiB,GAAG,CAAC,iBAAiB,IAAI,CAAC,UAAU,CAAC,mBAAmB,KAAK,IAAI,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,iBAAiB,MAAK,IAAI,CAAC,CAAC;IAChI,IAAM,UAAU,GAA6D,QAAQ,CAAC,IAAI,CAAC,UAAC,OAAO,IAAK,OAAA,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAA7B,CAA6B,CAAC;QACrI,CAAC,CAAC,6BAA6B;QAC/B,CAAC,CAAC,iBAAiB;YAClB,CAAC,CAAC,uBAAuB;YACzB,CAAC,CAAC,eAAe;gBAChB,CAAC,CAAC,oBAAoB;gBACtB,CAAC,CAAC,QAAQ,CAAC,MAAM;oBAChB,CAAC,CAAC,wBAAwB;oBAC1B,CAAC,CAAC,aAAa,CAAC;IACpB,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC;IAC3B,OAAO;QACN,KAAK,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC;QAC5B,MAAM,QAAA;QACN,OAAO,SAAA;QACP,QAAQ,UAAA;QACR,QAAQ,UAAA;QACR,iBAAiB,mBAAA;QACjB,iBAAiB,mBAAA;QACjB,eAAe,iBAAA;QACf,gBAAgB,kBAAA;QAChB,eAAe,iBAAA;QACf,UAAU,YAAA;QACV,iBAAiB,mBAAA;QACjB,MAAM,QAAA;QACN,UAAU,YAAA;KACV,CAAC;AACH,CAAC;AAED,SAAS,8BAA8B,CAAC,KAAkD;;IACzF,IAAM,MAAM,gBACR,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAC9B,CAAC;IACF,IAAM,YAAY,GAAG;QACpB,SAAS;QACT,QAAQ;QACR,QAAQ;QACR,SAAS;QACT,sBAAsB;QACtB,eAAe;QACf,sBAAsB;QACtB,qBAAqB;QACrB,gBAAgB;QAChB,iBAAiB;QACjB,iBAAiB;QACjB,gBAAgB;QAChB,mBAAmB;QACnB,cAAc;QACd,gBAAgB;QAChB,WAAW;QACX,mBAAmB;QACnB,gBAAgB;QAChB,0BAA0B;QAC1B,aAAa;QACb,sBAAsB;QACtB,kBAAkB;QAClB,2BAA2B;QAC3B,wBAAwB;QACxB,4BAA4B;QAC5B,gCAAgC;QAChC,iBAAiB;QACjB,iBAAiB;QACjB,iBAAiB;QACjB,eAAe;QACf,aAAa;QACb,mBAAmB;QACnB,2BAA2B;QAC3B,qBAAqB;QACrB,YAAY;KACZ,CAAC;;QACF,KAAoB,IAAA,iBAAA,SAAA,YAAY,CAAA,0CAAA,oEAAE,CAAC;YAA9B,IAAM,KAAK,yBAAA;YACf,IAAM,KAAK,GAAI,KAAa,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;gBAC1D,MAAc,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;YAChC,CAAC;QACF,CAAC;;;;;;;;;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAS,mCAAmC,CAC3C,OAA6C;IAE7C,IAAM,MAAM,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,IAAI,0BAA0B,CAAC,OAAO,CAAC,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,eAAe,CAAC,CAAC;IACvF,CAAC;IACD,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,aAAa,EAAE,aAAa,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;IACpJ,CAAC;SACI,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,eAAe,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,aAAa,CAAC,CAAC;IACrI,CAAC;SACI,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,sBAAsB,EAAE,mBAAmB,CAAC,CAAC;IAC9E,CAAC;SACI,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,mBAAmB,CAAC,CAAC;IACxE,CAAC;SACI,IAAI,OAAO,KAAK,oBAAoB,EAAE,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,2BAA2B,EAAE,wCAAwC,CAAC,CAAC;IACvG,CAAC;SACI,IAAI,OAAO,KAAK,iBAAiB,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;IACpG,CAAC;SACI,IAAI,OAAO,KAAK,kBAAkB,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,mBAAmB,CAAC,CAAC;IAChE,CAAC;SACI,IAAI,OAAO,KAAK,qBAAqB,EAAE,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,gCAAgC,EAAE,mBAAmB,CAAC,CAAC;IAClG,CAAC;SACI,IAAI,OAAO,KAAK,gBAAgB,EAAE,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IAC3C,CAAC;SACI,IAAI,OAAO,KAAK,qBAAqB,EAAE,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,2BAA2B,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,0BAA0B,CAClC,QAAsD,EACtD,KAAa;IAEb,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,OAAO,KAAK,CAAC;IACd,CAAC;IACD,IAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;IACrC,QAAQ,KAAK,EAAE,CAAC;QACf,KAAK,SAAS;YACb,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC3B,KAAK,iBAAiB;YACrB,OAAO,kBAAkB,CAAC,QAAQ,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;QAC3D,KAAK,iBAAiB;YACrB,OAAO,CAAC,CAAC,sBAAsB,CAAC,QAAQ,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;QACjE,KAAK,iBAAiB;YACrB,OAAO,kBAAkB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QACrD,KAAK,eAAe;YACnB,OAAO,kBAAkB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACnD,KAAK,sBAAsB;YAC1B,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;QACxD,KAAK,eAAe;YACnB,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QACjD,KAAK,qBAAqB;YACzB,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,IAAI,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QAClF,KAAK,iBAAiB;YACrB,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,IAAI,QAAQ,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;QACvF,KAAK,wBAAwB;YAC5B,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,sBAAsB,IAAI,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QACvF,KAAK,mBAAmB;YACvB,OAAO,kBAAkB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QACvD,KAAK,gBAAgB;YACpB,OAAO,kBAAkB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACpD,KAAK,mBAAmB;YACvB,OAAO,kBAAkB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QACvD,KAAK,wCAAwC;YAC5C,OAAO,kBAAkB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,kBAAkB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QACzG,KAAK,gBAAgB;YACpB,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QACnD,KAAK,0BAA0B;YAC9B,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;QAC5D,KAAK,aAAa;YACjB,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAChD,KAAK,sBAAsB;YAC1B,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;QACzD,KAAK,kBAAkB;YACtB,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;QACrD,KAAK,2BAA2B;YAC/B,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAC;QAC9D,KAAK,4BAA4B;YAChC,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAC;QAC9D,KAAK,gCAAgC;YACpC,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAC;QAClE,KAAK,mBAAmB;YACvB,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QACtD,KAAK,2BAA2B;YAC/B,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAC;QAC9D,KAAK,aAAa;YACjB,OAAO,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACtC,KAAK,aAAa;YACjB,OAAO,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACtC,KAAK,eAAe;YACnB,OAAO,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACxC,KAAK,uBAAuB;YAC3B,OAAO,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QAChD,KAAK,kBAAkB;YACtB,OAAO,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAC3C,KAAK,gBAAgB;YACpB,OAAO,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACzC,KAAK,iBAAiB;YACrB,OAAO,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC1C,KAAK,oBAAoB;YACxB,OAAO,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QAC7C;YACC,OAAO,KAAK,CAAC;IACf,CAAC;AACF,CAAC;AAED,SAAgB,2CAA2C,CAC1D,KAAuD;;IAAvD,sBAAA,EAAA,UAAuD;IAEvD,IAAM,MAAM,GAAG,8BAA8B,CAAC,KAAK,CAAC,CAAC;IACrD,IAAM,UAAU,GAAG,yCAAyC,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACnF,IAAM,UAAU,GAAG,wCAAwC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9F,IAAM,OAAO,GAAG,UAAU,CAAC,OAAO,KAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,CAAA,KAAI,MAAA,MAAA,KAAK,CAAC,MAAM,0CAAE,UAAU,0CAAE,kBAAkB,CAAA,IAAI,EAAE,CAAC;IAChH,IAAM,cAAc,GAAG,mCAAmC,CAAC,OAAO,CAAC,CAAC;IACpE,IAAM,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,CAAC,0BAA0B,CAAC,UAAU,EAAE,KAAK,CAAC,EAA9C,CAA8C,CAAC,CAAC;IACvG,IAAM,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,KAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,UAAU,CAAA,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;IACtF,IAAM,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,IAAI,wCAAwC,CAAC,UAAU,IAAI,MAAM,EAAE,OAAO,CAAC,CAAC;IAClI,IAAM,mBAAmB,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,qBAA8B,CAAC,CAAC,CAAC,cAAuB,CAAC;IAClH,IAAM,4BAA4B,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3G,IAAM,4BAA4B,GAAG,iBAAiB,CAAC,QAAQ,KAAK,IAAI,IAAI,4BAA4B,KAAK,IAAI,CAAC;IAClH,IAAM,iBAAiB,GAAG,UAAU,CAAC,KAAK,KAAK,IAAI,IAAI,UAAU,CAAC,eAAe,KAAK,IAAI,IAAI,4BAA4B,KAAK,IAAI,CAAC;IACpI,IAAM,oBAAoB,GAAG,UAAU,CAAC,KAAK,KAAK,IAAI,IAAI,UAAU,CAAC,eAAe,KAAK,IAAI,IAAI,kBAAkB,CAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,iBAAiB,CAAC,CAAC;IACnJ,OAAO;QACN,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,iBAAU,oCAAoC,CAAC,UAAG,OAAO,cAAI,iBAAiB,CAAC,eAAe,cAAI,UAAU,CAAE,CAAC,CAAE;QAC7J,UAAU,YAAA;QACV,UAAU,EAAE,SAAS,CAAC,KAAK,CAAC,UAAU,IAAI,SAAS,EAAE,GAAG,CAAC;QACzD,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,IAAI,SAAS,EAAE,EAAE,CAAC;QAChD,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC;QACrC,OAAO,SAAA;QACP,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,UAAU,EAAE,UAAU,CAAC,UAAU;QACjC,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,eAAe,EAAE,UAAU,CAAC,eAAe;QAC3C,iBAAiB,EAAE,UAAU,CAAC,iBAAiB;QAC/C,iBAAiB,EAAE,UAAU,CAAC,iBAAiB;QAC/C,cAAc,gBAAA;QACd,aAAa,eAAA;QACb,QAAQ,EAAE,UAAU;QACpB,UAAU,YAAA;QACV,eAAe,EAAE,iBAAiB,CAAC,eAAe;QAClD,eAAe,EAAE,iBAAiB,CAAC,eAAe;QAClD,eAAe,EAAE,iBAAiB,CAAC,eAAe;QAClD,aAAa,EAAE,iBAAiB,CAAC,aAAa;QAC9C,oBAAoB,EAAE,iBAAiB,CAAC,QAAQ;QAChD,uBAAuB,EAAE,iBAAiB,CAAC,MAAM;QACjD,iBAAiB,EAAE,iBAAiB,CAAC,MAAM;QAC3C,mBAAmB,qBAAA;QACnB,qBAAqB,EAAE,mBAAmB;QAC1C,4BAA4B,8BAAA;QAC5B,+BAA+B,EAAE,4BAA4B;QAC7D,4BAA4B,8BAAA;QAC5B,gCAAgC,EAAE,4BAA4B;QAC9D,iBAAiB,mBAAA;QACjB,mBAAmB,EAAE,iBAAiB;QACtC,6BAA6B,EAAE,iBAAiB,CAAC,6BAA6B;QAC9E,iBAAiB,mBAAA;QACjB,mBAAmB,EAAE,UAAU,CAAC,KAAK,KAAK,IAAI,IAAI,UAAU,CAAC,UAAU,KAAK,oBAAoB;QAChG,oBAAoB,sBAAA;QACpB,0BAA0B,EAAE,oBAAoB;QAChD,4BAA4B,EAAE,oBAAoB;KAClD,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAc,EAAE,IAAc,EAAE,GAAS,EAAE,IAA4B;;IAAvC,oBAAA,EAAA,SAAS;IAAE,qBAAA,EAAA,WAAW,OAAO,EAAU;;QACnG,KAAqB,IAAA,YAAA,SAAA,OAAO,CAAA,gCAAA,qDAAE,CAAC;YAA1B,IAAM,MAAM,oBAAA;YAChB,IAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACrD,SAAS;YACV,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;;gBACjB,KAAkB,IAAA,wBAAA,SAAA,IAAI,CAAA,CAAA,0BAAA,4CAAE,CAAC;oBAApB,IAAM,GAAG,iBAAA;oBACb,IAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;oBAC1C,IAAI,KAAK,EAAE,CAAC;wBACX,OAAO,KAAK,CAAC;oBACd,CAAC;gBACF,CAAC;;;;;;;;;;gBACD,KAAwB,IAAA,oBAAA,SAAA,CAAC,UAAU,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,qBAAqB,CAAC,CAAA,CAAA,gBAAA,4BAAE,CAAC;oBAA3M,IAAM,SAAS,WAAA;oBACnB,IAAM,WAAW,GAAG,mBAAmB,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;oBAC9E,IAAI,WAAW,EAAE,CAAC;wBACjB,OAAO,WAAW,CAAC;oBACpB,CAAC;gBACF,CAAC;;;;;;;;;QACF,CAAC;;;;;;;;;IACD,OAAO,EAAE,CAAC;AACX,CAAC;AAED,SAAS,4BAA4B,CAAC,QAAoD;IACzF,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACX,CAAC;IACD,OAAO;QACN,qCAAqC;QACrC,yBAAkB,QAAQ,CAAC,UAAU,CAAE;QACvC,4DAAqD,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAE;QAC3G,wCAAiC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAE;QAC5E,QAAQ,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC,yCAAkC,QAAQ,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAE,CAAC,CAAC,CAAC,EAAE;QAChI,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,kCAA2B,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAE,CAAC,CAAC,CAAC,EAAE;QAC/F,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,sCAA+B,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAE,CAAC,CAAC,CAAC,EAAE;QACzG,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,8BAAuB,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAE,CAAC,CAAC,CAAC,EAAE;QACpG,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,+BAAwB,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAE,CAAC,CAAC,CAAC,EAAE;QACvG,2FAA2F;QAC3F,uMAAuM;KACvM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED,SAAgB,+CAA+C,CAC9D,KAA2D;;IAA3D,sBAAA,EAAA,UAA2D;IAE3D,IAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC7C,IAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,cAAc,IAAI,QAAQ,CAAC,eAAe,IAAI,QAAQ,CAAC;IACzK,IAAM,UAAU,GAAG,wCAAwC,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAChG,IAAM,YAAY,GAAG,KAAK,CAAC,YAAY,IAAI,SAAS,CAAC;IACrD,IAAM,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,IAAI,wCAAwC,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IACjI,IAAM,OAAO,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAG,YAAoB,aAApB,YAAY,uBAAZ,YAAY,CAAU,iBAAiB,EAAG,YAAoB,aAApB,YAAY,uBAAZ,YAAY,CAAU,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;IAC5J,IAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,cAAc,IAAI,QAAQ,CAAC,eAAe,IAAI,oBAAoB,EAAE,GAAG,CAAC,CAAC;IAC9I,IAAM,oBAAoB,GAAG,sDAAsD,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjG,IAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,KAAK,IAAI;WACvC,oBAAoB;WACpB,iBAAiB,CAAC,QAAQ,KAAK,IAAI;WACnC,CAAA,MAAA,UAAU,CAAC,iBAAiB,0CAAE,QAAQ,MAAK,IAAI;WAC/C,CAAA,MAAC,YAAoB,aAApB,YAAY,uBAAZ,YAAY,CAAU,iBAAiB,0CAAE,QAAQ,MAAK,IAAI;WAC3D,CAAA,MAAC,YAAoB,aAApB,YAAY,uBAAZ,YAAY,CAAU,mBAAmB,0CAAE,QAAQ,MAAK,IAAI;WAC7D,CAAA,MAAA,KAAK,CAAC,MAAM,0CAAE,eAAe,MAAK,IAAI,CAAC;IAC3C,IAAM,eAAe,GAAG,iBAAiB,CAAC,eAAe,IAAI,mBAAmB,CAAC,OAAO,EAAE,CAAC,iBAAiB,EAAE,mBAAmB,EAAE,WAAW,EAAE,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC;IACpK,IAAM,eAAe,GAAG,iBAAiB,CAAC,eAAe,IAAI,mBAAmB,CAAC,OAAO,EAAE,CAAC,iBAAiB,EAAE,mBAAmB,EAAE,WAAW,EAAE,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC;IACpK,IAAM,eAAe,GAAG,iBAAiB,CAAC,eAAe,IAAI,mBAAmB,CAAC,OAAO,EAAE,CAAC,iBAAiB,EAAE,mBAAmB,EAAE,cAAc,EAAE,eAAe,CAAC,EAAE,GAAG,CAAC,CAAC;IAC1K,IAAM,aAAa,GAAG,iBAAiB,CAAC,aAAa,IAAI,mBAAmB,CAAC,OAAO,EAAE,CAAC,eAAe,EAAE,iBAAiB,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,GAAG,CAAC,CAAC;IAC9J,IAAM,YAAY,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC;IACzD,IAAM,UAAU,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC;IACrD,IAAM,eAAe,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC;IAC5D,IAAM,YAAY,GAAG,sBAAsB,CAAC,eAAe,CAAC,CAAC;IAC7D,IAAM,eAAe,GAAG,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,eAAe,IAAI,YAAY,KAAK,eAAe,CAAC,WAAW,EAAE,CAAC,CAAC;IAC/G,IAAM,2BAA2B,GAAG,SAAS,CAAC,QAAQ,CAAC,wBAAwB,IAAI,QAAQ,CAAC,2BAA2B,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAClI,IAAM,2BAA2B,GAAG,iBAAiB,CAAC,QAAQ,KAAK,IAAI;WACnE,QAAQ,CAAC,kBAAkB,KAAK,qBAAqB;WACrD,QAAQ,CAAC,mBAAmB,KAAK,qBAAqB;WACtD,QAAQ,CAAC,2BAA2B,KAAK,IAAI;WAC7C,QAAQ,CAAC,8BAA8B,KAAK,IAAI;WAChD,2BAA2B,CAAC,IAAI,CAAC,UAAC,KAAK,IAAK,OAAA,gEAAgE,CAAC,IAAI,CAAC,KAAK,CAAC,EAA5E,CAA4E,CAAC,CAAC;IAC9H,IAAM,kBAAkB,GAAG,2BAA2B,CAAC,CAAC,CAAC,qBAA8B,CAAC,CAAC,CAAC,cAAuB,CAAC;IAClH,IAAM,wBAAwB,GAAG;QAChC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB;QACxC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB;QACxC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,wBAAwB;QAC5C,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,sBAAsB;KACxC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClB,IAAM,iBAAiB,GAAG,QAAQ,CAAC,CAAC,CAAC,wBAAwB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,KAAK,IAAI,CAAC;IAC/G,IAAM,4BAA4B,GAAG,2BAA2B,CAAC,CAAC,CAAC,iBAAiB,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACrG,IAAM,4BAA4B,GAAG,QAAQ,IAAI,iBAAiB,KAAK,IAAI,CAAC;IAC5E,IAAM,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,KAAK,IAAI;WACtD,kBAAkB,CAAC,MAAA,UAAU,CAAC,UAAU,0CAAE,iBAAiB,CAAC;WAC5D,CAAC,YAAoB,aAApB,YAAY,uBAAZ,YAAY,CAAU,cAAc,MAAK,IAAI,CAAC;IACnD,IAAM,qBAAqB,GAAG,QAAQ,IAAI,CAAC,QAAQ,CAAC,qBAAqB,KAAK,IAAI,IAAI,QAAQ,CAAC,wBAAwB,KAAK,IAAI,IAAI,oBAAoB,IAAI,CAAC,YAAoB,aAApB,YAAY,uBAAZ,YAAY,CAAU,MAAM,MAAK,wBAAwB,CAAC,CAAC;IACxN,IAAM,gBAAgB,GAAG,QAAQ,IAAI,iBAAiB,KAAK,IAAI,IAAI,qBAAqB,KAAK,IAAI,CAAC;IAClG,IAAM,iBAAiB,GAAG,QAAQ,IAAI,4BAA4B,KAAK,IAAI,IAAI,qBAAqB,KAAK,IAAI,CAAC;IAC9G,IAAM,0BAA0B,GAAG,QAAQ;QAC1C,CAAC,CAAC,4BAA4B,KAAK,IAAI,IAAI,UAAU,CAAC,KAAK,KAAK,IAAI,IAAI,iBAAiB,KAAK,IAAI;QAClG,CAAC,CAAC,IAAI,CAAC;IACR,IAAI,MAAM,GAA6C,cAAc,CAAC;IACtE,IAAI,QAAQ,IAAI,4BAA4B,EAAE,CAAC;QAC9C,MAAM,GAAG,0BAA0B,CAAC;IACrC,CAAC;SACI,IAAI,QAAQ,IAAI,UAAU,CAAC,KAAK,IAAI,iBAAiB,EAAE,CAAC;QAC5D,MAAM,GAAG,wBAAwB,CAAC;IACnC,CAAC;SACI,IAAI,QAAQ,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACvC,MAAM,GAAG,wBAAwB,CAAC;IACnC,CAAC;SACI,IAAI,QAAQ,EAAE,CAAC;QACnB,MAAM,GAAG,uBAAuB,CAAC;IAClC,CAAC;IACD,IAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,WAAW,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC;QAC5G,yCAAyC;QACzC,kCAAkC;QAClC,wBAAwB;QACxB,8CAA8C;QAC9C,8BAA8B;QAC9B,6BAA6B;KAC7B,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClB,IAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,IAAI,QAAQ,CAAC,eAAe,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC;QACxH,iBAAiB;QACjB,iBAAiB;QACjB,wBAAwB;QACxB,sBAAsB;QACtB,iBAAiB;QACjB,2BAA2B;QAC3B,mBAAmB;KACnB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClB,IAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,IAAI,QAAQ,CAAC,iBAAiB,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE,UAAU,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACjM,IAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,IAAI,QAAQ,CAAC,gBAAgB,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC;QAC3H,sDAAsD;QACtD,+DAA+D;QAC/D,sEAAsE;QACtE,yEAAyE;KACzE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClB,IAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,IAAI,QAAQ,CAAC,iBAAiB,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC;QAC9H,gJAAgJ;QAChJ,gFAAgF;QAChF,6EAA6E;KAC7E,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClB,IAAM,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;IACrD,IAAM,SAAS,GAAG,eAAe,CAAC,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC;IACpF,IAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,YAAoB,aAApB,YAAY,uBAAZ,YAAY,CAAU,MAAM,CAAA,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IACnI,IAAM,UAAU,GAAG,SAAS,CAAC,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC;WAC1E,4BAAqB,oCAAoC,CAAC;YAC5D,MAAM;YACN,MAAM;YACN,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;YACpB,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;SACtB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAE,CAAC;IAC9B,IAAM,cAAc,GAAG,CAAC,QAAQ;QAC/B,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,4BAA4B;YAC7B,CAAC,CAAC,kCAAkC;YACpC,CAAC,CAAC,UAAU,CAAC,KAAK;gBACjB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,6BAA6B,CAAC;gBACjF,CAAC,CAAC,8CAA8C,CAAC;IACpD,IAAM,iBAAiB,GAAG;QACzB,QAAQ,UAAA;QACR,kBAAkB,EAAE,4BAA4B;QAChD,MAAM,EAAE,iBAAiB;QACzB,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QAChD,eAAe,iBAAA;QACf,eAAe,iBAAA;QACf,eAAe,iBAAA;QACf,aAAa,eAAA;QACb,aAAa,EAAE,wBAAwB;QACvC,eAAe,EAAE,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,sBAAsB,CAAC;QACzG,WAAW,EAAE,4BAA4B,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,wBAAwB;KACzG,CAAC;IACF,IAAM,QAAQ,GAAG;QAChB,UAAU,YAAA;QACV,WAAW,EAAE,UAAU;QACvB,SAAS,WAAA;QACT,UAAU,EAAE,SAAS;QACrB,SAAS,EAAE,GAAG;QACd,UAAU,EAAE,GAAG;QACf,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,IAAI,8BAA8B,EAAE,GAAG,CAAC;QACzF,QAAQ,UAAA;QACR,MAAM,QAAA;QACN,MAAM,QAAA;QACN,MAAM,QAAA;QACN,qBAAqB,uBAAA;QACrB,wBAAwB,EAAE,qBAAqB;QAC/C,gBAAgB,kBAAA;QAChB,kBAAkB,EAAE,gBAAgB;QACpC,4BAA4B,8BAAA;QAC5B,gCAAgC,EAAE,4BAA4B;QAC9D,kBAAkB,oBAAA;QAClB,mBAAmB,EAAE,kBAAkB;QACvC,2BAA2B,6BAAA;QAC3B,8BAA8B,EAAE,2BAA2B;QAC3D,4BAA4B,8BAAA;QAC5B,+BAA+B,EAAE,4BAA4B;QAC7D,iBAAiB,mBAAA;QACjB,mBAAmB,EAAE,iBAAiB;QACtC,0BAA0B,4BAAA;QAC1B,4BAA4B,EAAE,0BAA0B;QACxD,iBAAiB,mBAAA;QACjB,mBAAmB,EAAE,iBAAiB;QACtC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,CAAC,QAAiB,CAAC,CAAC,CAAC,SAAkB;QAC7E,mBAAmB,EAAE,iBAAiB,CAAC,CAAC,CAAC,QAAiB,CAAC,CAAC,CAAC,SAAkB;QAC/E,eAAe,iBAAA;QACf,iBAAiB,EAAE,eAAe;QAClC,eAAe,iBAAA;QACf,iBAAiB,EAAE,eAAe;QAClC,eAAe,iBAAA;QACf,iBAAiB,EAAE,eAAe;QAClC,aAAa,eAAA;QACb,eAAe,EAAE,aAAa;QAC9B,wBAAwB,0BAAA;QACxB,2BAA2B,EAAE,wBAAwB;QACrD,cAAc,gBAAA;QACd,gBAAgB,EAAE,cAAc;QAChC,UAAU,YAAA;QACV,WAAW,EAAE,UAAU;QACvB,cAAc,gBAAA;QACd,eAAe,EAAE,cAAc;QAC/B,gBAAgB,kBAAA;QAChB,iBAAiB,EAAE,gBAAgB;QACnC,eAAe,iBAAA;QACf,gBAAgB,EAAE,eAAe;QACjC,gBAAgB,kBAAA;QAChB,iBAAiB,EAAE,gBAAgB;QACnC,iBAAiB,mBAAA;QACjB,mBAAmB,EAAE,iBAAiB;QACtC,iBAAiB,wBACb,iBAAiB,KACpB,QAAQ,UAAA,EACR,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,QAAiB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAkB,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAC1G,6BAA6B,EAAE,4BAA4B,EAC3D,eAAe,iBAAA,EACf,eAAe,iBAAA,EACf,eAAe,iBAAA,EACf,aAAa,eAAA,GACb;QACD,mBAAmB,wBACf,iBAAiB,KACpB,QAAQ,UAAA,EACR,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,QAAiB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAkB,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAC1G,6BAA6B,EAAE,4BAA4B,EAC3D,eAAe,iBAAA,EACf,eAAe,iBAAA,EACf,eAAe,iBAAA,EACf,aAAa,eAAA,GACb;QACD,UAAU,YAAA;QACV,YAAY,cAAA;QACZ,YAAY,EAAE,EAAE;QAChB,aAAa,EAAE,EAAE;KACjB,CAAC;IACF,QAAQ,CAAC,YAAY,GAAG,4BAA4B,CAAC,QAAQ,CAAC,CAAC;IAC/D,QAAQ,CAAC,aAAa,GAAG,QAAQ,CAAC,YAAY,CAAC;IAC/C,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED,SAAgB,0CAA0C,CACzD,KAAqD;;;IAArD,sBAAA,EAAA,UAAqD;IAErD,IAAM,UAAU,GAAG,wCAAwC,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACtG,IAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,IAAI,SAAS,CAAC;IACrE,IAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAI,MAAA,UAAU,CAAC,UAAU,0CAAE,yBAAyB,CAAA,EAAE,IAAI,CAAC,CAAC;IACzI,IAAM,kBAAkB,GAAG,oCAAoC,CAAC,WAAW,IAAI,UAAG,UAAU,CAAC,OAAO,cAAI,UAAU,CAAC,MAAM,cAAI,UAAU,CAAC,UAAU,CAAE,CAAC,CAAC;IACtJ,IAAM,YAAY,4BAAO,UAAU,CAAC,QAAQ,SAAC,CAAC;IAC9C,IAAM,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,IAAI,wCAAwC,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IACvI,IAAM,sBAAsB,GAAG,iBAAiB,CAAC,6BAA6B;WAC1E,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAC,OAAO,IAAK,OAAA,qFAAqF,CAAC,IAAI,CAAC,OAAO,CAAC,EAAnG,CAAmG,CAAC,CAAC;IAC/I,IAAM,eAAe,GAAG,KAAK,CAAC,eAAe,KAAK,IAAI,CAAC;IACvD,IAAM,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,KAAK,IAAI;WACtD,kBAAkB,CAAC,MAAA,UAAU,CAAC,UAAU,0CAAE,iBAAiB,CAAC,CAAC;IACjE,IAAI,MAAM,GAA+C,UAAU,CAAC,UAAU,CAAC;IAC/E,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,IAAI,gBAAgB,GAAG,UAAU,CAAC,iBAAiB,CAAC;IACpD,IAAI,sBAAsB,GAAG,KAAK,CAAC;IACnC,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAM,YAAY,GAAa,EAAE,CAAC;IAElC,IAAI,iBAAiB,CAAC,6BAA6B,EAAE,CAAC;QACrD,MAAM,GAAG,wBAAwB,CAAC;QAClC,MAAM,GAAG,iBAAiB,CAAC,QAAQ,CAAC,MAAM;YACzC,CAAC,CAAC,mFAA4E,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAE;YACrH,CAAC,CAAC,6KAA6K,CAAC;QACjL,YAAY,CAAC,IAAI,OAAjB,YAAY,yCAAS,iBAAiB,CAAC,YAAY,YAAE,iCAAiC,WAAE;;YACxF,KAAsB,IAAA,KAAA,SAAA,iBAAiB,CAAC,QAAQ,CAAA,gBAAA,4BAAE,CAAC;gBAA9C,IAAM,OAAO,WAAA;gBACjB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;oBACrC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC5B,CAAC;YACF,CAAC;;;;;;;;;IACF,CAAC;SACI,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,UAAU,CAAC,MAAM,KAAK,SAAS,IAAI,UAAU,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;QACrG,MAAM,GAAG,UAAU,CAAC,UAAU,KAAK,6BAA6B;YAC/D,CAAC,CAAC,6BAA6B;YAC/B,CAAC,CAAC,wBAAwB,CAAC;QAC5B,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM;YAClC,CAAC,CAAC,2CAAoC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAE;YACtE,CAAC,CAAC,yHAAyH,CAAC;QAC7H,IAAI,sBAAsB,EAAE,CAAC;YAC5B,YAAY,CAAC,IAAI,CAAC,kCAAkC,EAAE,0CAA0C,CAAC,CAAC;QACnG,CAAC;QACD,YAAY,CAAC,IAAI,CAAC,wBAAwB,EAAE,iCAAiC,CAAC,CAAC;IAChF,CAAC;SACI,IAAI,UAAU,CAAC,iBAAiB,EAAE,CAAC;QACvC,MAAM,GAAG,uBAAuB,CAAC;QACjC,gBAAgB,GAAG,IAAI,CAAC;QACxB,MAAM,GAAG,sJAAsJ,CAAC;QAChK,YAAY,CAAC,IAAI,CAAC,uBAAuB,EAAE,6CAA6C,EAAE,sBAAsB,CAAC,CAAC;IACnH,CAAC;SACI,IAAI,eAAe,EAAE,CAAC;QAC1B,MAAM,GAAG,aAAa,CAAC;QACvB,UAAU,GAAG,IAAI,CAAC;QAClB,MAAM,GAAG,kIAAkI,CAAC;QAC5I,YAAY,CAAC,IAAI,CAAC,kCAAkC,EAAE,0BAA0B,CAAC,CAAC;IACnF,CAAC;SACI,IAAI,UAAU,CAAC,eAAe,IAAI,iBAAiB,EAAE,CAAC;QAC1D,MAAM,GAAG,iBAAiB,CAAC;QAC3B,cAAc,GAAG,IAAI,CAAC;QACtB,MAAM,GAAG,sGAAsG,CAAC;QAChH,YAAY,CAAC,IAAI,CAAC,yBAAyB,EAAE,4BAA4B,CAAC,CAAC;IAC5E,CAAC;SACI,IAAI,UAAU,CAAC,eAAe,EAAE,CAAC;QACrC,MAAM,GAAG,oBAAoB,CAAC;QAC9B,sBAAsB,GAAG,IAAI,CAAC;QAC9B,MAAM,GAAG,uFAAuF,CAAC;QACjG,YAAY,CAAC,IAAI,CAAC,yBAAyB,EAAE,4BAA4B,CAAC,CAAC;IAC5E,CAAC;SACI,CAAC;QACL,MAAM,GAAG,aAAa,CAAC;QACvB,UAAU,GAAG,IAAI,CAAC;QAClB,MAAM,GAAG,4GAA4G,CAAC;QACtH,YAAY,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;QAC5D,YAAY,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IACvD,CAAC;IAED,OAAO;QACN,MAAM,QAAA;QACN,cAAc,gBAAA;QACd,gBAAgB,kBAAA;QAChB,sBAAsB,wBAAA;QACtB,UAAU,YAAA;QACV,MAAM,QAAA;QACN,QAAQ,EAAE,YAAY;QACrB,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;QAC7C,eAAe,EAAE,UAAU,CAAC,eAAe;QAC3C,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;QAC/C,YAAY,cAAA;QACZ,kBAAkB,oBAAA;QAClB,iBAAiB,mBAAA;QACjB,UAAU,YAAA;QACV,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;KAC7B,CAAC;AACJ,CAAC;AAED,SAAgB,yCAAyC,CACxD,KAAqD;IAArD,sBAAA,EAAA,UAAqD;IAErD,IAAM,UAAU,GAAG,yCAAyC,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3F,IAAM,UAAU,GAAG,wCAAwC,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACtG,IAAM,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,IAAI,wCAAwC,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IACvI,IAAM,MAAM,GAAG,CAAC,CAAC,UAAU,IAAI,iBAAiB,CAAC,QAAQ,KAAK,IAAI,CAAC;IACnE,IAAM,oBAAoB,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAC,OAAO,IAAK,OAAA,qFAAqF,CAAC,IAAI,CAAC,OAAO,CAAC,EAAnG,CAAmG,CAAC,CAAC;IAC1K,IAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,wCAC/B,CAAC,iBAAiB,CAAC,QAAQ,IAAI,EAAE,CAAC,kBAClC,oBAAoB,UACtB,CAAC,CAAC;IACJ,IAAM,OAAO,GAAG,MAAM,IAAI,CACzB,iBAAiB,CAAC,6BAA6B,KAAK,IAAI;WACrD,CAAC,iBAAiB,CAAC,QAAQ,KAAK,IAAI,IAAI,iBAAiB,CAAC,MAAM,KAAK,IAAI,CAAC;WAC1E,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAClC,CAAC;IACF,IAAM,YAAY,GAAG,OAAO;QAC3B,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,wCAChB,CAAC,iBAAiB,CAAC,YAAY,IAAI,EAAE,CAAC;YACzC,kCAAkC;YAClC,0CAA0C;YAC1C,wBAAwB;kBACvB,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;IACN,OAAO;QACN,MAAM,QAAA;QACN,OAAO,SAAA;QACP,MAAM,EAAE,OAAO;YACd,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM;gBACjB,CAAC,CAAC,gFAAyE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAE;gBAChG,CAAC,CAAC,6KAA6K,CAAC;YACjL,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,yCAAyC,CAAC,CAAC,CAAC,mCAAmC,CAAC;QAC7F,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,UAAU;QAC3D,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,iBAAiB,CAAC,OAAO,IAAI,EAAE;QAC9D,QAAQ,UAAA;QACR,YAAY,cAAA;QACZ,gBAAgB,EAAE,iBAAiB,CAAC,gBAAgB;QACpD,iBAAiB,mBAAA;QACjB,UAAU,YAAA;KACV,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAa;IAC5C,OAAO,oFAAoF,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACzG,CAAC;AAED,SAAS,6BAA6B,CAAC,KAAa;IACnD,OAAO,yHAAyH,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9I,CAAC;AAED,SAAS,0BAA0B,CAAC,MAAkD;IACrF,IAAI,MAAM,KAAK,wBAAwB,EAAE,CAAC;QACzC,OAAO,CAAC,gCAAgC,EAAE,4BAA4B,EAAE,0BAA0B,CAAC,CAAC;IACrG,CAAC;IACD,IAAI,MAAM,KAAK,wBAAwB,EAAE,CAAC;QACzC,OAAO,CAAC,kCAAkC,EAAE,yBAAyB,EAAE,kCAAkC,CAAC,CAAC;IAC5G,CAAC;IACD,IAAI,MAAM,KAAK,yBAAyB,EAAE,CAAC;QAC1C,OAAO,CAAC,mCAAmC,EAAE,yBAAyB,EAAE,mCAAmC,CAAC,CAAC;IAC9G,CAAC;IACD,IAAI,MAAM,KAAK,qBAAqB,EAAE,CAAC;QACtC,OAAO,CAAC,4BAA4B,EAAE,gCAAgC,EAAE,8BAA8B,CAAC,CAAC;IACzG,CAAC;IACD,IAAI,MAAM,KAAK,wCAAwC,EAAE,CAAC;QACzD,OAAO,CAAC,iCAAiC,EAAE,uBAAuB,EAAE,gCAAgC,CAAC,CAAC;IACvG,CAAC;IACD,IAAI,MAAM,KAAK,sBAAsB,EAAE,CAAC;QACvC,OAAO,CAAC,gCAAgC,EAAE,6BAA6B,EAAE,uBAAuB,CAAC,CAAC;IACnG,CAAC;IACD,OAAO,CAAC,wCAAwC,EAAE,gCAAgC,EAAE,yBAAyB,CAAC,CAAC;AAChH,CAAC;AAED,SAAS,UAAU,CAClB,EAAU,EACV,KAAa,EACb,OAAwC,EACxC,OAMM;IANN,wBAAA,EAAA,YAMM;IAEN,OAAO;QACN,EAAE,IAAA;QACF,KAAK,OAAA;QACL,OAAO,SAAA;QACP,aAAa,EAAE,OAAO,CAAC,aAAa,KAAK,IAAI;QAC7C,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,KAAK,IAAI;QACvD,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,EAAE;QAChD,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,EAAE;QAC9C,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE;KAClC,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B,CAAC,KAKpC;IACA,IAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,IAAI,QAAQ,EAAE,EAAE,CAAC;SACtD,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC;IACtC,IAAM,gBAAgB,GAAG;QACxB,8CAA8C;QAC9C,qDAAqD;QACrD,2DAA2D;KAC3D,CAAC;IACF,IAAI,KAAK,CAAC,MAAM,KAAK,wBAAwB,EAAE,CAAC;QAC/C,OAAO;YACN,MAAM,EAAE,UAAG,OAAO,4BAAyB;YAC3C,KAAK,EAAE,wBAAwB;YAC/B,kBAAkB,EAAE,kBAAkB;YACtC,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,iBAAiB,EAAE,IAAI;YACvB,KAAK,EAAE;gBACN,UAAU,CAAC,2BAA2B,EAAE,2BAA2B,EAAE,kBAAkB,EAAE;oBACxF,aAAa,EAAE,IAAI;oBACnB,gBAAgB,EAAE,CAAC,0CAA0C,CAAC;oBAC9D,eAAe,EAAE,CAAC,iDAAiD,CAAC;iBACpE,CAAC;aACF;YACD,kBAAkB,EAAE,gBAAgB;YACpC,kBAAkB,EAAE,CAAC,+BAA+B,EAAE,2CAA2C,CAAC;SAClG,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,wCAAwC,EAAE,CAAC;QAC/D,OAAO;YACN,MAAM,EAAE,UAAG,OAAO,4CAAyC;YAC3D,KAAK,EAAE,wCAAwC;YAC/C,kBAAkB,EAAE,qBAAqB;YACzC,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,iBAAiB,EAAE,KAAK;YACxB,KAAK,EAAE;gBACN,UAAU,CAAC,iCAAiC,EAAE,iCAAiC,EAAE,qBAAqB,EAAE;oBACvG,aAAa,EAAE,IAAI;oBACnB,kBAAkB,EAAE,IAAI;oBACxB,gBAAgB,EAAE,CAAC,qEAAqE,CAAC;oBACzF,eAAe,EAAE,CAAC,sCAAsC,CAAC;iBACzD,CAAC;aACF;YACD,kBAAkB,EAAE;gBACnB,mCAAmC;gBACnC,wCAAwC;gBACxC,gCAAgC;aAChC;YACD,kBAAkB,EAAE,CAAC,0CAA0C,EAAE,oBAAoB,CAAC;SACtF,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,sBAAsB,EAAE,CAAC;QAC7C,OAAO;YACN,MAAM,EAAE,UAAG,OAAO,0BAAuB;YACzC,KAAK,EAAE,sBAAsB;YAC7B,kBAAkB,EAAE,gBAAgB;YACpC,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,iBAAiB,EAAE,IAAI;YACvB,KAAK,EAAE;gBACN,UAAU,CAAC,+BAA+B,EAAE,mCAAmC,EAAE,gBAAgB,EAAE;oBAClG,aAAa,EAAE,KAAK;oBACpB,gBAAgB,EAAE,CAAC,8BAA8B,EAAE,kCAAkC,CAAC;oBACtF,eAAe,EAAE,CAAC,iDAAiD,CAAC;iBACpE,CAAC;aACF;YACD,kBAAkB,EAAE,CAAC,6BAA6B,EAAE,sCAAsC,CAAC;YAC3F,kBAAkB,EAAE,CAAC,yCAAyC,EAAE,iCAAiC,CAAC;SAClG,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,qBAAqB,EAAE,CAAC;QAC5C,OAAO;YACN,MAAM,EAAE,UAAG,OAAO,yBAAsB;YACxC,KAAK,EAAE,qBAAqB;YAC5B,kBAAkB,EAAE,qBAAqB;YACzC,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,iBAAiB,EAAE,KAAK;YACxB,KAAK,EAAE;gBACN,UAAU,CAAC,4BAA4B,EAAE,4BAA4B,EAAE,qBAAqB,EAAE;oBAC7F,gBAAgB,EAAE,CAAC,8BAA8B,EAAE,+CAA+C,CAAC;oBACnG,eAAe,EAAE,CAAC,oDAAoD,CAAC;iBACvE,CAAC;aACF;YACD,kBAAkB,EAAE,CAAC,gCAAgC,EAAE,8CAA8C,CAAC;YACtG,kBAAkB,EAAE,CAAC,8BAA8B,EAAE,+BAA+B,CAAC;SACrF,CAAC;IACH,CAAC;IACD,OAAO;QACN,MAAM,EAAE,UAAG,OAAO,cAAI,KAAK,CAAC,MAAM,CAAE;QACpC,KAAK,EAAE,KAAK,CAAC,MAAM,KAAK,wBAAwB;YAC/C,CAAC,CAAC,wBAAwB;YAC1B,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,yBAAyB;gBAC3C,CAAC,CAAC,yBAAyB;gBAC3B,CAAC,CAAC,yBAAyB;QAC7B,kBAAkB,EAAE,KAAK,CAAC,MAAM,KAAK,yBAAyB;YAC7D,CAAC,CAAC,kBAAkB;YACpB,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,WAAW;QAC1D,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,iBAAiB,EAAE,IAAI;QACvB,KAAK,EAAE;YACN,UAAU,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,WAAW,EAAE;gBAC/D,aAAa,EAAE,IAAI;gBACnB,gBAAgB,EAAE,CAAC,oFAAoF,EAAE,iBAAiB,EAAE,8CAA8C,EAAE,uCAAuC,CAAC;gBACpN,eAAe,EAAE,CAAC,8BAA8B,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,+CAA+C,CAAC;aACpJ,CAAC;YACF,UAAU,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,YAAY,EAAE;gBAClE,gBAAgB,EAAE,CAAC,oFAAoF,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,sCAAsC,CAAC;gBACpM,eAAe,EAAE,CAAC,8BAA8B,EAAE,sBAAsB,EAAE,4CAA4C,EAAE,kBAAkB,CAAC;aAC3I,CAAC;YACF,UAAU,CAAC,2BAA2B,EAAE,wCAAwC,EAAE,QAAQ,EAAE;gBAC3F,aAAa,EAAE,IAAI;gBACnB,gBAAgB,EAAE,CAAC,oFAAoF,EAAE,6CAA6C,EAAE,iCAAiC,CAAC;gBAC1L,eAAe,EAAE,CAAC,8BAA8B,EAAE,2BAA2B,EAAE,6CAA6C,CAAC;aAC7H,CAAC;SACF;QACD,kBAAkB,EAAE,gBAAgB;QACpC,kBAAkB,EAAE;YACnB,0EAA0E;YAC1E,qDAAqD;YACrD,oEAAoE;YACpE,4CAA4C;SAC5C;KACD,CAAC;AACH,CAAC;AAED,SAAgB,+CAA+C,CAC9D,KAA2D;IAA3D,sBAAA,EAAA,UAA2D;IAE3D,IAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,IAAI,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC1D,IAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;IACxD,IAAM,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IAC1D,IAAM,gBAAgB,GAAG,SAAS,CAAC,KAAK,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;IAChE,IAAM,iBAAiB,GAAG,SAAS,CAAC,KAAK,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;IAClE,IAAM,qBAAqB,GAAG,SAAS,CAAC,KAAK,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;IAC1E,IAAM,kBAAkB,GAAG,SAAS,CAAC,KAAK,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;IACpE,IAAM,sBAAsB,GAAG,SAAS,CAAC,KAAK,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;IAC5E,IAAM,sBAAsB,GAAG,CAAC,CAAC,iBAAiB,IAAI,CAAC,CAAC,qBAAqB,IAAI,iBAAiB,KAAK,qBAAqB,CAAC;IAC7H,IAAM,6BAA6B,GAAG,CAAC,CAAC,kBAAkB,IAAI,CAAC,CAAC,sBAAsB,IAAI,kBAAkB,KAAK,sBAAsB,CAAC;IACxI,IAAM,cAAc,GAAG,CAAC,YAAY,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACpG,IAAM,sBAAsB,GAAG,sBAAsB;WACjD,KAAK,CAAC,WAAW,KAAK,IAAI;WAC1B,6BAA6B,CAAC,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3F,IAAM,uBAAuB,GAAG,6BAA6B;WACzD,KAAK,CAAC,YAAY,KAAK,IAAI;WAC3B,sBAAsB,CAAC,aAAa,CAAC;WACrC,6BAA6B,CAAC,aAAa,CAAC,CAAC;IACjD,IAAI,iBAAiB,GAA+C,yBAAyB,CAAC;IAC9F,IAAI,KAAK,GAAG,yBAAyB,CAAC;IACtC,IAAI,MAAM,GAAG,sIAAsI,CAAC;IACpJ,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B,IAAI,KAAK,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;QACjC,iBAAiB,GAAG,wBAAwB,CAAC;QAC7C,KAAK,GAAG,wBAAwB,CAAC;QACjC,MAAM,GAAG,kGAAkG,CAAC;IAC7G,CAAC;SACI,IAAI,sBAAsB,EAAE,CAAC;QACjC,iBAAiB,GAAG,wBAAwB,CAAC;QAC7C,KAAK,GAAG,wBAAwB,CAAC;QACjC,MAAM,GAAG,iIAAiI,CAAC;IAC5I,CAAC;SACI,IAAI,uBAAuB,EAAE,CAAC;QAClC,iBAAiB,GAAG,yBAAyB,CAAC;QAC9C,KAAK,GAAG,yBAAyB,CAAC;QAClC,MAAM,GAAG,2JAA2J,CAAC;IACtK,CAAC;SACI,IAAI,CAAC,sBAAsB,IAAI,KAAK,CAAC,WAAW,KAAK,IAAI,CAAC,IAAI,CAAC,6BAA6B,IAAI,KAAK,CAAC,YAAY,KAAK,IAAI,CAAC,EAAE,CAAC;QACnI,iBAAiB,GAAG,qBAAqB,CAAC;QAC1C,KAAK,GAAG,qBAAqB,CAAC;QAC9B,MAAM,GAAG,KAAK,CAAC,YAAY,KAAK,IAAI;YACnC,CAAC,CAAC,kIAAkI;YACpI,CAAC,CAAC,yHAAyH,CAAC;QAC7H,iBAAiB,GAAG,IAAI,CAAC;IAC1B,CAAC;SACI,IAAI,KAAK,CAAC,cAAc,KAAK,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5D,iBAAiB,GAAG,sBAAsB,CAAC;QAC3C,KAAK,GAAG,sBAAsB,CAAC;QAC/B,MAAM,GAAG,mHAAmH,CAAC;IAC9H,CAAC;SACI,IAAI,KAAK,CAAC,cAAc,KAAK,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QAC3D,iBAAiB,GAAG,wCAAwC,CAAC;QAC7D,KAAK,GAAG,wCAAwC,CAAC;QACjD,MAAM,GAAG,6FAA6F,CAAC;QACvG,iBAAiB,GAAG,IAAI,CAAC;IAC1B,CAAC;IACD,IAAM,cAAc,GAAG,0BAA0B,CAAC,iBAAiB,CAAC,CAAC;IACrE,IAAM,UAAU,GAAG,2BAA2B,CAAC;QAC9C,MAAM,EAAE,iBAAiB;QACzB,OAAO,SAAA;QACP,MAAM,QAAA;QACN,cAAc,gBAAA;KACd,CAAC,CAAC;IACH,OAAO;QACN,MAAM,EAAE,cAAc;QACtB,OAAO,SAAA;QACP,iBAAiB,mBAAA;QACjB,KAAK,OAAA;QACL,MAAM,QAAA;QACN,eAAe,EAAE,iBAAiB,KAAK,wCAAwC,IAAI,iBAAiB,KAAK,qBAAqB;QAC9H,iBAAiB,mBAAA;QACjB,sBAAsB,wBAAA;QACtB,uBAAuB,yBAAA;QACvB,2BAA2B,EAAE,IAAI;QACjC,4BAA4B,EAAE,IAAI;QAClC,QAAQ,EAAE;YACT,MAAM,EAAE,YAAY;YACpB,OAAO,EAAE,aAAa;YACtB,UAAU,EAAE,gBAAgB;SAC5B;QACD,YAAY,EAAE;YACb,OAAO,EAAE,iBAAiB;YAC1B,IAAI,EAAE,qBAAqB;YAC3B,WAAW,EAAE,sBAAsB;YACnC,cAAc,EAAE,kBAAkB;YAClC,WAAW,EAAE,sBAAsB;YACnC,kBAAkB,EAAE,6BAA6B;SACjD;QACD,UAAU,YAAA;QACV,cAAc,gBAAA;QACd,gBAAgB,EAAE;YACjB,oDAAoD;YACpD,sDAAsD;YACtD,wDAAwD;YACxD,4DAA4D;YAC5D,gGAAgG;SAChG;QACD,gBAAgB,EAAE;YACjB,iDAAiD;YACjD,wCAAwC;YACxC,yEAAyE;YACzE,kFAAkF;YAClF,0EAA0E;SAC1E;KACD,CAAC;AACH,CAAC;AAED,SAAgB,oCAAoC,CACnD,KAAsH;;IAEtH,IAAM,eAAe,GAAG,OAAO,KAAK,KAAK,QAAQ;QAChD,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE;QAC3B,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACjB,IAAM,cAAc,GAAG,SAAS,CAAC,eAAe,CAAC,cAAc,KAAI,MAAA,eAAe,CAAC,SAAS,0CAAE,cAAc,CAAA,EAAE,GAAG,CAAC,CAAC;IACnH,IAAM,gBAAgB,GAAG,MAAA,eAAe,CAAC,SAAS,0CAAE,OAAO,CAAC;IAC5D,IAAM,kBAAkB,GAAG,MAAA,eAAe,CAAC,MAAM,0CAAE,YAAY,CAAC;IAChE,IAAM,oBAAoB,GAAG,CAAA,MAAA,eAAe,CAAC,SAAS,0CAAE,mBAAmB,MAAK,IAAI;WAChF,CAAA,MAAA,eAAe,CAAC,SAAS,0CAAE,oBAAoB,MAAK,IAAI;WACxD,CAAA,MAAA,eAAe,CAAC,MAAM,0CAAE,oBAAoB,MAAK,IAAI,CAAC;IAC1D,IAAM,qBAAqB,GAAG,CAAA,MAAA,eAAe,CAAC,SAAS,0CAAE,oBAAoB,MAAK,IAAI;WAClF,CAAA,MAAA,eAAe,CAAC,SAAS,0CAAE,qBAAqB,MAAK,IAAI;WACzD,CAAA,MAAA,eAAe,CAAC,MAAM,0CAAE,qBAAqB,MAAK,IAAI,CAAC;IAC3D,IAAI,CAAC,cAAc,IAAI,cAAc,KAAK,aAAa,EAAE,CAAC;QACzD,OAAO,KAAK,CAAC;IACd,CAAC;IACD,IAAI,gBAAgB,KAAK,KAAK,IAAI,kBAAkB,KAAK,KAAK,EAAE,CAAC;QAChE,OAAO,KAAK,CAAC;IACd,CAAC;IACD,IAAI;QACH,oBAAoB;QACpB,yBAAyB;QACzB,kBAAkB;QAClB,oBAAoB;KACpB,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACb,CAAC;IACD,IAAI,cAAc,KAAK,oBAAoB,EAAE,CAAC;QAC7C,OAAO,eAAe,CAAC,oBAAoB,KAAK,KAAK,CAAC;IACvD,CAAC;IACD,IAAI,cAAc,KAAK,6BAA6B,EAAE,CAAC;QACtD,OAAO,eAAe,CAAC,4BAA4B,KAAK,KAAK,IAAI,oBAAoB,KAAK,IAAI,CAAC;IAChG,CAAC;IACD,IAAI,cAAc,KAAK,+BAA+B,EAAE,CAAC;QACxD,OAAO,eAAe,CAAC,0BAA0B,KAAK,IAAI;eACtD,oBAAoB,KAAK,IAAI;eAC7B,qBAAqB,KAAK,IAAI,CAAC;IACpC,CAAC;IACD,IAAI,cAAc,KAAK,6BAA6B,EAAE,CAAC;QACtD,OAAO,eAAe,CAAC,oBAAoB,KAAK,IAAI;eAChD,oBAAoB,KAAK,IAAI;eAC7B,qBAAqB,KAAK,IAAI,CAAC;IACpC,CAAC;IACD,OAAO,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,eAAe,CAAC;AAC3E,CAAC;AAED,SAAS,MAAM,CAAC,KAAqB;IACpC,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;IACD,IAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;IACpD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC;IAC7B,CAAC;IACD,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACjC,CAAC;AAED,SAAS,UAAU,CAAC,MAAc,EAAE,KAAU;IAC7C,IAAM,UAAU,GAAG,OAAO,KAAK,KAAK,QAAQ;QAC3C,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;QACzB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAC/B,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC3D,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,UAAG,MAAM,cAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,GAAG,CAAE,CAAC;AAC1D,CAAC;AAED,SAAgB,uCAAuC,CAAC,KAAU;IACjE,IAAM,UAAU,GAAG,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC;SACrC,WAAW,EAAE;SACb,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAI,yEAAyE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAChG,OAAO,OAAO,CAAC;IAChB,CAAC;IACD,IAAI,yDAAyD,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAChF,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAI,kDAAkD,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACzE,OAAO,UAAU,CAAC;IACnB,CAAC;IACD,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAChC,CAAC;AAED,SAAgB,oCAAoC,CAAC,KAAU;IAC9D,IAAM,UAAU,GAAG,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC;SACvC,WAAW,EAAE;SACb,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC;SACjC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC;SAC7B,OAAO,CAAC,iBAAiB,EAAE,UAAU,CAAC;SACtC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC;SACnC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE,CAAC;IACT,OAAO,UAAU,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,2CAA2C,CACnD,MAAmD,EACnD,QAAc;IAEd,IAAM,WAAW,GAAG,SAAS,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,MAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,CAAA,EAAE,IAAI,CAAC,CAAC;IACxE,IAAI,WAAW,EAAE,CAAC;QACjB,OAAO,oCAAoC,CAAC,WAAW,CAAC,CAAC;IAC1D,CAAC;IACD,IAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,kBAAkB,EAAE,GAAG,CAAC,CAAC;IAC5D,IAAI,QAAQ,EAAE,CAAC;QACd,OAAO,QAAQ,CAAC;IACjB,CAAC;IACD,OAAO,oCAAoC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED,SAAgB,8BAA8B,CAAC,MAAmD;IACjG,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAO,UAAU,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,IAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;IACrD,IAAI,QAAQ,EAAE,CAAC;QACd,OAAO,QAAQ,CAAC;IACjB,CAAC;IACD,OAAO,UAAU,CAAC,cAAc,EAAE;QACjC,YAAY,EAAE,uCAAuC,CAAC,MAAM,CAAC,YAAY,CAAC;QAC1E,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC;QAC1D,YAAY,EAAE,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE;QAC5D,aAAa,EAAE,SAAS,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE;KAC9D,CAAC,CAAC;AACJ,CAAC;AAED,SAAgB,yCAAyC,CACxD,KAAgD;IAEhD,IAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,IAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;IACpC,IAAM,kBAAkB,GAAG,2CAA2C,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAChG,IAAM,YAAY,GAAG,8BAA8B,CAAC,OAAO,CAAC,CAAC;IAC7D,IAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAC9D,IAAM,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAChE,IAAM,QAAQ,GAAG,KAAK,CAAC,kBAAkB,CAAC;IAC1C,IAAM,kBAAkB,GAAG,QAAQ;WAC/B,QAAQ,CAAC,aAAa,KAAK,IAAI,CAAC,aAAa;WAC7C,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;WAC3B,QAAQ,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ;WACnC,QAAQ,CAAC,kBAAkB,KAAK,kBAAkB;WAClD,QAAQ,CAAC,YAAY,KAAK,YAAY,CAAC;IAC3C,IAAM,QAAQ,GAAG,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1F,IAAM,MAAM,GAA+C,IAAI,CAAC,aAAa,KAAK,gBAAgB;QACjG,CAAC,CAAC,gBAAgB;QAClB,CAAC,CAAC,IAAI,CAAC,aAAa,KAAK,4BAA4B;YACpD,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,IAAI,CAAC,aAAa,KAAK,qBAAqB;gBAC7C,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,QAAQ,CAAC;IACd,IAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAM,YAAY,GAAG,UAAU,CAAC,cAAc,EAAE;QAC/C,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,kBAAkB,oBAAA;QAClB,YAAY,cAAA;KACZ,CAAC,CAAC;IACH,OAAO;QACN,YAAY,cAAA;QACZ,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,MAAM,QAAA;QACN,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;QAC/C,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;QACjD,QAAQ,UAAA;QACR,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;QACjD,kBAAkB,oBAAA;QAClB,YAAY,cAAA;QACZ,YAAY,cAAA;QACZ,aAAa,eAAA;QACb,gBAAgB,EAAE,SAAS,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,EAAE,GAAG,CAAC;QAC3D,iBAAiB,EAAE,SAAS,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,EAAE,GAAG,CAAC;QAC7D,gBAAgB,EAAE,SAAS,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,EAAE,GAAG,CAAC;QAC3D,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;QAC1C,eAAe,EAAE,SAAS,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,CAAC;QACrD,SAAS,EAAE,kBAAkB,KAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,SAAS,CAAA,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG;QAC/E,SAAS,EAAE,GAAG;KACd,CAAC;AACH,CAAC;AAED,SAAS,6BAA6B,CACrC,EAAU,EACV,IAAqD,EACrD,KAAa,EACb,SAAiB,EACjB,mBAA2B,EAC3B,aAAqB,EACrB,OAAoG;IAApG,wBAAA,EAAA,YAAoG;IAEpG,2BACC,EAAE,IAAA,EACF,IAAI,MAAA,EACJ,KAAK,OAAA,EACL,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,EACrC,QAAQ,EAAE,OAAO,CAAC,QAAQ,KAAK,KAAK,IACjC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACpF,mBAAmB,EAAE,SAAS,CAAC,mBAAmB,EAAE,GAAG,CAAC,EACxD,aAAa,EAAE,SAAS,CAAC,aAAa,EAAE,GAAG,CAAC,IAC3C;AACH,CAAC;AAED,SAAS,6BAA6B,CACrC,UAAgD;IAEhD,IAAM,IAAI,GAAG;QACZ,6BAA6B,CAC5B,0BAA0B,EAC1B,iBAAiB,EACjB,0BAA0B,EAC1B,qHAAqH,EACrH,sCAAsC,EACtC,sFAAsF,CACtF;KACD,CAAC;IACF,IAAI,UAAU,CAAC,aAAa,KAAK,gBAAgB,IAAI,UAAU,CAAC,aAAa,KAAK,oBAAoB,EAAE,CAAC;QACxG,8CACI,IAAI;YACP,6BAA6B,CAC5B,uCAAuC,EACvC,qBAAqB,EACrB,uCAAuC,EACvC,UAAU,CAAC,aAAa,KAAK,oBAAoB;gBAChD,CAAC,CAAC,4GAA4G;gBAC9G,CAAC,CAAC,+IAA+I,EAClJ,uCAAuC,EACvC,8FAA8F,CAC9F;YACD,6BAA6B,CAC5B,yBAAyB,EACzB,qBAAqB,EACrB,yBAAyB,EACzB,iIAAiI,EACjI,qCAAqC,EACrC,iEAAiE,CACjE;kBACA;IACH,CAAC;IACD,IAAI,UAAU,CAAC,aAAa,KAAK,cAAc,EAAE,CAAC;QACjD,8CACI,IAAI;YACP,6BAA6B,CAC5B,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,iHAAiH,EACjH,qCAAqC,EACrC,wEAAwE,EACxE,EAAE,WAAW,EAAE,wDAAwD,EAAE,CACzE;kBACA;IACH,CAAC;IACD,IAAI,UAAU,CAAC,aAAa,KAAK,gBAAgB,EAAE,CAAC;QACnD,8CACI,IAAI;YACP,6BAA6B,CAC5B,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,4FAA4F,EAC5F,6BAA6B,EAC7B,oDAAoD,EACpD,EAAE,WAAW,EAAE,wDAAwD,EAAE,CACzE;kBACA;IACH,CAAC;IACD,IAAI,UAAU,CAAC,aAAa,KAAK,yBAAyB,EAAE,CAAC;QAC5D,8CACI,IAAI;YACP,6BAA6B,CAC5B,2BAA2B,EAC3B,oBAAoB,EACpB,2BAA2B,EAC3B,2JAA2J,EAC3J,kDAAkD,EAClD,yDAAyD,CACzD;YACD,6BAA6B,CAC5B,6BAA6B,EAC7B,oBAAoB,EACpB,6BAA6B,EAC7B,yGAAyG,EACzG,uCAAuC,EACvC,mFAAmF,CACnF;kBACA;IACH,CAAC;IACD,IAAI,UAAU,CAAC,aAAa,KAAK,uBAAuB,IAAI,UAAU,CAAC,aAAa,KAAK,qBAAqB,EAAE,CAAC;QAChH,8CACI,IAAI;YACP,6BAA6B,CAC5B,0BAA0B,EAC1B,oBAAoB,EACpB,0BAA0B,EAC1B,0FAA0F,EAC1F,yCAAyC,EACzC,sFAAsF,CACtF;YACD,6BAA6B,CAC5B,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,qGAAqG,EACrG,iCAAiC,EACjC,kFAAkF,CAClF;kBACA;IACH,CAAC;IACD,IAAI,UAAU,CAAC,aAAa,KAAK,gBAAgB,EAAE,CAAC;QACnD,8CACI,IAAI;YACP,6BAA6B,CAC5B,wBAAwB,EACxB,gBAAgB,EAChB,wBAAwB,EACxB,sGAAsG,EACtG,qCAAqC,EACrC,wFAAwF,CACxF;kBACA;IACH,CAAC;IACD,IAAI,UAAU,CAAC,aAAa,KAAK,gBAAgB,EAAE,CAAC;QACnD,8CACI,IAAI;YACP,6BAA6B,CAC5B,4BAA4B,EAC5B,iBAAiB,EACjB,4BAA4B,EAC5B,kHAAkH,EAClH,sCAAsC,EACtC,yEAAyE,CACzE;kBACA;IACH,CAAC;IACD,8CACI,IAAI;QACP,6BAA6B,CAC5B,+BAA+B,EAC/B,iBAAiB,EACjB,+BAA+B,EAC/B,kGAAkG,EAClG,gCAAgC,EAChC,uEAAuE,CACvE;cACA;AACH,CAAC;AAED,SAAgB,4CAA4C,CAC3D,KAAmD;IAEnD,IAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IACpC,IAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAM,KAAK,GAAG,6BAA6B,CAAC,UAAU,CAAC,CAAC;IACxD,IAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK;SAChD,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,QAAQ,EAAb,CAAa,CAAC;SAC/B,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,mBAAmB,EAAxB,CAAwB,CAAC;SACvC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,OAAO;QACN,OAAO,EAAE,UAAU,CAAC,WAAW,EAAE;YAChC,YAAY,EAAE,UAAU,CAAC,YAAY;YACrC,aAAa,EAAE,UAAU,CAAC,aAAa;YACvC,YAAY,EAAE,UAAU,CAAC,YAAY;YACrC,kBAAkB,EAAE,UAAU,CAAC,kBAAkB;SACjD,CAAC;QACF,YAAY,EAAE,UAAU,CAAC,YAAY;QACrC,aAAa,EAAE,UAAU,CAAC,aAAa;QACvC,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,SAAS,EAAE,UAAU,CAAC,MAAM,KAAK,QAAQ;YACxC,CAAC,CAAC,yEAAyE;YAC3E,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC;QACxC,YAAY,EAAE,UAAU,CAAC,MAAM,KAAK,QAAQ;eACxC,UAAU,CAAC,aAAa,KAAK,gBAAgB;eAC7C,UAAU,CAAC,aAAa,KAAK,oBAAoB;eACjD,UAAU,CAAC,aAAa,KAAK,cAAc;eAC3C,UAAU,CAAC,aAAa,KAAK,gBAAgB;eAC7C,UAAU,CAAC,aAAa,KAAK,gBAAgB;QACjD,oBAAoB,EAAE,UAAU,CAAC,oBAAoB,IAAI,UAAU,CAAC,MAAM,KAAK,QAAQ;QACvF,qBAAqB,EAAE,UAAU,CAAC,qBAAqB,IAAI,UAAU,CAAC,MAAM,KAAK,QAAQ;QACzF,kBAAkB,EAAE,UAAU,CAAC,YAAY;QAC3C,kBAAkB,EAAE,UAAU,CAAC,kBAAkB;QACjD,KAAK,OAAA;QACL,iBAAiB,mBAAA;QACjB,kBAAkB,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,qDACnC,UAAU,CAAC,gBAAgB,kBAC3B,UAAU,CAAC,iBAAiB,kBAC5B,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,aAAa,EAAlB,CAAkB,CAAC,UACzC,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,EAArB,CAAqB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QACtE,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,uCAC/B,UAAU,CAAC,gBAAgB;YAC9B,sBAAsB;YACtB,sBAAsB;YACtB,0DAA0D;kBACzD,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,EAArB,CAAqB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QACtE,iBAAiB,EAAE,UAAU,CAAC,iBAAiB;QAC/C,SAAS,EAAE,GAAG;KACd,CAAC;AACH,CAAC;AAED,SAAS,yBAAyB,CACjC,UAAgD;IAEhD,IAAI,UAAU,CAAC,MAAM,KAAK,gBAAgB,IAAI,UAAU,CAAC,aAAa,KAAK,gBAAgB,EAAE,CAAC;QAC7F,OAAO,eAAe,CAAC;IACxB,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,KAAK,UAAU,IAAI,UAAU,CAAC,aAAa,KAAK,qBAAqB,EAAE,CAAC;QAC5F,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,KAAK,QAAQ,IAAI,UAAU,CAAC,aAAa,KAAK,4BAA4B,EAAE,CAAC;QACjG,OAAO,kBAAkB,CAAC;IAC3B,CAAC;IACD,IAAI,UAAU,CAAC,aAAa,KAAK,gBAAgB,IAAI,UAAU,CAAC,aAAa,KAAK,oBAAoB,EAAE,CAAC;QACxG,OAAO,qBAAqB,CAAC;IAC9B,CAAC;IACD,IAAI,UAAU,CAAC,aAAa,KAAK,cAAc,EAAE,CAAC;QACjD,OAAO,cAAc,CAAC;IACvB,CAAC;IACD,IAAI,UAAU,CAAC,aAAa,KAAK,gBAAgB,EAAE,CAAC;QACnD,OAAO,gBAAgB,CAAC;IACzB,CAAC;IACD,IAAI,UAAU,CAAC,aAAa,KAAK,yBAAyB,EAAE,CAAC;QAC5D,OAAO,yBAAyB,CAAC;IAClC,CAAC;IACD,IAAI,UAAU,CAAC,aAAa,KAAK,uBAAuB,EAAE,CAAC;QAC1D,OAAO,2BAA2B,CAAC;IACpC,CAAC;IACD,IAAI,UAAU,CAAC,aAAa,KAAK,gBAAgB,EAAE,CAAC;QACnD,OAAO,gBAAgB,CAAC;IACzB,CAAC;IACD,IAAI,UAAU,CAAC,aAAa,KAAK,qBAAqB,EAAE,CAAC;QACxD,OAAO,yBAAyB,CAAC;IAClC,CAAC;IACD,OAAO,eAAe,CAAC;AACxB,CAAC;AAED,SAAS,sBAAsB,CAAC,IAA8C,EAAE,UAAgD;IAC/H,IAAM,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;IAC5D,IAAI,QAAQ,IAAI,IAAI,KAAK,kBAAkB,EAAE,CAAC;QAC7C,OAAO,QAAQ,CAAC;IACjB,CAAC;IACD,IAAM,MAAM,GAA6D;QACxE,OAAO,EAAE,sBAAsB;QAC/B,gBAAgB,EAAE,sBAAsB;QACxC,mBAAmB,EAAE,6BAA6B;QAClD,YAAY,EAAE,mBAAmB;QACjC,cAAc,EAAE,qBAAqB;QACrC,uBAAuB,EAAE,yBAAyB;QAClD,yBAAyB,EAAE,uBAAuB;QAClD,cAAc,EAAE,qBAAqB;QACrC,uBAAuB,EAAE,qBAAqB;QAC9C,aAAa,EAAE,eAAe;QAC9B,aAAa,EAAE,uBAAuB;KACtC,CAAC;IACF,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC;AAED,SAAS,0BAA0B,CAClC,IAA8C,EAC9C,KAA8C;IAE9C,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACd,CAAC;IACD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;QACpD,OAAO,IAAI,CAAC;IACb,CAAC;IACD,IAAI,IAAI,KAAK,yBAAyB,IAAI,IAAI,KAAK,qBAAqB,IAAI,IAAI,KAAK,yBAAyB,IAAI,IAAI,KAAK,2BAA2B,EAAE,CAAC;QACxJ,OAAO,IAAI,CAAC;IACb,CAAC;IACD,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,EAAzH,CAAyH,CAAC,CAAC;AAC9J,CAAC;AAED,SAAS,4BAA4B,CAAC,IAA8C;;IACnF,IAAM,GAAG,GAA6D;QACrE,OAAO,EAAE,CAAC;QACV,gBAAgB,EAAE,IAAI;QACtB,mBAAmB,EAAE,CAAC;QACtB,YAAY,EAAE,GAAG;QACjB,cAAc,EAAE,GAAG;QACnB,uBAAuB,EAAE,CAAC;QAC1B,yBAAyB,EAAE,GAAG;QAC9B,cAAc,EAAE,IAAI;QACpB,uBAAuB,EAAE,CAAC;QAC1B,aAAa,EAAE,CAAC;QAChB,aAAa,EAAE,CAAC;KAChB,CAAC;IACF,OAAO,MAAA,GAAG,CAAC,IAAI,CAAC,mCAAI,CAAC,CAAC;AACvB,CAAC;AAED,SAAS,qCAAqC,CAAC,IAA8C;IAC5F,IAAM,GAAG,GAA6D;QACrE,OAAO,EAAE,uEAAuE;QAChF,gBAAgB,EAAE,uFAAuF;QACzG,mBAAmB,EAAE,uEAAuE;QAC5F,YAAY,EAAE,uFAAuF;QACrG,cAAc,EAAE,wFAAwF;QACxG,uBAAuB,EAAE,gEAAgE;QACzF,yBAAyB,EAAE,8EAA8E;QACzG,cAAc,EAAE,0FAA0F;QAC1G,uBAAuB,EAAE,sEAAsE;QAC/F,aAAa,EAAE,wCAAwC;QACvD,aAAa,EAAE,kDAAkD;KACjE,CAAC;IACF,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,+DAA+D,CAAC;AACrF,CAAC;AAED,SAAS,6CAA6C,CAAC,IAA8C;IACpG,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,eAAe,IAAI,IAAI,KAAK,eAAe,CAAC;AACnF,CAAC;AAED,SAAS,0BAA0B,CAAC,KAKnC;IACA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;QACzB,gCAAyB,KAAK,CAAC,cAAc,6BAA0B;QACvE,KAAK,CAAC,uBAAuB;cAC1B,CAAC,6CAA6C,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,kEAAkE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,kBACvI,KAAK,CAAC,QAAQ,UAChB,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,EAArB,CAAqB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,6BAA6B,CAAC,MAA8D;IACpG,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAO,EAAE,CAAC;IACX,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,qDACtB,MAAM,CAAC,cAAc,kBACrB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;QAC5B,yCAAyC;QACzC,kCAAkC;QAClC,iCAAiC;QACjC,kDAAkD;KAClD,CAAC,CAAC,CAAC,EAAE,CAAC;QACP,8BAA8B;QAC9B,yBAAyB;cACxB,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,EAArB,CAAqB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,+BAA+B,CAAC,MAA8D;;IACtG,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAO,EAAE,CAAC;IACX,CAAC;IACD,IAAM,YAAY,GAAG,CAAC,CAAA,MAAA,MAAM,CAAC,UAAU,0CAAE,KAAK,KAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,gBAAgB,IAAI,EAAE,EAA3B,CAA2B,CAAC,CAAC;IACrG,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,qDACtB,MAAM,CAAC,gBAAgB,kBACvB,YAAY,kBACZ,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;QAC5B,mCAAmC;QACnC,0BAA0B;QAC1B,qEAAqE;QACrE,mEAAmE;KACnE,CAAC,CAAC,CAAC,EAAE,CAAC,UACN,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,EAArB,CAAqB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,8BAA8B,CAAC,MAA8D;;IACrG,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAO,EAAE,CAAC;IACX,CAAC;IACD,IAAM,YAAY,GAAG,CAAC,CAAA,MAAA,MAAM,CAAC,UAAU,0CAAE,KAAK,KAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,eAAe,IAAI,EAAE,EAA1B,CAA0B,CAAC,CAAC;IACpG,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,qDACtB,CAAC,CAAA,MAAA,MAAM,CAAC,UAAU,0CAAE,kBAAkB,KAAI,EAAE,CAAC,kBAC7C,YAAY,kBACZ,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,4DAA4D,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,UAChG,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,EAArB,CAAqB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACxE,CAAC;AAED,SAAgB,2CAA2C,CAC1D,KAAkD;IAElD,IAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IACpC,IAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,4CAA4C,CAAC;QACzE,UAAU,YAAA;QACV,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,GAAG,EAAE,KAAK,CAAC,GAAG;KACd,CAAC,CAAC;IACH,IAAM,IAAI,GAAG,yBAAyB,CAAC,UAAU,CAAC,CAAC;IACnD,IAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,EAAE,KAAK,0BAA0B,EAAvD,CAAuD,CAAC;WACnG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,QAAQ,EAAb,CAAa,CAAC;WACzC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnB,IAAM,YAAY,GAAG,KAAK,CAAC,YAAY,IAAI,IAAI,KAAK,kBAAkB,IAAI,IAAI,KAAK,cAAc,IAAI,IAAI,KAAK,gBAAgB,IAAI,IAAI,KAAK,gBAAgB,CAAC;IAC5J,IAAM,kBAAkB,GAAG,IAAI,KAAK,kBAAkB;WAClD,UAAU,CAAC,MAAM,KAAK,QAAQ;WAC9B,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,qBAAqB,CAAC;IAC5D,IAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,uCAChC,KAAK,CAAC,cAAc,kBACpB,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,6DAA6D,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,UAC7F,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,EAArB,CAAqB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACvE,IAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,qDACrC,UAAU,CAAC,iBAAiB,kBAC5B,KAAK,CAAC,iBAAiB,kBACvB,CAAC,kBAAkB,CAAC,CAAC,CAAC;QACxB,2IAA2I;QAC3I,iDAAiD;KACjD,CAAC,CAAC,CAAC,EAAE,CAAC,UACN,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,EAArB,CAAqB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACvE,IAAM,YAAY,GAAG,KAAK,CAAC,KAAK;SAC9B,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,SAAS,CAAC,IAAI,CAAC,WAAW,IAAI,UAAG,IAAI,CAAC,IAAI,cAAI,IAAI,CAAC,EAAE,CAAE,EAAE,GAAG,CAAC,EAA7D,CAA6D,CAAC;SAC5E,MAAM,CAAC,OAAO,CAAC;SACf,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACf,IAAM,aAAa,GAAG,IAAI,KAAK,gBAAgB;QAC9C,CAAC,CAAC,+CAA+C,CAAC;YACjD,OAAO,EAAE,kBAAkB;YAC3B,YAAY,EAAE,UAAU,CAAC,QAAQ;YACjC,aAAa,EAAE,UAAU,CAAC,IAAI;SAC9B,CAAC;QACF,CAAC,CAAC,SAAS,CAAC;IACb,IAAM,mBAAmB,GAAG,6BAA6B,CAAC,aAAa,CAAC,CAAC;IACzE,IAAM,uBAAuB,GAAG,+BAA+B,CAAC,aAAa,CAAC,CAAC;IAC/E,IAAM,sBAAsB,GAAG,8BAA8B,CAAC,aAAa,CAAC,CAAC;IAC7E,IAAM,qBAAqB,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC1D,IAAM,uBAAuB,GAAG,qCAAqC,CAAC,IAAI,CAAC,CAAC;IAC5E,IAAM,+BAA+B,GAAG,6CAA6C,CAAC,IAAI,CAAC,CAAC;IAC5F,IAAM,YAAY,GAAG,0BAA0B,CAAC;QAC/C,IAAI,MAAA;QACJ,cAAc,EAAE,qBAAqB;QACrC,uBAAuB,yBAAA;QACvB,QAAQ,UAAA;KACR,CAAC,CAAC;IACH,IAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,oCACC,QAAQ,EAAE,UAAU,CAAC,YAAY,EAAE;YAClC,YAAY,EAAE,UAAU,CAAC,YAAY;YACrC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,IAAI,MAAA;YACJ,YAAY,EAAE,UAAU,CAAC,YAAY;YACrC,kBAAkB,EAAE,UAAU,CAAC,kBAAkB;SACjD,CAAC,EACF,YAAY,EAAE,UAAU,CAAC,YAAY,EACrC,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,aAAa,EAAE,UAAU,CAAC,aAAa,EACvC,IAAI,MAAA,EACJ,gBAAgB,EAAE,IAAI,EACtB,qBAAqB,uBAAA,EACrB,KAAK,EAAE,sBAAsB,CAAC,IAAI,EAAE,UAAU,CAAC,EAC/C,IAAI,EAAE,UAAU,CAAC,IAAI,EACrB,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAC7B,eAAe,EAAE,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,KAAI,MAAM,EAC5C,SAAS,EAAE,IAAI,KAAK,kBAAkB;YACrC,CAAC,CAAC,KAAK,CAAC,SAAS;YACjB,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,EAC3D,YAAY,cAAA,EACZ,YAAY,EAAE,0BAA0B,CAAC,IAAI,EAAE,KAAK,CAAC,EACrD,oBAAoB,EAAE,UAAU,CAAC,oBAAoB,IAAI,CAAC,YAAY,IAAI,UAAU,CAAC,MAAM,KAAK,QAAQ,EACxG,qBAAqB,EAAE,UAAU,CAAC,qBAAqB,IAAI,UAAU,CAAC,MAAM,KAAK,QAAQ,EACzF,cAAc,EAAE,4BAA4B,CAAC,IAAI,CAAC,EAClD,uBAAuB,yBAAA,EACvB,+BAA+B,iCAAA,EAC/B,yBAAyB,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC,EACnD,qBAAqB,EAAE,UAAU,CAAC,qBAAqB,EACvD,iBAAiB,EAAE,aAAa;YAC/B,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,wCAAK,KAAK,CAAC,iBAAiB,kBAAK,uBAAuB,UAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YAC5F,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EACvC,YAAY,EAAE,aAAa;YAC1B,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,wCAAK,YAAY,kBAAK,mBAAmB,UAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YAC7E,CAAC,CAAC,YAAY,EACf,eAAe,EAAE,aAAa;YAC7B,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,wCAAK,KAAK,CAAC,kBAAkB,kBAAK,sBAAsB,UAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YAC5F,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EACxC,YAAY,cAAA,EACZ,WAAW,EAAE;YACZ,mBAAmB,EAAE,UAAU,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,KAAK,eAAe;YAC/E,kBAAkB,oBAAA;YAClB,aAAa,eAAA;YACb,QAAQ,UAAA;SACR,IACE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,eAAA,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GACxC,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,0EAA0E,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACrI,SAAS,EAAE,GAAG,IACb;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,IAA8C;IAC5E,IAAM,GAAG,GAAqG;QAC7G,OAAO,EAAE,SAAS;QAClB,gBAAgB,EAAE,oBAAoB;QACtC,mBAAmB,EAAE,yBAAyB;QAC9C,YAAY,EAAE,kBAAkB;QAChC,cAAc,EAAE,oBAAoB;QACpC,uBAAuB,EAAE,6BAA6B;QACtD,yBAAyB,EAAE,+BAA+B;QAC1D,cAAc,EAAE,oBAAoB;QACpC,uBAAuB,EAAE,6BAA6B;QACtD,aAAa,EAAE,aAAa;QAC5B,aAAa,EAAE,eAAe;KAC9B,CAAC;IACF,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC;AACnC,CAAC;AAED,SAAS,2BAA2B,CACnC,MAA8C,EAC9C,cAA8D,EAC9D,MAAsD,EACtD,MAAc,EACd,OAAyC,EACzC,GAAmB;IAEnB,IAAM,YAAY,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,KAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,QAAQ,CAAC;IACrF,IAAM,kBAAkB,GAAG,2CAA2C,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IAClG,IAAM,aAAa,GAAG,SAAS,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IACjE,IAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC9B,oCACC,UAAU,EAAE,UAAU,CAAC,cAAc,EAAE;YACtC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,cAAc,gBAAA;YACd,YAAY,cAAA;YACZ,kBAAkB,oBAAA;YAClB,MAAM,QAAA;SACN,CAAC,EACF,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,YAAY,EAAE,MAAM,CAAC,YAAY,EACjC,OAAO,EAAE,MAAM,CAAC,OAAO,EACvB,IAAI,EAAE,MAAM,CAAC,IAAI,EACjB,cAAc,gBAAA,EACd,MAAM,QAAA,EACN,YAAY,cAAA,EACZ,kBAAkB,oBAAA,EAClB,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,IAAI,cAAc,KAAK,6BAA6B,EACrG,qBAAqB,EAAE,MAAM,CAAC,qBAAqB,IAAI,cAAc,KAAK,oBAAoB,EAC9F,MAAM,QAAA,EACN,aAAa,eAAA,IACV,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GACtD,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAC7D,SAAS,WAAA,IACR;AACH,CAAC;AAED,SAAgB,8CAA8C,CAC7D,KAAoD;;IAEpD,IAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,IAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7F,IAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;IACpC,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAO;YACN,cAAc,EAAE,aAAa;YAC7B,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,kCAAkC;YAC1C,MAAM,EAAE,QAAQ;YAChB,mBAAmB,EAAE,KAAK;YAC1B,oBAAoB,EAAE,KAAK;YAC3B,oBAAoB,EAAE,KAAK;YAC3B,mBAAmB,EAAE,IAAI;YACzB,WAAW,EAAE,KAAK;SAClB,CAAC;IACH,CAAC;IACD,IAAM,cAAc,GAAG,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1D,IAAM,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,IAAI,cAAc,CAAC;IAC7E,IAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,QAAQ,CAAC;IACpF,IAAM,kBAAkB,GAAG,2CAA2C,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IAClG,IAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,EAAlC,CAAkC,CAAC,CAAC;IACxF,IAAM,mBAAmB,GAAG,iBAAiB,CAAC,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,YAAY,KAAK,YAAY;WAC/F,KAAK,CAAC,kBAAkB,KAAK,kBAAkB,EADa,CACb,CAAC,CAAC;IACrD,IAAM,cAAc,GAAG,mBAAmB,CAAC,IAAI,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAvD,CAAuD,CAAC,CAAC;IACpH,IAAM,iBAAiB,GAAG,mBAAmB,CAAC,IAAI,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,MAAM,KAAK,WAAW,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAzD,CAAyD,CAAC,CAAC;IACzH,IAAM,WAAW,GAAG,iBAAiB,CAAC,MAAM,GAAG,CAAC,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,CAAC;IACrF,IAAM,mBAAmB,GAAG,MAAM,CAAC,WAAW,CAAC,kBAAkB,KAAK,IAAI,CAAC;IAC3E,IAAM,4BAA4B,GAAG,CAAC,CAAC,iBAAiB,IAAI,mBAAmB,IAAI,CAAC,WAAW,CAAC;IAChG,IAAM,UAAU,GAAG,MAAM,CAAC,IAAI,KAAK,eAAe,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;IAC3E,IAAM,eAAe,GAAG,cAAc,KAAK,6BAA6B,CAAC;IACzE,IAAM,iBAAiB,GAAG,CAAC,CAAC,oBAAoB,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACtH,IAAM,kBAAkB,GAAG,sCAAsC,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IACxG,IAAM,cAAc,GAAG,KAAK,CAAC,cAAc;QAC1C,CAAC,CAAC,sCAAsC,uBACpC,CAAC,KAAK,CAAC,cAAc,IAAI,EAAE,CAAC,KAC/B,cAAc,gBAAA,EACd,sBAAsB,EAAE,MAAA,MAAA,KAAK,CAAC,cAAc,0CAAE,sBAAsB,mCAAI,MAAM,CAAC,cAAc,EAC7F,WAAW,EAAE,MAAA,MAAA,KAAK,CAAC,cAAc,0CAAE,WAAW,mCAAI,WAAW,EAC7D,gBAAgB,EAAE,MAAA,MAAA,KAAK,CAAC,cAAc,0CAAE,gBAAgB,mCAAI,kBAAkB,CAAC,QAAQ,EACvF,gBAAgB,EAAE,MAAA,MAAA,KAAK,CAAC,cAAc,0CAAE,gBAAgB,mCAAI,kBAAkB,CAAC,QAAQ,EACvF,eAAe,EAAE,MAAA,MAAA,KAAK,CAAC,cAAc,0CAAE,eAAe,mCAAI,kBAAkB,CAAC,OAAO,EACpF,4BAA4B,EAAE,MAAA,MAAA,KAAK,CAAC,cAAc,0CAAE,4BAA4B,mCAAI,4BAA4B,EAChH,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,IACvC;QACF,CAAC,CAAC,SAAS,CAAC;IACb,IAAM,sBAAsB,GAAG,CAAC,CAAC,cAAc,IAAI,CAClD,cAAc,CAAC,IAAI,KAAK,cAAc;WACnC,CAAC,cAAc,CAAC,qBAAqB,KAAK,IAAI,IAAI,KAAK,CAAC,gBAAgB,KAAK,IAAI,CAAC;WAClF,CAAC,cAAc,CAAC,eAAe,KAAK,IAAI,IAAI,KAAK,CAAC,gBAAgB,KAAK,IAAI,CAAC;WAC5E,CAAC,cAAc,CAAC,OAAO,KAAK,IAAI,IAAI,cAAc,CAAC,iBAAiB,KAAK,IAAI,CAAC,CACjF,CAAC;IACF,IAAI,sBAAsB,EAAE,CAAC;QAC5B,IAAM,QAAM,GAAG,2BAA2B,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,uDAAgD,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,MAAM,KAAI,SAAS,CAAE,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QACvL,OAAO;YACN,cAAc,EAAE,aAAa;YAC7B,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,QAAM,CAAC,MAAM;YACrB,MAAM,EAAE,QAAQ;YAChB,mBAAmB,EAAE,KAAK;YAC1B,oBAAoB,EAAE,KAAK;YAC3B,oBAAoB,EAAE,IAAI;YAC1B,mBAAmB,qBAAA;YACnB,WAAW,aAAA;YACX,cAAc,gBAAA;YACd,cAAc,EAAE,QAAM;SACtB,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,gBAAgB,KAAK,IAAI,IAAI,qBAAqB,KAAK,cAAc,EAAE,CAAC;QAClF,IAAM,QAAM,GAAG,2BAA2B,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,iDAAiD,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QACnJ,OAAO;YACN,cAAc,EAAE,aAAa;YAC7B,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,QAAM,CAAC,MAAM;YACrB,MAAM,EAAE,QAAQ;YAChB,mBAAmB,EAAE,KAAK;YAC1B,oBAAoB,EAAE,KAAK;YAC3B,oBAAoB,EAAE,IAAI;YAC1B,mBAAmB,EAAE,IAAI;YACzB,WAAW,aAAA;YACX,cAAc,gBAAA;YACd,cAAc,EAAE,QAAM;SACtB,CAAC;IACH,CAAC;IACD,IAAI,UAAU,IAAI,KAAK,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;QACnD,IAAM,QAAM,GAAG,2BAA2B,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,0CAA0C,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5I,OAAO;YACN,cAAc,EAAE,aAAa;YAC7B,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,QAAM,CAAC,MAAM;YACrB,MAAM,EAAE,QAAQ;YAChB,mBAAmB,EAAE,KAAK;YAC1B,oBAAoB,EAAE,KAAK;YAC3B,oBAAoB,EAAE,IAAI;YAC1B,mBAAmB,qBAAA;YACnB,WAAW,aAAA;YACX,cAAc,gBAAA;YACd,cAAc,EAAE,QAAM;SACtB,CAAC;IACH,CAAC;IACD,IAAI,eAAe,IAAI,MAAM,CAAC,oBAAoB,KAAK,IAAI,EAAE,CAAC;QAC7D,IAAM,QAAM,GAAG,2BAA2B,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,8CAA8C,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAChJ,OAAO;YACN,cAAc,EAAE,aAAa;YAC7B,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,QAAM,CAAC,MAAM;YACrB,MAAM,EAAE,QAAQ;YAChB,mBAAmB,EAAE,KAAK;YAC1B,oBAAoB,EAAE,KAAK;YAC3B,oBAAoB,EAAE,IAAI;YAC1B,mBAAmB,EAAE,IAAI;YACzB,WAAW,aAAA;YACX,cAAc,gBAAA;YACd,cAAc,EAAE,QAAM;SACtB,CAAC;IACH,CAAC;IACD,IAAI,cAAc,EAAE,CAAC;QACpB,OAAO;YACN,cAAc,EAAE,aAAa;YAC7B,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,qDAAqD;YAC7D,MAAM,EAAE,QAAQ;YAChB,mBAAmB,EAAE,KAAK;YAC1B,oBAAoB,EAAE,KAAK;YAC3B,oBAAoB,EAAE,KAAK;YAC3B,mBAAmB,EAAE,IAAI;YACzB,WAAW,EAAE,KAAK;YAClB,cAAc,gBAAA;SACd,CAAC;IACH,CAAC;IACD,IAAI,4BAA4B,EAAE,CAAC;QAClC,IAAM,QAAM,GAAG,2BAA2B,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,mDAAmD,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QACrJ,OAAO;YACN,cAAc,EAAE,aAAa;YAC7B,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,QAAM,CAAC,MAAM;YACrB,MAAM,EAAE,QAAQ;YAChB,mBAAmB,EAAE,KAAK;YAC1B,oBAAoB,EAAE,KAAK;YAC3B,oBAAoB,EAAE,IAAI;YAC1B,mBAAmB,EAAE,IAAI;YACzB,WAAW,EAAE,KAAK;YAClB,cAAc,gBAAA;YACd,cAAc,EAAE,QAAM;SACtB,CAAC;IACH,CAAC;IACD,IAAM,MAAM,GAAmD,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,eAAe;QAChI,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,SAAS,CAAC;IACb,IAAM,MAAM,GAAG,2BAA2B,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,2BAA2B,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5H,OAAO;QACN,cAAc,gBAAA;QACd,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,2BAA2B;QACnC,MAAM,QAAA;QACN,mBAAmB,EAAE,eAAe,IAAI,MAAM,CAAC,oBAAoB,KAAK,IAAI;QAC5E,oBAAoB,EAAE,iBAAiB,IAAI,MAAM,CAAC,qBAAqB,KAAK,IAAI;QAChF,oBAAoB,EAAE,IAAI;QAC1B,mBAAmB,qBAAA;QACnB,WAAW,aAAA;QACX,cAAc,gBAAA;QACd,cAAc,EAAE,MAAM;KACtB,CAAC;AACH,CAAC;AAED,SAAgB,8CAA8C,CAC7D,OAAqE,EACrE,MAAkE,EAClE,KAAU;IAAV,sBAAA,EAAA,UAAU;IAEV,IAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvE,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IACD,IAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,UAAU,KAAK,MAAM,CAAC,UAAU,EAAtC,CAAsC,CAAC,CAAC;IACnF,OAAO,uCAAI,OAAO,YAAE,MAAM,UAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,iCAAiC,CACzC,cAA8D;IAE9D,IAAM,GAAG,GAAqG;QAC7G,kBAAkB,EAAE,UAAU;QAC9B,uBAAuB,EAAE,WAAW;QACpC,gBAAgB,EAAE,OAAO;QACzB,kBAAkB,EAAE,SAAS;QAC7B,2BAA2B,EAAE,SAAS;QACtC,6BAA6B,EAAE,gBAAgB;QAC/C,kBAAkB,EAAE,SAAS;QAC7B,2BAA2B,EAAE,gBAAgB;QAC7C,OAAO,EAAE,SAAS;QAClB,aAAa,EAAE,SAAS;QACxB,WAAW,EAAE,QAAQ;KACrB,CAAC;IACF,OAAO,GAAG,CAAC,cAAc,CAAC,IAAI,QAAQ,CAAC;AACxC,CAAC;AAED,SAAS,uBAAuB,CAC/B,MAA0D,EAC1D,QAA0D,EAC1D,OAAyC;IAEzC,IAAM,OAAO,GAAG,SAAS,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,MAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAA,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;IAC3E,IAAM,KAAK,GAAG,SAAS,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,EAAE,GAAG,CAAC,IAAI,QAAQ,CAAC,cAAc,CAAC;IACvE,IAAM,SAAS,GAAG,SAAS,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IACpD,OAAO;QACN,2BAAoB,QAAQ,CAAC,cAAc,CAAE;QAC7C,gBAAS,KAAK,CAAE;QAChB,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAU,QAAQ,CAAC,MAAM,CAAE,CAAC,CAAC,CAAC,EAAE;QAClD,OAAO,CAAC,CAAC,CAAC,kBAAW,OAAO,CAAE,CAAC,CAAC,CAAC,EAAE;QACnC,SAAS,CAAC,CAAC,CAAC,oBAAa,SAAS,CAAE,CAAC,CAAC,CAAC,EAAE;KACzC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,SAAgB,iDAAiD,CAChE,KAAwD;;IAExD,IAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,IAAM,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,IAAI,8CAA8C,CAAC;QACjG,MAAM,QAAA;QACN,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,GAAG,EAAE,KAAK,CAAC,GAAG;KACd,CAAC,CAAC;IACH,IAAM,cAAc,GAAG,gBAAgB,CAAC,cAAc,CAAC;IACvD,IAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAM,KAAK,GAAG,iCAAiC,CAAC,cAAc,CAAC,CAAC;IAChE,IAAM,IAAI,GAAG,SAAS,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,MAAI,MAAA,KAAK,CAAC,OAAO,0CAAE,IAAI,CAAA,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;IACvE,IAAM,QAAQ,GAAG,SAAS,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,MAAI,MAAA,KAAK,CAAC,OAAO,0CAAE,QAAQ,CAAA,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;IACnF,IAAM,WAAW,GAAG,uBAAuB,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACrF,IAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,IAAI,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC1D,sDACC,WAAW,EAAE,UAAU,CAAC,eAAe,EAAE;YACxC,OAAO,SAAA;YACP,QAAQ,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,KAAI,EAAE;YAChC,cAAc,gBAAA;YACd,MAAM,EAAE,gBAAgB,CAAC,MAAM;YAC/B,YAAY,EAAE,CAAA,MAAA,gBAAgB,CAAC,cAAc,0CAAE,YAAY,MAAI,MAAA,KAAK,CAAC,OAAO,0CAAE,YAAY,CAAA,IAAI,EAAE;SAChG,CAAC,EACF,OAAO,SAAA,EACP,cAAc,gBAAA,EACd,KAAK,OAAA,EACL,OAAO,EAAE,gBAAgB,CAAC,OAAO,EACjC,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAC/B,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAC/B,gBAAgB,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,gBAAgB,MAAK,KAAK,EACpD,qBAAqB,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,qBAAqB,KAAI,cAAc,EACtE,IAAI,MAAA,EACJ,QAAQ,UAAA,EACR,eAAe,EAAE,SAAS,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,EAAE,GAAG,CAAC,IAAI,cAAc,EAChE,WAAW,aAAA,EACX,YAAY,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,MAAK,KAAK,IAAI,cAAc,KAAK,oBAAoB,EACvF,YAAY,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,MAAK,IAAI,EAC3C,oBAAoB,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,oBAAoB,MAAK,IAAI,EAC3D,qBAAqB,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,qBAAqB,MAAK,IAAI,EAC7D,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,cAAc,KAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EACrE,uBAAuB,EAAE,SAAS,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,uBAAuB,EAAE,GAAG,CAAC,EACxE,+BAA+B,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,+BAA+B,MAAK,IAAI,EACjF,mBAAmB,EAAE,gBAAgB,CAAC,mBAAmB,EACzD,oBAAoB,EAAE,gBAAgB,CAAC,oBAAoB,EAC3D,yBAAyB,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,yBAAyB,MAAK,IAAI,EACrE,mBAAmB,EAAE,gBAAgB,CAAC,mBAAmB,EACzD,WAAW,EAAE,gBAAgB,CAAC,WAAW,IACtC,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,gBAAgB,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAC/F,qBAAqB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,qBAAqB,KAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EACnF,iBAAiB,EAAE,SAAS,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,iBAAiB,EAAE,EAAE,EAAE,GAAG,CAAC,EAChE,YAAY,EAAE,SAAS,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,EAAE,EAAE,EAAE,GAAG,CAAC,EACtD,eAAe,EAAE,SAAS,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,eAAe,EAAE,EAAE,EAAE,GAAG,CAAC,EAC5D,YAAY,EAAE,SAAS,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,EAAE,EAAE,EAAE,GAAG,CAAC,EACtD,gBAAgB,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,oBAAoB,MAAK,IAAI;YACtD,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG;gBACnB,wFAAwF;sBACrF,CAAC,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,0CAAE,gBAAgB,KAAI,EAAE,CAAC,UACjD,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KACd,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,gBAAgB,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAC5F,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,EAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACzE,SAAS,EAAE,GAAG,IACZ;AACH,CAAC;AAEF,SAAS,+BAA+B,CACvC,SAAmE,EACnE,QAA0C;IAE1C,IAAI,QAAQ,EAAE,CAAC;QACd,OAAO,QAAQ,CAAC;IACjB,CAAC;IACD,IAAM,cAAc,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,cAAc,CAAC;IACjD,OAAO;QACN,IAAI,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI;QACrB,QAAQ,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ;QAC7B,YAAY,EAAE,EAAE;QAChB,kBAAkB,EAAE,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,kBAAkB;QACtD,YAAY,EAAE,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,YAAY;QAC1C,aAAa,EAAE,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,aAAa,KAAI,EAAE;QAClD,UAAU,EAAE,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,SAAS,MAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,SAAS,CAAA;KAC7D,CAAC;AACH,CAAC;AAED,SAAS,4BAA4B,CAAC,KAIrC;IACA,IAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAClC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,OAAO,KAAK,IAAI,IAAI,SAAS,CAAC,cAAc,KAAK,aAAa,EAAE,CAAC;QAC5F,OAAO,gBAAgB,CAAC;IACzB,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QACvB,OAAO,uBAAuB,CAAC;IAChC,CAAC;IACD,IAAI,SAAS,CAAC,mBAAmB,KAAK,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QACjF,OAAO,uBAAuB,CAAC;IAChC,CAAC;IACD,IAAI,SAAS,CAAC,+BAA+B,KAAK,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC9F,OAAO,0BAA0B,CAAC;IACnC,CAAC;IACD,OAAO,aAAa,CAAC;AACtB,CAAC;AAED,SAAgB,qDAAqD,CACpE,KAAiE;IAAjE,sBAAA,EAAA,UAAiE;IAEjE,IAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAClC,IAAM,QAAQ,GAAG,+BAA+B,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC5E,IAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;IACpC,IAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;IACnC,IAAM,UAAU,GAAG,UAAU;QAC5B,CAAC,CAAC,sCAAsC,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,uBAAuB,CAAC;QAC/F,CAAC,CAAC;YACD,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,MAA4C;YACtD,OAAO,EAAE,EAAE;YACX,YAAY,EAAE,8BAA8B,CAAC,QAAQ,CAAC;YACtD,kBAAkB,EAAE,2CAA2C,CAAC,QAAQ,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,uBAAuB,CAAC;SAC7G,CAAC;IACH,IAAM,MAAM,GAAG,4BAA4B,CAAC,EAAE,SAAS,WAAA,EAAE,UAAU,YAAA,EAAE,UAAU,YAAA,EAAE,CAAC,CAAC;IACnF,IAAM,cAAc,GAAG,MAAM,KAAK,aAAa,CAAC;IAChD,IAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,qDACxC,SAAS,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,EAAE,GAAG,CAAC,kBAC1C,SAAS,CAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,iBAAiB,EAAE,EAAE,EAAE,GAAG,CAAC,kBAChD,SAAS,CAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,eAAe,EAAE,EAAE,EAAE,GAAG,CAAC,UAChD,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,IAAM,eAAe,GAAG,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,+BAA+B,MAAK,IAAI,IAAI,MAAM,KAAK,aAAa;QACtG,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,gDAAgD,CAAC,CAAC;QACnG,CAAC,CAAC,EAAE,CAAC;IACN,IAAM,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,aAAa,IAAI,QAAQ,CAAC,aAAa,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAC1F,IAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAC9D,IAAM,oBAAoB,GAAG,uCAAuC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC5F,IAAM,kBAAkB,GAAG,uCAAuC,CAAC,OAAO,CAAC,YAAY,IAAI,QAAQ,CAAC,YAAY,CAAC,CAAC;IAClH,IAAM,0BAA0B,GAAG,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,GAAG,CAAC;WAC1E,2CAA2C,CAAC,QAAQ,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,uBAAuB,CAAC,CAAC;IAC9F,IAAM,oBAAoB,GAAG,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC;WAC9D,8BAA8B,CAAC,QAAQ,CAAC,CAAC;IAC7C,IAAM,QAAQ,GAAG;QAChB,MAAM,KAAK,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,KAAI,4CAA4C,CAAC,CAAC,CAAC,CAAC,EAAE;QACtG,MAAM,KAAK,uBAAuB,CAAC,CAAC,CAAC,iDAAiD,CAAC,CAAC,CAAC,EAAE;QAC3F,MAAM,KAAK,uBAAuB,CAAC,CAAC,CAAC,iDAAiD,CAAC,CAAC,CAAC,EAAE;QAC3F,MAAM,KAAK,0BAA0B,CAAC,CAAC,CAAC,8CAA8C,CAAC,CAAC,CAAC,EAAE;KAC3F,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClB,IAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpC,OAAO;QACN,UAAU,EAAE,UAAU,CAAC,qBAAqB,EAAE;YAC7C,WAAW,EAAE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,WAAW,KAAI,EAAE;YACzC,cAAc,EAAE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,cAAc,KAAI,aAAa;YAC1D,MAAM,QAAA;YACN,oBAAoB,sBAAA;YACpB,kBAAkB,EAAE,UAAU,CAAC,YAAY;YAC3C,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;SACjC,CAAC;QACF,WAAW,EAAE,SAAS,CAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,WAAW,EAAE,GAAG,CAAC;QACnD,OAAO,EAAE,SAAS,CAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,EAAE,GAAG,CAAC,IAAI,QAAQ;QACvD,cAAc,EAAE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,cAAc,KAAI,aAAa;QAC1D,KAAK,EAAE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,KAAI,QAAQ;QACnC,MAAM,QAAA;QACN,cAAc,gBAAA;QACd,mBAAmB,EAAE,cAAc,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,mBAAmB,MAAK,IAAI;QAC9E,oBAAoB,EAAE,cAAc,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,oBAAoB,MAAK,IAAI;QAChF,kBAAkB,EAAE,cAAc,IAAI,UAAU,CAAC,QAAQ,KAAK,IAAI;QAClE,+BAA+B,EAAE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,+BAA+B,MAAK,IAAI;QACpF,mBAAmB,EAAE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,mBAAmB,MAAK,IAAI;QAC5D,WAAW,EAAE,UAAU,CAAC,OAAO;QAC/B,gBAAgB,EAAE,UAAU,CAAC,QAAQ;QACrC,gBAAgB,EAAE,UAAU,CAAC,QAAQ;QACrC,eAAe,EAAE,UAAU,CAAC,OAAO;QACnC,oBAAoB,sBAAA;QACpB,0BAA0B,4BAAA;QAC1B,oBAAoB,sBAAA;QACpB,kBAAkB,oBAAA;QAClB,wBAAwB,EAAE,UAAU,CAAC,kBAAkB;QACvD,kBAAkB,EAAE,UAAU,CAAC,YAAY;QAC3C,gBAAgB,kBAAA;QAChB,eAAe,iBAAA;QACf,aAAa,eAAA;QACb,YAAY,cAAA;QACZ,QAAQ,UAAA;QACR,iBAAiB,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,YAAY,CAAC,CAAC,CAAC,KAAI,eAAe,CAAC,CAAC,CAAC,CAAC,iCAAiC;QACvH,gBAAgB,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG;YACnC,oFAAoF;kBACjF,SAAS,CAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,gBAAgB,EAAE,EAAE,EAAE,GAAG,CAAC,UACjD,CAAC;QACH,SAAS,WAAA;KACT,CAAC;AACH,CAAC;AAED,SAAgB,wDAAwD,CAAC,KAAU;IAMlF,IAAM,MAAM,GAAG,KAAK,IAAI,EAAE,CAAC;IAC3B,IAAM,aAAa,GAAqD;QACvE,aAAa;QACb,uBAAuB;QACvB,0BAA0B;QAC1B,uBAAuB;QACvB,gBAAgB;KAChB,CAAC;IACF,IAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAmD,CAAC;IAC/F,IAAM,UAAU,GAAqD;QACpE,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC;QACnE,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC;QACtE,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC;QACvC,cAAc,EAAE,SAAS,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,eAAe,EAAE,GAAG,CAAmD;QACjI,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAA6C;QAC/E,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB;QAClE,cAAc,EAAE,MAAM,CAAC,cAAc,KAAK,IAAI,IAAI,MAAM,CAAC,gBAAgB,KAAK,IAAI;QAClF,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,KAAK,IAAI,IAAI,MAAM,CAAC,sBAAsB,KAAK,IAAI;QAClG,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,KAAK,IAAI,IAAI,MAAM,CAAC,uBAAuB,KAAK,IAAI;QACrG,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,KAAK,IAAI,IAAI,MAAM,CAAC,qBAAqB,KAAK,IAAI;QAC/F,+BAA+B,EAAE,MAAM,CAAC,+BAA+B,KAAK,IAAI,IAAI,MAAM,CAAC,kCAAkC,KAAK,IAAI;QACtI,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,KAAK,IAAI,IAAI,MAAM,CAAC,qBAAqB,KAAK,IAAI;QACjG,WAAW,EAAE,MAAM,CAAC,WAAW,KAAK,IAAI,IAAI,MAAM,CAAC,YAAY,KAAK,IAAI;QACxE,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,KAAK,IAAI,IAAI,MAAM,CAAC,iBAAiB,KAAK,IAAI;QACvF,gBAAgB,EAAE,SAAS,CAAC,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,iBAAiB,EAAE,GAAG,CAAuC;QAC3H,eAAe,EAAE,SAAS,CAAC,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,gBAAgB,EAAE,EAAE,EAAE,GAAG,CAAC;QACtF,oBAAoB,EAAE,SAAS,CAAC,MAAM,CAAC,oBAAoB,IAAI,MAAM,CAAC,sBAAsB,EAAE,GAAG,CAAC;QAClG,0BAA0B,EAAE,SAAS,CAAC,MAAM,CAAC,0BAA0B,IAAI,MAAM,CAAC,4BAA4B,EAAE,GAAG,CAAC;QACpH,oBAAoB,EAAE,SAAS,CAAC,MAAM,CAAC,oBAAoB,IAAI,MAAM,CAAC,sBAAsB,EAAE,GAAG,CAAC;QAClG,kBAAkB,EAAE,SAAS,CAAC,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,oBAAoB,EAAE,GAAG,CAAC;QAC5F,wBAAwB,EAAE,SAAS,CAAC,MAAM,CAAC,wBAAwB,IAAI,MAAM,CAAC,0BAA0B,EAAE,GAAG,CAAC;QAC9G,kBAAkB,EAAE,SAAS,CAAC,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,oBAAoB,EAAE,GAAG,CAAC;QAC5F,gBAAgB,EAAE,SAAS,CAAC,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,iBAAiB,EAAE,EAAE,EAAE,GAAG,CAAC;QACzF,eAAe,EAAE,SAAS,CAAC,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,gBAAgB,EAAE,EAAE,EAAE,GAAG,CAAC;QACtF,aAAa,EAAE,SAAS,CAAC,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,cAAc,EAAE,EAAE,EAAE,GAAG,CAAC;QAChF,YAAY,EAAE,SAAS,CAAC,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,aAAa,EAAE,EAAE,EAAE,GAAG,CAAC;QAC7E,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,EAAE,GAAG,CAAC;QAC7C,iBAAiB,EAAE,SAAS,CAAC,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,mBAAmB,EAAE,GAAG,CAAC;QACzF,gBAAgB,EAAE,SAAS,CAAC,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,iBAAiB,EAAE,EAAE,EAAE,GAAG,CAAC;QACzF,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC;KAChE,CAAC;IACF,IAAM,QAAQ,GAAG;QAChB,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iDAAiD;QAC9E,UAAU,CAAC,WAAW,IAAI,UAAU,CAAC,MAAM,KAAK,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kDAAkD;QAC1H,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qDAAqD;QACtF,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iDAAiD;QACvF,UAAU,CAAC,cAAc,IAAI,UAAU,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,+DAA+D,CAAC,CAAC,CAAC,EAAE;QACvI,UAAU,CAAC,MAAM,KAAK,aAAa,IAAI,UAAU,CAAC,+BAA+B,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,6EAA6E,CAAC,CAAC,CAAC,EAAE;QACtM,UAAU,CAAC,MAAM,KAAK,aAAa,IAAI,UAAU,CAAC,mBAAmB,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,+EAA+E,CAAC,CAAC,CAAC,EAAE;QACvL,UAAU,CAAC,mBAAmB,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,+DAA+D,CAAC,CAAC,CAAC,EAAE;QACnI,UAAU,CAAC,oBAAoB,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,gEAAgE,CAAC,CAAC,CAAC,EAAE;QACrI,UAAU,CAAC,MAAM,KAAK,aAAa,IAAI,UAAU,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,+BAA+B,CAAC,CAAC,CAAC,mDAAmD,CAAC,CAAC,CAAC,EAAE;QACvL,UAAU,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,yDAAyD;KACnG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClB,OAAO;QACN,KAAK,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC;QAC5B,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM;QACvD,QAAQ,UAAA;QACR,UAAU,YAAA;KACV,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,OAAiB,EAAE,QAAkB;IAC5D,IAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,EAArB,CAAqB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACzF,OAAO,OAAO;SACZ,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,EAArB,CAAqB,CAAC;SACrC,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAA7B,CAA6B,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,UAAU,CAAC,KAAU;IAC7B,OAAO,SAAS,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,EAAE,EAAE,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,cAAc,CAAC,KAAU;IACjC,OAAO,SAAS,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAU;IACrC,IAAM,SAAS,GAAG,SAAS,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAY,EAAE,EAAE,CAAC,CAAC;IACrD,OAAO,SAAS,CAAC,CAAC,CAAC,uCAAuC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5E,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAmD,EAAE,KAAoB;IAApB,sBAAA,EAAA,UAAoB;IACtG,OAAO;QACN,SAAS,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,EAAE,IAAI,CAAC;QAChC,SAAS,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,EAAE,IAAI,CAAC;cAC7B,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,EAApB,CAAoB,CAAC,UAC3C,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;AAC3C,CAAC;AAED,SAAS,2BAA2B,CAAC,IAAY;IAChD,OAAO,wVAAwV,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5W,CAAC;AAED,SAAgB,sCAAsC,CACrD,QAA8F,EAC9F,OAAoD,EACpD,iBAA0B;IAE1B,IAAM,aAAa,GAAG,OAAO,IAAI,EAAE,CAAC;IACpC,IAAM,cAAc,GAAG,QAAe,CAAC;IACvC,IAAM,oBAAoB,GAAG,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,YAAY,EAAE,GAAG,CAAC,IAAI,8BAA8B,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjJ,IAAM,mBAAmB,GAAG,8BAA8B,CAAC,aAAa,CAAC,CAAC;IAC1E,IAAM,0BAA0B,GAAG,cAAc;QAChD,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,kBAAkB,EAAE,GAAG,CAAC,IAAI,2CAA2C,CAAC,cAAc,EAAE,iBAAiB,CAAC;QACrI,CAAC,CAAC,EAAE,CAAC;IACN,IAAM,yBAAyB,GAAG,2CAA2C,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;IAChH,IAAM,oBAAoB,GAAG,SAAS,CAAC,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,YAAY,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAC9E,IAAM,mBAAmB,GAAG,SAAS,CAAC,aAAa,CAAC,YAAY,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAC3E,IAAM,qBAAqB,GAAG,SAAS,CAAC,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,aAAa,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAChF,IAAM,oBAAoB,GAAG,SAAS,CAAC,aAAa,CAAC,aAAa,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAC7E,IAAM,iBAAiB,GAAG,cAAc,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,CAAC;IACpF,IAAM,kBAAkB,GAAG,cAAc,CAAC,oBAAoB,EAAE,qBAAqB,CAAC,CAAC;IACvF,IAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,oBAAoB,IAAI,mBAAmB,KAAK,oBAAoB,EAAE,CAAC;QAC1E,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,0BAA0B,IAAI,yBAAyB,KAAK,0BAA0B,EAAE,CAAC;QAC5F,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,UAAU,CAAC,cAAc,CAAC,IAAI,UAAU,CAAC,cAAc,CAAC,KAAK,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC5F,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,cAAc,CAAC,cAAc,CAAC,IAAI,cAAc,CAAC,cAAc,CAAC,KAAK,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;QACxG,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,kBAAkB,CAAC,cAAc,CAAC,IAAI,kBAAkB,CAAC,cAAc,CAAC,KAAK,kBAAkB,CAAC,aAAa,CAAC,EAAE,CAAC;QACpH,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,kBAAkB,CAAC,MAAM,EAAE,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,gBAAgB,CAAC,aAAa,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACjC,CAAC;IACD,IAAM,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IACnC,IAAM,YAAY,GAAG,oBAAoB,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;IAC7E,IAAM,8BAA8B,GAAG,2BAA2B,CAAC,YAAY,CAAC,CAAC;IACjF,IAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAClD,IAAM,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,UAAC,MAAM,IAAK,OAAA,kFAAkF,CAAC,IAAI,CAAC,MAAM,CAAC,EAA/F,CAA+F,CAAC,CAAC;IACnJ,IAAM,gBAAgB,GAAG,kBAAkB,CAAC,MAAM,GAAG,CAAC,IAAI,8BAA8B,CAAC;IACzF,IAAM,oBAAoB,GAAG,iBAAiB,CAAC,MAAM,GAAG,CAAC;WACrD,yHAAyH,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACjJ,IAAM,QAAQ,GAAG,KAAK,IAAI,gBAAgB,IAAI,gBAAgB,IAAI,oBAAoB,CAAC;IACvF,IAAM,QAAQ,GAAuC,KAAK;QACzD,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,QAAQ;YACT,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,OAAO;gBACR,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,MAAM,CAAC;IACZ,OAAO;QACN,OAAO,SAAA;QACP,QAAQ,UAAA;QACR,QAAQ,UAAA;QACR,OAAO,SAAA;QACP,YAAY,EAAE,mBAAmB;QACjC,kBAAkB,EAAE,yBAAyB;KAC7C,CAAC;AACH,CAAC;AAED,SAAS,6BAA6B,CAAC,KAAU;IAChD,IAAM,UAAU,GAAG,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACzC,OAAO,sDAAsD,CAAC,IAAI,CAAC,UAAU,CAAC;WAC1E,CAAC,0DAA0D,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAClF,CAAC;AAED,SAAgB,oCAAoC,CACnD,KAA0C;IAE1C,IAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IACpC,IAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;IACnC,IAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;IACpC,IAAM,UAAU,GAAG,UAAU;QAC5B,CAAC,CAAC,sCAAsC,CAAC,UAAU,EAAE,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC;QACnF,CAAC,CAAC;YACD,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,MAA4C;YACtD,OAAO,EAAE,EAAE;YACX,YAAY,EAAE,UAAU,CAAC,YAAY;YACrC,kBAAkB,EAAE,UAAU,CAAC,kBAAkB;SACjD,CAAC;IACH,IAAM,kBAAkB,GAAG,UAAU,CAAC,kBAAkB,CAAC;IACzD,IAAM,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;IAC7C,IAAM,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC;IACrG,IAAM,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC;IACxG,IAAM,eAAe,GAAG,UAAU,CAAC,OAAO,CAAC;IAC3C,IAAM,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC,cAAc,IAAI,UAAU,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IACxF,IAAM,sBAAsB,GAAG,6BAA6B,CAAC,cAAc,CAAC,CAAC;IAC7E,IAAM,eAAe,GAAG,UAAU,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAC,QAAQ;QACnE,IAAM,UAAU,GAAG,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QAC1D,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,OAAO,KAAK,CAAC;QACd,CAAC;QACD,IAAI,kCAAkC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACzD,OAAO,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;QACvD,CAAC;QACD,IAAI,qCAAqC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5D,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC;QAC7B,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC,CAAC,CAAC;IACH,IAAM,YAAY,GAAG,UACpB,MAA4C,EAC5C,MAAc,EACd,SAA+D;QAA/D,0BAAA,EAAA,cAA+D;QACnB,OAAA,YAC5C,MAAM,QAAA,EACN,MAAM,QAAA,EACN,mBAAmB,EAAE,UAAU,CAAC,oBAAoB,EACpD,oBAAoB,EAAE,UAAU,CAAC,qBAAqB,EACtD,qBAAqB,EAAE,KAAK,EAC5B,sBAAsB,EAAE,MAAM,KAAK,OAAO,EAC1C,WAAW,EAAE,eAAe,EAC5B,gBAAgB,EAAE,UAAU,CAAC,QAAQ,EACrC,gBAAgB,EAAE,UAAU,CAAC,QAAQ,EACrC,eAAe,EAAE,UAAU,CAAC,OAAO,EACnC,kBAAkB,oBAAA,EAClB,YAAY,cAAA,EACZ,eAAe,iBAAA,EACf,UAAU,wBACN,UAAU,KACb,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAE1B,SAAS,EACX;IAnB2C,CAmB3C,CAAC;IAEH,IAAI,UAAU,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QACtC,OAAO,YAAY,CAAC,UAAU,EAAE,2CAA2C,EAAE;YAC5E,mBAAmB,EAAE,KAAK;YAC1B,oBAAoB,EAAE,KAAK;YAC3B,sBAAsB,EAAE,KAAK;SAC7B,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,KAAK,gBAAgB,IAAI,KAAK,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;QAC/E,OAAO,YAAY,CAAC,gBAAgB,EAAE,yDAAyD,EAAE;YAChG,mBAAmB,EAAE,KAAK;YAC1B,oBAAoB,EAAE,KAAK;YAC3B,sBAAsB,EAAE,KAAK;SAC7B,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,sBAAsB,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC;QAChE,OAAO,YAAY,CAAC,eAAe,EAAE,yDAAyD,EAAE;YAC/F,mBAAmB,EAAE,KAAK;YAC1B,oBAAoB,EAAE,KAAK;YAC3B,sBAAsB,EAAE,KAAK;SAC7B,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,eAAe,EAAE,CAAC;QACxD,OAAO,YAAY,CAAC,sBAAsB,EAAE,yCAAyC,EAAE;YACtF,mBAAmB,EAAE,KAAK;YAC1B,oBAAoB,EAAE,KAAK;YAC3B,sBAAsB,EAAE,KAAK;SAC7B,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,KAAK,QAAQ,IAAI,eAAe,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAC/E,OAAO,YAAY,CAAC,sBAAsB,EAAE,sDAAsD,EAAE;YACnG,mBAAmB,EAAE,KAAK;YAC1B,oBAAoB,EAAE,KAAK;YAC3B,sBAAsB,EAAE,KAAK;SAC7B,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,qBAAqB,IAAI,CAAC,eAAe,EAAE,CAAC;QACjF,OAAO,YAAY,CAAC,sBAAsB,EAAE,mDAAmD,EAAE;YAChG,mBAAmB,EAAE,KAAK;YAC1B,oBAAoB,EAAE,KAAK;YAC3B,sBAAsB,EAAE,KAAK;SAC7B,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,qBAAqB,IAAI,eAAe,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QACxG,OAAO,YAAY,CAAC,sBAAsB,EAAE,wDAAwD,EAAE;YACrG,mBAAmB,EAAE,KAAK;YAC1B,oBAAoB,EAAE,KAAK;YAC3B,sBAAsB,EAAE,KAAK;SAC7B,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,eAAe,EAAE,CAAC;QACrB,IAAM,mBAAmB,GAAG,uCAAuC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC1F,IAAM,0BAA0B,GAAG,UAAU,CAAC,oBAAoB;eAC9D,CAAC,sCAAsC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACtE,OAAO,YAAY,CAAC,OAAO,EAAE,oDAAoD,EAAE;YAClF,mBAAmB,EAAE,0BAA0B;YAC/C,oBAAoB,EAAE,UAAU,CAAC,qBAAqB,IAAI,0BAA0B;YACpF,qBAAqB,EAAE,IAAI;SAC3B,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,YAAY,CAAC,OAAO,EAAE,8BAA8B,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,UAAU,CAAC,MAAmD;IACtE,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAO,EAAE,CAAC;IACX,CAAC;IACD,IAAM,YAAY,GAAG,uCAAuC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAClF,IAAM,kBAAkB,GAAG,2CAA2C,CAAC,MAAM,CAAC,CAAC;IAC/E,OAAO,UAAG,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,cAAI,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,cAAI,YAAY,cAAI,kBAAkB,CAAE,CAAC;AAChH,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAmD;IAC9E,OAAO,UAAG,UAAU,CAAC,MAAM,CAAC,cAAI,8BAA8B,CAAC,MAAM,CAAC,CAAE,CAAC;AAC1E,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAmD;IAC5E,OAAO,kFAAkF,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAChI,CAAC;AAED,SAAS,eAAe,CAAC,MAAmD;IAC3E,OAAO,yCAAyC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AACvF,CAAC;AAED,SAAgB,mCAAmC,CAAC,KAA+C;IAA/C,sBAAA,EAAA,UAA+C;IAClG,IAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC;IACzD,IAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5C,IAAM,YAAY,GAAG,uCAAuC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACjF,IAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC;IACvD,IAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC;IAC5D,IAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC9C,IAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAC5D,IAAM,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAC9D,IAAM,qBAAqB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,qBAAqB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACzF,IAAM,WAAW,GAAG;QACnB,MAAM,CAAC,CAAC,CAAC,wBAAiB,MAAM,CAAE,CAAC,CAAC,CAAC,EAAE;QACvC,OAAO,CAAC,CAAC,CAAC,kBAAW,OAAO,CAAE,CAAC,CAAC,CAAC,EAAE;QACnC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,wBAAiB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAE,CAAC,CAAC,CAAC,EAAE;QACrE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,oBAAa,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAE,CAAC,CAAC,CAAC,EAAE;KACnE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClB,IAAM,IAAI,GAAiP;QAC1P,IAAI,MAAA;QACJ,QAAQ,UAAA;QACR,qBAAqB,uBAAA;QACrB,KAAK,EAAE,WAAW;KAClB,CAAC;IACF,IAAM,QAAQ,GAAG,UAChB,aAA8C,EAC9C,eAAuB,EACvB,SAAiB,EACjB,aAAqB,EACrB,oBAA6B,EAC7B,qBAA8B,EAC9B,WAAqB,EACrB,gBAA0B,EAC1B,iBAA2B,EAC3B,gBAA0B,IACU,OAAA,uBACjC,IAAI,KACP,aAAa,eAAA,EACb,eAAe,iBAAA,EACf,SAAS,WAAA,EACT,aAAa,eAAA,EACb,oBAAoB,sBAAA,EACpB,qBAAqB,uBAAA,EACrB,WAAW,aAAA,EACX,gBAAgB,kBAAA,EAChB,iBAAiB,mBAAA,EACjB,gBAAgB,kBAAA,IACf,EAZmC,CAYnC,CAAC;IACH,IAAI,MAAM,KAAK,mBAAmB,EAAE,CAAC;QACpC,OAAO,QAAQ,CACd,qBAAqB,EACrB,qBAAqB,EACrB,qEAAqE,EACrE,sBAAsB,EACtB,KAAK,EACL,KAAK,EACL;YACC,8DAA8D;YAC9D,oDAAoD;YACpD,oFAAoF;SACpF,EACD,CAAC,qBAAqB,EAAE,0CAA0C,CAAC,EACnE,CAAC,yBAAyB,EAAE,6BAA6B,CAAC,EAC1D,CAAC,oCAAoC,EAAE,oDAAoD,CAAC,CAC5F,CAAC;IACH,CAAC;IACD,IAAI,MAAM,KAAK,gBAAgB,EAAE,CAAC;QACjC,OAAO,QAAQ,CACd,gBAAgB,EAChB,eAAe,EACf,+EAA+E,EAC/E,oBAAoB,EACpB,KAAK,EACL,KAAK,EACL;YACC,oCAAoC;YACpC,kEAAkE;YAClE,gGAAgG;SAChG,EACD,CAAC,qBAAqB,EAAE,eAAe,EAAE,iBAAiB,CAAC,EAC3D,CAAC,sBAAsB,EAAE,uBAAuB,CAAC,EACjD,CAAC,sCAAsC,EAAE,0BAA0B,CAAC,CACpE,CAAC;IACH,CAAC;IACD,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;QAC9B,OAAO,QAAQ,CACd,gBAAgB,EAChB,oBAAoB,EACpB,kFAAkF,EAClF,oBAAoB,EACpB,KAAK,EACL,KAAK,EACL;YACC,oCAAoC;YACpC,8DAA8D;YAC9D,8GAA8G;SAC9G,EACD,CAAC,qBAAqB,EAAE,wBAAwB,EAAE,4BAA4B,CAAC,EAC/E,CAAC,wBAAwB,EAAE,4BAA4B,EAAE,+BAA+B,CAAC,EACzF,CAAC,kCAAkC,EAAE,mCAAmC,EAAE,mBAAmB,CAAC,CAC9F,CAAC;IACH,CAAC;IACD,IAAI,YAAY,KAAK,WAAW,IAAI,QAAQ,KAAK,gBAAgB,EAAE,CAAC;QACnE,OAAO,QAAQ,CACd,gBAAgB,EAChB,oBAAoB,EACpB,+DAA+D,EAC/D,qBAAqB,EACrB,KAAK,EACL,IAAI,EACJ;YACC,sDAAsD;YACtD,qEAAqE;YACrE,oDAAoD;YACpD,iCAAiC;YACjC,kDAAkD;SAClD,EACD,CAAC,YAAY,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,CAAC,EAC3G,CAAC,2BAA2B,EAAE,6BAA6B,EAAE,0BAA0B,CAAC,EACxF,CAAC,mBAAmB,EAAE,uBAAuB,EAAE,uCAAuC,CAAC,CACvF,CAAC;IACH,CAAC;IACD,IAAI,YAAY,KAAK,aAAa,IAAI,YAAY,KAAK,cAAc,IAAI,6BAA6B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACrH,OAAO,QAAQ,CACd,oBAAoB,EACpB,wBAAwB,EACxB,8EAA8E,EAC9E,yBAAyB,EACzB,KAAK,EACL,IAAI,EACJ;YACC,0DAA0D;YAC1D,mEAAmE;YACnE,iFAAiF;YACjF,sDAAsD;SACtD,EACD,CAAC,wBAAwB,EAAE,2BAA2B,EAAE,4BAA4B,CAAC,EACrF,CAAC,mCAAmC,EAAE,gCAAgC,CAAC,EACvE,CAAC,oCAAoC,EAAE,2BAA2B,EAAE,qCAAqC,CAAC,CAC1G,CAAC;IACH,CAAC;IACD,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;QAC9B,IAAM,SAAS,GAAG,YAAY,KAAK,SAAS,CAAC;QAC7C,OAAO,QAAQ,CACd,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,EAC7C,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,mBAAmB,EACvD,SAAS;YACR,CAAC,CAAC,0FAA0F;YAC5F,CAAC,CAAC,mFAAmF,EACtF,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,mBAAmB,EACvD,KAAK,EACL,KAAK,EACL,SAAS;YACR,CAAC,CAAC;gBACD,2EAA2E;gBAC3E,sGAAsG;gBACtG,wCAAwC;gBACxC,6CAA6C;aAC7C;YACD,CAAC,CAAC;gBACD,6FAA6F;gBAC7F,mDAAmD;gBACnD,6BAA6B;gBAC7B,4CAA4C;aAC5C,EACF,SAAS;YACR,CAAC,CAAC,CAAC,iBAAiB,EAAE,sBAAsB,EAAE,4CAA4C,CAAC;YAC3F,CAAC,CAAC,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,oCAAoC,CAAC,EACpF,CAAC,uBAAuB,EAAE,gCAAgC,CAAC,EAC3D,CAAC,+BAA+B,EAAE,+BAA+B,EAAE,8DAA8D,CAAC,CAClI,CAAC;IACH,CAAC;IACD,IAAI,MAAM,KAAK,uBAAuB,IAAI,MAAM,KAAK,gBAAgB,EAAE,CAAC;QACvE,OAAO,QAAQ,CACd,4BAA4B,EAC5B,MAAM,KAAK,gBAAgB,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,uBAAuB,EAC7E,0FAA0F,EAC1F,2BAA2B,EAC3B,KAAK,EACL,KAAK,EACL;YACC,8CAA8C;YAC9C,8CAA8C;YAC9C,2HAA2H;YAC3H,kHAAkH;SAClH,EACD,CAAC,oBAAoB,EAAE,qBAAqB,EAAE,eAAe,CAAC,EAC9D,CAAC,6BAA6B,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,+CAA+C,EAAE,uCAAuC,EAAE,oCAAoC,CAAC,EAC7M,CAAC,sCAAsC,EAAE,uCAAuC,EAAE,sBAAsB,CAAC,CACzG,CAAC;IACH,CAAC;IACD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,QAAQ,CACd,yBAAyB,EACzB,yBAAyB,EACzB,2EAA2E,EAC3E,yBAAyB,EACzB,KAAK,EACL,IAAI,EACJ;YACC,oCAAoC;YACpC,8GAA8G;YAC9G,4HAA4H;YAC5H,+HAA+H;YAC/H,qFAAqF;YACrF,4DAA4D;SAC5D,EACD,CAAC,iCAAiC,EAAE,uBAAuB,EAAE,4BAA4B,EAAE,2CAA2C,CAAC,EACvI,CAAC,2BAA2B,EAAE,gCAAgC,CAAC,EAC/D,CAAC,oBAAoB,EAAE,iCAAiC,EAAE,mCAAmC,CAAC,CAC9F,CAAC;IACH,CAAC;IACD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,QAAQ,CACd,gBAAgB,EAChB,qBAAqB,EACrB,8GAA8G,EAC9G,qBAAqB,EACrB,KAAK,EACL,KAAK,EACL;YACC,0CAA0C;YAC1C,sFAAsF;YACtF,iIAAiI;YACjI,qCAAqC;SACrC,EACD,CAAC,uBAAuB,EAAE,oBAAoB,EAAE,2BAA2B,CAAC,EAC5E,CAAC,qBAAqB,EAAE,0BAA0B,CAAC,EACnD,CAAC,+CAA+C,EAAE,mCAAmC,EAAE,yBAAyB,EAAE,8DAA8D,CAAC,CACjL,CAAC;IACH,CAAC;IACD,IAAI,YAAY,KAAK,UAAU,IAAI,YAAY,KAAK,aAAa,IAAI,YAAY,KAAK,OAAO,EAAE,CAAC;QAC/F,OAAO,QAAQ,CACd,uBAAuB,EACvB,uBAAuB,EACvB,kFAAkF,EAClF,iBAAiB,EACjB,IAAI,EACJ,IAAI,EACJ;YACC,wCAAwC;YACxC,8DAA8D;YAC9D,6CAA6C;YAC7C,2CAA2C;YAC3C,uCAAuC;SACvC,EACD,CAAC,mBAAmB,EAAE,cAAc,EAAE,yBAAyB,CAAC,EAChE,CAAC,2BAA2B,EAAE,wCAAwC,CAAC,EACvE,CAAC,6BAA6B,EAAE,+BAA+B,EAAE,gCAAgC,CAAC,CAClG,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,oBAAoB,KAAK,KAAK,IAAI,YAAY,KAAK,cAAc,EAAE,CAAC;QAC7E,OAAO,QAAQ,CACd,qBAAqB,EACrB,6BAA6B,EAC7B,4FAA4F,EAC5F,yBAAyB,EACzB,IAAI,EACJ,IAAI,EACJ;YACC,kFAAkF;YAClF,mCAAmC;YACnC,yEAAyE;YACzE,iCAAiC;YACjC,iDAAiD;SACjD,EACD,CAAC,sBAAsB,EAAE,aAAa,EAAE,4BAA4B,CAAC,EACrE,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,EACzC,CAAC,4BAA4B,EAAE,oDAAoD,EAAE,4BAA4B,CAAC,CAClH,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CACd,UAAU,EACV,uBAAuB,EACvB,qFAAqF,EACrF,UAAU,EACV,KAAK,EACL,KAAK,EACL;QACC,6BAA6B;QAC7B,2BAA2B;QAC3B,qCAAqC;KACrC,EACD,CAAC,oBAAoB,EAAE,sBAAsB,CAAC,EAC9C,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,EACxC,CAAC,yBAAyB,EAAE,0BAA0B,CAAC,CACvD,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,OAA0C;IAClE,IAAM,IAAI,GAAsC,EAAE,CAAC;IACnD,KAAK,IAAI,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC7D,IAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,MAAM;QACP,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAS,gBAAgB,CAAC,OAA0C,EAAE,OAAwC;IAC7G,IAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC7D,IAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,MAAM;QACP,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC;YACvC,MAAM;QACP,CAAC;QACD,KAAK,IAAI,CAAC,CAAC;IACZ,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,uBAAuB,CAC/B,OAA0C,EAC1C,OAAwC,EACxC,kBAA2B;IAE3B,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACrB,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,CAAC;IACD,IAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACzC,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9D,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAS,aAAa,CAAC,OAA0C,EAAE,OAAwC;IAC1G,IAAM,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,UAAC,MAAM;QACnD,OAAO,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;eAC7D,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IACH,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,CAAC;IACV,CAAC;IACD,IAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClD,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,CAAC;IACV,CAAC;IACD,IAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,CAAC;IACV,CAAC;IACD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;YACrC,OAAO,CAAC,CAAC;QACV,CAAC;IACF,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AACxB,CAAC;AAED,SAAgB,8BAA8B,CAAC,KAAoC;IAClF,IAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAClE,IAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;IAC3C,IAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACnE,IAAM,YAAY,GAAG,uCAAuC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACnF,IAAM,kBAAkB,GAAG,2CAA2C,CAAC,OAAO,CAAC,CAAC;IAChF,IAAM,YAAY,GAAG,8BAA8B,CAAC,OAAO,CAAC,CAAC;IAC7D,IAAM,QAAQ,GAAG,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC;IAC/E,IAAM,mBAAmB,GAAG,QAAQ,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,UAAU,CAAC,OAAO,CAAC,CAAC;IACrF,IAAM,kBAAkB,GAAG,mBAAmB;QAC7C,CAAC,CAAC,sCAAsC,CAAC,QAAQ,EAAE,OAAO,CAAC;QAC3D,CAAC,CAAC;YACD,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,MAA4C;YACtD,OAAO,EAAE,EAAE;YACX,YAAY,cAAA;YACZ,kBAAkB,oBAAA;SAClB,CAAC;IACH,IAAM,WAAW,GAAG,CAAC,CAAC,mBAAmB,IAAI,kBAAkB,CAAC,OAAO,CAAC;IACxE,IAAM,gBAAgB,GAAG,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5D,IAAM,aAAa,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACtD,IAAM,qBAAqB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,qBAAqB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACzF,IAAM,sBAAsB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,sBAAsB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3F,IAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC,CAAC;IAC/H,IAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC,CAAC;IACjH,IAAM,IAAI,GAAG;QACZ,YAAY,cAAA;QACZ,kBAAkB,oBAAA;QAClB,YAAY,cAAA;QACZ,gBAAgB,kBAAA;QAChB,aAAa,eAAA;QACb,WAAW,aAAA;QACX,gBAAgB,EAAE,kBAAkB,CAAC,QAAQ;QAC7C,gBAAgB,EAAE,kBAAkB,CAAC,QAAQ;QAC7C,eAAe,EAAE,kBAAkB,CAAC,OAAO;QAC3C,qBAAqB,EAAE,KAAK;QAC5B,oBAAoB,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC;KAC1F,CAAC;IACF,IAAM,QAAQ,GAAG,UAChB,MAAgC,EAChC,MAAc,EACd,SAA4H;QAA5H,0BAAA,EAAA,cAA4H;QAE5H,IAAM,MAAM,yBACR,IAAI,GACJ,SAAS,CACZ,CAAC;QACF,IAAM,YAAY,GAAG,mCAAmC,CAAC;YACxD,MAAM,QAAA;YACN,MAAM,QAAA;YACN,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO;YAC3C,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;YACjD,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,qBAAqB,uBAAA;SACrB,CAAC,CAAC;QACH,IAAM,kBAAkB,GAAG,yCAAyC,CAAC;YACpE,IAAI,EAAE,YAAY;YAClB,OAAO,SAAA;SACP,CAAC,CAAC;QACH,IAAM,qBAAqB,GAAG,4CAA4C,CAAC;YAC1E,UAAU,EAAE,kBAAkB;YAC9B,OAAO,SAAA;SACP,CAAC,CAAC;QACH,6BACI,MAAM,KACT,MAAM,QAAA,EACN,MAAM,QAAA,EACN,YAAY,cAAA,EACZ,kBAAkB,oBAAA,EAClB,qBAAqB,uBAAA,EACrB,cAAc,EAAE,2CAA2C,CAAC;gBAC3D,IAAI,EAAE,YAAY;gBAClB,UAAU,EAAE,kBAAkB;gBAC9B,KAAK,EAAE,qBAAqB;gBAC5B,OAAO,SAAA;aACP,CAAC,IACD;IACH,CAAC,CAAC;IACF,IAAI,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,OAAO,QAAQ,CAAC,mBAAmB,EAAE,gCAAgC,EAAE;YACtE,qBAAqB,EAAE,IAAI;YAC3B,oBAAoB,EAAE,KAAK;SAC3B,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9B,OAAO,QAAQ,CAAC,gBAAgB,EAAE,kCAAkC,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,aAAa,IAAI,sBAAsB,EAAE,CAAC;QAC7C,OAAO,QAAQ,CAAC,gBAAgB,EAAE,uCAAuC,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,gBAAgB,IAAI,qBAAqB,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC;QAC/E,OAAO,QAAQ,CAAC,uBAAuB,EAAE,WAAW;YACnD,CAAC,CAAC,gDAAgD;YAClD,CAAC,CAAC,kDAAkD,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QACpC,OAAO,QAAQ,CAAC,aAAa,EAAE,qDAAqD,EAAE;YACrF,oBAAoB,EAAE,KAAK;SAC3B,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,WAAW,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzC,IAAI,WAAW,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC;YACjD,OAAO,QAAQ,CAAC,UAAU,EAAE,yDAAyD,CAAC,CAAC;QACxF,CAAC;QACD,OAAO,QAAQ,CAAC,UAAU,EAAE,WAAW;YACrC,CAAC,CAAC,yDAAyD;YAC3D,CAAC,CAAC,oCAAoC,EAAE;YACzC,qBAAqB,EAAE,IAAI;YAC3B,gBAAgB,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB;YAC5D,gBAAgB,EAAE,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB;SACnF,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC,UAAU,EAAE,yCAAyC,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,4BAA4B,CAAC,KAKrC;IACA,IAAM,UAAU,GAAG,yCAAyC,CAAC;QAC5D,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,GAAG,EAAE,KAAK,CAAC,GAAG;KACd,CAAC,CAAC;IACH,IAAM,KAAK,GAAG,4CAA4C,CAAC;QAC1D,UAAU,YAAA;QACV,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,GAAG,EAAE,KAAK,CAAC,GAAG;KACd,CAAC,CAAC;IACH,IAAM,MAAM,GAAG,2CAA2C,CAAC;QAC1D,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,UAAU,YAAA;QACV,KAAK,OAAA;QACL,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,GAAG,EAAE,KAAK,CAAC,GAAG;KACd,CAAC,CAAC;IACH,IAAM,QAAQ,GAAG,8CAA8C,CAAC;QAC/D,MAAM,QAAA;QACN,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,GAAG,EAAE,KAAK,CAAC,GAAG;KACd,CAAC,CAAC;IACH,OAAO,iDAAiD,CAAC;QACxD,MAAM,QAAA;QACN,gBAAgB,EAAE,QAAQ;QAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,GAAG,EAAE,KAAK,CAAC,GAAG;KACd,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,KAYhC;;IACA,IAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAClC,IAAM,gBAAgB,GAAG,oCAAoC,CAAC;QAC7D,cAAc,EAAE,SAAS,CAAC,cAAc;QACxC,SAAS,WAAA;QACT,4BAA4B,EAAE,KAAK,CAAC,wBAAwB,IAAI,SAAS,CAAC,cAAc,KAAK,6BAA6B;QAC1H,oBAAoB,EAAE,KAAK,CAAC,wBAAwB,IAAI,SAAS,CAAC,cAAc,KAAK,oBAAoB;QACzG,oBAAoB,EAAE,KAAK;KAC3B,CAAC,CAAC;IACH,2BACC,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,gBAAgB,KAAK,KAAK,CAAC,wBAAwB,EACvE,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,aAAa,EAAE,SAAS,CAAC,CAAA,MAAA,SAAS,CAAC,cAAc,0CAAE,IAAI,KAAI,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,EAChF,cAAc,EAAE,SAAS,CAAC,cAAc,EACxC,gBAAgB,kBAAA,EAChB,wBAAwB,EAAE,KAAK,CAAC,wBAAwB,EACxD,oBAAoB,EAAE,SAAS,CAAC,mBAAmB,KAAK,IAAI,EAC5D,qBAAqB,EAAE,KAAK,CAAC,qBAAqB,KAAK,IAAI,EAC3D,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,KAAK,IAAI,EACjD,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,IAAI,MAAM,IAC/C,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;QAC7B,WAAW,EAAE,SAAS,CAAC,aAAa,CAAC,MAAM,KAAK,cAAc;QAC9D,iBAAiB,EAAE,SAAS,CAAC,aAAa,CAAC,iBAAiB;KAC5D,CAAC,CAAC,CAAC,EAAE,CAAC,KACP,OAAO,aACN,KAAK,EAAE,SAAS,CAAC,KAAK,EACtB,OAAO,EAAE,SAAS,CAAC,OAAO,EAC1B,MAAM,EAAE,SAAS,CAAC,MAAM,EACxB,aAAa,EAAE,SAAS,CAAC,aAAa,IACnC,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,KAExB;AACH,CAAC;AAED,SAAgB,2CAA2C,CAC1D,KAAuD;;IAAvD,sBAAA,EAAA,UAAuD;IAEvD,IAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,IAAI,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC1D,IAAM,qBAAqB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,qBAAqB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACzF,IAAM,oBAAoB,GAAG,KAAK,CAAC,oBAAoB,KAAK,KAAK,CAAC;IAClE,IAAM,4BAA4B,GAAG,KAAK,CAAC,4BAA4B,KAAK,KAAK,CAAC;IAClF,IAAM,KAAK,GAA2C,EAAE,CAAC;IACzD,IAAM,WAAW,GAAG,8BAA8B,CAAC;QAClD,OAAO,EAAE;YACR,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,4BAA4B,EAAE,YAAY,EAAE,gBAAgB,EAAE;SAC9J;QACD,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,4BAA4B,EAAE,YAAY,EAAE,gBAAgB,EAAE;QACvK,qBAAqB,uBAAA;KACrB,CAAC,CAAC;IACH,IAAM,cAAc,GAAG,iDAAiD,CAAC;QACxE,MAAM,EAAE,WAAW,CAAC,cAAc;QAClC,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,4BAA4B,EAAE,YAAY,EAAE,gBAAgB,EAAE;QACvK,OAAO,SAAA;KACP,CAAC,CAAC;IACH,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC;QAClC,MAAM,EAAE,8BAA8B;QACtC,OAAO,SAAA;QACP,MAAM,EAAE,WAAW,CAAC,MAAM;QAC1B,MAAM,EAAE,WAAW,CAAC,MAAM;QAC1B,SAAS,EAAE,cAAc;QACzB,wBAAwB,EAAE,IAAI;QAC9B,IAAI,EAAE,WAAW,CAAC,MAAM,KAAK,aAAa;eACtC,WAAW,CAAC,YAAY,CAAC,aAAa,KAAK,cAAc;eACzD,cAAc,CAAC,cAAc,KAAK,kBAAkB;eACpD,cAAc,CAAC,mBAAmB,KAAK,KAAK;QAChD,OAAO,EAAE,EAAE,aAAa,EAAE,WAAW,CAAC,YAAY,CAAC,aAAa,EAAE;KAClE,CAAC,CAAC,CAAC;IACJ,IAAM,WAAW,GAAG,mCAAmC,CAAC;QACvD,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,qCAAqC;QAC7C,YAAY,EAAE,SAAS;QACvB,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,iDAAiD;KAC1D,CAAC,CAAC;IACH,IAAM,cAAc,GAAG;QACtB,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,cAAc;QACvB,YAAY,EAAE,SAAS;QACvB,OAAO,EAAE,iDAAiD;QAC1D,YAAY,EAAE,+BAA+B;QAC7C,aAAa,EAAE,CAAC,qCAAqC,CAAC;KACtD,CAAC;IACF,IAAM,gBAAgB,GAAG,4BAA4B,CAAC;QACrD,OAAO,SAAA;QACP,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,cAAc;KACvB,CAAC,CAAC;IACH,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC;QAClC,MAAM,EAAE,kCAAkC;QAC1C,OAAO,SAAA;QACP,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,qCAAqC;QAC7C,SAAS,EAAE,gBAAgB;QAC3B,wBAAwB,EAAE,oBAAoB;QAC9C,IAAI,EAAE,WAAW,CAAC,aAAa,KAAK,gBAAgB;eAChD,gBAAgB,CAAC,cAAc,KAAK,oBAAoB;eACxD,CAAA,MAAA,gBAAgB,CAAC,aAAa,0CAAE,MAAM,MAAK,cAAc;eACzD,CAAA,MAAA,gBAAgB,CAAC,aAAa,0CAAE,iBAAiB,MAAK,KAAK;eAC3D,gBAAgB,CAAC,mBAAmB,KAAK,KAAK;QAClD,OAAO,EAAE,EAAE,aAAa,EAAE,WAAW,CAAC,aAAa,EAAE;KACrD,CAAC,CAAC,CAAC;IACJ,IAAM,WAAW,GAAG,mCAAmC,CAAC;QACvD,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,0CAA0C;QAClD,YAAY,EAAE,SAAS;QACvB,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,kBAAkB;QAC5B,OAAO,EAAE,yDAAyD;KAClE,CAAC,CAAC;IACH,IAAM,gBAAgB,GAAG,4BAA4B,CAAC;QACrD,OAAO,SAAA;QACP,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE;YACR,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,kBAAkB;YAC5B,OAAO,EAAE,cAAc;YACvB,YAAY,EAAE,SAAS;YACvB,OAAO,EAAE,yDAAyD;YAClE,YAAY,EAAE,0BAA0B;SACxC;KACD,CAAC,CAAC;IACH,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC;QAClC,MAAM,EAAE,kDAAkD;QAC1D,OAAO,SAAA;QACP,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,0CAA0C;QAClD,SAAS,EAAE,gBAAgB;QAC3B,wBAAwB,EAAE,4BAA4B;QACtD,IAAI,EAAE,WAAW,CAAC,aAAa,KAAK,yBAAyB;eACzD,gBAAgB,CAAC,cAAc,KAAK,6BAA6B;eACjE,gBAAgB,CAAC,mBAAmB,KAAK,KAAK;QAClD,OAAO,EAAE,EAAE,aAAa,EAAE,WAAW,CAAC,aAAa,EAAE;KACrD,CAAC,CAAC,CAAC;IACJ,IAAM,UAAU,GAAG,8BAA8B,CAAC;QACjD,OAAO,EAAE;YACR,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,qCAAqC,EAAE,YAAY,EAAE,aAAa,EAAE;YAC1K,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,qCAAqC,EAAE,YAAY,EAAE,mBAAmB,EAAE;SAChL;QACD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,qCAAqC,EAAE,YAAY,EAAE,mBAAmB,EAAE;QACzL,qBAAqB,uBAAA;KACrB,CAAC,CAAC;IACH,IAAM,aAAa,GAAG,iDAAiD,CAAC;QACvE,MAAM,EAAE,UAAU,CAAC,cAAc;QACjC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,qCAAqC,EAAE,YAAY,EAAE,mBAAmB,EAAE;QACzL,OAAO,SAAA;KACP,CAAC,CAAC;IACH,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC;QAClC,MAAM,EAAE,sCAAsC;QAC9C,OAAO,SAAA;QACP,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,SAAS,EAAE,aAAa;QACxB,wBAAwB,EAAE,IAAI;QAC9B,IAAI,EAAE,UAAU,CAAC,MAAM,KAAK,uBAAuB;eAC/C,UAAU,CAAC,gBAAgB,KAAK,KAAK;eACrC,UAAU,CAAC,qBAAqB,KAAK,KAAK;eAC1C,aAAa,CAAC,cAAc,KAAK,oBAAoB;QACzD,qBAAqB,EAAE,UAAU,CAAC,qBAAqB;QACvD,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;QAC7C,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;QAC7C,OAAO,EAAE,EAAE,eAAe,EAAE,UAAU,CAAC,eAAe,EAAE;KACxD,CAAC,CAAC,CAAC;IACJ,IAAM,cAAc,GAAG,8BAA8B,CAAC;QACrD,OAAO,EAAE;YACR,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,qCAAqC,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC,oBAAoB,CAAC,EAAE;YACjN;gBACC,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,QAAQ;gBAClB,OAAO,EAAE,cAAc;gBACvB,YAAY,EAAE,cAAc;gBAC5B,OAAO,EAAE,qCAAqC;gBAC9C,OAAO,EAAE,yEAAyE;gBAClF,YAAY,EAAE,gBAAgB;gBAC9B,aAAa,EAAE,CAAC,oBAAoB,EAAE,wBAAwB,CAAC;aAC/D;SACD;QACD,OAAO,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,cAAc;YACvB,YAAY,EAAE,cAAc;YAC5B,OAAO,EAAE,qCAAqC;YAC9C,OAAO,EAAE,yEAAyE;YAClF,YAAY,EAAE,gBAAgB;YAC9B,aAAa,EAAE,CAAC,oBAAoB,EAAE,wBAAwB,CAAC;SAC/D;QACD,qBAAqB,uBAAA;KACrB,CAAC,CAAC;IACH,KAAK,CAAC,IAAI,CAAC;QACV,MAAM,EAAE,sCAAsC;QAC9C,OAAO,SAAA;QACP,IAAI,EAAE,cAAc,CAAC,MAAM,KAAK,UAAU;eACtC,cAAc,CAAC,gBAAgB,KAAK,IAAI;eACxC,cAAc,CAAC,qBAAqB,KAAK,IAAI;QACjD,MAAM,EAAE,cAAc,CAAC,MAAM;QAC7B,MAAM,EAAE,cAAc,CAAC,MAAM;QAC7B,aAAa,EAAE,cAAc,CAAC,YAAY,CAAC,aAAa;QACxD,cAAc,EAAE,cAAc,CAAC,cAAc,CAAC,IAAI;QAClD,gBAAgB,EAAE,KAAK;QACvB,wBAAwB,EAAE,KAAK;QAC/B,oBAAoB,EAAE,cAAc,CAAC,cAAc,CAAC,oBAAoB;QACxE,qBAAqB,EAAE,cAAc,CAAC,qBAAqB;QAC3D,gBAAgB,EAAE,cAAc,CAAC,gBAAgB;QACjD,gBAAgB,EAAE,cAAc,CAAC,gBAAgB;QACjD,OAAO,EAAE,EAAE,eAAe,EAAE,cAAc,CAAC,eAAe,EAAE;KAC5D,CAAC,CAAC;IACH,IAAM,WAAW,GAAG,mCAAmC,CAAC;QACvD,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,8BAA8B;QACtC,YAAY,EAAE,cAAc;QAC5B,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,qCAAqC;QAC9C,oBAAoB,EAAE,IAAI;KAC1B,CAAC,CAAC;IACH,IAAM,gBAAgB,GAAG,4BAA4B,CAAC;QACrD,OAAO,SAAA;QACP,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,cAAc;YACvB,YAAY,EAAE,cAAc;YAC5B,OAAO,EAAE,qCAAqC;YAC9C,YAAY,EAAE,qBAAqB;SACnC;KACD,CAAC,CAAC;IACH,IAAM,WAAW,GAAG,oCAAoC,CAAC;QACxD,cAAc,EAAE,gBAAgB,CAAC,cAAc;QAC/C,SAAS,EAAE,gBAAgB;QAC3B,oBAAoB,EAAE,KAAK,CAAC,oBAAoB,KAAK,IAAI;KACzD,CAAC,CAAC;IACH,KAAK,CAAC,IAAI,CAAC;QACV,MAAM,EAAE,kDAAkD;QAC1D,OAAO,SAAA;QACP,IAAI,EAAE,WAAW,CAAC,aAAa,KAAK,qBAAqB;eACrD,gBAAgB,CAAC,cAAc,KAAK,6BAA6B;eACjE,WAAW,KAAK,KAAK;QACzB,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,8BAA8B;QACtC,aAAa,EAAE,WAAW,CAAC,aAAa;QACxC,cAAc,EAAE,gBAAgB,CAAC,cAAc;QAC/C,gBAAgB,EAAE,WAAW;QAC7B,wBAAwB,EAAE,KAAK;QAC/B,oBAAoB,EAAE,gBAAgB,CAAC,mBAAmB;QAC1D,qBAAqB,EAAE,KAAK;QAC5B,gBAAgB,EAAE,KAAK;QACvB,gBAAgB,EAAE,MAAM;QACxB,OAAO,EAAE,EAAE,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,gBAAgB,CAAC,OAAO,EAAE;KAC7E,CAAC,CAAC;IACH,IAAM,sBAAsB,GAAG,+CAA+C,CAAC;QAC9E,OAAO,SAAA;QACP,iBAAiB,EAAE,UAAG,OAAO,kBAAe;QAC5C,qBAAqB,EAAE,UAAG,OAAO,kBAAe;QAChD,YAAY,EAAE,WAAW;QACzB,aAAa,EAAE,WAAW;KAC1B,CAAC,CAAC;IACH,KAAK,CAAC,IAAI,CAAC;QACV,MAAM,EAAE,kDAAkD;QAC1D,OAAO,SAAA;QACP,IAAI,EAAE,sBAAsB,CAAC,iBAAiB,KAAK,wBAAwB;eACvE,sBAAsB,CAAC,sBAAsB,KAAK,IAAI;eACtD,sBAAsB,CAAC,iBAAiB,KAAK,KAAK;QACtD,MAAM,EAAE,sBAAsB,CAAC,iBAAiB;QAChD,MAAM,EAAE,sBAAsB,CAAC,MAAM;QACrC,aAAa,EAAE,gBAAgB;QAC/B,cAAc,EAAE,oBAAoB;QACpC,gBAAgB,EAAE,oBAAoB;QACtC,wBAAwB,EAAE,oBAAoB;QAC9C,oBAAoB,EAAE,KAAK;QAC3B,qBAAqB,EAAE,KAAK;QAC5B,gBAAgB,EAAE,KAAK;QACvB,gBAAgB,EAAE,MAAM;QACxB,WAAW,EAAE,IAAI;QACjB,iBAAiB,EAAE,sBAAsB,CAAC,iBAAiB;QAC3D,OAAO,EAAE,EAAE,aAAa,EAAE,sBAAsB,EAAE;KAClD,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACd,CAAC","file":"ai-runner-manager-policy.js","sourcesContent":["export type ResolveIOAIManagerAction =\n\t| 'continue'\n\t| 'retry_infra'\n\t| 'reset_loop_budget'\n\t| 'park_repeated_failure'\n\t| 'park_ping_pong'\n\t| 'manual_handoff';\n\nexport interface ResolveIOAIManagerFailureRecord {\n\toutcome?: string;\n\tlane?: string;\n\tstepType?: string;\n\tfailureClass?: string;\n\tblocker?: string;\n\tblockerFingerprint?: string;\n\tevidenceHash?: string;\n\tchangedFiles?: string[];\n\tartifactPaths?: string[];\n\tsummary?: string;\n\trecordedAt?: Date | string;\n}\n\nexport type ResolveIOAIManagerEvidenceStrength = 'none' | 'weak' | 'material' | 'proof';\n\nexport interface ResolveIOAIManagerEvidenceAssessment {\n\tchanged: boolean;\n\tmaterial: boolean;\n\tstrength: ResolveIOAIManagerEvidenceStrength;\n\tsignals: string[];\n\tevidenceHash: string;\n\tblockerFingerprint: string;\n}\n\nexport type ResolveIOAIManagerRecoveryClass =\n\t| 'advance_after_proof'\n\t| 'diagnosis_only'\n\t| 'diagnosis_revision'\n\t| 'infra_repair'\n\t| 'compile_repair'\n\t| 'journey_contract_repair'\n\t| 'business_proof_repair'\n\t| 'release_repair'\n\t| 'product_code_repair'\n\t| 'blocked_until_new_evidence'\n\t| 'manual_handoff'\n\t| 'continue';\n\nexport interface ResolveIOAIManagerRecoveryPlan {\n\trecoveryClass: ResolveIOAIManagerRecoveryClass;\n\tlane: string;\n\tstepType: string;\n\tnextActionLabel: string;\n\tobjective: string;\n\tallowedAction: string;\n\tproductRepairAllowed: boolean;\n\texpensiveModelAllowed: boolean;\n\tmaxAttemptsBeforePark: number;\n\tfiniteSteps: string[];\n\trequiredEvidence: string[];\n\tloopResetEvidence: string[];\n\tforbiddenActions: string[];\n\tnotes: string[];\n}\n\nexport type ResolveIOAIManagerRecoveryCheckpointStatus =\n\t| 'active'\n\t| 'parked'\n\t| 'manual_handoff'\n\t| 'complete';\n\nexport interface ResolveIOAIManagerRecoveryCheckpoint {\n\tcheckpointId: string;\n\trecoveryClass: ResolveIOAIManagerRecoveryClass;\n\tstatus: ResolveIOAIManagerRecoveryCheckpointStatus;\n\tlane: string;\n\tstepType: string;\n\tallowedAction: string;\n\tproductRepairAllowed: boolean;\n\texpensiveModelAllowed: boolean;\n\tattempts: number;\n\tmaxAttemptsBeforePark: number;\n\tblockerFingerprint: string;\n\tevidenceHash: string;\n\tchangedFiles: string[];\n\tartifactPaths: string[];\n\trequiredEvidence: string[];\n\tloopResetEvidence: string[];\n\tforbiddenActions: string[];\n\tobjective: string;\n\tnextActionLabel: string;\n\tcreatedAt: string;\n\tupdatedAt: string;\n}\n\nexport type ResolveIOAIManagerRecoveryEvidenceProbeStepKind =\n\t| 'read_only_diagnosis'\n\t| 'rerun_same_gate'\n\t| 'infra_preflight'\n\t| 'compile_check'\n\t| 'route_probe'\n\t| 'business_assertion'\n\t| 'journey_validation'\n\t| 'release_status'\n\t| 'diff_scope_check'\n\t| 'operator_review';\n\nexport interface ResolveIOAIManagerRecoveryEvidenceProbeStep {\n\tid: string;\n\tkind: ResolveIOAIManagerRecoveryEvidenceProbeStepKind;\n\tlabel: string;\n\tobjective: string;\n\trequired: boolean;\n\tcommandHint?: string;\n\tartifactExpectation: string;\n\tsuccessSignal: string;\n}\n\nexport interface ResolveIOAIManagerRecoveryEvidenceProbe {\n\tprobeId: string;\n\tcheckpointId: string;\n\trecoveryClass: ResolveIOAIManagerRecoveryClass;\n\tlane: string;\n\tstepType: string;\n\tobjective: string;\n\tevidenceOnly: boolean;\n\tproductRepairAllowed: boolean;\n\texpensiveModelAllowed: boolean;\n\tevidenceHashBefore: string;\n\tblockerFingerprint: string;\n\tsteps: ResolveIOAIManagerRecoveryEvidenceProbeStep[];\n\trequiredArtifacts: string[];\n\tacceptanceEvidence: string[];\n\tstopConditions: string[];\n\tloopResetEvidence: string[];\n\tcreatedAt: string;\n}\n\nexport type ResolveIOAIManagerRecoveryAutomationMode =\n\t| 'advance'\n\t| 'collect_evidence'\n\t| 'read_only_diagnosis'\n\t| 'repair_infra'\n\t| 'repair_compile'\n\t| 'repair_journey_contract'\n\t| 'repair_business_assertion'\n\t| 'repair_release'\n\t| 'targeted_product_repair'\n\t| 'manual_review'\n\t| 'continue_gate';\n\nexport interface ResolveIOAIManagerRecoveryActionRetryPolicy {\n\tallowImmediateRetry: boolean;\n\trequireNewEvidence: boolean;\n\tresetLoopWhen: string[];\n\tstopWhen: string[];\n}\n\nexport type ResolveIOAIManagerHotfixFirstReleaseAction =\n\t| 'wait_for_active_deploy'\n\t| 'block_duplicate_deploy'\n\t| 'block_duplicate_publish'\n\t| 'review_force_deploy'\n\t| 'hotfix_release_artifact'\n\t| 'deploy_new_artifact_after_release_gate'\n\t| 'build_artifact_first';\n\nexport type ResolveIOAIManagerHotfixChannel =\n\t| 'static_ui'\n\t| 'backend_js'\n\t| 'config'\n\t| 'seed_data'\n\t| 'cache_invalidation'\n\t| 'service_restart'\n\t| 'release_artifact'\n\t| 'force_deploy_review'\n\t| 'new_artifact_deploy'\n\t| 'artifact_build';\n\nexport interface ResolveIOAIManagerHotfixPlanStep {\n\tid: string;\n\tlabel: string;\n\tchannel: ResolveIOAIManagerHotfixChannel;\n\tsafeToAutoRun: boolean;\n\trequiresFullDeploy: boolean;\n\trequiredEvidence: string[];\n\tsuccessEvidence: string[];\n\tblockedBy: string[];\n}\n\nexport interface ResolveIOAIManagerHotfixPlan {\n\tplanId: string;\n\tlabel: string;\n\trecommendedChannel: ResolveIOAIManagerHotfixChannel;\n\treason: string;\n\tfullDeployAvoided: boolean;\n\tsteps: ResolveIOAIManagerHotfixPlanStep[];\n\tacceptanceEvidence: string[];\n\tescalationTriggers: string[];\n}\n\nexport interface ResolveIOAIManagerHotfixFirstReleasePolicyInput {\n\tsurface?: string;\n\tactiveDeploy?: boolean;\n\tdeployFingerprint?: string;\n\tlastDeployFingerprint?: string;\n\tpublishFingerprint?: string;\n\tlastPublishFingerprint?: string;\n\tdeployStatus?: string;\n\tpublishStatus?: string;\n\tsampleDataStatus?: string;\n\tforceDeploy?: boolean;\n\tforcePublish?: boolean;\n\thasNewArtifact?: boolean;\n}\n\nexport interface ResolveIOAIManagerHotfixFirstReleasePolicy {\n\tpolicy: 'hotfix_first';\n\tsurface: string;\n\trecommendedAction: ResolveIOAIManagerHotfixFirstReleaseAction;\n\tlabel: string;\n\treason: string;\n\thotfixPreferred: boolean;\n\tfullDeployAllowed: boolean;\n\tduplicateDeployBlocked: boolean;\n\tduplicatePublishBlocked: boolean;\n\tforceDeployRequiredToRepeat: boolean;\n\tforcePublishRequiredToRepeat: boolean;\n\tstatuses: {\n\t\tdeploy: string;\n\t\tpublish: string;\n\t\tsampleData: string;\n\t};\n\tfingerprints: {\n\t\tcurrent: string;\n\t\tlast: string;\n\t\tmatchesLast: boolean;\n\t\tpublishCurrent: string;\n\t\tpublishLast: string;\n\t\tpublishMatchesLast: boolean;\n\t};\n\thotfixPlan: ResolveIOAIManagerHotfixPlan;\n\tallowedActions: string[];\n\tforbiddenActions: string[];\n\trequiredEvidence: string[];\n}\n\nexport type ResolveIOAIManagerHotfixEvidenceStatus =\n\t| 'missing'\n\t| 'incomplete'\n\t| 'passed'\n\t| 'blocked';\n\nexport interface ResolveIOAIManagerHotfixEvidenceTarget {\n\tsurface?: string;\n\thost?: string;\n\tpath?: string;\n\tartifactPath?: string;\n\tbucket?: string;\n\tdistributionId?: string;\n\tprocessName?: string;\n\tconfigKey?: string;\n\tcacheKey?: string;\n\tseedKey?: string;\n}\n\nexport interface ResolveIOAIManagerHotfixRemoteChecksumProof {\n\thost?: string;\n\tpath?: string;\n\tchecksumBefore?: string;\n\tchecksumAfter?: string;\n\tchecksum?: string;\n\tstatus?: string;\n}\n\nexport interface ResolveIOAIManagerHotfixHostStatusProof {\n\thost?: string;\n\tstatus?: string;\n\tevidence?: string;\n\tcheckCount?: number;\n\tfailedCount?: number;\n}\n\nexport interface ResolveIOAIManagerHotfixEvidence {\n\tchannel: ResolveIOAIManagerHotfixChannel;\n\tstatus?: ResolveIOAIManagerHotfixEvidenceStatus | string;\n\ttarget: ResolveIOAIManagerHotfixEvidenceTarget;\n\ttargets?: ResolveIOAIManagerHotfixEvidenceTarget[];\n\tcompiledArtifactPath?: string;\n\tbuiltDistPath?: string;\n\tremoteChecksumBefore?: string;\n\tremoteChecksumAfter?: string;\n\tremoteChecksum?: string;\n\tremoteChecksums?: ResolveIOAIManagerHotfixRemoteChecksumProof[];\n\trestartEvidence?: string;\n\trestartResults?: ResolveIOAIManagerHotfixHostStatusProof[];\n\thealthCheckStatus?: string;\n\thealthChecks?: ResolveIOAIManagerHotfixHostStatusProof[];\n\tselfTestStatus?: string;\n\tselfTests?: ResolveIOAIManagerHotfixHostStatusProof[];\n\treleaseGateStatus?: string;\n\ts3UploadResult?: string;\n\tcloudfrontInvalidationId?: string;\n\tpublicProof?: string;\n\tconfigChangeEvidence?: string;\n\tseedDataEvidence?: string;\n\tcacheInvalidationEvidence?: string;\n\tserviceRestartEvidence?: string;\n\treleaseArtifactFingerprint?: string;\n\tlastReleaseArtifactFingerprint?: string;\n\tsourceCommitSha?: string;\n\tgithubCommitUrl?: string;\n\tgitCommitStatus?: string;\n\tgitPushStatus?: string;\n\tcommittedAt?: Date | string;\n\tforceDeployReason?: string;\n\thotfixCannotResolveReason?: string;\n\tfullDeployRequested?: boolean;\n\trecordedAt?: Date | string;\n}\n\nexport interface ResolveIOAIManagerHotfixEvidenceValidation {\n\tvalid: boolean;\n\tstatus: ResolveIOAIManagerHotfixEvidenceStatus;\n\tchannel: ResolveIOAIManagerHotfixChannel | '';\n\tblockers: string[];\n\twarnings: string[];\n\tfullDeployAllowed: boolean;\n\tfullDeployBlocked: boolean;\n\thotfixSatisfied: boolean;\n\trequiredEvidence: string[];\n\tsuccessEvidence: string[];\n\tnormalized?: ResolveIOAIManagerHotfixEvidence;\n\tgithubCommitGuard: ResolveIOAIManagerHotfixGitProof;\n\tpolicy?: ResolveIOAIManagerHotfixFirstReleasePolicy;\n\tnextAction: 'record_hotfix_evidence' | 'rerun_release_gate' | 'request_force_deploy_reason' | 'allow_one_full_deploy' | 'park_manual';\n}\n\nexport type ResolveIOAIManagerHotfixGitProofStatus =\n\t| 'not_required'\n\t| 'missing'\n\t| 'invalid'\n\t| 'passed';\n\nexport interface ResolveIOAIManagerHotfixGitProof {\n\trequired: boolean;\n\tstatus: ResolveIOAIManagerHotfixGitProofStatus;\n\tpassed: boolean;\n\tmanagerMustCommitBeforeHotfix: boolean;\n\tchannel: ResolveIOAIManagerHotfixChannel | '';\n\tsourceCommitSha: string;\n\tgithubCommitUrl: string;\n\tgithubCommitSha: string;\n\tgitCommitStatus: string;\n\tgitPushStatus: string;\n\tblockers: string[];\n\tnextCommands: string[];\n\trequiredEvidence: string[];\n}\n\nexport type ResolveIOAIManagerHotfixContinuationAction =\n\t| 'record_hotfix_evidence'\n\t| 'rerun_release_gate'\n\t| 'continue_runner'\n\t| 'request_force_deploy_reason'\n\t| 'allow_one_full_deploy'\n\t| 'park_manual';\n\nexport interface ResolveIOAIManagerHotfixContinuationInput {\n\tevidence?: any;\n\tpolicy?: ResolveIOAIManagerHotfixFirstReleasePolicy;\n\treleaseGatePassed?: boolean;\n\trepeatedFailure?: boolean;\n\tfailureClass?: string;\n\tblocker?: string;\n\tnow?: Date | string;\n}\n\nexport interface ResolveIOAIManagerHotfixContinuationDecision {\n\taction: ResolveIOAIManagerHotfixContinuationAction;\n\tcanContinueRun: boolean;\n\tcanRunFullDeploy: boolean;\n\tshouldRerunReleaseGate: boolean;\n\tshouldPark: boolean;\n\treason: string;\n\tblockers: string[];\n\twarnings: string[];\n\trequiredEvidence: string[];\n\tsuccessEvidence: string[];\n\tnextCommands: string[];\n\tfailureClass: string;\n\tblockerFingerprint: string;\n\tgithubCommitGuard: ResolveIOAIManagerHotfixGitProof;\n\tvalidation: ResolveIOAIManagerHotfixEvidenceValidation;\n\trecordedAt: string;\n}\n\nexport interface ResolveIOAIManagerHotfixCommitGuardDecision {\n\tactive: boolean;\n\tblocked: boolean;\n\treason: string;\n\tnextAction: 'record_hotfix_evidence' | 'continue';\n\tchannel: ResolveIOAIManagerHotfixChannel | '';\n\tblockers: string[];\n\tnextCommands: string[];\n\trequiredEvidence: string[];\n\tgithubCommitGuard: ResolveIOAIManagerHotfixGitProof;\n\tvalidation: ResolveIOAIManagerHotfixEvidenceValidation;\n}\n\nexport type ResolveIOAIManagerHotfixEvidenceRecordSource =\n\t| 'manual'\n\t| 'manager'\n\t| 'runner_console'\n\t| 'hotfix_script'\n\t| 'deploy_script'\n\t| 'unknown';\n\nexport interface ResolveIOAIManagerHotfixEvidenceRecordInput extends Partial<ResolveIOAIManagerHotfixEvidence> {\n\tevidence?: any;\n\tpolicy?: ResolveIOAIManagerHotfixFirstReleasePolicy;\n\trecordId?: string;\n\treason?: string;\n\trecordedBy?: string;\n\tsource?: ResolveIOAIManagerHotfixEvidenceRecordSource | string;\n\tnow?: Date | string;\n}\n\nexport interface ResolveIOAIManagerHotfixEvidenceRecord {\n\trecordId: string;\n\trecordedAt: string;\n\trecordedBy: string;\n\tsource: ResolveIOAIManagerHotfixEvidenceRecordSource | string;\n\treason: string;\n\tchannel: ResolveIOAIManagerHotfixChannel | '';\n\tstatus: ResolveIOAIManagerHotfixEvidenceStatus;\n\tnextAction: ResolveIOAIManagerHotfixEvidenceValidation['nextAction'];\n\tvalid: boolean;\n\thotfixSatisfied: boolean;\n\tfullDeployAllowed: boolean;\n\tfullDeployBlocked: boolean;\n\trequiredFields: string[];\n\tmissingFields: string[];\n\tevidence: ResolveIOAIManagerHotfixEvidence | undefined;\n\tvalidation: ResolveIOAIManagerHotfixEvidenceValidation;\n\tsourceCommitSha: string;\n\tgithubCommitUrl: string;\n\tgitCommitStatus: string;\n\tgitPushStatus: string;\n\tgithubCommitRequired: boolean;\n\tgithubCommitProofPassed: boolean;\n\tcommitProofStatus: 'not_required' | 'missing' | 'invalid' | 'passed';\n\tcommitFirstProtocol: 'not_required' | 'commit_first_hotfix';\n\tcommit_first_protocol: 'not_required' | 'commit_first_hotfix';\n\tcommitFirstProtocolSatisfied: boolean;\n\tcommit_first_protocol_satisfied: boolean;\n\tliveHotfixBlockedUntilCommit: boolean;\n\tlive_hotfix_blocked_until_commit: boolean;\n\tliveHotfixAllowed: boolean;\n\tlive_hotfix_allowed: boolean;\n\tmanagerMustCommitBeforeHotfix: boolean;\n\tgithubCommitGuard: ResolveIOAIManagerHotfixGitProof;\n\treadyForReleaseGate: boolean;\n\treadyForContinuation: boolean;\n\tmanagerContinuationAllowed: boolean;\n\tmanager_continuation_allowed: boolean;\n}\n\nexport type ResolveIOAIManagerHotfixDurabilityStatus =\n\t| 'not_required'\n\t| 'waiting_for_commit_proof'\n\t| 'ready_for_live_hotfix'\n\t| 'ready_for_release_gate'\n\t| 'ready_for_continuation';\n\nexport interface ResolveIOAIManagerHotfixDurabilityContractInput {\n\taction?: string;\n\treason?: string;\n\tevidence?: any;\n\tpolicy?: ResolveIOAIManagerHotfixFirstReleasePolicy;\n\tcontinuation?: Partial<ResolveIOAIManagerHotfixContinuationDecision> | null;\n\texisting?: any;\n\tsource?: string;\n\treleaseGatePassed?: boolean;\n\tnow?: Date | string;\n}\n\nexport interface ResolveIOAIManagerHotfixDurabilityContract {\n\tcontractId: string;\n\tcontract_id: string;\n\tcreatedAt: string;\n\tcreated_at: string;\n\tupdatedAt: string;\n\tupdated_at: string;\n\tsource: string;\n\trequired: boolean;\n\taction: string;\n\tstatus: ResolveIOAIManagerHotfixDurabilityStatus;\n\treason: string;\n\tcanPrepareHotfixPatch: boolean;\n\tcan_prepare_hotfix_patch: boolean;\n\tcanHotfixBackend: boolean;\n\tcan_hotfix_backend: boolean;\n\tliveHotfixBlockedUntilCommit: boolean;\n\tlive_hotfix_blocked_until_commit: boolean;\n\tdurabilityProtocol: 'not_required' | 'commit_first_hotfix';\n\tdurability_protocol: 'not_required' | 'commit_first_hotfix';\n\tcommitFirstProtocolRequired: boolean;\n\tcommit_first_protocol_required: boolean;\n\tcommitFirstProtocolSatisfied: boolean;\n\tcommit_first_protocol_satisfied: boolean;\n\tliveHotfixAllowed: boolean;\n\tlive_hotfix_allowed: boolean;\n\tmanagerContinuationAllowed: boolean;\n\tmanager_continuation_allowed: boolean;\n\tcommitProofPassed: boolean;\n\tcommit_proof_passed: boolean;\n\tcommitProofStatus: ResolveIOAIManagerHotfixGitProofStatus | 'missing';\n\tcommit_proof_status: ResolveIOAIManagerHotfixGitProofStatus | 'missing';\n\tsourceCommitSha: string;\n\tsource_commit_sha: string;\n\tgithubCommitUrl: string;\n\tgithub_commit_url: string;\n\tgitCommitStatus: string;\n\tgit_commit_status: string;\n\tgitPushStatus: string;\n\tgit_push_status: string;\n\tmissingCommitProofFields: string[];\n\tmissing_commit_proof_fields: string[];\n\tnextSafeAction: string;\n\tnext_safe_action: string;\n\tphaseOrder: string[];\n\tphase_order: string[];\n\trequiredFields: string[];\n\trequired_fields: string[];\n\trequiredEvidence: string[];\n\trequired_evidence: string[];\n\tsuccessCriteria: string[];\n\tsuccess_criteria: string[];\n\tforbiddenActions: string[];\n\tforbidden_actions: string[];\n\thotfixCommitGuard: Record<string, any>;\n\thotfix_commit_guard: Record<string, any>;\n\tgithubCommitGuard: ResolveIOAIManagerHotfixGitProof;\n\tgithub_commit_guard: ResolveIOAIManagerHotfixGitProof;\n\tvalidation: ResolveIOAIManagerHotfixEvidenceValidation;\n\tcontinuation?: Partial<ResolveIOAIManagerHotfixContinuationDecision> | null;\n\textraRequest: string;\n\textra_request: string;\n}\n\nexport interface ResolveIOAIManagerRecoveryActionPacket {\n\tactionId: string;\n\tcheckpointId: string;\n\tprobeId: string;\n\trecoveryClass: ResolveIOAIManagerRecoveryClass;\n\tmode: ResolveIOAIManagerRecoveryAutomationMode;\n\tsingleActionOnly: boolean;\n\tallowedDispatchAction: ResolveIOAIManagerRecoveryActionDispatchAction;\n\tlabel: string;\n\tlane: string;\n\tstepType: string;\n\tprimaryStepKind: ResolveIOAIManagerRecoveryEvidenceProbeStepKind | 'none';\n\tobjective: string;\n\tevidenceOnly: boolean;\n\tautoRunnable: boolean;\n\tproductRepairAllowed: boolean;\n\texpensiveModelAllowed: boolean;\n\tcostCeilingUsd: number;\n\trequiredStateTransition: string;\n\tproofRequiredBeforeContinuation: boolean;\n\tcanResetLoopAfterEvidence: boolean;\n\tmaxAttemptsBeforePark: number;\n\trequiredArtifacts: string[];\n\tnextCommands: string[];\n\tsuccessCriteria: string[];\n\texitCriteria: string[];\n\tretryPolicy: ResolveIOAIManagerRecoveryActionRetryPolicy;\n\treleasePolicy?: ResolveIOAIManagerHotfixFirstReleasePolicy;\n\tblockedReason?: string;\n\tcreatedAt: string;\n}\n\nexport type ResolveIOAIManagerRecoveryActionDispatchAction =\n\t| 'run_evidence_probe'\n\t| 'run_read_only_diagnosis'\n\t| 'run_infra_repair'\n\t| 'run_compile_repair'\n\t| 'run_journey_contract_repair'\n\t| 'run_business_assertion_repair'\n\t| 'run_release_repair'\n\t| 'run_targeted_product_repair'\n\t| 'advance'\n\t| 'continue_gate'\n\t| 'park_manual';\n\nexport interface ResolveIOAIManagerAutoDispatchPolicyInput {\n\tdispatchAction?: ResolveIOAIManagerRecoveryActionDispatchAction | string;\n\tdirective?: Partial<ResolveIOAIManagerRecoveryExecutionDirective>;\n\taction?: Partial<ResolveIOAIManagerRecoveryActionPacket>;\n\tincludeJourneyContractRepair?: boolean;\n\tincludeReleaseRepair?: boolean;\n\tincludeBusinessProofRepair?: boolean;\n\tincludeProductRepair?: boolean;\n}\n\nexport type ResolveIOAIManagerRecoveryActionDispatchStatus =\n\t| 'queued'\n\t| 'started'\n\t| 'completed'\n\t| 'failed'\n\t| 'parked';\n\nexport interface ResolveIOAIManagerRecoveryActionDispatchRecord {\n\tdispatchId: string;\n\tactionId: string;\n\tcheckpointId: string;\n\tprobeId: string;\n\tmode: ResolveIOAIManagerRecoveryAutomationMode;\n\tdispatchAction: ResolveIOAIManagerRecoveryActionDispatchAction;\n\tstatus: ResolveIOAIManagerRecoveryActionDispatchStatus;\n\tevidenceHash: string;\n\tblockerFingerprint: string;\n\tproductRepairAllowed: boolean;\n\texpensiveModelAllowed: boolean;\n\treason: string;\n\tartifactPaths: string[];\n\tstartedAt?: string;\n\tcompletedAt?: string;\n\tcreatedAt: string;\n}\n\nexport interface ResolveIOAIManagerRecoveryActionDispatchInput {\n\taction?: ResolveIOAIManagerRecoveryActionPacket;\n\thistory?: ResolveIOAIManagerRecoveryActionDispatchRecord[];\n\tcurrent?: ResolveIOAIManagerFailureRecord;\n\tautonomyPolicy?: ResolveIOAIManagerAutonomyPolicyInput;\n\toperatorApproved?: boolean;\n\tnow?: Date | string;\n}\n\nexport interface ResolveIOAIManagerRecoveryActionDispatchDecision {\n\tdispatchAction: ResolveIOAIManagerRecoveryActionDispatchAction;\n\tallowed: boolean;\n\treason: string;\n\tstatus: ResolveIOAIManagerRecoveryActionDispatchStatus;\n\tcanRunProductRepair: boolean;\n\tcanRunExpensiveModel: boolean;\n\tshouldRecordDispatch: boolean;\n\trequiresNewEvidence: boolean;\n\tnewEvidence: boolean;\n\tautonomyPolicy?: ResolveIOAIManagerAutonomyPolicyDecision;\n\tdispatchRecord?: ResolveIOAIManagerRecoveryActionDispatchRecord;\n}\n\nexport type ResolveIOAIManagerAutonomyMode =\n\t| 'manual_only'\n\t| 'monitor_only'\n\t| 'auto_retry_within_budget';\n\nexport interface ResolveIOAIManagerAutonomyPolicyInput {\n\tmode?: ResolveIOAIManagerAutonomyMode | string;\n\tcurrentSpendUsd?: number;\n\tbudgetSoftUsd?: number;\n\tbudgetHardUsd?: number;\n\tprojectedActionCostUsd?: number;\n\tdispatchAction?: ResolveIOAIManagerRecoveryActionDispatchAction | string;\n\texpectedValueScore?: number;\n\tminExpectedValueScore?: number;\n\tevidenceStrength?: ResolveIOAIManagerEvidenceStrength | string;\n\tmaterialEvidence?: boolean;\n\tnewEvidence?: boolean;\n\tevidenceSignals?: string[];\n\tsameEvidenceAlreadyAttempted?: boolean;\n\tallowEvidenceProbeWithoutExpectedValue?: boolean;\n\toperatorApproved?: boolean;\n}\n\nexport interface ResolveIOAIManagerRetryExpectedValueInput {\n\tdispatchAction?: ResolveIOAIManagerRecoveryActionDispatchAction | string;\n\tprojectedActionCostUsd?: number;\n\tcurrentSpendUsd?: number;\n\tbudgetHardUsd?: number;\n\tfailureClass?: string;\n\trecoveryClass?: ResolveIOAIManagerRecoveryClass | string;\n\tevidenceStrength?: ResolveIOAIManagerEvidenceStrength | string;\n\tmaterialEvidence?: boolean;\n\tnewEvidence?: boolean;\n\tevidenceSignals?: string[];\n\tsameEvidenceAlreadyAttempted?: boolean;\n}\n\nexport interface ResolveIOAIManagerRetryExpectedValueEstimate {\n\tscore: number;\n\tminScore: number;\n\tpositive: boolean;\n\tsource: 'estimated';\n\tconfidence: 'low' | 'medium' | 'high';\n\treason: string;\n\tsignals: string[];\n}\n\nexport interface ResolveIOAIManagerAutonomyPolicyDecision {\n\tmode: ResolveIOAIManagerAutonomyMode;\n\tcanAutoDispatch: boolean;\n\tcanManualDispatch: boolean;\n\tblocked: boolean;\n\trequiresHumanApproval: boolean;\n\treason: string;\n\tcurrentSpendUsd: number;\n\tprojectedActionCostUsd: number;\n\tprojectedSpendUsd: number;\n\tbudgetSoftUsd: number;\n\tbudgetHardUsd: number;\n\tsoftBudgetExceeded: boolean;\n\thardBudgetExceeded: boolean;\n\tdispatchAction: string;\n\texpectedValueScore: number;\n\tminExpectedValueScore: number;\n\texpectedValueKnown: boolean;\n\texpectedValueSource: 'provided' | 'estimated';\n\texpectedValuePositive: boolean;\n\tevidenceStrength: ResolveIOAIManagerEvidenceStrength;\n\tmaterialEvidence: boolean;\n\tnewEvidence: boolean;\n\tevidenceBacked: boolean;\n\tevidenceSignals: string[];\n\trecommendedControl: 'manual_only' | 'monitor_only' | 'auto_retry_within_budget' | 'increase_budget_or_manual';\n\tforbiddenActions: string[];\n\trequiredEvidence: string[];\n}\n\nexport type ResolveIOAIManagerRecoveryExecutionPhase =\n\t| 'evidence'\n\t| 'diagnosis'\n\t| 'infra'\n\t| 'compile'\n\t| 'journey'\n\t| 'business_proof'\n\t| 'release'\n\t| 'product_repair'\n\t| 'advance'\n\t| 'manual';\n\nexport interface ResolveIOAIManagerRecoveryExecutionDirectiveInput {\n\taction?: ResolveIOAIManagerRecoveryActionPacket;\n\tdispatchDecision?: ResolveIOAIManagerRecoveryActionDispatchDecision;\n\tcurrent?: ResolveIOAIManagerFailureRecord;\n\tautonomyPolicy?: ResolveIOAIManagerAutonomyPolicyInput;\n\tsurface?: string;\n\tnow?: Date | string;\n}\n\nexport interface ResolveIOAIManagerRecoveryExecutionDirective {\n\tdirectiveId: string;\n\tsurface: string;\n\tdispatchAction: ResolveIOAIManagerRecoveryActionDispatchAction;\n\tphase: ResolveIOAIManagerRecoveryExecutionPhase;\n\tallowed: boolean;\n\tstatus: ResolveIOAIManagerRecoveryActionDispatchStatus;\n\treason: string;\n\tsingleActionOnly: boolean;\n\tallowedDispatchAction: ResolveIOAIManagerRecoveryActionDispatchAction;\n\tlane: string;\n\tstepType: string;\n\tnextActionLabel: string;\n\trerunReason: string;\n\tevidenceOnly: boolean;\n\tautoRunnable: boolean;\n\tproductRepairAllowed: boolean;\n\texpensiveModelAllowed: boolean;\n\tcostCeilingUsd: number;\n\trequiredStateTransition: string;\n\tproofRequiredBeforeContinuation: boolean;\n\tcanRunProductRepair: boolean;\n\tcanRunExpensiveModel: boolean;\n\tcanResetLoopAfterEvidence: boolean;\n\trequiresNewEvidence: boolean;\n\tnewEvidence: boolean;\n\tautonomyPolicy?: ResolveIOAIManagerAutonomyPolicyDecision;\n\tmaxAttemptsBeforePark: number;\n\trequiredArtifacts: string[];\n\tnextCommands: string[];\n\tsuccessCriteria: string[];\n\texitCriteria: string[];\n\tforbiddenActions: string[];\n\tdispatchRecord?: ResolveIOAIManagerRecoveryActionDispatchRecord;\n\treleasePolicy?: ResolveIOAIManagerHotfixFirstReleasePolicy;\n\tcreatedAt: string;\n}\n\nexport type ResolveIOAIManagerRecoveryExecutionProofStatus =\n\t| 'proof_ready'\n\t| 'waiting_for_execution'\n\t| 'waiting_for_new_evidence'\n\t| 'blocked_same_evidence'\n\t| 'manual_handoff';\n\nexport interface ResolveIOAIManagerRecoveryExecutionProofContractInput {\n\tdirective?: ResolveIOAIManagerRecoveryExecutionDirective;\n\tprevious?: ResolveIOAIManagerFailureRecord;\n\tcurrent?: ResolveIOAIManagerFailureRecord;\n\trequiredEvidence?: any;\n\tnow?: Date | string;\n}\n\nexport interface ResolveIOAIManagerRecoveryExecutionProofContract {\n\tcontractId: string;\n\tdirectiveId: string;\n\tsurface: string;\n\tdispatchAction: ResolveIOAIManagerRecoveryActionDispatchAction;\n\tphase: ResolveIOAIManagerRecoveryExecutionPhase;\n\tstatus: ResolveIOAIManagerRecoveryExecutionProofStatus;\n\tcanContinueRun: boolean;\n\tcanRunProductRepair: boolean;\n\tcanRunExpensiveModel: boolean;\n\tcanResetLoopBudget: boolean;\n\tproofRequiredBeforeContinuation: boolean;\n\trequiresNewEvidence: boolean;\n\tnewEvidence: boolean;\n\tmaterialEvidence: boolean;\n\tevidenceStrength: ResolveIOAIManagerEvidenceStrength;\n\tevidenceSignals: string[];\n\tstartingFailureClass: string;\n\tstartingBlockerFingerprint: string;\n\tstartingEvidenceHash: string;\n\tlatestFailureClass: string;\n\tlatestBlockerFingerprint: string;\n\tlatestEvidenceHash: string;\n\trequiredEvidence: string[];\n\tmissingEvidence: string[];\n\tartifactPaths: string[];\n\tchangedFiles: string[];\n\tblockers: string[];\n\tnextAllowedAction: string;\n\tforbiddenActions: string[];\n\tcreatedAt: string;\n}\n\nexport interface ResolveIOAIManagerRecoveryCheckpointInput {\n\tplan: ResolveIOAIManagerRecoveryPlan;\n\tcurrent?: ResolveIOAIManagerFailureRecord;\n\tpreviousCheckpoint?: ResolveIOAIManagerRecoveryCheckpoint;\n\tnow?: Date | string;\n}\n\nexport type ResolveIOAIManagerRecoveryGateAction =\n\t| 'allow'\n\t| 'collect_new_evidence'\n\t| 'reject_action'\n\t| 'manual_handoff'\n\t| 'complete';\n\nexport interface ResolveIOAIManagerRecoveryGateInput {\n\tcheckpoint: ResolveIOAIManagerRecoveryCheckpoint;\n\tcurrent?: ResolveIOAIManagerFailureRecord;\n\tproposedAction?: string;\n\toperatorApproved?: boolean;\n\tnow?: Date | string;\n}\n\nexport interface ResolveIOAIManagerRecoveryGateDecision {\n\taction: ResolveIOAIManagerRecoveryGateAction;\n\treason: string;\n\tcanRunProductRepair: boolean;\n\tcanRunExpensiveModel: boolean;\n\tshouldResetLoopBudget: boolean;\n\tshouldIncrementAttempt: boolean;\n\tnewEvidence: boolean;\n\tmaterialEvidence: boolean;\n\tevidenceStrength: ResolveIOAIManagerEvidenceStrength;\n\tevidenceSignals: string[];\n\tblockerFingerprint: string;\n\tevidenceHash: string;\n\tmissingEvidence: string[];\n\tcheckpoint: ResolveIOAIManagerRecoveryCheckpoint;\n}\n\nexport interface ResolveIOAIManagerRecoveryEvidenceProbeInput {\n\tcheckpoint: ResolveIOAIManagerRecoveryCheckpoint;\n\tcurrent?: ResolveIOAIManagerFailureRecord;\n\tnow?: Date | string;\n}\n\nexport interface ResolveIOAIManagerRecoveryActionPacketInput {\n\tplan?: ResolveIOAIManagerRecoveryPlan;\n\tcheckpoint: ResolveIOAIManagerRecoveryCheckpoint;\n\tprobe?: ResolveIOAIManagerRecoveryEvidenceProbe;\n\tcurrent?: ResolveIOAIManagerFailureRecord;\n\tnow?: Date | string;\n}\n\nexport interface ResolveIOAIManagerRecoveryPlanInput {\n\taction?: ResolveIOAIManagerAction | string;\n\treason?: string;\n\tfailureClass?: string;\n\tlane?: string;\n\tstepType?: string;\n\tblocker?: string;\n\tsameFailureCount?: number;\n\tpingPongCount?: number;\n\tnewEvidence?: boolean;\n\tproductRepairFailure?: boolean;\n\tchangedFiles?: string[];\n\tartifactPaths?: string[];\n\tmaxSameFailureRepeats?: number;\n}\n\nexport interface ResolveIOAIManagerPolicyInput {\n\thistory?: ResolveIOAIManagerFailureRecord[];\n\tcurrent?: ResolveIOAIManagerFailureRecord;\n\tmaxSameFailureRepeats?: number;\n\tmaxPingPongTransitions?: number;\n\tinfraFailureClasses?: string[];\n\tignoredFailureClasses?: string[];\n}\n\nexport interface ResolveIOAIManagerPolicyDecision {\n\taction: ResolveIOAIManagerAction;\n\treason: string;\n\tfailureClass: string;\n\tblockerFingerprint: string;\n\tevidenceHash: string;\n\tsameFailureCount: number;\n\tpingPongCount: number;\n\tnewEvidence: boolean;\n\tmaterialEvidence: boolean;\n\tevidenceStrength: ResolveIOAIManagerEvidenceStrength;\n\tevidenceSignals: string[];\n\tloopBudgetShouldReset: boolean;\n\tproductRepairFailure: boolean;\n\trecoveryPlan: ResolveIOAIManagerRecoveryPlan;\n\trecoveryCheckpoint: ResolveIOAIManagerRecoveryCheckpoint;\n\trecoveryEvidenceProbe: ResolveIOAIManagerRecoveryEvidenceProbe;\n\trecoveryAction: ResolveIOAIManagerRecoveryActionPacket;\n}\n\nexport interface ResolveIOAIManagerRecoveryReplayMatrixInput {\n\tsurface?: string;\n\tincludeJourneyContractRepair?: boolean;\n\tincludeReleaseRepair?: boolean;\n\tincludeProductRepair?: boolean;\n\tmaxSameFailureRepeats?: number;\n}\n\nexport interface ResolveIOAIManagerRecoveryReplayCase {\n\tcaseId: string;\n\tsurface: string;\n\tpass: boolean;\n\taction: string;\n\treason: string;\n\trecoveryClass: string;\n\tdispatchAction: string;\n\tsafeAutoDispatch: boolean;\n\texpectedSafeAutoDispatch: boolean;\n\tproductRepairAllowed: boolean;\n\tloopBudgetShouldReset: boolean;\n\tmaterialEvidence: boolean;\n\tevidenceStrength: ResolveIOAIManagerEvidenceStrength;\n\thotfixFirst?: boolean;\n\tfullDeployAllowed?: boolean;\n\tdetails?: Record<string, any>;\n}\n\nfunction cleanText(value: any, max = 2000): string {\n\treturn String(value || '').replace(/\\s+/g, ' ').trim().slice(0, max);\n}\n\nfunction cleanList(values: any, limit = 40, max = 500): string[] {\n\tif (!Array.isArray(values)) {\n\t\treturn [];\n\t}\n\tconst result: string[] = [];\n\tfor (const value of values) {\n\t\tconst normalized = cleanText(value, max);\n\t\tif (normalized && !result.includes(normalized)) {\n\t\t\tresult.push(normalized);\n\t\t}\n\t\tif (result.length >= limit) {\n\t\t\tbreak;\n\t\t}\n\t}\n\treturn result;\n}\n\nconst HOTFIX_CHANNELS = new Set<ResolveIOAIManagerHotfixChannel>([\n\t'static_ui',\n\t'backend_js',\n\t'config',\n\t'seed_data',\n\t'cache_invalidation',\n\t'service_restart',\n\t'release_artifact',\n\t'force_deploy_review',\n\t'new_artifact_deploy',\n\t'artifact_build'\n]);\n\nfunction cleanObject(value: any): Record<string, any> {\n\treturn value && typeof value === 'object' && !Array.isArray(value) ? value : {};\n}\n\nfunction normalizeAutonomyMode(value: any): ResolveIOAIManagerAutonomyMode {\n\tconst normalized = cleanText(value, 120).toLowerCase().replace(/[\\s-]+/g, '_');\n\tif (/^(monitor|monitor_only|watch|watch_only)$/.test(normalized)) {\n\t\treturn 'monitor_only';\n\t}\n\tif (/^(auto|auto_retry|auto_retry_within_budget|autonomous|within_budget)$/.test(normalized)) {\n\t\treturn 'auto_retry_within_budget';\n\t}\n\treturn 'manual_only';\n}\n\nfunction normalizeManagerEvidenceStrength(value: any): ResolveIOAIManagerEvidenceStrength {\n\tconst normalized = cleanText(value, 40).toLowerCase().replace(/[\\s-]+/g, '_');\n\tif (normalized === 'proof') {\n\t\treturn 'proof';\n\t}\n\tif (normalized === 'material' || normalized === 'strong') {\n\t\treturn 'material';\n\t}\n\tif (normalized === 'weak') {\n\t\treturn 'weak';\n\t}\n\treturn 'none';\n}\n\nfunction nonNegativeMoney(value: any): number {\n\tconst parsed = Number(value);\n\treturn Number.isFinite(parsed) && parsed > 0 ? parsed : 0;\n}\n\nfunction finiteNumber(value: any): number | undefined {\n\tconst parsed = Number(value);\n\treturn Number.isFinite(parsed) ? parsed : undefined;\n}\n\nfunction clampNumber(value: number, min: number, max: number): number {\n\treturn Math.min(max, Math.max(min, value));\n}\n\nfunction isCheapEvidenceAutonomyAction(value: any): boolean {\n\tconst action = cleanText(value, 120);\n\treturn !action || /^(run_evidence_probe|run_read_only_diagnosis|advance|continue_gate|park_manual)$/.test(action);\n}\n\nexport function estimateResolveIOAIManagerRetryExpectedValue(\n\tinput: ResolveIOAIManagerRetryExpectedValueInput = {}\n): ResolveIOAIManagerRetryExpectedValueEstimate {\n\tconst dispatchAction = cleanText(input.dispatchAction, 120);\n\tconst failureClass = normalizeResolveIOAIManagerFailureClass(input.failureClass);\n\tconst recoveryClass = cleanText(input.recoveryClass, 120);\n\tconst evidenceStrength = normalizeManagerEvidenceStrength(input.evidenceStrength);\n\tconst evidenceSignals = cleanList(input.evidenceSignals, 12, 120);\n\tconst projectedActionCostUsd = nonNegativeMoney(input.projectedActionCostUsd);\n\tconst budgetHardUsd = nonNegativeMoney(input.budgetHardUsd);\n\tconst materialEvidence = input.materialEvidence === true || evidenceStrength === 'material' || evidenceStrength === 'proof';\n\tconst newEvidence = input.newEvidence === true;\n\tconst signals: string[] = [];\n\tlet score = 0.1;\n\tif (dispatchAction === 'run_evidence_probe') {\n\t\tscore = 0.75;\n\t\tsignals.push('cheap_evidence_probe');\n\t}\n\telse if (dispatchAction === 'run_read_only_diagnosis') {\n\t\tscore = 0.65;\n\t\tsignals.push('read_only_diagnosis');\n\t}\n\telse if (dispatchAction === 'advance' || dispatchAction === 'continue_gate') {\n\t\tscore = 0.55;\n\t\tsignals.push('gate_continuation');\n\t}\n\telse if (dispatchAction === 'run_infra_repair') {\n\t\tscore = 0.4;\n\t\tsignals.push('bounded_infra_repair');\n\t}\n\telse if (dispatchAction === 'run_compile_repair') {\n\t\tscore = 0.4;\n\t\tsignals.push('bounded_compile_repair');\n\t}\n\telse if (dispatchAction === 'run_release_repair') {\n\t\tscore = 0.3;\n\t\tsignals.push('bounded_release_repair');\n\t}\n\telse if (dispatchAction === 'run_journey_contract_repair' || dispatchAction === 'run_business_assertion_repair') {\n\t\tscore = 0.25;\n\t\tsignals.push('bounded_workflow_or_proof_repair');\n\t}\n\telse if (dispatchAction === 'run_targeted_product_repair') {\n\t\tscore = 0.15;\n\t\tsignals.push('targeted_product_repair');\n\t}\n\tif (evidenceStrength === 'proof') {\n\t\tscore += 0.3;\n\t\tsignals.push('proof_evidence');\n\t}\n\telse if (materialEvidence) {\n\t\tscore += 0.2;\n\t\tsignals.push('material_evidence');\n\t}\n\telse if (newEvidence) {\n\t\tscore += 0.1;\n\t\tsignals.push('new_evidence');\n\t}\n\telse if (evidenceStrength === 'weak') {\n\t\tscore -= 0.15;\n\t\tsignals.push('weak_evidence');\n\t}\n\telse if (!isCheapEvidenceAutonomyAction(dispatchAction)) {\n\t\tscore -= 0.25;\n\t\tsignals.push('no_material_evidence');\n\t}\n\tif ((failureClass === 'infra' || /infra/i.test(recoveryClass)) && dispatchAction === 'run_infra_repair') {\n\t\tscore += 0.15;\n\t\tsignals.push('failure_matches_infra_repair');\n\t}\n\tif ((failureClass === 'compile' || /compile/i.test(recoveryClass)) && dispatchAction === 'run_compile_repair') {\n\t\tscore += 0.15;\n\t\tsignals.push('failure_matches_compile_repair');\n\t}\n\tif (/release|publish|deploy/i.test(`${failureClass} ${recoveryClass}`) && dispatchAction === 'run_release_repair') {\n\t\tscore += 0.1;\n\t\tsignals.push('failure_matches_release_repair');\n\t}\n\tif (projectedActionCostUsd >= 5) {\n\t\tscore -= 0.3;\n\t\tsignals.push('high_projected_cost');\n\t}\n\telse if (projectedActionCostUsd >= 2) {\n\t\tscore -= 0.18;\n\t\tsignals.push('medium_projected_cost');\n\t}\n\telse if (projectedActionCostUsd >= 1) {\n\t\tscore -= 0.08;\n\t\tsignals.push('low_projected_cost');\n\t}\n\tif (budgetHardUsd > 0 && projectedActionCostUsd > budgetHardUsd * 0.5) {\n\t\tscore -= 0.2;\n\t\tsignals.push('large_fraction_of_remaining_budget');\n\t}\n\tif (input.sameEvidenceAlreadyAttempted === true) {\n\t\tscore -= 0.35;\n\t\tsignals.push('same_evidence_already_attempted');\n\t}\n\tfor (const signal of evidenceSignals) {\n\t\tif (/passing_outcome|business|proof|diagnosis|compile|infra|release|artifact|fingerprint_changed|evidence_hash_changed/i.test(signal)) {\n\t\t\tscore += 0.03;\n\t\t\tsignals.push(`evidence_signal:${signal}`);\n\t\t}\n\t}\n\tconst rounded = Number(clampNumber(score, -1, 1).toFixed(2));\n\tconst minScore = 0;\n\treturn {\n\t\tscore: rounded,\n\t\tminScore,\n\t\tpositive: rounded >= minScore,\n\t\tsource: 'estimated',\n\t\tconfidence: evidenceStrength === 'proof' || materialEvidence ? 'medium' : 'low',\n\t\treason: rounded >= minScore\n\t\t\t? 'estimated_retry_value_is_non_negative'\n\t\t\t: 'estimated_retry_value_is_negative',\n\t\tsignals: Array.from(new Set(signals)).slice(0, 16)\n\t};\n}\n\nexport function decideResolveIOAIManagerAutonomyPolicy(\n\tinput: ResolveIOAIManagerAutonomyPolicyInput = {}\n): ResolveIOAIManagerAutonomyPolicyDecision {\n\tconst mode = normalizeAutonomyMode(input.mode);\n\tconst currentSpendUsd = nonNegativeMoney(input.currentSpendUsd);\n\tconst projectedActionCostUsd = nonNegativeMoney(input.projectedActionCostUsd);\n\tconst projectedSpendUsd = currentSpendUsd + projectedActionCostUsd;\n\tconst budgetSoftUsd = nonNegativeMoney(input.budgetSoftUsd);\n\tconst budgetHardUsd = nonNegativeMoney(input.budgetHardUsd);\n\tconst softBudgetExceeded = budgetSoftUsd > 0 && projectedSpendUsd >= budgetSoftUsd;\n\tconst hardBudgetExceeded = budgetHardUsd > 0 && projectedSpendUsd > budgetHardUsd;\n\tconst dispatchAction = cleanText(input.dispatchAction, 120);\n\tconst evidenceStrength = normalizeManagerEvidenceStrength(input.evidenceStrength);\n\tconst evidenceSignals = cleanList(input.evidenceSignals, 12, 120);\n\tconst materialEvidence = input.materialEvidence === true || evidenceStrength === 'material' || evidenceStrength === 'proof';\n\tconst newEvidence = input.newEvidence === true;\n\tconst evidenceBacked = materialEvidence || newEvidence || evidenceSignals.some((signal) => /material|proof|business|compile|infra|release|diagnosis|journey|workflow|artifact|hash_changed|fingerprint_changed/i.test(signal));\n\tconst cheapEvidenceAction = isCheapEvidenceAutonomyAction(dispatchAction);\n\tconst expectedValueEstimate = estimateResolveIOAIManagerRetryExpectedValue({\n\t\tdispatchAction,\n\t\tprojectedActionCostUsd,\n\t\tcurrentSpendUsd,\n\t\tbudgetHardUsd,\n\t\tevidenceStrength,\n\t\tmaterialEvidence,\n\t\tnewEvidence,\n\t\tevidenceSignals,\n\t\tsameEvidenceAlreadyAttempted: input.sameEvidenceAlreadyAttempted === true\n\t});\n\tconst providedExpectedValue = finiteNumber(input.expectedValueScore);\n\tconst expectedValueKnown = providedExpectedValue !== undefined;\n\tconst expectedValueScore = expectedValueKnown ? providedExpectedValue as number : expectedValueEstimate.score;\n\tconst minExpectedValue = finiteNumber(input.minExpectedValueScore) ?? expectedValueEstimate.minScore;\n\tconst expectedValuePositive = expectedValueScore >= minExpectedValue;\n\tconst expectedValueSource: ResolveIOAIManagerAutonomyPolicyDecision['expectedValueSource'] = expectedValueKnown ? 'provided' : 'estimated';\n\tconst requiredEvidence = [\n\t\t'mode',\n\t\t'projectedActionCostUsd',\n\t\t...(budgetHardUsd > 0 ? ['budgetHardUsd'] : []),\n\t\t...(budgetSoftUsd > 0 ? ['budgetSoftUsd'] : []),\n\t\t...(dispatchAction ? ['dispatchAction'] : []),\n\t\t...(cheapEvidenceAction ? [] : ['materialEvidence or newEvidence', 'expectedValueScore when available'])\n\t];\n\tconst forbiddenActions: string[] = [];\n\tlet canAutoDispatch = false;\n\tlet canManualDispatch = true;\n\tlet blocked = false;\n\tlet requiresHumanApproval = true;\n\tlet reason = '';\n\tlet recommendedControl: ResolveIOAIManagerAutonomyPolicyDecision['recommendedControl'] = mode;\n\tif (mode === 'monitor_only') {\n\t\tcanManualDispatch = false;\n\t\treason = 'monitor_only_blocks_runner_dispatch';\n\t\tforbiddenActions.push('Do not run recovery, repair, QA, publish, deploy, or customer reply actions while in Monitor Only mode.');\n\t}\n\telse if (mode === 'manual_only') {\n\t\treason = 'manual_only_requires_operator_dispatch';\n\t\tforbiddenActions.push('Do not auto-dispatch manager recovery actions in Manual Only mode.');\n\t}\n\telse if (hardBudgetExceeded) {\n\t\tblocked = true;\n\t\tcanAutoDispatch = false;\n\t\tcanManualDispatch = input.operatorApproved === true;\n\t\treason = 'auto_retry_budget_hard_cap_would_be_exceeded';\n\t\trecommendedControl = 'increase_budget_or_manual';\n\t\tforbiddenActions.push('Do not auto-dispatch because projected spend exceeds the hard budget.');\n\t}\n\telse if (!cheapEvidenceAction && !evidenceBacked) {\n\t\tcanAutoDispatch = false;\n\t\trequiresHumanApproval = true;\n\t\treason = 'auto_retry_requires_material_evidence';\n\t\tforbiddenActions.push('Do not auto-dispatch repair work until a deterministic artifact, changed blocker fingerprint, or material proof is recorded.');\n\t}\n\telse if (!cheapEvidenceAction && !expectedValuePositive) {\n\t\tcanAutoDispatch = false;\n\t\trequiresHumanApproval = true;\n\t\treason = 'auto_retry_expected_value_not_positive';\n\t\tforbiddenActions.push('Do not auto-dispatch repair work when the expected value score is below the configured minimum.');\n\t}\n\telse {\n\t\tcanAutoDispatch = true;\n\t\trequiresHumanApproval = softBudgetExceeded;\n\t\treason = softBudgetExceeded\n\t\t\t? 'auto_retry_soft_budget_warning_requires_review'\n\t\t\t: 'auto_retry_within_budget_allows_auto_dispatch';\n\t\tif (softBudgetExceeded) {\n\t\t\tforbiddenActions.push('Do not escalate to a more expensive model or broader repair without operator review after soft budget warning.');\n\t\t}\n\t}\n\treturn {\n\t\tmode,\n\t\tcanAutoDispatch,\n\t\tcanManualDispatch,\n\t\tblocked,\n\t\trequiresHumanApproval,\n\t\treason,\n\t\tcurrentSpendUsd,\n\t\tprojectedActionCostUsd,\n\t\tprojectedSpendUsd,\n\t\tbudgetSoftUsd,\n\t\tbudgetHardUsd,\n\t\tsoftBudgetExceeded,\n\t\thardBudgetExceeded,\n\t\tdispatchAction,\n\t\texpectedValueScore,\n\t\tminExpectedValueScore: minExpectedValue,\n\t\texpectedValueKnown,\n\t\texpectedValueSource,\n\t\texpectedValuePositive,\n\t\tevidenceStrength,\n\t\tmaterialEvidence,\n\t\tnewEvidence,\n\t\tevidenceBacked,\n\t\tevidenceSignals,\n\t\trecommendedControl,\n\t\tforbiddenActions,\n\t\trequiredEvidence\n\t};\n}\n\nfunction cleanDateString(value: any): string {\n\tconst date = value instanceof Date ? value : new Date(value || Date.now());\n\treturn Number.isNaN(date.getTime()) ? new Date().toISOString() : date.toISOString();\n}\n\nfunction normalizeHotfixChannel(value: any): ResolveIOAIManagerHotfixChannel | '' {\n\tconst normalized = cleanText(value, 120).toLowerCase().replace(/[\\s-]+/g, '_') as ResolveIOAIManagerHotfixChannel;\n\treturn HOTFIX_CHANNELS.has(normalized) ? normalized : '';\n}\n\nfunction normalizeHotfixStatus(value: any): ResolveIOAIManagerHotfixEvidenceStatus {\n\tconst normalized = cleanText(value, 120).toLowerCase().replace(/[\\s-]+/g, '_');\n\tif (/^(pass|passed|success|succeeded|complete|completed|accepted)$/.test(normalized)) {\n\t\treturn 'passed';\n\t}\n\tif (/^(block|blocked|failed|fail|error|denied)$/.test(normalized)) {\n\t\treturn 'blocked';\n\t}\n\tif (/^(missing|none)$/.test(normalized)) {\n\t\treturn 'missing';\n\t}\n\treturn 'incomplete';\n}\n\nfunction hotfixStatusPassed(value: any): boolean {\n\treturn normalizeHotfixStatus(value) === 'passed';\n}\n\nfunction normalizeHotfixEvidenceTarget(value: any): ResolveIOAIManagerHotfixEvidenceTarget {\n\tconst source = cleanObject(value);\n\treturn {\n\t\tsurface: cleanText(source.surface, 160),\n\t\thost: cleanText(source.host || source.hostname || source.domain, 240),\n\t\tpath: cleanText(source.path || source.remotePath || source.remote_path, 500),\n\t\tartifactPath: cleanText(source.artifactPath || source.artifact_path || source.localPath || source.local_path, 500),\n\t\tbucket: cleanText(source.bucket || source.s3Bucket || source.s3_bucket, 240),\n\t\tdistributionId: cleanText(source.distributionId || source.distribution_id || source.cloudfrontDistributionId || source.cloudfront_distribution_id, 240),\n\t\tprocessName: cleanText(source.processName || source.process_name || source.service || source.serviceName, 160),\n\t\tconfigKey: cleanText(source.configKey || source.config_key || source.key, 240),\n\t\tcacheKey: cleanText(source.cacheKey || source.cache_key, 240),\n\t\tseedKey: cleanText(source.seedKey || source.seed_key || source.fixture, 240)\n\t};\n}\n\nfunction normalizeHotfixEvidenceTargets(value: any, fallback?: ResolveIOAIManagerHotfixEvidenceTarget): ResolveIOAIManagerHotfixEvidenceTarget[] {\n\tconst rawTargets = Array.isArray(value) ? value : [];\n\tconst targets = rawTargets\n\t\t.map(normalizeHotfixEvidenceTarget)\n\t\t.filter((target) => Object.values(target).some((entry) => cleanText(entry, 500)));\n\tif (!targets.length && fallback && Object.values(fallback).some((entry) => cleanText(entry, 500))) {\n\t\ttargets.push(fallback);\n\t}\n\tconst seen = new Set<string>();\n\treturn targets.filter((target) => {\n\t\tconst key = `${cleanText(target.host, 240).toLowerCase()}::${cleanText(target.path || target.processName || target.configKey || target.seedKey || target.cacheKey, 500)}`;\n\t\tif (seen.has(key)) {\n\t\t\treturn false;\n\t\t}\n\t\tseen.add(key);\n\t\treturn true;\n\t}).slice(0, 20);\n}\n\nfunction normalizeHotfixRemoteChecksumProof(value: any): ResolveIOAIManagerHotfixRemoteChecksumProof {\n\tconst source = cleanObject(value);\n\treturn {\n\t\thost: cleanText(source.host || source.hostname || source.domain, 240),\n\t\tpath: cleanText(source.path || source.remotePath || source.remote_path, 500),\n\t\tchecksumBefore: cleanText(source.checksumBefore || source.checksum_before || source.remoteChecksumBefore || source.remote_checksum_before, 160),\n\t\tchecksumAfter: cleanText(source.checksumAfter || source.checksum_after || source.remoteChecksumAfter || source.remote_checksum_after, 160),\n\t\tchecksum: cleanText(source.checksum || source.remoteChecksum || source.remote_checksum, 160),\n\t\tstatus: cleanText(source.status, 160)\n\t};\n}\n\nfunction normalizeHotfixRemoteChecksumProofs(value: any): ResolveIOAIManagerHotfixRemoteChecksumProof[] {\n\treturn (Array.isArray(value) ? value : [])\n\t\t.map(normalizeHotfixRemoteChecksumProof)\n\t\t.filter((entry) => entry.host || entry.path || entry.checksumAfter || entry.checksum || entry.status)\n\t\t.slice(0, 40);\n}\n\nfunction normalizeHotfixHostStatusProof(value: any): ResolveIOAIManagerHotfixHostStatusProof {\n\tconst source = cleanObject(value);\n\tconst checkCount = Number(source.checkCount ?? source.check_count);\n\tconst failedCount = Number(source.failedCount ?? source.failed_count);\n\treturn {\n\t\thost: cleanText(source.host || source.hostname || source.domain, 240),\n\t\tstatus: cleanText(source.status || source.result, 160),\n\t\tevidence: cleanText(source.evidence || source.message || source.summary, 1000),\n\t\tcheckCount: Number.isFinite(checkCount) ? Math.max(0, Math.floor(checkCount)) : undefined,\n\t\tfailedCount: Number.isFinite(failedCount) ? Math.max(0, Math.floor(failedCount)) : undefined\n\t};\n}\n\nfunction normalizeHotfixHostStatusProofs(value: any): ResolveIOAIManagerHotfixHostStatusProof[] {\n\treturn (Array.isArray(value) ? value : [])\n\t\t.map(normalizeHotfixHostStatusProof)\n\t\t.filter((entry) => entry.host || entry.status || entry.evidence)\n\t\t.slice(0, 40);\n}\n\nexport function normalizeResolveIOAIManagerHotfixEvidence(\n\tvalue: any,\n\tpolicy?: ResolveIOAIManagerHotfixFirstReleasePolicy\n): ResolveIOAIManagerHotfixEvidence | undefined {\n\tconst source = cleanObject(value);\n\tif (!Object.keys(source).length) {\n\t\treturn undefined;\n\t}\n\tconst channel = normalizeHotfixChannel(source.channel || source.hotfixChannel || source.hotfix_channel || policy?.hotfixPlan?.recommendedChannel);\n\tif (!channel) {\n\t\treturn undefined;\n\t}\n\tconst target = normalizeHotfixEvidenceTarget(source.target || source);\n\tconst targets = normalizeHotfixEvidenceTargets(source.targets || source.hotfixTargets || source.hotfix_targets, target);\n\treturn {\n\t\tchannel,\n\t\tstatus: normalizeHotfixStatus(source.status),\n\t\ttarget,\n\t\ttargets,\n\t\tcompiledArtifactPath: cleanText(source.compiledArtifactPath || source.compiled_artifact_path || target.artifactPath, 500),\n\t\tbuiltDistPath: cleanText(source.builtDistPath || source.built_dist_path || target.artifactPath, 500),\n\t\tremoteChecksumBefore: cleanText(source.remoteChecksumBefore || source.remote_checksum_before || source.checksumBefore || source.checksum_before, 160),\n\t\tremoteChecksumAfter: cleanText(source.remoteChecksumAfter || source.remote_checksum_after || source.checksumAfter || source.checksum_after, 160),\n\t\tremoteChecksum: cleanText(source.remoteChecksum || source.remote_checksum || source.checksum, 160),\n\t\tremoteChecksums: normalizeHotfixRemoteChecksumProofs(source.remoteChecksums || source.remote_checksums || source.checksums || source.hostChecksums || source.host_checksums),\n\t\trestartEvidence: cleanText(source.restartEvidence || source.restart_evidence, 1000),\n\t\trestartResults: normalizeHotfixHostStatusProofs(source.restartResults || source.restart_results || source.restarts || source.serviceRestartResults || source.service_restart_results),\n\t\thealthCheckStatus: cleanText(source.healthCheckStatus || source.health_check_status || source.health, 160),\n\t\thealthChecks: normalizeHotfixHostStatusProofs(source.healthChecks || source.health_checks || source.hostHealthChecks || source.host_health_checks),\n\t\tselfTestStatus: cleanText(source.selfTestStatus || source.self_test_status || source.selfTest || source.self_test, 160),\n\t\tselfTests: normalizeHotfixHostStatusProofs(source.selfTests || source.self_tests || source.runnerManagerSelfTests || source.runner_manager_self_tests),\n\t\treleaseGateStatus: cleanText(source.releaseGateStatus || source.release_gate_status || source.releaseGate || source.release_gate, 160),\n\t\ts3UploadResult: cleanText(source.s3UploadResult || source.s3_upload_result || source.uploadResult || source.upload_result, 1000),\n\t\tcloudfrontInvalidationId: cleanText(source.cloudfrontInvalidationId || source.cloudfront_invalidation_id || source.invalidationId || source.invalidation_id, 240),\n\t\tpublicProof: cleanText(source.publicProof || source.public_proof || source.publicUrl || source.public_url, 1000),\n\t\tconfigChangeEvidence: cleanText(source.configChangeEvidence || source.config_change_evidence, 1000),\n\t\tseedDataEvidence: cleanText(source.seedDataEvidence || source.seed_data_evidence, 1000),\n\t\tcacheInvalidationEvidence: cleanText(source.cacheInvalidationEvidence || source.cache_invalidation_evidence, 1000),\n\t\tserviceRestartEvidence: cleanText(source.serviceRestartEvidence || source.service_restart_evidence, 1000),\n\t\treleaseArtifactFingerprint: cleanText(source.releaseArtifactFingerprint || source.release_artifact_fingerprint || source.artifactFingerprint || source.artifact_fingerprint, 240),\n\t\tlastReleaseArtifactFingerprint: cleanText(source.lastReleaseArtifactFingerprint || source.last_release_artifact_fingerprint || source.lastArtifactFingerprint || source.last_artifact_fingerprint, 240),\n\t\tsourceCommitSha: cleanText(source.sourceCommitSha || source.source_commit_sha || source.gitCommitSha || source.git_commit_sha || source.commitSha || source.commit_sha, 120),\n\t\tgithubCommitUrl: cleanText(source.githubCommitUrl || source.github_commit_url || source.gitCommitUrl || source.git_commit_url || source.commitUrl || source.commit_url, 500),\n\t\tgitCommitStatus: cleanText(source.gitCommitStatus || source.git_commit_status || source.githubCommitStatus || source.github_commit_status, 160),\n\t\tgitPushStatus: cleanText(source.gitPushStatus || source.git_push_status || source.githubPushStatus || source.github_push_status || source.githubCommitReachableStatus || source.github_commit_reachable_status, 160),\n\t\tcommittedAt: source.committedAt || source.committed_at,\n\t\tforceDeployReason: cleanText(source.forceDeployReason || source.force_deploy_reason, 1000),\n\t\thotfixCannotResolveReason: cleanText(source.hotfixCannotResolveReason || source.hotfix_cannot_resolve_reason, 1000),\n\t\tfullDeployRequested: source.fullDeployRequested === true || source.full_deploy_requested === true,\n\t\trecordedAt: source.recordedAt || source.recorded_at\n\t};\n}\n\nfunction matchingHotfixPlanStep(\n\tpolicy: ResolveIOAIManagerHotfixFirstReleasePolicy | undefined,\n\tchannel: ResolveIOAIManagerHotfixChannel | ''\n): ResolveIOAIManagerHotfixPlanStep | undefined {\n\treturn (policy?.hotfixPlan?.steps || []).find((step) => step.channel === channel);\n}\n\nfunction pushMissing(blockers: string[], condition: boolean, message: string): void {\n\tif (!condition) {\n\t\tblockers.push(message);\n\t}\n}\n\nfunction hotfixRequiresGithubCommit(channel: ResolveIOAIManagerHotfixChannel | ''): boolean {\n\treturn /^(backend_js|static_ui|config|seed_data|release_artifact|new_artifact_deploy|artifact_build)$/.test(channel);\n}\n\nfunction extractGithubCommitSha(value: string): string {\n\tconst match = cleanText(value, 500).match(/^https:\\/\\/github\\.com\\/[A-Za-z0-9_.-]+\\/[A-Za-z0-9_.-]+\\/commit\\/([a-f0-9]{40})(?:$|[?#/])/i);\n\treturn match?.[1]?.toLowerCase() || '';\n}\n\nfunction isFullGitCommitSha(value: string): boolean {\n\treturn /^[a-f0-9]{40}$/i.test(cleanText(value, 120));\n}\n\nfunction isStrongRemoteChecksum(value: string): boolean {\n\treturn /^[a-f0-9]{12,128}$/i.test(cleanText(value, 160));\n}\n\nfunction hotfixTargetLabel(target: ResolveIOAIManagerHotfixEvidenceTarget, fallbackIndex: number): string {\n\treturn cleanText([target.host, target.path].filter(Boolean).join(':'), 800) || `target[${fallbackIndex}]`;\n}\n\nfunction hotfixTargetsForBackendEvidence(evidence: ResolveIOAIManagerHotfixEvidence): ResolveIOAIManagerHotfixEvidenceTarget[] {\n\tconst targets = normalizeHotfixEvidenceTargets(evidence.targets, evidence.target);\n\treturn targets.length ? targets : [evidence.target].filter((target) => !!target);\n}\n\nfunction targetMatchesHostPath(sourceHost: any, sourcePath: any, target: ResolveIOAIManagerHotfixEvidenceTarget): boolean {\n\tconst host = cleanText(sourceHost, 240).toLowerCase();\n\tconst path = cleanText(sourcePath, 500);\n\tconst targetHost = cleanText(target.host, 240).toLowerCase();\n\tconst targetPath = cleanText(target.path, 500);\n\tif (targetHost && host && targetHost !== host) {\n\t\treturn false;\n\t}\n\tif (targetPath && path && targetPath !== path) {\n\t\treturn false;\n\t}\n\treturn (!!targetHost && !!host) || (!!targetPath && !!path);\n}\n\nfunction checksumProofForBackendTarget(\n\tevidence: ResolveIOAIManagerHotfixEvidence,\n\ttarget: ResolveIOAIManagerHotfixEvidenceTarget,\n\tallowLegacyGlobal: boolean\n): ResolveIOAIManagerHotfixRemoteChecksumProof | undefined {\n\tconst proof = (evidence.remoteChecksums || []).find((entry) => targetMatchesHostPath(entry.host, entry.path, target));\n\tif (proof) {\n\t\treturn proof;\n\t}\n\tif (allowLegacyGlobal && (evidence.remoteChecksumAfter || evidence.remoteChecksum)) {\n\t\treturn {\n\t\t\thost: target.host,\n\t\t\tpath: target.path,\n\t\t\tchecksumBefore: evidence.remoteChecksumBefore,\n\t\t\tchecksumAfter: evidence.remoteChecksumAfter,\n\t\t\tchecksum: evidence.remoteChecksum,\n\t\t\tstatus: evidence.status\n\t\t};\n\t}\n\treturn undefined;\n}\n\nfunction hostStatusProofForBackendTarget(\n\trecords: ResolveIOAIManagerHotfixHostStatusProof[] | undefined,\n\ttarget: ResolveIOAIManagerHotfixEvidenceTarget,\n\tallowLegacyGlobalStatus: any\n): ResolveIOAIManagerHotfixHostStatusProof | undefined {\n\tconst proof = (records || []).find((entry) => targetMatchesHostPath(entry.host, undefined, target));\n\tif (proof) {\n\t\treturn proof;\n\t}\n\tif (allowLegacyGlobalStatus) {\n\t\treturn {\n\t\t\thost: target.host,\n\t\t\tstatus: cleanText(allowLegacyGlobalStatus, 160)\n\t\t};\n\t}\n\treturn undefined;\n}\n\nfunction validateBackendHotfixTargetCoverage(\n\tevidence: ResolveIOAIManagerHotfixEvidence,\n\tblockers: string[]\n): void {\n\tconst targets = hotfixTargetsForBackendEvidence(evidence);\n\tconst structuredMultiTarget = targets.length > 1;\n\tif (structuredMultiTarget && !(evidence.remoteChecksums || []).length) {\n\t\tblockers.push('Backend JS hotfix with multiple targets requires remoteChecksums[] with a strong checksumAfter per host/path.');\n\t}\n\tif (structuredMultiTarget && !(evidence.restartResults || []).length) {\n\t\tblockers.push('Backend JS hotfix with multiple targets requires restartResults[] with passed status per host.');\n\t}\n\tif (structuredMultiTarget && !(evidence.healthChecks || []).length) {\n\t\tblockers.push('Backend JS hotfix with multiple targets requires healthChecks[] with passed status per host.');\n\t}\n\tif (structuredMultiTarget && !(evidence.selfTests || []).length) {\n\t\tblockers.push('Backend JS hotfix with multiple targets requires selfTests[] with passed status per host.');\n\t}\n\ttargets.forEach((target, index) => {\n\t\tconst label = hotfixTargetLabel(target, index);\n\t\tpushMissing(blockers, !!target.host, `Backend JS hotfix ${label} requires target host.`);\n\t\tpushMissing(blockers, !!target.path, `Backend JS hotfix ${label} requires target path.`);\n\t\tconst checksumProof = checksumProofForBackendTarget(evidence, target, !structuredMultiTarget);\n\t\tconst checksumAfter = checksumProof?.checksumAfter || checksumProof?.checksum || '';\n\t\tpushMissing(blockers, !!checksumAfter, `Backend JS hotfix ${label} requires remote checksum after replacement.`);\n\t\tif (checksumAfter && !isStrongRemoteChecksum(checksumAfter)) {\n\t\t\tblockers.push(`Backend JS hotfix ${label} remote checksum after replacement must be a strong hex checksum, not a label or placeholder.`);\n\t\t}\n\t\tif (checksumProof?.checksumBefore && checksumAfter && checksumProof.checksumBefore === checksumAfter) {\n\t\t\tblockers.push(`Backend JS hotfix ${label} checksum did not change; record force/no-op evidence or do not claim a hotfix.`);\n\t\t}\n\t\tconst restartProof = hostStatusProofForBackendTarget(evidence.restartResults, target, structuredMultiTarget ? '' : (evidence.restartEvidence || evidence.serviceRestartEvidence ? 'passed' : ''));\n\t\tpushMissing(blockers, !!restartProof && hotfixStatusPassed(restartProof.status || restartProof.evidence), `Backend JS hotfix ${label} requires restart evidence or passed restartResults status.`);\n\t\tconst healthProof = hostStatusProofForBackendTarget(evidence.healthChecks, target, structuredMultiTarget ? '' : evidence.healthCheckStatus);\n\t\tpushMissing(blockers, !!healthProof && hotfixStatusPassed(healthProof.status), `Backend JS hotfix ${label} requires passed healthCheckStatus or healthChecks status.`);\n\t\tconst selfTestProof = hostStatusProofForBackendTarget(evidence.selfTests, target, structuredMultiTarget ? '' : evidence.selfTestStatus);\n\t\tpushMissing(blockers, !!selfTestProof && hotfixStatusPassed(selfTestProof.status), `Backend JS hotfix ${label} requires passed selfTestStatus or selfTests status.`);\n\t\tif (selfTestProof && Number.isFinite(Number(selfTestProof.failedCount)) && Number(selfTestProof.failedCount) > 0) {\n\t\t\tblockers.push(`Backend JS hotfix ${label} selfTests failedCount must be 0.`);\n\t\t}\n\t});\n}\n\nfunction githubCommitProofBlockers(value: ResolveIOAIManagerHotfixEvidence, channel: ResolveIOAIManagerHotfixChannel | ''): string[] {\n\tconst blockers: string[] = [];\n\tconst sourceCommitSha = cleanText(value.sourceCommitSha, 120);\n\tconst githubCommitUrl = cleanText(value.githubCommitUrl, 500);\n\tconst gitCommitStatus = cleanText(value.gitCommitStatus, 160);\n\tconst gitPushStatus = cleanText(value.gitPushStatus, 160);\n\tconst urlCommitSha = extractGithubCommitSha(githubCommitUrl);\n\tif (!sourceCommitSha || !githubCommitUrl) {\n\t\tblockers.push(`${channel} hotfix requires sourceCommitSha, githubCommitUrl, passed gitCommitStatus, and passed gitPushStatus so live hotfixes are backed by a committed and pushed GitHub change before continuation.`);\n\t\treturn blockers;\n\t}\n\tif (!isFullGitCommitSha(sourceCommitSha)) {\n\t\tblockers.push(`${channel} hotfix sourceCommitSha must be a full 40-character git SHA.`);\n\t}\n\tif (!urlCommitSha) {\n\t\tblockers.push(`${channel} hotfix githubCommitUrl must be a GitHub commit URL ending in a full 40-character git SHA.`);\n\t}\n\telse if (isFullGitCommitSha(sourceCommitSha) && urlCommitSha !== sourceCommitSha.toLowerCase()) {\n\t\tblockers.push(`${channel} hotfix githubCommitUrl commit SHA must match sourceCommitSha.`);\n\t}\n\tif (!gitCommitStatus) {\n\t\tblockers.push(`${channel} hotfix requires passed gitCommitStatus so the manager records that the hotfix diff was committed before continuation.`);\n\t}\n\telse if (!hotfixStatusPassed(gitCommitStatus)) {\n\t\tblockers.push(`${channel} hotfix gitCommitStatus must be passed before continuation.`);\n\t}\n\tif (!gitPushStatus) {\n\t\tblockers.push(`${channel} hotfix requires passed gitPushStatus so the manager knows the hotfix commit is present on GitHub before continuation.`);\n\t}\n\telse if (!hotfixStatusPassed(gitPushStatus)) {\n\t\tblockers.push(`${channel} hotfix gitPushStatus must be passed before continuation.`);\n\t}\n\treturn blockers;\n}\n\nexport function evaluateResolveIOAIManagerHotfixGitProof(\n\tvalue: any,\n\tchannelHint: ResolveIOAIManagerHotfixChannel | '' = ''\n): ResolveIOAIManagerHotfixGitProof {\n\tconst normalized = normalizeResolveIOAIManagerHotfixEvidence(value);\n\tconst source = (normalized || cleanObject(value)) as Record<string, any>;\n\tconst channel = (channelHint || normalized?.channel || source.channel || '') as ResolveIOAIManagerHotfixChannel | '';\n\tconst required = hotfixRequiresGithubCommit(channel);\n\tconst sourceCommitSha = cleanText(source.sourceCommitSha || source.source_commit_sha || source.gitCommitSha || source.git_commit_sha || source.commitSha || source.commit_sha, 120);\n\tconst githubCommitUrl = cleanText(source.githubCommitUrl || source.github_commit_url || source.gitCommitUrl || source.git_commit_url || source.commitUrl || source.commit_url, 500);\n\tconst githubCommitSha = extractGithubCommitSha(githubCommitUrl);\n\tconst gitCommitStatus = cleanText(source.gitCommitStatus || source.git_commit_status || source.githubCommitStatus || source.github_commit_status, 160);\n\tconst gitPushStatus = cleanText(source.gitPushStatus || source.git_push_status || source.githubPushStatus || source.github_push_status || source.githubCommitReachableStatus || source.github_commit_reachable_status, 160);\n\tconst blockers = required\n\t\t? githubCommitProofBlockers({\n\t\t\tchannel: channel as ResolveIOAIManagerHotfixChannel,\n\t\t\ttarget: normalized?.target || {},\n\t\t\tsourceCommitSha,\n\t\t\tgithubCommitUrl,\n\t\t\tgitCommitStatus,\n\t\t\tgitPushStatus\n\t\t}, channel)\n\t\t: [];\n\tconst status: ResolveIOAIManagerHotfixGitProofStatus = !required\n\t\t? 'not_required'\n\t\t: (!sourceCommitSha || !githubCommitUrl || !gitCommitStatus || !gitPushStatus)\n\t\t\t? 'missing'\n\t\t\t: blockers.length\n\t\t\t\t? 'invalid'\n\t\t\t\t: 'passed';\n\tconst passed = !required || status === 'passed';\n\treturn {\n\t\trequired,\n\t\tstatus,\n\t\tpassed,\n\t\tmanagerMustCommitBeforeHotfix: required && !passed,\n\t\tchannel,\n\t\tsourceCommitSha,\n\t\tgithubCommitUrl,\n\t\tgithubCommitSha,\n\t\tgitCommitStatus,\n\t\tgitPushStatus,\n\t\tblockers,\n\t\tnextCommands: required && !passed\n\t\t\t? ['commit_and_push_hotfix_to_github', 'verify_github_commit_url_and_push_status', 'record_hotfix_evidence']\n\t\t\t: [],\n\t\trequiredEvidence: required\n\t\t\t? ['full 40-character sourceCommitSha', 'matching GitHub commit URL', 'passed gitCommitStatus', 'passed gitPushStatus']\n\t\t\t: []\n\t};\n}\n\nexport function validateResolveIOAIManagerHotfixEvidence(\n\tvalue: any,\n\toptions: { policy?: ResolveIOAIManagerHotfixFirstReleasePolicy } = {}\n): ResolveIOAIManagerHotfixEvidenceValidation {\n\tconst normalized = normalizeResolveIOAIManagerHotfixEvidence(value, options.policy);\n\tconst policy = options.policy;\n\tif (!normalized) {\n\t\treturn {\n\t\t\tvalid: false,\n\t\t\tstatus: 'missing',\n\t\t\tchannel: '',\n\t\t\tblockers: ['Hotfix evidence is missing or channel is unsupported.'],\n\t\t\twarnings: [],\n\t\t\tfullDeployAllowed: false,\n\t\t\tfullDeployBlocked: true,\n\t\t\thotfixSatisfied: false,\n\t\t\trequiredEvidence: policy?.hotfixPlan?.steps?.flatMap((step) => step.requiredEvidence) || [],\n\t\t\tsuccessEvidence: policy?.hotfixPlan?.steps?.flatMap((step) => step.successEvidence) || [],\n\t\t\tgithubCommitGuard: evaluateResolveIOAIManagerHotfixGitProof(value),\n\t\t\tpolicy,\n\t\t\tnextAction: 'record_hotfix_evidence'\n\t\t};\n\t}\n\tconst blockers: string[] = [];\n\tconst warnings: string[] = [];\n\tconst target = normalized.target || {};\n\tconst channel = normalized.channel;\n\tconst step = matchingHotfixPlanStep(policy, channel);\n\tconst requiredEvidence = step?.requiredEvidence || [];\n\tconst successEvidence = step?.successEvidence || [];\n\tconst policyAllowsFullDeploy = policy?.fullDeployAllowed === true;\n\tconst policyBlocksDuplicate = policy?.duplicateDeployBlocked === true || policy?.duplicatePublishBlocked === true;\n\tconst githubCommitGuard = evaluateResolveIOAIManagerHotfixGitProof(normalized, channel);\n\tif (normalized.fullDeployRequested && !policyAllowsFullDeploy && channel !== 'force_deploy_review' && channel !== 'new_artifact_deploy') {\n\t\tblockers.push('Full deploy requested but hotfix-first policy does not allow a full deploy for this release state.');\n\t}\n\tif (normalized.fullDeployRequested && policyBlocksDuplicate && !normalized.forceDeployReason && channel !== 'force_deploy_review') {\n\t\tblockers.push('Duplicate deploy/publish fingerprint requires force deploy/publish evidence before any full deploy.');\n\t}\n\tif (githubCommitGuard.required) {\n\t\tblockers.push(...githubCommitGuard.blockers);\n\t}\n\tif (channel === 'backend_js') {\n\t\tpushMissing(blockers, !!normalized.compiledArtifactPath, 'Backend JS hotfix requires compiledArtifactPath.');\n\t\tvalidateBackendHotfixTargetCoverage(normalized, blockers);\n\t}\n\telse if (channel === 'static_ui') {\n\t\tpushMissing(blockers, !!normalized.builtDistPath, 'Static UI hotfix requires builtDistPath.');\n\t\tpushMissing(blockers, !!target.bucket, 'Static UI hotfix requires target.bucket.');\n\t\tpushMissing(blockers, !!target.distributionId, 'Static UI hotfix requires target.distributionId.');\n\t\tpushMissing(blockers, !!normalized.s3UploadResult, 'Static UI hotfix requires s3UploadResult.');\n\t\tpushMissing(blockers, !!normalized.cloudfrontInvalidationId, 'Static UI hotfix requires cloudfrontInvalidationId.');\n\t\tpushMissing(blockers, !!normalized.publicProof, 'Static UI hotfix requires publicProof.');\n\t}\n\telse if (channel === 'config') {\n\t\tpushMissing(blockers, !!target.configKey, 'Config hotfix requires target.configKey.');\n\t\tpushMissing(blockers, !!normalized.configChangeEvidence, 'Config hotfix requires configChangeEvidence.');\n\t\tpushMissing(blockers, hotfixStatusPassed(normalized.releaseGateStatus), 'Config hotfix requires passed releaseGateStatus.');\n\t}\n\telse if (channel === 'seed_data') {\n\t\tpushMissing(blockers, !!target.seedKey, 'Seed-data hotfix requires target.seedKey.');\n\t\tpushMissing(blockers, !!normalized.seedDataEvidence, 'Seed-data hotfix requires seedDataEvidence.');\n\t\tpushMissing(blockers, hotfixStatusPassed(normalized.releaseGateStatus), 'Seed-data hotfix requires passed releaseGateStatus.');\n\t}\n\telse if (channel === 'cache_invalidation') {\n\t\tpushMissing(blockers, !!target.cacheKey, 'Cache invalidation hotfix requires target.cacheKey.');\n\t\tpushMissing(blockers, !!normalized.cacheInvalidationEvidence, 'Cache invalidation hotfix requires cacheInvalidationEvidence.');\n\t\tpushMissing(blockers, hotfixStatusPassed(normalized.releaseGateStatus) || hotfixStatusPassed(normalized.healthCheckStatus), 'Cache invalidation hotfix requires passed releaseGateStatus or healthCheckStatus.');\n\t}\n\telse if (channel === 'service_restart') {\n\t\tpushMissing(blockers, !!target.processName, 'Service restart hotfix requires target.processName.');\n\t\tpushMissing(blockers, !!(normalized.serviceRestartEvidence || normalized.restartEvidence), 'Service restart hotfix requires restart evidence.');\n\t\tpushMissing(blockers, hotfixStatusPassed(normalized.healthCheckStatus), 'Service restart hotfix requires passed healthCheckStatus.');\n\t\tpushMissing(blockers, hotfixStatusPassed(normalized.selfTestStatus), 'Service restart hotfix requires passed selfTestStatus.');\n\t}\n\telse if (channel === 'release_artifact') {\n\t\tpushMissing(blockers, !!normalized.releaseArtifactFingerprint, 'Release artifact hotfix requires releaseArtifactFingerprint.');\n\t\tpushMissing(blockers, hotfixStatusPassed(normalized.releaseGateStatus), 'Release artifact hotfix requires passed releaseGateStatus.');\n\t}\n\telse if (channel === 'force_deploy_review') {\n\t\tpushMissing(blockers, !!normalized.forceDeployReason, 'Force deploy review requires forceDeployReason.');\n\t\tpushMissing(blockers, !!normalized.hotfixCannotResolveReason, 'Force deploy review requires hotfixCannotResolveReason.');\n\t}\n\telse if (channel === 'new_artifact_deploy') {\n\t\tpushMissing(blockers, !!normalized.releaseArtifactFingerprint, 'New artifact deploy requires releaseArtifactFingerprint.');\n\t\tpushMissing(blockers, !!normalized.lastReleaseArtifactFingerprint, 'New artifact deploy requires lastReleaseArtifactFingerprint.');\n\t\tif (normalized.releaseArtifactFingerprint && normalized.lastReleaseArtifactFingerprint && normalized.releaseArtifactFingerprint === normalized.lastReleaseArtifactFingerprint) {\n\t\t\tblockers.push('New artifact deploy requires a fingerprint different from the last deployed artifact.');\n\t\t}\n\t\tpushMissing(blockers, hotfixStatusPassed(normalized.releaseGateStatus), 'New artifact deploy requires passed releaseGateStatus.');\n\t}\n\telse if (channel === 'artifact_build') {\n\t\tpushMissing(blockers, !!normalized.releaseArtifactFingerprint, 'Artifact build requires releaseArtifactFingerprint.');\n\t\tif (normalized.fullDeployRequested) {\n\t\t\tblockers.push('Artifact build evidence cannot request a full deploy in the same step.');\n\t\t}\n\t}\n\tif (!step && policy) {\n\t\twarnings.push(`Hotfix channel ${channel} is not the recommended channel in the current release policy.`);\n\t}\n\tconst forceDeployReviewValid = channel === 'force_deploy_review' && blockers.length === 0;\n\tconst newArtifactDeployValid = channel === 'new_artifact_deploy' && blockers.length === 0;\n\tconst fullDeployAllowed = forceDeployReviewValid || newArtifactDeployValid || (policyAllowsFullDeploy && blockers.length === 0 && normalized.fullDeployRequested === true);\n\tconst hotfixSatisfied = blockers.length === 0 && !fullDeployAllowed;\n\tconst status: ResolveIOAIManagerHotfixEvidenceStatus = blockers.length\n\t\t? (normalizeHotfixStatus(normalized.status) === 'blocked' ? 'blocked' : 'incomplete')\n\t\t: 'passed';\n\tconst fullDeployBlocked = !fullDeployAllowed && (normalized.fullDeployRequested === true || policy?.fullDeployAllowed !== true);\n\tconst nextAction: ResolveIOAIManagerHotfixEvidenceValidation['nextAction'] = blockers.some((blocker) => /force deploy/i.test(blocker))\n\t\t? 'request_force_deploy_reason'\n\t\t: fullDeployAllowed\n\t\t\t? 'allow_one_full_deploy'\n\t\t\t: hotfixSatisfied\n\t\t\t\t? 'rerun_release_gate'\n\t\t\t\t: blockers.length\n\t\t\t\t\t? 'record_hotfix_evidence'\n\t\t\t\t\t: 'park_manual';\n\tnormalized.status = status;\n\treturn {\n\t\tvalid: blockers.length === 0,\n\t\tstatus,\n\t\tchannel,\n\t\tblockers,\n\t\twarnings,\n\t\tfullDeployAllowed,\n\t\tfullDeployBlocked,\n\t\thotfixSatisfied,\n\t\trequiredEvidence,\n\t\tsuccessEvidence,\n\t\tnormalized,\n\t\tgithubCommitGuard,\n\t\tpolicy,\n\t\tnextAction\n\t};\n}\n\nfunction mergeHotfixEvidenceRecordInput(input: ResolveIOAIManagerHotfixEvidenceRecordInput): Record<string, any> {\n\tconst merged = {\n\t\t...cleanObject(input.evidence)\n\t};\n\tconst directFields = [\n\t\t'channel',\n\t\t'status',\n\t\t'target',\n\t\t'targets',\n\t\t'compiledArtifactPath',\n\t\t'builtDistPath',\n\t\t'remoteChecksumBefore',\n\t\t'remoteChecksumAfter',\n\t\t'remoteChecksum',\n\t\t'remoteChecksums',\n\t\t'restartEvidence',\n\t\t'restartResults',\n\t\t'healthCheckStatus',\n\t\t'healthChecks',\n\t\t'selfTestStatus',\n\t\t'selfTests',\n\t\t'releaseGateStatus',\n\t\t's3UploadResult',\n\t\t'cloudfrontInvalidationId',\n\t\t'publicProof',\n\t\t'configChangeEvidence',\n\t\t'seedDataEvidence',\n\t\t'cacheInvalidationEvidence',\n\t\t'serviceRestartEvidence',\n\t\t'releaseArtifactFingerprint',\n\t\t'lastReleaseArtifactFingerprint',\n\t\t'sourceCommitSha',\n\t\t'githubCommitUrl',\n\t\t'gitCommitStatus',\n\t\t'gitPushStatus',\n\t\t'committedAt',\n\t\t'forceDeployReason',\n\t\t'hotfixCannotResolveReason',\n\t\t'fullDeployRequested',\n\t\t'recordedAt'\n\t];\n\tfor (const field of directFields) {\n\t\tconst value = (input as any)[field];\n\t\tif (value !== undefined && value !== null && value !== '') {\n\t\t\t(merged as any)[field] = value;\n\t\t}\n\t}\n\treturn merged;\n}\n\nfunction resolveHotfixEvidenceRequiredFields(\n\tchannel: ResolveIOAIManagerHotfixChannel | ''\n): string[] {\n\tconst fields = ['channel'];\n\tif (hotfixRequiresGithubCommit(channel)) {\n\t\tfields.push('sourceCommitSha', 'githubCommitUrl', 'gitCommitStatus', 'gitPushStatus');\n\t}\n\tif (channel === 'backend_js') {\n\t\tfields.push('compiledArtifactPath', 'target.host', 'target.path', 'remoteChecksumAfter', 'restartEvidence', 'healthCheckStatus', 'selfTestStatus');\n\t}\n\telse if (channel === 'static_ui') {\n\t\tfields.push('builtDistPath', 'target.bucket', 'target.distributionId', 's3UploadResult', 'cloudfrontInvalidationId', 'publicProof');\n\t}\n\telse if (channel === 'config') {\n\t\tfields.push('target.configKey', 'configChangeEvidence', 'releaseGateStatus');\n\t}\n\telse if (channel === 'seed_data') {\n\t\tfields.push('target.seedKey', 'seedDataEvidence', 'releaseGateStatus');\n\t}\n\telse if (channel === 'cache_invalidation') {\n\t\tfields.push('target.cacheKey', 'cacheInvalidationEvidence', 'releaseGateStatus_or_healthCheckStatus');\n\t}\n\telse if (channel === 'service_restart') {\n\t\tfields.push('target.processName', 'serviceRestartEvidence', 'healthCheckStatus', 'selfTestStatus');\n\t}\n\telse if (channel === 'release_artifact') {\n\t\tfields.push('releaseArtifactFingerprint', 'releaseGateStatus');\n\t}\n\telse if (channel === 'new_artifact_deploy') {\n\t\tfields.push('releaseArtifactFingerprint', 'lastReleaseArtifactFingerprint', 'releaseGateStatus');\n\t}\n\telse if (channel === 'artifact_build') {\n\t\tfields.push('releaseArtifactFingerprint');\n\t}\n\telse if (channel === 'force_deploy_review') {\n\t\tfields.push('forceDeployReason', 'hotfixCannotResolveReason');\n\t}\n\treturn Array.from(new Set(fields));\n}\n\nfunction hotfixEvidenceFieldPresent(\n\tevidence: ResolveIOAIManagerHotfixEvidence | undefined,\n\tfield: string\n): boolean {\n\tif (!evidence) {\n\t\treturn false;\n\t}\n\tconst target = evidence.target || {};\n\tswitch (field) {\n\t\tcase 'channel':\n\t\t\treturn !!evidence.channel;\n\t\tcase 'sourceCommitSha':\n\t\t\treturn isFullGitCommitSha(evidence.sourceCommitSha || '');\n\t\tcase 'githubCommitUrl':\n\t\t\treturn !!extractGithubCommitSha(evidence.githubCommitUrl || '');\n\t\tcase 'gitCommitStatus':\n\t\t\treturn hotfixStatusPassed(evidence.gitCommitStatus);\n\t\tcase 'gitPushStatus':\n\t\t\treturn hotfixStatusPassed(evidence.gitPushStatus);\n\t\tcase 'compiledArtifactPath':\n\t\t\treturn !!cleanText(evidence.compiledArtifactPath, 500);\n\t\tcase 'builtDistPath':\n\t\t\treturn !!cleanText(evidence.builtDistPath, 500);\n\t\tcase 'remoteChecksumAfter':\n\t\t\treturn !!cleanText(evidence.remoteChecksumAfter || evidence.remoteChecksum, 160);\n\t\tcase 'restartEvidence':\n\t\t\treturn !!cleanText(evidence.restartEvidence || evidence.serviceRestartEvidence, 1000);\n\t\tcase 'serviceRestartEvidence':\n\t\t\treturn !!cleanText(evidence.serviceRestartEvidence || evidence.restartEvidence, 1000);\n\t\tcase 'healthCheckStatus':\n\t\t\treturn hotfixStatusPassed(evidence.healthCheckStatus);\n\t\tcase 'selfTestStatus':\n\t\t\treturn hotfixStatusPassed(evidence.selfTestStatus);\n\t\tcase 'releaseGateStatus':\n\t\t\treturn hotfixStatusPassed(evidence.releaseGateStatus);\n\t\tcase 'releaseGateStatus_or_healthCheckStatus':\n\t\t\treturn hotfixStatusPassed(evidence.releaseGateStatus) || hotfixStatusPassed(evidence.healthCheckStatus);\n\t\tcase 's3UploadResult':\n\t\t\treturn !!cleanText(evidence.s3UploadResult, 1000);\n\t\tcase 'cloudfrontInvalidationId':\n\t\t\treturn !!cleanText(evidence.cloudfrontInvalidationId, 240);\n\t\tcase 'publicProof':\n\t\t\treturn !!cleanText(evidence.publicProof, 1000);\n\t\tcase 'configChangeEvidence':\n\t\t\treturn !!cleanText(evidence.configChangeEvidence, 1000);\n\t\tcase 'seedDataEvidence':\n\t\t\treturn !!cleanText(evidence.seedDataEvidence, 1000);\n\t\tcase 'cacheInvalidationEvidence':\n\t\t\treturn !!cleanText(evidence.cacheInvalidationEvidence, 1000);\n\t\tcase 'releaseArtifactFingerprint':\n\t\t\treturn !!cleanText(evidence.releaseArtifactFingerprint, 240);\n\t\tcase 'lastReleaseArtifactFingerprint':\n\t\t\treturn !!cleanText(evidence.lastReleaseArtifactFingerprint, 240);\n\t\tcase 'forceDeployReason':\n\t\t\treturn !!cleanText(evidence.forceDeployReason, 1000);\n\t\tcase 'hotfixCannotResolveReason':\n\t\t\treturn !!cleanText(evidence.hotfixCannotResolveReason, 1000);\n\t\tcase 'target.host':\n\t\t\treturn !!cleanText(target.host, 200);\n\t\tcase 'target.path':\n\t\t\treturn !!cleanText(target.path, 500);\n\t\tcase 'target.bucket':\n\t\t\treturn !!cleanText(target.bucket, 200);\n\t\tcase 'target.distributionId':\n\t\t\treturn !!cleanText(target.distributionId, 200);\n\t\tcase 'target.configKey':\n\t\t\treturn !!cleanText(target.configKey, 200);\n\t\tcase 'target.seedKey':\n\t\t\treturn !!cleanText(target.seedKey, 200);\n\t\tcase 'target.cacheKey':\n\t\t\treturn !!cleanText(target.cacheKey, 200);\n\t\tcase 'target.processName':\n\t\t\treturn !!cleanText(target.processName, 200);\n\t\tdefault:\n\t\t\treturn false;\n\t}\n}\n\nexport function buildResolveIOAIManagerHotfixEvidenceRecord(\n\tinput: ResolveIOAIManagerHotfixEvidenceRecordInput = {}\n): ResolveIOAIManagerHotfixEvidenceRecord {\n\tconst merged = mergeHotfixEvidenceRecordInput(input);\n\tconst normalized = normalizeResolveIOAIManagerHotfixEvidence(merged, input.policy);\n\tconst validation = validateResolveIOAIManagerHotfixEvidence(merged, { policy: input.policy });\n\tconst channel = validation.channel || normalized?.channel || input.policy?.hotfixPlan?.recommendedChannel || '';\n\tconst requiredFields = resolveHotfixEvidenceRequiredFields(channel);\n\tconst missingFields = requiredFields.filter((field) => !hotfixEvidenceFieldPresent(normalized, field));\n\tconst recordedAt = cleanDateString(input.now || normalized?.recordedAt || new Date());\n\tconst githubCommitGuard = validation.githubCommitGuard || evaluateResolveIOAIManagerHotfixGitProof(normalized || merged, channel);\n\tconst commitFirstProtocol = githubCommitGuard.required ? 'commit_first_hotfix' as const : 'not_required' as const;\n\tconst commitFirstProtocolSatisfied = githubCommitGuard.required ? githubCommitGuard.passed === true : true;\n\tconst liveHotfixBlockedUntilCommit = githubCommitGuard.required === true && commitFirstProtocolSatisfied !== true;\n\tconst liveHotfixAllowed = validation.valid === true && validation.hotfixSatisfied === true && commitFirstProtocolSatisfied === true;\n\tconst readyForContinuation = validation.valid === true && validation.hotfixSatisfied === true && hotfixStatusPassed(normalized?.releaseGateStatus);\n\treturn {\n\t\trecordId: cleanText(input.recordId, 160) || `hotfix-${fingerprintResolveIOAIManagerBlocker(`${channel}:${githubCommitGuard.sourceCommitSha}:${recordedAt}`)}`,\n\t\trecordedAt,\n\t\trecordedBy: cleanText(input.recordedBy || 'manager', 160),\n\t\tsource: cleanText(input.source || 'unknown', 80),\n\t\treason: cleanText(input.reason, 1000),\n\t\tchannel,\n\t\tstatus: validation.status,\n\t\tnextAction: validation.nextAction,\n\t\tvalid: validation.valid,\n\t\thotfixSatisfied: validation.hotfixSatisfied,\n\t\tfullDeployAllowed: validation.fullDeployAllowed,\n\t\tfullDeployBlocked: validation.fullDeployBlocked,\n\t\trequiredFields,\n\t\tmissingFields,\n\t\tevidence: normalized,\n\t\tvalidation,\n\t\tsourceCommitSha: githubCommitGuard.sourceCommitSha,\n\t\tgithubCommitUrl: githubCommitGuard.githubCommitUrl,\n\t\tgitCommitStatus: githubCommitGuard.gitCommitStatus,\n\t\tgitPushStatus: githubCommitGuard.gitPushStatus,\n\t\tgithubCommitRequired: githubCommitGuard.required,\n\t\tgithubCommitProofPassed: githubCommitGuard.passed,\n\t\tcommitProofStatus: githubCommitGuard.status,\n\t\tcommitFirstProtocol,\n\t\tcommit_first_protocol: commitFirstProtocol,\n\t\tcommitFirstProtocolSatisfied,\n\t\tcommit_first_protocol_satisfied: commitFirstProtocolSatisfied,\n\t\tliveHotfixBlockedUntilCommit,\n\t\tlive_hotfix_blocked_until_commit: liveHotfixBlockedUntilCommit,\n\t\tliveHotfixAllowed,\n\t\tlive_hotfix_allowed: liveHotfixAllowed,\n\t\tmanagerMustCommitBeforeHotfix: githubCommitGuard.managerMustCommitBeforeHotfix,\n\t\tgithubCommitGuard,\n\t\treadyForReleaseGate: validation.valid === true && validation.nextAction === 'rerun_release_gate',\n\t\treadyForContinuation,\n\t\tmanagerContinuationAllowed: readyForContinuation,\n\t\tmanager_continuation_allowed: readyForContinuation\n\t};\n}\n\nfunction pickFirstHotfixText(sources: any[], keys: string[], max = 500, seen = new WeakSet<object>()): string {\n\tfor (const source of sources) {\n\t\tconst record = cleanObject(source);\n\t\tif (!Object.keys(record).length || seen.has(record)) {\n\t\t\tcontinue;\n\t\t}\n\t\tseen.add(record);\n\t\tfor (const key of keys) {\n\t\t\tconst value = cleanText(record[key], max);\n\t\t\tif (value) {\n\t\t\t\treturn value;\n\t\t\t}\n\t\t}\n\t\tfor (const nestedKey of ['evidence', 'hotfixEvidence', 'hotfix_evidence', 'hotfixCommitProof', 'hotfix_commit_proof', 'hotfixCommitGuard', 'hotfix_commit_guard', 'githubCommitGuard', 'github_commit_guard']) {\n\t\t\tconst nestedValue = pickFirstHotfixText([record[nestedKey]], keys, max, seen);\n\t\t\tif (nestedValue) {\n\t\t\t\treturn nestedValue;\n\t\t\t}\n\t\t}\n\t}\n\treturn '';\n}\n\nfunction hotfixDurabilityExtraRequest(contract: ResolveIOAIManagerHotfixDurabilityContract): string {\n\tif (!contract.required) {\n\t\treturn '';\n\t}\n\treturn [\n\t\t'Manager hotfix durability contract:',\n\t\t`- Contract id: ${contract.contractId}`,\n\t\t`- Live backend hotfix blocked until commit proof: ${contract.liveHotfixBlockedUntilCommit ? 'yes' : 'no'}`,\n\t\t`- GitHub commit proof passed: ${contract.commitProofPassed ? 'yes' : 'no'}`,\n\t\tcontract.missingCommitProofFields.length ? `- Missing commit proof fields: ${contract.missingCommitProofFields.join(', ')}` : '',\n\t\tcontract.phaseOrder.length ? `- Required phase order: ${contract.phaseOrder.join(' -> ')}` : '',\n\t\tcontract.requiredFields.length ? `- Required evidence fields: ${contract.requiredFields.join(', ')}` : '',\n\t\tcontract.successCriteria.length ? `- Success criteria: ${contract.successCriteria.join(' | ')}` : '',\n\t\tcontract.forbiddenActions.length ? `- Forbidden actions: ${contract.forbiddenActions.join(' | ')}` : '',\n\t\t'- Prepare the hotfix patch and GitHub commit proof before any live backend apply/restart.',\n\t\t'- After commit proof exists, apply the backend hotfix only through the existing hotfix path, record restart/checksum evidence, run the runner-manager self-test, and rerun the smallest release gate.'\n\t].filter(Boolean).join('\\n').slice(0, 3600);\n}\n\nexport function buildResolveIOAIManagerHotfixDurabilityContract(\n\tinput: ResolveIOAIManagerHotfixDurabilityContractInput = {}\n): ResolveIOAIManagerHotfixDurabilityContract {\n\tconst existing = cleanObject(input.existing);\n\tconst evidence = Object.keys(cleanObject(input.evidence)).length ? input.evidence : existing.evidence || existing.hotfixEvidence || existing.hotfix_evidence || existing;\n\tconst validation = validateResolveIOAIManagerHotfixEvidence(evidence, { policy: input.policy });\n\tconst continuation = input.continuation || undefined;\n\tconst githubCommitGuard = validation.githubCommitGuard || evaluateResolveIOAIManagerHotfixGitProof(evidence, validation.channel);\n\tconst sources = [evidence, existing, continuation, (continuation as any)?.githubCommitGuard, (continuation as any)?.github_commit_guard, githubCommitGuard];\n\tconst action = cleanText(input.action || existing.action || existing.dispatchAction || existing.dispatch_action || 'run_release_repair', 160);\n\tconst actionRequiresHotfix = /release_repair|hotfix|apply.*backend|deploy|publish/i.test(action);\n\tconst required = existing.required === true\n\t\t|| actionRequiresHotfix\n\t\t|| githubCommitGuard.required === true\n\t\t|| validation.githubCommitGuard?.required === true\n\t\t|| (continuation as any)?.githubCommitGuard?.required === true\n\t\t|| (continuation as any)?.github_commit_guard?.required === true\n\t\t|| input.policy?.hotfixPreferred === true;\n\tconst sourceCommitSha = githubCommitGuard.sourceCommitSha || pickFirstHotfixText(sources, ['sourceCommitSha', 'source_commit_sha', 'commitSha', 'commit_sha'], 120);\n\tconst githubCommitUrl = githubCommitGuard.githubCommitUrl || pickFirstHotfixText(sources, ['githubCommitUrl', 'github_commit_url', 'commitUrl', 'commit_url'], 500);\n\tconst gitCommitStatus = githubCommitGuard.gitCommitStatus || pickFirstHotfixText(sources, ['gitCommitStatus', 'git_commit_status', 'commitStatus', 'commit_status'], 160);\n\tconst gitPushStatus = githubCommitGuard.gitPushStatus || pickFirstHotfixText(sources, ['gitPushStatus', 'git_push_status', 'pushStatus', 'push_status'], 160);\n\tconst commitPassed = hotfixStatusPassed(gitCommitStatus);\n\tconst pushPassed = hotfixStatusPassed(gitPushStatus);\n\tconst sourceShaPassed = isFullGitCommitSha(sourceCommitSha);\n\tconst githubUrlSha = extractGithubCommitSha(githubCommitUrl);\n\tconst githubUrlPassed = !!githubUrlSha && (!sourceShaPassed || githubUrlSha === sourceCommitSha.toLowerCase());\n\tconst existingMissingCommitFields = cleanList(existing.missingCommitProofFields || existing.missing_commit_proof_fields, 20, 160);\n\tconst commitFirstProtocolRequired = githubCommitGuard.required === true\n\t\t|| existing.durabilityProtocol === 'commit_first_hotfix'\n\t\t|| existing.durability_protocol === 'commit_first_hotfix'\n\t\t|| existing.commitFirstProtocolRequired === true\n\t\t|| existing.commit_first_protocol_required === true\n\t\t|| existingMissingCommitFields.some((field) => /sourceCommitSha|githubCommitUrl|gitCommitStatus|gitPushStatus/i.test(field));\n\tconst durabilityProtocol = commitFirstProtocolRequired ? 'commit_first_hotfix' as const : 'not_required' as const;\n\tconst missingCommitProofFields = [\n\t\tsourceShaPassed ? '' : 'sourceCommitSha',\n\t\tgithubUrlPassed ? '' : 'githubCommitUrl',\n\t\tcommitPassed ? '' : 'gitCommitStatus=passed',\n\t\tpushPassed ? '' : 'gitPushStatus=passed'\n\t].filter(Boolean);\n\tconst commitProofPassed = required ? missingCommitProofFields.length === 0 : githubCommitGuard.passed === true;\n\tconst commitFirstProtocolSatisfied = commitFirstProtocolRequired ? commitProofPassed === true : true;\n\tconst liveHotfixBlockedUntilCommit = required && commitProofPassed !== true;\n\tconst releaseGatePassed = input.releaseGatePassed === true\n\t\t|| hotfixStatusPassed(validation.normalized?.releaseGateStatus)\n\t\t|| (continuation as any)?.canContinueRun === true;\n\tconst canPrepareHotfixPatch = required && (existing.canPrepareHotfixPatch === true || existing.can_prepare_hotfix_patch === true || actionRequiresHotfix || (continuation as any)?.action === 'record_hotfix_evidence');\n\tconst canHotfixBackend = required && commitProofPassed === true && canPrepareHotfixPatch === true;\n\tconst liveHotfixAllowed = required && commitFirstProtocolSatisfied === true && canPrepareHotfixPatch === true;\n\tconst managerContinuationAllowed = required\n\t\t? commitFirstProtocolSatisfied === true && validation.valid === true && releaseGatePassed === true\n\t\t: true;\n\tlet status: ResolveIOAIManagerHotfixDurabilityStatus = 'not_required';\n\tif (required && liveHotfixBlockedUntilCommit) {\n\t\tstatus = 'waiting_for_commit_proof';\n\t}\n\telse if (required && validation.valid && releaseGatePassed) {\n\t\tstatus = 'ready_for_continuation';\n\t}\n\telse if (required && validation.valid) {\n\t\tstatus = 'ready_for_release_gate';\n\t}\n\telse if (required) {\n\t\tstatus = 'ready_for_live_hotfix';\n\t}\n\tconst phaseOrder = Array.from(new Set(cleanList(existing.phaseOrder || existing.phase_order, 12, 200).concat([\n\t\t'prepare_hotfix_patch_without_live_apply',\n\t\t'commit_and_push_hotfix_to_github',\n\t\t'record_hotfix_evidence',\n\t\t'apply_backend_hotfix_only_after_commit_proof',\n\t\t'run_runner_manager_self_test',\n\t\t'rerun_smallest_release_gate'\n\t]))).slice(0, 12);\n\tconst requiredFields = Array.from(new Set(cleanList(existing.requiredFields || existing.required_fields, 20, 200).concat([\n\t\t'sourceCommitSha',\n\t\t'githubCommitUrl',\n\t\t'gitCommitStatus=passed',\n\t\t'gitPushStatus=passed',\n\t\t'hotfixPatchDiff',\n\t\t'restartOrChecksumEvidence',\n\t\t'releaseGateResult'\n\t]))).slice(0, 20);\n\tconst requiredEvidence = Array.from(new Set(cleanList(existing.requiredEvidence || existing.required_evidence, 24, 300).concat(requiredFields, validation.requiredEvidence || []))).slice(0, 24);\n\tconst successCriteria = Array.from(new Set(cleanList(existing.successCriteria || existing.success_criteria, 14, 300).concat([\n\t\t'Hotfix patch exists without live apply side effects.',\n\t\t'GitHub commit and push proof are recorded before live hotfix.',\n\t\t'Backend restart/checksum evidence and runner-manager self-test pass.',\n\t\t'Only the smallest relevant release gate is rerun after hotfix evidence.'\n\t]))).slice(0, 14);\n\tconst forbiddenActions = Array.from(new Set(cleanList(existing.forbiddenActions || existing.forbidden_actions, 14, 500).concat([\n\t\t'Do not apply or restart a live backend before sourceCommitSha, githubCommitUrl, passed gitCommitStatus, and passed gitPushStatus are recorded.',\n\t\t'Do not run a full server deploy as a substitute for a targeted backend hotfix.',\n\t\t'Do not continue the ticket from route-only or release-status-only evidence.'\n\t]))).slice(0, 14);\n\tconst now = cleanDateString(input.now || new Date());\n\tconst createdAt = cleanDateString(existing.createdAt || existing.created_at || now);\n\tconst reason = cleanText(input.reason || existing.reason || (continuation as any)?.reason || validation.blockers.join('; '), 1000);\n\tconst contractId = cleanText(existing.contractId || existing.contract_id, 160)\n\t\t|| `hotfix-durability-${fingerprintResolveIOAIManagerBlocker([\n\t\t\taction,\n\t\t\treason,\n\t\t\tphaseOrder.join('|'),\n\t\t\tcreatedAt.slice(0, 16)\n\t\t].join('\\n')).slice(0, 16)}`;\n\tconst nextSafeAction = !required\n\t\t? 'continue'\n\t\t: liveHotfixBlockedUntilCommit\n\t\t\t? 'commit_and_push_hotfix_to_github'\n\t\t\t: validation.valid\n\t\t\t\t? (releaseGatePassed ? 'continue_current_runner' : 'rerun_smallest_release_gate')\n\t\t\t\t: 'apply_backend_hotfix_only_after_commit_proof';\n\tconst hotfixCommitGuard = {\n\t\trequired,\n\t\tblocks_live_hotfix: liveHotfixBlockedUntilCommit,\n\t\tpassed: commitProofPassed,\n\t\tstatus: commitProofPassed ? 'passed' : 'missing',\n\t\tsourceCommitSha,\n\t\tgithubCommitUrl,\n\t\tgitCommitStatus,\n\t\tgitPushStatus,\n\t\tmissingFields: missingCommitProofFields,\n\t\trequired_fields: ['sourceCommitSha', 'githubCommitUrl', 'gitCommitStatus=passed', 'gitPushStatus=passed'],\n\t\tnext_action: liveHotfixBlockedUntilCommit ? 'commit_and_push_hotfix_to_github' : 'record_hotfix_evidence'\n\t};\n\tconst contract = {\n\t\tcontractId,\n\t\tcontract_id: contractId,\n\t\tcreatedAt,\n\t\tcreated_at: createdAt,\n\t\tupdatedAt: now,\n\t\tupdated_at: now,\n\t\tsource: cleanText(input.source || existing.source || 'ai_manager_hotfix_durability', 160),\n\t\trequired,\n\t\taction,\n\t\tstatus,\n\t\treason,\n\t\tcanPrepareHotfixPatch,\n\t\tcan_prepare_hotfix_patch: canPrepareHotfixPatch,\n\t\tcanHotfixBackend,\n\t\tcan_hotfix_backend: canHotfixBackend,\n\t\tliveHotfixBlockedUntilCommit,\n\t\tlive_hotfix_blocked_until_commit: liveHotfixBlockedUntilCommit,\n\t\tdurabilityProtocol,\n\t\tdurability_protocol: durabilityProtocol,\n\t\tcommitFirstProtocolRequired,\n\t\tcommit_first_protocol_required: commitFirstProtocolRequired,\n\t\tcommitFirstProtocolSatisfied,\n\t\tcommit_first_protocol_satisfied: commitFirstProtocolSatisfied,\n\t\tliveHotfixAllowed,\n\t\tlive_hotfix_allowed: liveHotfixAllowed,\n\t\tmanagerContinuationAllowed,\n\t\tmanager_continuation_allowed: managerContinuationAllowed,\n\t\tcommitProofPassed,\n\t\tcommit_proof_passed: commitProofPassed,\n\t\tcommitProofStatus: commitProofPassed ? 'passed' as const : 'missing' as const,\n\t\tcommit_proof_status: commitProofPassed ? 'passed' as const : 'missing' as const,\n\t\tsourceCommitSha,\n\t\tsource_commit_sha: sourceCommitSha,\n\t\tgithubCommitUrl,\n\t\tgithub_commit_url: githubCommitUrl,\n\t\tgitCommitStatus,\n\t\tgit_commit_status: gitCommitStatus,\n\t\tgitPushStatus,\n\t\tgit_push_status: gitPushStatus,\n\t\tmissingCommitProofFields,\n\t\tmissing_commit_proof_fields: missingCommitProofFields,\n\t\tnextSafeAction,\n\t\tnext_safe_action: nextSafeAction,\n\t\tphaseOrder,\n\t\tphase_order: phaseOrder,\n\t\trequiredFields,\n\t\trequired_fields: requiredFields,\n\t\trequiredEvidence,\n\t\trequired_evidence: requiredEvidence,\n\t\tsuccessCriteria,\n\t\tsuccess_criteria: successCriteria,\n\t\tforbiddenActions,\n\t\tforbidden_actions: forbiddenActions,\n\t\thotfixCommitGuard,\n\t\thotfix_commit_guard: hotfixCommitGuard,\n\t\tgithubCommitGuard: {\n\t\t\t...githubCommitGuard,\n\t\t\trequired,\n\t\t\tpassed: commitProofPassed,\n\t\t\tstatus: commitProofPassed ? 'passed' as const : (required ? 'missing' as const : githubCommitGuard.status),\n\t\t\tmanagerMustCommitBeforeHotfix: liveHotfixBlockedUntilCommit,\n\t\t\tsourceCommitSha,\n\t\t\tgithubCommitUrl,\n\t\t\tgitCommitStatus,\n\t\t\tgitPushStatus\n\t\t},\n\t\tgithub_commit_guard: {\n\t\t\t...githubCommitGuard,\n\t\t\trequired,\n\t\t\tpassed: commitProofPassed,\n\t\t\tstatus: commitProofPassed ? 'passed' as const : (required ? 'missing' as const : githubCommitGuard.status),\n\t\t\tmanagerMustCommitBeforeHotfix: liveHotfixBlockedUntilCommit,\n\t\t\tsourceCommitSha,\n\t\t\tgithubCommitUrl,\n\t\t\tgitCommitStatus,\n\t\t\tgitPushStatus\n\t\t},\n\t\tvalidation,\n\t\tcontinuation,\n\t\textraRequest: '',\n\t\textra_request: ''\n\t};\n\tcontract.extraRequest = hotfixDurabilityExtraRequest(contract);\n\tcontract.extra_request = contract.extraRequest;\n\treturn contract;\n}\n\nexport function decideResolveIOAIManagerHotfixContinuation(\n\tinput: ResolveIOAIManagerHotfixContinuationInput = {}\n): ResolveIOAIManagerHotfixContinuationDecision {\n\tconst validation = validateResolveIOAIManagerHotfixEvidence(input.evidence, { policy: input.policy });\n\tconst failureClass = cleanText(input.failureClass, 120) || 'release';\n\tconst blockerText = cleanText(input.blocker || validation.blockers.join('; ') || validation.normalized?.hotfixCannotResolveReason, 1000);\n\tconst blockerFingerprint = fingerprintResolveIOAIManagerBlocker(blockerText || `${validation.channel}:${validation.status}:${validation.nextAction}`);\n\tconst baseBlockers = [...validation.blockers];\n\tconst githubCommitGuard = validation.githubCommitGuard || evaluateResolveIOAIManagerHotfixGitProof(input.evidence, validation.channel);\n\tconst needsGithubCommitProof = githubCommitGuard.managerMustCommitBeforeHotfix\n\t\t|| validation.blockers.some((blocker) => /sourceCommitSha|githubCommitUrl|gitPushStatus|gitCommitStatus|GitHub commit|pushed/i.test(blocker));\n\tconst repeatedFailure = input.repeatedFailure === true;\n\tconst releaseGatePassed = input.releaseGatePassed === true\n\t\t|| hotfixStatusPassed(validation.normalized?.releaseGateStatus);\n\tlet action: ResolveIOAIManagerHotfixContinuationAction = validation.nextAction;\n\tlet canContinueRun = false;\n\tlet canRunFullDeploy = validation.fullDeployAllowed;\n\tlet shouldRerunReleaseGate = false;\n\tlet shouldPark = false;\n\tlet reason = '';\n\tconst nextCommands: string[] = [];\n\n\tif (githubCommitGuard.managerMustCommitBeforeHotfix) {\n\t\taction = 'record_hotfix_evidence';\n\t\treason = githubCommitGuard.blockers.length\n\t\t\t? `Manager hotfix cannot continue until the hotfix is committed and pushed: ${githubCommitGuard.blockers.join('; ')}`\n\t\t\t: 'Manager hotfix cannot continue until sourceCommitSha, githubCommitUrl, passed gitCommitStatus, and passed gitPushStatus prove the hotfix is committed and pushed to GitHub.';\n\t\tnextCommands.push(...githubCommitGuard.nextCommands, 'rerun_hotfix_evidence_validator');\n\t\tfor (const blocker of githubCommitGuard.blockers) {\n\t\t\tif (!baseBlockers.includes(blocker)) {\n\t\t\t\tbaseBlockers.push(blocker);\n\t\t\t}\n\t\t}\n\t}\n\telse if (!validation.valid || validation.status === 'missing' || validation.status === 'incomplete') {\n\t\taction = validation.nextAction === 'request_force_deploy_reason'\n\t\t\t? 'request_force_deploy_reason'\n\t\t\t: 'record_hotfix_evidence';\n\t\treason = validation.blockers.length\n\t\t\t? `Hotfix evidence is not complete: ${validation.blockers.join('; ')}`\n\t\t\t: 'Hotfix evidence is missing; record the hotfix target, checksum, restart, health, and self-test proof before continuing.';\n\t\tif (needsGithubCommitProof) {\n\t\t\tnextCommands.push('commit_and_push_hotfix_to_github', 'verify_github_commit_url_and_push_status');\n\t\t}\n\t\tnextCommands.push('record_hotfix_evidence', 'rerun_hotfix_evidence_validator');\n\t}\n\telse if (validation.fullDeployAllowed) {\n\t\taction = 'allow_one_full_deploy';\n\t\tcanRunFullDeploy = true;\n\t\treason = 'Hotfix evidence proves the duplicate release cannot be resolved by a hotfix, or a new artifact was verified, so exactly one full deploy can proceed.';\n\t\tnextCommands.push('run_release_gate_once', 'execute_one_full_deploy_with_force_evidence', 'record_deploy_result');\n\t}\n\telse if (repeatedFailure) {\n\t\taction = 'park_manual';\n\t\tshouldPark = true;\n\t\treason = 'The same release failure repeated after valid hotfix evidence; park for manual review instead of looping or redeploying blindly.';\n\t\tnextCommands.push('park_manual_with_hotfix_evidence', 'attach_release_gate_logs');\n\t}\n\telse if (validation.hotfixSatisfied && releaseGatePassed) {\n\t\taction = 'continue_runner';\n\t\tcanContinueRun = true;\n\t\treason = 'Hotfix evidence and the release gate both passed; continue the current runner without a full deploy.';\n\t\tnextCommands.push('continue_current_runner', 'record_hotfix_continuation');\n\t}\n\telse if (validation.hotfixSatisfied) {\n\t\taction = 'rerun_release_gate';\n\t\tshouldRerunReleaseGate = true;\n\t\treason = 'Hotfix evidence passed; rerun the smallest release gate before continuing the runner.';\n\t\tnextCommands.push('rerun_release_gate_once', 'record_release_gate_status');\n\t}\n\telse {\n\t\taction = 'park_manual';\n\t\tshouldPark = true;\n\t\treason = 'Hotfix evidence reached an unsupported state; park instead of starting another broad deploy or model loop.';\n\t\tbaseBlockers.push('Unsupported hotfix continuation state.');\n\t\tnextCommands.push('park_manual_with_hotfix_evidence');\n\t}\n\n\treturn {\n\t\taction,\n\t\tcanContinueRun,\n\t\tcanRunFullDeploy,\n\t\tshouldRerunReleaseGate,\n\t\tshouldPark,\n\t\treason,\n\t\tblockers: baseBlockers,\n\t\t\twarnings: validation.warnings,\n\t\t\trequiredEvidence: validation.requiredEvidence,\n\t\t\tsuccessEvidence: validation.successEvidence,\n\t\t\tnextCommands: Array.from(new Set(nextCommands)),\n\t\t\tfailureClass,\n\t\t\tblockerFingerprint,\n\t\t\tgithubCommitGuard,\n\t\t\tvalidation,\n\t\t\trecordedAt: isoNow(input.now)\n\t\t};\n}\n\nexport function decideResolveIOAIManagerHotfixCommitGuard(\n\tinput: ResolveIOAIManagerHotfixContinuationInput = {}\n): ResolveIOAIManagerHotfixCommitGuardDecision {\n\tconst normalized = normalizeResolveIOAIManagerHotfixEvidence(input.evidence, input.policy);\n\tconst validation = validateResolveIOAIManagerHotfixEvidence(input.evidence, { policy: input.policy });\n\tconst githubCommitGuard = validation.githubCommitGuard || evaluateResolveIOAIManagerHotfixGitProof(input.evidence, validation.channel);\n\tconst active = !!normalized || githubCommitGuard.required === true;\n\tconst hotfixCommitBlockers = validation.blockers.filter((blocker) => /sourceCommitSha|githubCommitUrl|gitPushStatus|gitCommitStatus|GitHub commit|pushed/i.test(blocker));\n\tconst blockers = Array.from(new Set([\n\t\t...(githubCommitGuard.blockers || []),\n\t\t...hotfixCommitBlockers\n\t]));\n\tconst blocked = active && (\n\t\tgithubCommitGuard.managerMustCommitBeforeHotfix === true\n\t\t|| (githubCommitGuard.required === true && githubCommitGuard.passed !== true)\n\t\t|| hotfixCommitBlockers.length > 0\n\t);\n\tconst nextCommands = blocked\n\t\t? Array.from(new Set([\n\t\t\t...(githubCommitGuard.nextCommands || []),\n\t\t\t'commit_and_push_hotfix_to_github',\n\t\t\t'verify_github_commit_url_and_push_status',\n\t\t\t'record_hotfix_evidence'\n\t\t]))\n\t\t: [];\n\treturn {\n\t\tactive,\n\t\tblocked,\n\t\treason: blocked\n\t\t\t? (blockers.length\n\t\t\t\t? `Hotfix continuation is blocked until GitHub commit proof is recorded: ${blockers.join('; ')}`\n\t\t\t\t: 'Hotfix continuation is blocked until sourceCommitSha, githubCommitUrl, passed gitCommitStatus, and passed gitPushStatus prove the hotfix is committed and pushed to GitHub.')\n\t\t\t: (active ? 'Hotfix GitHub commit proof is recorded.' : 'No hotfix commit guard is active.'),\n\t\tnextAction: blocked ? 'record_hotfix_evidence' : 'continue',\n\t\tchannel: validation.channel || githubCommitGuard.channel || '',\n\t\tblockers,\n\t\tnextCommands,\n\t\trequiredEvidence: githubCommitGuard.requiredEvidence,\n\t\tgithubCommitGuard,\n\t\tvalidation\n\t};\n}\n\nfunction releaseStatusIsBlocked(value: string): boolean {\n\treturn /fail|error|blocked|missing|empty|not ready|not_ready|denied|invalid|timeout|stale/i.test(value);\n}\n\nfunction releaseStatusIsTerminalDeploy(value: string): boolean {\n\treturn /requested|queued|in.?progress|completed|complete|success|succeeded|pass|passed|published|deployed|failed|error|blocked/i.test(value);\n}\n\nfunction buildReleaseAllowedActions(action: ResolveIOAIManagerHotfixFirstReleaseAction): string[] {\n\tif (action === 'wait_for_active_deploy') {\n\t\treturn ['wait_for_current_deploy_result', 'collect_current_deploy_log', 'refresh_release_snapshot'];\n\t}\n\tif (action === 'block_duplicate_deploy') {\n\t\treturn ['collect_existing_deploy_evidence', 'hotfix_release_artifact', 'request_force_deploy_with_reason'];\n\t}\n\tif (action === 'block_duplicate_publish') {\n\t\treturn ['collect_existing_publish_evidence', 'hotfix_release_artifact', 'request_force_publish_with_reason'];\n\t}\n\tif (action === 'review_force_deploy') {\n\t\treturn ['verify_force_deploy_reason', 'rerun_failed_release_gate_once', 'record_force_deploy_evidence'];\n\t}\n\tif (action === 'deploy_new_artifact_after_release_gate') {\n\t\treturn ['verify_new_artifact_fingerprint', 'run_release_gate_once', 'record_publish_deploy_evidence'];\n\t}\n\tif (action === 'build_artifact_first') {\n\t\treturn ['build_missing_release_artifact', 'record_artifact_fingerprint', 'run_release_gate_once'];\n\t}\n\treturn ['hotfix_live_runner_or_release_artifact', 'rerun_failed_release_gate_only', 'record_release_evidence'];\n}\n\nfunction hotfixStep(\n\tid: string,\n\tlabel: string,\n\tchannel: ResolveIOAIManagerHotfixChannel,\n\toptions: {\n\t\tsafeToAutoRun?: boolean;\n\t\trequiresFullDeploy?: boolean;\n\t\trequiredEvidence?: string[];\n\t\tsuccessEvidence?: string[];\n\t\tblockedBy?: string[];\n\t} = {}\n): ResolveIOAIManagerHotfixPlanStep {\n\treturn {\n\t\tid,\n\t\tlabel,\n\t\tchannel,\n\t\tsafeToAutoRun: options.safeToAutoRun === true,\n\t\trequiresFullDeploy: options.requiresFullDeploy === true,\n\t\trequiredEvidence: options.requiredEvidence || [],\n\t\tsuccessEvidence: options.successEvidence || [],\n\t\tblockedBy: options.blockedBy || []\n\t};\n}\n\nfunction buildHotfixFirstReleasePlan(input: {\n\taction: ResolveIOAIManagerHotfixFirstReleaseAction;\n\tsurface: string;\n\treason: string;\n\treleaseBlocked: boolean;\n}): ResolveIOAIManagerHotfixPlan {\n\tconst surface = cleanText(input.surface || 'runner', 80)\n\t\t.toLowerCase()\n\t\t.replace(/[^a-z0-9]+/g, '_')\n\t\t.replace(/^_+|_+$/g, '') || 'runner';\n\tconst commonAcceptance = [\n\t\t'failed release gate is rerun once and passes',\n\t\t'artifact fingerprint or hotfix evidence is recorded',\n\t\t'operator console shows no active duplicate deploy blocker'\n\t];\n\tif (input.action === 'wait_for_active_deploy') {\n\t\treturn {\n\t\t\tplanId: `${surface}:wait_for_active_deploy`,\n\t\t\tlabel: 'Wait For Active Deploy',\n\t\t\trecommendedChannel: 'release_artifact',\n\t\t\treason: input.reason,\n\t\t\tfullDeployAvoided: true,\n\t\t\tsteps: [\n\t\t\t\thotfixStep('collect_active_deploy_log', 'Collect active deploy log', 'release_artifact', {\n\t\t\t\t\tsafeToAutoRun: true,\n\t\t\t\t\trequiredEvidence: ['active deploy id or release operation id'],\n\t\t\t\t\tsuccessEvidence: ['terminal deploy status and release log captured']\n\t\t\t\t})\n\t\t\t],\n\t\t\tacceptanceEvidence: commonAcceptance,\n\t\t\tescalationTriggers: ['active deploy exceeds timeout', 'active deploy fails without a release log']\n\t\t};\n\t}\n\tif (input.action === 'deploy_new_artifact_after_release_gate') {\n\t\treturn {\n\t\t\tplanId: `${surface}:deploy_new_artifact_after_release_gate`,\n\t\t\tlabel: 'Deploy New Artifact After Release Gate',\n\t\t\trecommendedChannel: 'new_artifact_deploy',\n\t\t\treason: input.reason,\n\t\t\tfullDeployAvoided: false,\n\t\t\tsteps: [\n\t\t\t\thotfixStep('verify_new_artifact_fingerprint', 'Verify new artifact fingerprint', 'new_artifact_deploy', {\n\t\t\t\t\tsafeToAutoRun: true,\n\t\t\t\t\trequiresFullDeploy: true,\n\t\t\t\t\trequiredEvidence: ['current artifact fingerprint differs from last deployed fingerprint'],\n\t\t\t\t\tsuccessEvidence: ['release gate permits one full deploy']\n\t\t\t\t})\n\t\t\t],\n\t\t\tacceptanceEvidence: [\n\t\t\t\t'new artifact fingerprint recorded',\n\t\t\t\t'release gate passed before full deploy',\n\t\t\t\t'deploy/publish result recorded'\n\t\t\t],\n\t\t\tescalationTriggers: ['artifact fingerprint matches last deploy', 'release gate fails']\n\t\t};\n\t}\n\tif (input.action === 'build_artifact_first') {\n\t\treturn {\n\t\t\tplanId: `${surface}:build_artifact_first`,\n\t\t\tlabel: 'Build Artifact First',\n\t\t\trecommendedChannel: 'artifact_build',\n\t\t\treason: input.reason,\n\t\t\tfullDeployAvoided: true,\n\t\t\tsteps: [\n\t\t\t\thotfixStep('build_once_record_fingerprint', 'Build once and record fingerprint', 'artifact_build', {\n\t\t\t\t\tsafeToAutoRun: false,\n\t\t\t\t\trequiredEvidence: ['missing artifact fingerprint', 'release gate reason for building'],\n\t\t\t\t\tsuccessEvidence: ['artifact fingerprint recorded before any deploy']\n\t\t\t\t})\n\t\t\t],\n\t\t\tacceptanceEvidence: ['artifact fingerprint exists', 'no deploy queued before release gate'],\n\t\t\tescalationTriggers: ['build repeats without a new fingerprint', 'build failure lacks compile log']\n\t\t};\n\t}\n\tif (input.action === 'review_force_deploy') {\n\t\treturn {\n\t\t\tplanId: `${surface}:review_force_deploy`,\n\t\t\tlabel: 'Review Force Deploy',\n\t\t\trecommendedChannel: 'force_deploy_review',\n\t\t\treason: input.reason,\n\t\t\tfullDeployAvoided: false,\n\t\t\tsteps: [\n\t\t\t\thotfixStep('verify_force_deploy_reason', 'Verify force deploy reason', 'force_deploy_review', {\n\t\t\t\t\trequiredEvidence: ['explicit force_deploy reason', 'why hotfix cannot resolve the release blocker'],\n\t\t\t\t\tsuccessEvidence: ['one allowed deploy attempt is recorded with reason']\n\t\t\t\t})\n\t\t\t],\n\t\t\tacceptanceEvidence: ['force deploy evidence recorded', 'duplicate fingerprint exception is auditable'],\n\t\t\tescalationTriggers: ['force deploy reason is empty', 'same force deploy fails twice']\n\t\t};\n\t}\n\treturn {\n\t\tplanId: `${surface}:${input.action}`,\n\t\tlabel: input.action === 'block_duplicate_deploy'\n\t\t\t? 'Hotfix Or Force Deploy'\n\t\t\t: input.action === 'block_duplicate_publish'\n\t\t\t\t? 'Hotfix Or Force Publish'\n\t\t\t\t: 'Hotfix Release Artifact',\n\t\trecommendedChannel: input.action === 'block_duplicate_publish'\n\t\t\t? 'release_artifact'\n\t\t\t: input.releaseBlocked ? 'release_artifact' : 'static_ui',\n\t\treason: input.reason,\n\t\tfullDeployAvoided: true,\n\t\tsteps: [\n\t\t\thotfixStep('static_ui_hotfix', 'Static UI hotfix', 'static_ui', {\n\t\t\t\tsafeToAutoRun: true,\n\t\t\t\trequiredEvidence: ['sourceCommitSha, githubCommitUrl, passed gitCommitStatus, and passed gitPushStatus', 'built dist path', 'target S3 bucket and CloudFront distribution', 'changed frontend bundle or asset list'],\n\t\t\t\tsuccessEvidence: ['GitHub commit and push proof', 'S3 upload result', 'CloudFront invalidation id', 'public bundle contains expected hotfix marker']\n\t\t\t}),\n\t\t\thotfixStep('backend_js_hotfix', 'Backend JS hotfix', 'backend_js', {\n\t\t\t\trequiredEvidence: ['sourceCommitSha, githubCommitUrl, passed gitCommitStatus, and passed gitPushStatus', 'compiled JS artifact path', 'target backend host', 'diff limited to runner/operator code'],\n\t\t\t\tsuccessEvidence: ['GitHub commit and push proof', 'remote file checksum', 'service restart or process reload evidence', 'self-test passes']\n\t\t\t}),\n\t\t\thotfixStep('config_seed_cache_restart', 'Config, seed, cache, or restart repair', 'config', {\n\t\t\t\tsafeToAutoRun: true,\n\t\t\t\trequiredEvidence: ['sourceCommitSha, githubCommitUrl, passed gitCommitStatus, and passed gitPushStatus', 'exact config/seed/cache key or process name', 'why no product artifact changed'],\n\t\t\t\tsuccessEvidence: ['GitHub commit and push proof', 'release gate rerun result', 'operator console release snapshot refreshed']\n\t\t\t})\n\t\t],\n\t\tacceptanceEvidence: commonAcceptance,\n\t\tescalationTriggers: [\n\t\t\t'hotfix changes customer-facing product code outside the release artifact',\n\t\t\t'same release gate fails twice after hotfix evidence',\n\t\t\t'same publish fingerprint is retried without force_publish evidence',\n\t\t\t'force deploy is requested without a reason'\n\t\t]\n\t};\n}\n\nexport function buildResolveIOAIManagerHotfixFirstReleasePolicy(\n\tinput: ResolveIOAIManagerHotfixFirstReleasePolicyInput = {}\n): ResolveIOAIManagerHotfixFirstReleasePolicy {\n\tconst surface = cleanText(input.surface || 'runner', 120);\n\tconst deployStatus = cleanText(input.deployStatus, 160);\n\tconst publishStatus = cleanText(input.publishStatus, 160);\n\tconst sampleDataStatus = cleanText(input.sampleDataStatus, 160);\n\tconst deployFingerprint = cleanText(input.deployFingerprint, 240);\n\tconst lastDeployFingerprint = cleanText(input.lastDeployFingerprint, 240);\n\tconst publishFingerprint = cleanText(input.publishFingerprint, 240);\n\tconst lastPublishFingerprint = cleanText(input.lastPublishFingerprint, 240);\n\tconst fingerprintMatchesLast = !!deployFingerprint && !!lastDeployFingerprint && deployFingerprint === lastDeployFingerprint;\n\tconst publishFingerprintMatchesLast = !!publishFingerprint && !!lastPublishFingerprint && publishFingerprint === lastPublishFingerprint;\n\tconst releaseBlocked = [deployStatus, publishStatus, sampleDataStatus].some(releaseStatusIsBlocked);\n\tconst duplicateDeployBlocked = fingerprintMatchesLast\n\t\t&& input.forceDeploy !== true\n\t\t&& releaseStatusIsTerminalDeploy([deployStatus, publishStatus].filter(Boolean).join(' '));\n\tconst duplicatePublishBlocked = publishFingerprintMatchesLast\n\t\t&& input.forcePublish !== true\n\t\t&& releaseStatusIsBlocked(publishStatus)\n\t\t&& releaseStatusIsTerminalDeploy(publishStatus);\n\tlet recommendedAction: ResolveIOAIManagerHotfixFirstReleaseAction = 'hotfix_release_artifact';\n\tlet label = 'Hotfix Release Artifact';\n\tlet reason = 'Repair the live runner/operator code, release config, domain, seed-data, or release artifact and rerun only the failed release gate.';\n\tlet fullDeployAllowed = false;\n\tif (input.activeDeploy === true) {\n\t\trecommendedAction = 'wait_for_active_deploy';\n\t\tlabel = 'Wait For Active Deploy';\n\t\treason = 'A deploy is already queued or running; collect that result before spending another deploy cycle.';\n\t}\n\telse if (duplicateDeployBlocked) {\n\t\trecommendedAction = 'block_duplicate_deploy';\n\t\tlabel = 'Block Duplicate Deploy';\n\t\treason = 'The same artifact fingerprint already has release status; hotfix or provide explicit force_deploy evidence before rerunning it.';\n\t}\n\telse if (duplicatePublishBlocked) {\n\t\trecommendedAction = 'block_duplicate_publish';\n\t\tlabel = 'Block Duplicate Publish';\n\t\treason = 'The same publish fingerprint already has release status; hotfix the release artifact or provide explicit force_publish evidence before rerunning publish.';\n\t}\n\telse if ((fingerprintMatchesLast && input.forceDeploy === true) || (publishFingerprintMatchesLast && input.forcePublish === true)) {\n\t\trecommendedAction = 'review_force_deploy';\n\t\tlabel = 'Review Force Deploy';\n\t\treason = input.forcePublish === true\n\t\t\t? 'force_publish was explicitly requested for a repeated publish artifact; require a reason and rerun only the failed release gate.'\n\t\t\t: 'force_deploy was explicitly requested for a repeated artifact; require a reason and rerun only the failed release gate.';\n\t\tfullDeployAllowed = true;\n\t}\n\telse if (input.hasNewArtifact === false && !releaseBlocked) {\n\t\trecommendedAction = 'build_artifact_first';\n\t\tlabel = 'Build Artifact First';\n\t\treason = 'No release artifact fingerprint is available yet; build once, record the fingerprint, and avoid repeated deploys.';\n\t}\n\telse if (input.hasNewArtifact === true && !releaseBlocked) {\n\t\trecommendedAction = 'deploy_new_artifact_after_release_gate';\n\t\tlabel = 'Deploy New Artifact After Release Gate';\n\t\treason = 'A new artifact can be deployed after the release gate proves the artifact is new and ready.';\n\t\tfullDeployAllowed = true;\n\t}\n\tconst allowedActions = buildReleaseAllowedActions(recommendedAction);\n\tconst hotfixPlan = buildHotfixFirstReleasePlan({\n\t\taction: recommendedAction,\n\t\tsurface,\n\t\treason,\n\t\treleaseBlocked\n\t});\n\treturn {\n\t\tpolicy: 'hotfix_first',\n\t\tsurface,\n\t\trecommendedAction,\n\t\tlabel,\n\t\treason,\n\t\thotfixPreferred: recommendedAction !== 'deploy_new_artifact_after_release_gate' && recommendedAction !== 'review_force_deploy',\n\t\tfullDeployAllowed,\n\t\tduplicateDeployBlocked,\n\t\tduplicatePublishBlocked,\n\t\tforceDeployRequiredToRepeat: true,\n\t\tforcePublishRequiredToRepeat: true,\n\t\tstatuses: {\n\t\t\tdeploy: deployStatus,\n\t\t\tpublish: publishStatus,\n\t\t\tsampleData: sampleDataStatus\n\t\t},\n\t\tfingerprints: {\n\t\t\tcurrent: deployFingerprint,\n\t\t\tlast: lastDeployFingerprint,\n\t\t\tmatchesLast: fingerprintMatchesLast,\n\t\t\tpublishCurrent: publishFingerprint,\n\t\t\tpublishLast: lastPublishFingerprint,\n\t\t\tpublishMatchesLast: publishFingerprintMatchesLast\n\t\t},\n\t\thotfixPlan,\n\t\tallowedActions,\n\t\tforbiddenActions: [\n\t\t\t'rerun full builder loop for a release-only blocker',\n\t\t\t'queue duplicate deploy without force_deploy evidence',\n\t\t\t'queue duplicate publish without force_publish evidence',\n\t\t\t'publish/deploy again before reading the failed release log',\n\t\t\t'change core workflow after business proof passed unless release evidence proves it is required'\n\t\t],\n\t\trequiredEvidence: [\n\t\t\t'failed release gate log or active deploy result',\n\t\t\t'deploy artifact fingerprint comparison',\n\t\t\t'publish artifact fingerprint comparison when publish is the failed gate',\n\t\t\t'hotfix/config/seed/domain change evidence when no new product artifact is needed',\n\t\t\t'force_deploy or force_publish reason when repeating the same fingerprint'\n\t\t]\n\t};\n}\n\nexport function isResolveIOAIManagerSafeAutoDispatch(\n\tinput: ResolveIOAIManagerAutoDispatchPolicyInput | ResolveIOAIManagerRecoveryActionDispatchAction | string | undefined\n): boolean {\n\tconst normalizedInput = typeof input === 'string'\n\t\t? { dispatchAction: input }\n\t\t: (input || {});\n\tconst dispatchAction = cleanText(normalizedInput.dispatchAction || normalizedInput.directive?.dispatchAction, 120);\n\tconst directiveAllowed = normalizedInput.directive?.allowed;\n\tconst actionAutoRunnable = normalizedInput.action?.autoRunnable;\n\tconst productRepairAllowed = normalizedInput.directive?.canRunProductRepair === true\n\t\t|| normalizedInput.directive?.productRepairAllowed === true\n\t\t|| normalizedInput.action?.productRepairAllowed === true;\n\tconst expensiveModelAllowed = normalizedInput.directive?.canRunExpensiveModel === true\n\t\t|| normalizedInput.directive?.expensiveModelAllowed === true\n\t\t|| normalizedInput.action?.expensiveModelAllowed === true;\n\tif (!dispatchAction || dispatchAction === 'park_manual') {\n\t\treturn false;\n\t}\n\tif (directiveAllowed === false || actionAutoRunnable === false) {\n\t\treturn false;\n\t}\n\tif ([\n\t\t'run_evidence_probe',\n\t\t'run_read_only_diagnosis',\n\t\t'run_infra_repair',\n\t\t'run_compile_repair'\n\t].includes(dispatchAction)) {\n\t\treturn true;\n\t}\n\tif (dispatchAction === 'run_release_repair') {\n\t\treturn normalizedInput.includeReleaseRepair !== false;\n\t}\n\tif (dispatchAction === 'run_journey_contract_repair') {\n\t\treturn normalizedInput.includeJourneyContractRepair !== false && productRepairAllowed !== true;\n\t}\n\tif (dispatchAction === 'run_business_assertion_repair') {\n\t\treturn normalizedInput.includeBusinessProofRepair === true\n\t\t\t&& productRepairAllowed !== true\n\t\t\t&& expensiveModelAllowed !== true;\n\t}\n\tif (dispatchAction === 'run_targeted_product_repair') {\n\t\treturn normalizedInput.includeProductRepair === true\n\t\t\t&& productRepairAllowed === true\n\t\t\t&& expensiveModelAllowed !== true;\n\t}\n\treturn dispatchAction === 'advance' || dispatchAction === 'continue_gate';\n}\n\nfunction isoNow(value?: Date | string): string {\n\tif (value instanceof Date) {\n\t\treturn value.toISOString();\n\t}\n\tconst parsed = value ? new Date(value) : new Date();\n\tif (Number.isFinite(parsed.getTime())) {\n\t\treturn parsed.toISOString();\n\t}\n\treturn new Date().toISOString();\n}\n\nfunction stableHash(prefix: string, value: any): string {\n\tconst normalized = typeof value === 'string'\n\t\t? cleanText(value, 12000)\n\t\t: JSON.stringify(value || {});\n\tlet hash = 0;\n\tfor (let index = 0; index < normalized.length; index += 1) {\n\t\thash = ((hash << 5) - hash + normalized.charCodeAt(index)) | 0;\n\t}\n\treturn `${prefix}-${Math.abs(hash).toString(36) || '0'}`;\n}\n\nexport function normalizeResolveIOAIManagerFailureClass(value: any): string {\n\tconst normalized = cleanText(value, 80)\n\t\t.toLowerCase()\n\t\t.replace(/[\\s-]+/g, '_');\n\tif (!normalized) {\n\t\treturn 'unknown';\n\t}\n\tif (/^(qa_infra|infrastructure|harness|puppeteer|chrome|mongo|port|startup)$/.test(normalized)) {\n\t\treturn 'infra';\n\t}\n\tif (/^(build|compile|typescript|tsc|angular_build|ng_build)$/.test(normalized)) {\n\t\treturn 'compile';\n\t}\n\tif (/^(false_pass|route_only|missing_business_proof)$/.test(normalized)) {\n\t\treturn 'business';\n\t}\n\treturn normalized.slice(0, 80);\n}\n\nexport function fingerprintResolveIOAIManagerBlocker(value: any): string {\n\tconst normalized = cleanText(value, 4000)\n\t\t.toLowerCase()\n\t\t.replace(/[a-f0-9]{16,}/g, '<id>')\n\t\t.replace(/\\b\\d{2,}\\b/g, '<n>')\n\t\t.replace(/\\bline\\s+<n>\\b/g, 'line <n>')\n\t\t.replace(/https?:\\/\\/\\S+/g, '<url>')\n\t\t.replace(/\\s+/g, ' ')\n\t\t.trim();\n\treturn stableHash('mgr-blocker', normalized);\n}\n\nfunction resolveResolveIOAIManagerBlockerFingerprint(\n\trecord: ResolveIOAIManagerFailureRecord | undefined,\n\tfallback?: any\n): string {\n\tconst blockerText = cleanText(record?.blocker || record?.summary, 4000);\n\tif (blockerText) {\n\t\treturn fingerprintResolveIOAIManagerBlocker(blockerText);\n\t}\n\tconst explicit = cleanText(record?.blockerFingerprint, 120);\n\tif (explicit) {\n\t\treturn explicit;\n\t}\n\treturn fingerprintResolveIOAIManagerBlocker(fallback || '');\n}\n\nexport function hashResolveIOAIManagerEvidence(record: ResolveIOAIManagerFailureRecord | undefined): string {\n\tif (!record) {\n\t\treturn stableHash('mgr-evidence', '');\n\t}\n\tconst explicit = cleanText(record.evidenceHash, 120);\n\tif (explicit) {\n\t\treturn explicit;\n\t}\n\treturn stableHash('mgr-evidence', {\n\t\tfailureClass: normalizeResolveIOAIManagerFailureClass(record.failureClass),\n\t\tblocker: cleanText(record.blocker || record.summary, 2000),\n\t\tchangedFiles: cleanList(record.changedFiles, 80, 500).sort(),\n\t\tartifactPaths: cleanList(record.artifactPaths, 80, 500).sort()\n\t});\n}\n\nexport function buildResolveIOAIManagerRecoveryCheckpoint(\n\tinput: ResolveIOAIManagerRecoveryCheckpointInput\n): ResolveIOAIManagerRecoveryCheckpoint {\n\tconst plan = input.plan;\n\tconst current = input.current || {};\n\tconst blockerFingerprint = resolveResolveIOAIManagerBlockerFingerprint(current, plan.objective);\n\tconst evidenceHash = hashResolveIOAIManagerEvidence(current);\n\tconst changedFiles = cleanList(current.changedFiles, 80, 500);\n\tconst artifactPaths = cleanList(current.artifactPaths, 80, 500);\n\tconst previous = input.previousCheckpoint;\n\tconst sameCheckpointBase = previous\n\t\t&& previous.recoveryClass === plan.recoveryClass\n\t\t&& previous.lane === plan.lane\n\t\t&& previous.stepType === plan.stepType\n\t\t&& previous.blockerFingerprint === blockerFingerprint\n\t\t&& previous.evidenceHash === evidenceHash;\n\tconst attempts = sameCheckpointBase ? Math.max(0, Number(previous.attempts || 0)) + 1 : 1;\n\tconst status: ResolveIOAIManagerRecoveryCheckpointStatus = plan.recoveryClass === 'manual_handoff'\n\t\t? 'manual_handoff'\n\t\t: plan.recoveryClass === 'blocked_until_new_evidence'\n\t\t\t? 'parked'\n\t\t\t: plan.recoveryClass === 'advance_after_proof'\n\t\t\t\t? 'complete'\n\t\t\t\t: 'active';\n\tconst now = isoNow(input.now);\n\tconst checkpointId = stableHash('mgr-recovery', {\n\t\trecoveryClass: plan.recoveryClass,\n\t\tlane: plan.lane,\n\t\tstepType: plan.stepType,\n\t\tallowedAction: plan.allowedAction,\n\t\tblockerFingerprint,\n\t\tevidenceHash\n\t});\n\treturn {\n\t\tcheckpointId,\n\t\trecoveryClass: plan.recoveryClass,\n\t\tstatus,\n\t\tlane: plan.lane,\n\t\tstepType: plan.stepType,\n\t\tallowedAction: plan.allowedAction,\n\t\tproductRepairAllowed: plan.productRepairAllowed,\n\t\texpensiveModelAllowed: plan.expensiveModelAllowed,\n\t\tattempts,\n\t\tmaxAttemptsBeforePark: plan.maxAttemptsBeforePark,\n\t\tblockerFingerprint,\n\t\tevidenceHash,\n\t\tchangedFiles,\n\t\tartifactPaths,\n\t\trequiredEvidence: cleanList(plan.requiredEvidence, 40, 500),\n\t\tloopResetEvidence: cleanList(plan.loopResetEvidence, 40, 500),\n\t\tforbiddenActions: cleanList(plan.forbiddenActions, 40, 500),\n\t\tobjective: cleanText(plan.objective, 1000),\n\t\tnextActionLabel: cleanText(plan.nextActionLabel, 160),\n\t\tcreatedAt: sameCheckpointBase && previous?.createdAt ? previous.createdAt : now,\n\t\tupdatedAt: now\n\t};\n}\n\nfunction makeRecoveryEvidenceProbeStep(\n\tid: string,\n\tkind: ResolveIOAIManagerRecoveryEvidenceProbeStepKind,\n\tlabel: string,\n\tobjective: string,\n\tartifactExpectation: string,\n\tsuccessSignal: string,\n\toptions: Partial<Pick<ResolveIOAIManagerRecoveryEvidenceProbeStep, 'required' | 'commandHint'>> = {}\n): ResolveIOAIManagerRecoveryEvidenceProbeStep {\n\treturn {\n\t\tid,\n\t\tkind,\n\t\tlabel,\n\t\tobjective: cleanText(objective, 1000),\n\t\trequired: options.required !== false,\n\t\t...(options.commandHint ? { commandHint: cleanText(options.commandHint, 500) } : {}),\n\t\tartifactExpectation: cleanText(artifactExpectation, 500),\n\t\tsuccessSignal: cleanText(successSignal, 500)\n\t};\n}\n\nfunction recoveryEvidenceProbeStepsFor(\n\tcheckpoint: ResolveIOAIManagerRecoveryCheckpoint\n): ResolveIOAIManagerRecoveryEvidenceProbeStep[] {\n\tconst base = [\n\t\tmakeRecoveryEvidenceProbeStep(\n\t\t\t'snapshot_current_blocker',\n\t\t\t'rerun_same_gate',\n\t\t\t'Snapshot Current Blocker',\n\t\t\t'Capture the current blocker, failure class, evidence hash, changed files, and artifact paths before any new repair.',\n\t\t\t'runner-evidence/current-blocker.json',\n\t\t\t'Snapshot includes the same checkpointId, blockerFingerprint, and evidenceHashBefore.'\n\t\t)\n\t];\n\tif (checkpoint.recoveryClass === 'diagnosis_only' || checkpoint.recoveryClass === 'diagnosis_revision') {\n\t\treturn [\n\t\t\t...base,\n\t\t\tmakeRecoveryEvidenceProbeStep(\n\t\t\t\t'collect_read_only_root_cause_evidence',\n\t\t\t\t'read_only_diagnosis',\n\t\t\t\t'Collect Read-Only Root-Cause Evidence',\n\t\t\t\tcheckpoint.recoveryClass === 'diagnosis_revision'\n\t\t\t\t\t? 'Collect new evidence that proves the current owner_files or failing_path is wrong before broadening scope.'\n\t\t\t\t\t: 'Reproduce or classify the issue and record the exact customer complaint, expected result, observed result, route/module, and account context.',\n\t\t\t\t'runner-evidence/diagnosis-readonly.md',\n\t\t\t\t'Evidence supports one falsifiable accepted hypothesis and at least one rejected alternative.'\n\t\t\t),\n\t\t\tmakeRecoveryEvidenceProbeStep(\n\t\t\t\t'validate_diagnosis_gate',\n\t\t\t\t'read_only_diagnosis',\n\t\t\t\t'Validate Diagnosis Gate',\n\t\t\t\t'Validate issue_case, accepted_hypothesis, rejected_alternatives, failing_path, owner_files, and before/action/after proof_plan.',\n\t\t\t\t'runner-evidence/diagnosis-gate.json',\n\t\t\t\t'Diagnosis gate validates before product-code repair is allowed.'\n\t\t\t)\n\t\t];\n\t}\n\tif (checkpoint.recoveryClass === 'infra_repair') {\n\t\treturn [\n\t\t\t...base,\n\t\t\tmakeRecoveryEvidenceProbeStep(\n\t\t\t\t'run_infra_preflight',\n\t\t\t\t'infra_preflight',\n\t\t\t\t'Run Infra Preflight',\n\t\t\t\t'Check Puppeteer/Chrome, ports, Mongo/settings, cache state, startup commands, and server/client process health.',\n\t\t\t\t'runner-evidence/infra-preflight.log',\n\t\t\t\t'The same infra gate either passes or returns a new infra blocker hash.',\n\t\t\t\t{ commandHint: 'runner preflight: puppeteer/chrome/mongo/ports/startup' }\n\t\t\t)\n\t\t];\n\t}\n\tif (checkpoint.recoveryClass === 'compile_repair') {\n\t\treturn [\n\t\t\t...base,\n\t\t\tmakeRecoveryEvidenceProbeStep(\n\t\t\t\t'rerun_compile_gate',\n\t\t\t\t'compile_check',\n\t\t\t\t'Rerun Compile Gate',\n\t\t\t\t'Rerun the same deterministic compile/build command and capture the first actionable error.',\n\t\t\t\t'runner-evidence/compile.log',\n\t\t\t\t'Compile passes or the first failing error changes.',\n\t\t\t\t{ commandHint: 'same finite build/compile command from the failed gate' }\n\t\t\t)\n\t\t];\n\t}\n\tif (checkpoint.recoveryClass === 'journey_contract_repair') {\n\t\treturn [\n\t\t\t...base,\n\t\t\tmakeRecoveryEvidenceProbeStep(\n\t\t\t\t'validate_journey_contract',\n\t\t\t\t'journey_validation',\n\t\t\t\t'Validate Journey Contract',\n\t\t\t\t'Validate docs/APP_JOURNEY_CONTRACT.md has first/next/last workflow, route/action/method mapping, seeded data story, completion states, and QA assertions.',\n\t\t\t\t'runner-evidence/journey-contract-validation.json',\n\t\t\t\t'Journey contract validates before build tasks continue.'\n\t\t\t),\n\t\t\tmakeRecoveryEvidenceProbeStep(\n\t\t\t\t'verify_hub_workflow_mapping',\n\t\t\t\t'journey_validation',\n\t\t\t\t'Verify Hub Workflow Mapping',\n\t\t\t\t'Confirm the hub CTA and screen sequence implement the journey contract instead of link-only navigation.',\n\t\t\t\t'runner-evidence/hub-workflow-map.json',\n\t\t\t\t'Primary hub action maps to a real route/action/method/calculation and next state.'\n\t\t\t)\n\t\t];\n\t}\n\tif (checkpoint.recoveryClass === 'business_proof_repair' || checkpoint.recoveryClass === 'product_code_repair') {\n\t\treturn [\n\t\t\t...base,\n\t\t\tmakeRecoveryEvidenceProbeStep(\n\t\t\t\t'rerun_business_assertion',\n\t\t\t\t'business_assertion',\n\t\t\t\t'Rerun Business Assertion',\n\t\t\t\t'Run the exact issue/app promise proof and capture before/action/after DOM/data evidence.',\n\t\t\t\t'runner-evidence/business-assertion.json',\n\t\t\t\t'Business assertion passes, or the observed failure changes with a new artifact path.'\n\t\t\t),\n\t\t\tmakeRecoveryEvidenceProbeStep(\n\t\t\t\t'check_diff_scope',\n\t\t\t\t'diff_scope_check',\n\t\t\t\t'Check Diff Scope',\n\t\t\t\t'Compare changed files against the current diagnosis/journey owner scope before another code repair.',\n\t\t\t\t'runner-evidence/diff-scope.json',\n\t\t\t\t'Changed files are in scope, or diagnosis/journey scope is revised with evidence.'\n\t\t\t)\n\t\t];\n\t}\n\tif (checkpoint.recoveryClass === 'release_repair') {\n\t\treturn [\n\t\t\t...base,\n\t\t\tmakeRecoveryEvidenceProbeStep(\n\t\t\t\t'collect_release_status',\n\t\t\t\t'release_status',\n\t\t\t\t'Collect Release Status',\n\t\t\t\t'Collect publish/deploy/build-instance/domain/CloudFront status and the last actionable deploy error.',\n\t\t\t\t'runner-evidence/release-status.json',\n\t\t\t\t'Release gate passes or returns a new release blocker hash without product-code repair.'\n\t\t\t)\n\t\t];\n\t}\n\tif (checkpoint.recoveryClass === 'manual_handoff') {\n\t\treturn [\n\t\t\t...base,\n\t\t\tmakeRecoveryEvidenceProbeStep(\n\t\t\t\t'operator_review_checkpoint',\n\t\t\t\t'operator_review',\n\t\t\t\t'Operator Review Checkpoint',\n\t\t\t\t'Expose budget, blocker, evidence hash, and the minimum policy/scope change needed before another expensive loop.',\n\t\t\t\t'runner-evidence/operator-review.json',\n\t\t\t\t'Operator approves a new scope/policy or provides new external evidence.'\n\t\t\t)\n\t\t];\n\t}\n\treturn [\n\t\t...base,\n\t\tmakeRecoveryEvidenceProbeStep(\n\t\t\t'rerun_same_deterministic_gate',\n\t\t\t'rerun_same_gate',\n\t\t\t'Rerun Same Deterministic Gate',\n\t\t\t'Rerun the exact failed check and capture new logs/artifacts without changing product code first.',\n\t\t\t'runner-evidence/retry-gate.log',\n\t\t\t'Gate passes, or evidenceHash/blockerFingerprint/artifactPaths change.'\n\t\t)\n\t];\n}\n\nexport function buildResolveIOAIManagerRecoveryEvidenceProbe(\n\tinput: ResolveIOAIManagerRecoveryEvidenceProbeInput\n): ResolveIOAIManagerRecoveryEvidenceProbe {\n\tconst checkpoint = input.checkpoint;\n\tconst now = isoNow(input.now);\n\tconst steps = recoveryEvidenceProbeStepsFor(checkpoint);\n\tconst requiredArtifacts = Array.from(new Set(steps\n\t\t.filter((step) => step.required)\n\t\t.map((step) => step.artifactExpectation)\n\t\t.filter(Boolean)));\n\treturn {\n\t\tprobeId: stableHash('mgr-probe', {\n\t\t\tcheckpointId: checkpoint.checkpointId,\n\t\t\trecoveryClass: checkpoint.recoveryClass,\n\t\t\tevidenceHash: checkpoint.evidenceHash,\n\t\t\tblockerFingerprint: checkpoint.blockerFingerprint\n\t\t}),\n\t\tcheckpointId: checkpoint.checkpointId,\n\t\trecoveryClass: checkpoint.recoveryClass,\n\t\tlane: checkpoint.lane,\n\t\tstepType: checkpoint.stepType,\n\t\tobjective: checkpoint.status === 'parked'\n\t\t\t? 'Collect new evidence before any additional expensive model/code repair.'\n\t\t\t: cleanText(checkpoint.objective, 1000),\n\t\tevidenceOnly: checkpoint.status === 'parked'\n\t\t\t|| checkpoint.recoveryClass === 'diagnosis_only'\n\t\t\t|| checkpoint.recoveryClass === 'diagnosis_revision'\n\t\t\t|| checkpoint.recoveryClass === 'infra_repair'\n\t\t\t|| checkpoint.recoveryClass === 'compile_repair'\n\t\t\t|| checkpoint.recoveryClass === 'release_repair',\n\t\tproductRepairAllowed: checkpoint.productRepairAllowed && checkpoint.status !== 'parked',\n\t\texpensiveModelAllowed: checkpoint.expensiveModelAllowed && checkpoint.status !== 'parked',\n\t\tevidenceHashBefore: checkpoint.evidenceHash,\n\t\tblockerFingerprint: checkpoint.blockerFingerprint,\n\t\tsteps,\n\t\trequiredArtifacts,\n\t\tacceptanceEvidence: Array.from(new Set([\n\t\t\t...checkpoint.requiredEvidence,\n\t\t\t...checkpoint.loopResetEvidence,\n\t\t\t...steps.map((step) => step.successSignal)\n\t\t].map((entry) => cleanText(entry, 500)).filter(Boolean))).slice(0, 30),\n\t\tstopConditions: Array.from(new Set([\n\t\t\t...checkpoint.forbiddenActions,\n\t\t\t'no new evidence hash',\n\t\t\t'no new artifact path',\n\t\t\t'product-code repair requested while evidenceOnly is true'\n\t\t].map((entry) => cleanText(entry, 500)).filter(Boolean))).slice(0, 30),\n\t\tloopResetEvidence: checkpoint.loopResetEvidence,\n\t\tcreatedAt: now\n\t};\n}\n\nfunction recoveryAutomationModeFor(\n\tcheckpoint: ResolveIOAIManagerRecoveryCheckpoint\n): ResolveIOAIManagerRecoveryAutomationMode {\n\tif (checkpoint.status === 'manual_handoff' || checkpoint.recoveryClass === 'manual_handoff') {\n\t\treturn 'manual_review';\n\t}\n\tif (checkpoint.status === 'complete' || checkpoint.recoveryClass === 'advance_after_proof') {\n\t\treturn 'advance';\n\t}\n\tif (checkpoint.status === 'parked' || checkpoint.recoveryClass === 'blocked_until_new_evidence') {\n\t\treturn 'collect_evidence';\n\t}\n\tif (checkpoint.recoveryClass === 'diagnosis_only' || checkpoint.recoveryClass === 'diagnosis_revision') {\n\t\treturn 'read_only_diagnosis';\n\t}\n\tif (checkpoint.recoveryClass === 'infra_repair') {\n\t\treturn 'repair_infra';\n\t}\n\tif (checkpoint.recoveryClass === 'compile_repair') {\n\t\treturn 'repair_compile';\n\t}\n\tif (checkpoint.recoveryClass === 'journey_contract_repair') {\n\t\treturn 'repair_journey_contract';\n\t}\n\tif (checkpoint.recoveryClass === 'business_proof_repair') {\n\t\treturn 'repair_business_assertion';\n\t}\n\tif (checkpoint.recoveryClass === 'release_repair') {\n\t\treturn 'repair_release';\n\t}\n\tif (checkpoint.recoveryClass === 'product_code_repair') {\n\t\treturn 'targeted_product_repair';\n\t}\n\treturn 'continue_gate';\n}\n\nfunction recoveryActionLabelFor(mode: ResolveIOAIManagerRecoveryAutomationMode, checkpoint: ResolveIOAIManagerRecoveryCheckpoint): string {\n\tconst explicit = cleanText(checkpoint.nextActionLabel, 120);\n\tif (explicit && mode !== 'collect_evidence') {\n\t\treturn explicit;\n\t}\n\tconst labels: Record<ResolveIOAIManagerRecoveryAutomationMode, string> = {\n\t\tadvance: 'Advance To Next Gate',\n\t\tcollect_evidence: 'Collect New Evidence',\n\t\tread_only_diagnosis: 'Run Diagnosis Evidence Pass',\n\t\trepair_infra: 'Repair Infra Gate',\n\t\trepair_compile: 'Repair Compile Gate',\n\t\trepair_journey_contract: 'Repair Journey Contract',\n\t\trepair_business_assertion: 'Repair Business Proof',\n\t\trepair_release: 'Repair Release Gate',\n\t\ttargeted_product_repair: 'Run Targeted Repair',\n\t\tmanual_review: 'Manual Review',\n\t\tcontinue_gate: 'Continue Current Gate'\n\t};\n\treturn labels[mode];\n}\n\nfunction recoveryActionAutoRunnable(\n\tmode: ResolveIOAIManagerRecoveryAutomationMode,\n\tprobe: ResolveIOAIManagerRecoveryEvidenceProbe\n): boolean {\n\tif (mode === 'manual_review') {\n\t\treturn false;\n\t}\n\tif (mode === 'advance' || mode === 'continue_gate') {\n\t\treturn true;\n\t}\n\tif (mode === 'targeted_product_repair' || mode === 'read_only_diagnosis' || mode === 'repair_journey_contract' || mode === 'repair_business_assertion') {\n\t\treturn true;\n\t}\n\treturn probe.steps.some((step) => step.commandHint || step.kind === 'rerun_same_gate' || step.kind === 'release_status' || step.kind === 'diff_scope_check');\n}\n\nfunction recoveryActionCostCeilingUsd(mode: ResolveIOAIManagerRecoveryAutomationMode): number {\n\tconst map: Record<ResolveIOAIManagerRecoveryAutomationMode, number> = {\n\t\tadvance: 0,\n\t\tcollect_evidence: 0.25,\n\t\tread_only_diagnosis: 1,\n\t\trepair_infra: 0.5,\n\t\trepair_compile: 1.5,\n\t\trepair_journey_contract: 2,\n\t\trepair_business_assertion: 1.5,\n\t\trepair_release: 0.75,\n\t\ttargeted_product_repair: 5,\n\t\tmanual_review: 0,\n\t\tcontinue_gate: 0\n\t};\n\treturn map[mode] ?? 1;\n}\n\nfunction recoveryActionRequiredStateTransition(mode: ResolveIOAIManagerRecoveryAutomationMode): string {\n\tconst map: Record<ResolveIOAIManagerRecoveryAutomationMode, string> = {\n\t\tadvance: 'current gate advances without repair after existing proof is accepted',\n\t\tcollect_evidence: 'blockerFingerprint or evidenceHash changes with material proof, or run remains parked',\n\t\tread_only_diagnosis: 'diagnosis gate becomes valid or records a blocked-reproduction reason',\n\t\trepair_infra: 'infra preflight changes from failed/blocked to passed, or records a new infra blocker',\n\t\trepair_compile: 'compile/startup status changes from failed to passed, or records a new compile blocker',\n\t\trepair_journey_contract: 'journey contract validates with first/next/last workflow proof',\n\t\trepair_business_assertion: 'business assertion changes from missing/failed to passed with artifact proof',\n\t\trepair_release: 'hotfix/release gate changes from blocked to passed, rerun_release_gate, or parked manual',\n\t\ttargeted_product_repair: 'owner-scoped diff is produced and deterministic proof advances to QA',\n\t\tmanual_review: 'operator records one explicit decision',\n\t\tcontinue_gate: 'current gate records accepted proof and advances'\n\t};\n\treturn map[mode] || 'runner records a validated state transition before continuing';\n}\n\nfunction recoveryActionProofRequiredBeforeContinuation(mode: ResolveIOAIManagerRecoveryAutomationMode): boolean {\n\treturn mode !== 'advance' && mode !== 'continue_gate' && mode !== 'manual_review';\n}\n\nfunction recoveryActionExitCriteria(input: {\n\tmode: ResolveIOAIManagerRecoveryAutomationMode;\n\tdispatchAction: ResolveIOAIManagerRecoveryActionDispatchAction;\n\trequiredStateTransition: string;\n\tstopWhen: string[];\n}): string[] {\n\treturn Array.from(new Set([\n\t\t`exact dispatch action ${input.dispatchAction} completed or was parked`,\n\t\tinput.requiredStateTransition,\n\t\t...(recoveryActionProofRequiredBeforeContinuation(input.mode) ? ['do not continue runner until required proof artifact is attached'] : []),\n\t\t...input.stopWhen\n\t].map((entry) => cleanText(entry, 500)).filter(Boolean))).slice(0, 30);\n}\n\nfunction recoveryReleaseHotfixCommands(policy: ResolveIOAIManagerHotfixFirstReleasePolicy | undefined): string[] {\n\tif (!policy) {\n\t\treturn [];\n\t}\n\treturn Array.from(new Set([\n\t\t...policy.allowedActions,\n\t\t...(policy.hotfixPreferred ? [\n\t\t\t'prepare_hotfix_patch_without_live_apply',\n\t\t\t'commit_and_push_hotfix_to_github',\n\t\t\t'record_github_commit_for_hotfix',\n\t\t\t'apply_live_hotfix_only_after_github_commit_proof'\n\t\t] : []),\n\t\t'run_failed_release_gate_once',\n\t\t'record_release_evidence'\n\t].map((entry) => cleanText(entry, 500)).filter(Boolean))).slice(0, 20);\n}\n\nfunction recoveryReleaseRequiredEvidence(policy: ResolveIOAIManagerHotfixFirstReleasePolicy | undefined): string[] {\n\tif (!policy) {\n\t\treturn [];\n\t}\n\tconst stepEvidence = (policy.hotfixPlan?.steps || []).flatMap((step) => step.requiredEvidence || []);\n\treturn Array.from(new Set([\n\t\t...policy.requiredEvidence,\n\t\t...stepEvidence,\n\t\t...(policy.hotfixPreferred ? [\n\t\t\t'full 40-character sourceCommitSha',\n\t\t\t'matching githubCommitUrl',\n\t\t\t'passed gitCommitStatus before any live hotfix is treated as durable',\n\t\t\t'passed gitPushStatus before any live hotfix is treated as durable'\n\t\t] : [])\n\t].map((entry) => cleanText(entry, 500)).filter(Boolean))).slice(0, 30);\n}\n\nfunction recoveryReleaseSuccessEvidence(policy: ResolveIOAIManagerHotfixFirstReleasePolicy | undefined): string[] {\n\tif (!policy) {\n\t\treturn [];\n\t}\n\tconst stepEvidence = (policy.hotfixPlan?.steps || []).flatMap((step) => step.successEvidence || []);\n\treturn Array.from(new Set([\n\t\t...(policy.hotfixPlan?.acceptanceEvidence || []),\n\t\t...stepEvidence,\n\t\t...(policy.hotfixPreferred ? ['GitHub commit and push proof validates before continuation'] : [])\n\t].map((entry) => cleanText(entry, 500)).filter(Boolean))).slice(0, 30);\n}\n\nexport function buildResolveIOAIManagerRecoveryActionPacket(\n\tinput: ResolveIOAIManagerRecoveryActionPacketInput\n): ResolveIOAIManagerRecoveryActionPacket {\n\tconst checkpoint = input.checkpoint;\n\tconst probe = input.probe || buildResolveIOAIManagerRecoveryEvidenceProbe({\n\t\tcheckpoint,\n\t\tcurrent: input.current,\n\t\tnow: input.now\n\t});\n\tconst mode = recoveryAutomationModeFor(checkpoint);\n\tconst primaryStep = probe.steps.find((step) => step.required && step.id !== 'snapshot_current_blocker')\n\t\t|| probe.steps.find((step) => step.required)\n\t\t|| probe.steps[0];\n\tconst evidenceOnly = probe.evidenceOnly || mode === 'collect_evidence' || mode === 'repair_infra' || mode === 'repair_compile' || mode === 'repair_release';\n\tconst requireNewEvidence = mode === 'collect_evidence'\n\t\t|| checkpoint.status === 'parked'\n\t\t|| checkpoint.attempts >= checkpoint.maxAttemptsBeforePark;\n\tconst stopWhen = Array.from(new Set([\n\t\t...probe.stopConditions,\n\t\t...(requireNewEvidence ? ['same blocker fingerprint and same evidence hash after probe'] : [])\n\t].map((entry) => cleanText(entry, 500)).filter(Boolean))).slice(0, 30);\n\tconst resetLoopWhen = Array.from(new Set([\n\t\t...checkpoint.loopResetEvidence,\n\t\t...probe.loopResetEvidence,\n\t\t...(requireNewEvidence ? [\n\t\t\t'new material evidence: changed blocker, validated diagnosis/journey, business proof, compile/infra/release proof, or new actionable trace',\n\t\t\t'weak hash-only evidence does not reset the loop'\n\t\t] : [])\n\t].map((entry) => cleanText(entry, 500)).filter(Boolean))).slice(0, 30);\n\tconst nextCommands = probe.steps\n\t\t.map((step) => cleanText(step.commandHint || `${step.kind}:${step.id}`, 500))\n\t\t.filter(Boolean)\n\t\t.slice(0, 12);\n\tconst releasePolicy = mode === 'repair_release'\n\t\t? buildResolveIOAIManagerHotfixFirstReleasePolicy({\n\t\t\tsurface: 'manager_recovery',\n\t\t\tdeployStatus: checkpoint.stepType,\n\t\t\tpublishStatus: checkpoint.lane\n\t\t})\n\t\t: undefined;\n\tconst releaseNextCommands = recoveryReleaseHotfixCommands(releasePolicy);\n\tconst releaseRequiredEvidence = recoveryReleaseRequiredEvidence(releasePolicy);\n\tconst releaseSuccessEvidence = recoveryReleaseSuccessEvidence(releasePolicy);\n\tconst allowedDispatchAction = dispatchActionForMode(mode);\n\tconst requiredStateTransition = recoveryActionRequiredStateTransition(mode);\n\tconst proofRequiredBeforeContinuation = recoveryActionProofRequiredBeforeContinuation(mode);\n\tconst exitCriteria = recoveryActionExitCriteria({\n\t\tmode,\n\t\tdispatchAction: allowedDispatchAction,\n\t\trequiredStateTransition,\n\t\tstopWhen\n\t});\n\tconst now = isoNow(input.now);\n\treturn {\n\t\tactionId: stableHash('mgr-action', {\n\t\t\tcheckpointId: checkpoint.checkpointId,\n\t\t\tprobeId: probe.probeId,\n\t\t\tmode,\n\t\t\tevidenceHash: checkpoint.evidenceHash,\n\t\t\tblockerFingerprint: checkpoint.blockerFingerprint\n\t\t}),\n\t\tcheckpointId: checkpoint.checkpointId,\n\t\tprobeId: probe.probeId,\n\t\trecoveryClass: checkpoint.recoveryClass,\n\t\tmode,\n\t\tsingleActionOnly: true,\n\t\tallowedDispatchAction,\n\t\tlabel: recoveryActionLabelFor(mode, checkpoint),\n\t\tlane: checkpoint.lane,\n\t\tstepType: checkpoint.stepType,\n\t\tprimaryStepKind: primaryStep?.kind || 'none',\n\t\tobjective: mode === 'collect_evidence'\n\t\t\t? probe.objective\n\t\t\t: cleanText(checkpoint.objective || probe.objective, 1000),\n\t\tevidenceOnly,\n\t\tautoRunnable: recoveryActionAutoRunnable(mode, probe),\n\t\tproductRepairAllowed: checkpoint.productRepairAllowed && !evidenceOnly && checkpoint.status !== 'parked',\n\t\texpensiveModelAllowed: checkpoint.expensiveModelAllowed && checkpoint.status !== 'parked',\n\t\tcostCeilingUsd: recoveryActionCostCeilingUsd(mode),\n\t\trequiredStateTransition,\n\t\tproofRequiredBeforeContinuation,\n\t\tcanResetLoopAfterEvidence: resetLoopWhen.length > 0,\n\t\tmaxAttemptsBeforePark: checkpoint.maxAttemptsBeforePark,\n\t\trequiredArtifacts: releasePolicy\n\t\t\t? Array.from(new Set([...probe.requiredArtifacts, ...releaseRequiredEvidence])).slice(0, 20)\n\t\t\t: probe.requiredArtifacts.slice(0, 20),\n\t\tnextCommands: releasePolicy\n\t\t\t? Array.from(new Set([...nextCommands, ...releaseNextCommands])).slice(0, 20)\n\t\t\t: nextCommands,\n\t\tsuccessCriteria: releasePolicy\n\t\t\t? Array.from(new Set([...probe.acceptanceEvidence, ...releaseSuccessEvidence])).slice(0, 20)\n\t\t\t: probe.acceptanceEvidence.slice(0, 20),\n\t\texitCriteria,\n\t\tretryPolicy: {\n\t\t\tallowImmediateRetry: checkpoint.status !== 'parked' && mode !== 'manual_review',\n\t\t\trequireNewEvidence,\n\t\t\tresetLoopWhen,\n\t\t\tstopWhen\n\t\t},\n\t\t...(releasePolicy ? { releasePolicy } : {}),\n\t\t...(mode === 'collect_evidence' ? { blockedReason: 'Manager parked this loop until the recovery action records new evidence.' } : {}),\n\t\tcreatedAt: now\n\t};\n}\n\nfunction dispatchActionForMode(mode: ResolveIOAIManagerRecoveryAutomationMode): ResolveIOAIManagerRecoveryActionDispatchAction {\n\tconst map: Record<ResolveIOAIManagerRecoveryAutomationMode, ResolveIOAIManagerRecoveryActionDispatchAction> = {\n\t\tadvance: 'advance',\n\t\tcollect_evidence: 'run_evidence_probe',\n\t\tread_only_diagnosis: 'run_read_only_diagnosis',\n\t\trepair_infra: 'run_infra_repair',\n\t\trepair_compile: 'run_compile_repair',\n\t\trepair_journey_contract: 'run_journey_contract_repair',\n\t\trepair_business_assertion: 'run_business_assertion_repair',\n\t\trepair_release: 'run_release_repair',\n\t\ttargeted_product_repair: 'run_targeted_product_repair',\n\t\tmanual_review: 'park_manual',\n\t\tcontinue_gate: 'continue_gate'\n\t};\n\treturn map[mode] || 'park_manual';\n}\n\nfunction buildRecoveryDispatchRecord(\n\taction: ResolveIOAIManagerRecoveryActionPacket,\n\tdispatchAction: ResolveIOAIManagerRecoveryActionDispatchAction,\n\tstatus: ResolveIOAIManagerRecoveryActionDispatchStatus,\n\treason: string,\n\tcurrent?: ResolveIOAIManagerFailureRecord,\n\tnow?: Date | string\n): ResolveIOAIManagerRecoveryActionDispatchRecord {\n\tconst evidenceHash = current?.evidenceHash || action.checkpointId || action.actionId;\n\tconst blockerFingerprint = resolveResolveIOAIManagerBlockerFingerprint(current, action.objective);\n\tconst artifactPaths = cleanList(current?.artifactPaths, 20, 500);\n\tconst createdAt = isoNow(now);\n\treturn {\n\t\tdispatchId: stableHash('mgr-dispatch', {\n\t\t\tactionId: action.actionId,\n\t\t\tdispatchAction,\n\t\t\tevidenceHash,\n\t\t\tblockerFingerprint,\n\t\t\tstatus\n\t\t}),\n\t\tactionId: action.actionId,\n\t\tcheckpointId: action.checkpointId,\n\t\tprobeId: action.probeId,\n\t\tmode: action.mode,\n\t\tdispatchAction,\n\t\tstatus,\n\t\tevidenceHash,\n\t\tblockerFingerprint,\n\t\tproductRepairAllowed: action.productRepairAllowed && dispatchAction === 'run_targeted_product_repair',\n\t\texpensiveModelAllowed: action.expensiveModelAllowed && dispatchAction !== 'run_evidence_probe',\n\t\treason,\n\t\tartifactPaths,\n\t\t...(status === 'started' ? { startedAt: createdAt } : {}),\n\t\t...(status === 'completed' ? { completedAt: createdAt } : {}),\n\t\tcreatedAt\n\t};\n}\n\nexport function decideResolveIOAIManagerRecoveryActionDispatch(\n\tinput: ResolveIOAIManagerRecoveryActionDispatchInput\n): ResolveIOAIManagerRecoveryActionDispatchDecision {\n\tconst action = input.action;\n\tconst history = Array.isArray(input.history) ? input.history.filter(Boolean).slice(-50) : [];\n\tconst current = input.current || {};\n\tif (!action) {\n\t\treturn {\n\t\t\tdispatchAction: 'park_manual',\n\t\t\tallowed: false,\n\t\t\treason: 'recovery_dispatch_missing_action',\n\t\t\tstatus: 'parked',\n\t\t\tcanRunProductRepair: false,\n\t\t\tcanRunExpensiveModel: false,\n\t\t\tshouldRecordDispatch: false,\n\t\t\trequiresNewEvidence: true,\n\t\t\tnewEvidence: false\n\t\t};\n\t}\n\tconst dispatchAction = dispatchActionForMode(action.mode);\n\tconst allowedDispatchAction = action.allowedDispatchAction || dispatchAction;\n\tconst evidenceHash = current.evidenceHash || action.checkpointId || action.actionId;\n\tconst blockerFingerprint = resolveResolveIOAIManagerBlockerFingerprint(current, action.objective);\n\tconst sameActionHistory = history.filter((entry) => entry.actionId === action.actionId);\n\tconst sameEvidenceHistory = sameActionHistory.filter((entry) => entry.evidenceHash === evidenceHash\n\t\t&& entry.blockerFingerprint === blockerFingerprint);\n\tconst activeDispatch = sameEvidenceHistory.find((entry) => entry.status === 'queued' || entry.status === 'started');\n\tconst completedDispatch = sameEvidenceHistory.find((entry) => entry.status === 'completed' || entry.status === 'failed');\n\tconst newEvidence = sameActionHistory.length > 0 && sameEvidenceHistory.length === 0;\n\tconst requiresNewEvidence = action.retryPolicy.requireNewEvidence === true;\n\tconst sameEvidenceAlreadyAttempted = !!completedDispatch && requiresNewEvidence && !newEvidence;\n\tconst manualOnly = action.mode === 'manual_review' || !action.autoRunnable;\n\tconst productDispatch = dispatchAction === 'run_targeted_product_repair';\n\tconst expensiveDispatch = !['run_evidence_probe', 'advance', 'continue_gate', 'park_manual'].includes(dispatchAction);\n\tconst evidenceAssessment = assessResolveIOAIManagerEvidenceChange(undefined, current, action.objective);\n\tconst autonomyPolicy = input.autonomyPolicy\n\t\t? decideResolveIOAIManagerAutonomyPolicy({\n\t\t\t...(input.autonomyPolicy || {}),\n\t\t\tdispatchAction,\n\t\t\tprojectedActionCostUsd: input.autonomyPolicy?.projectedActionCostUsd ?? action.costCeilingUsd,\n\t\t\tnewEvidence: input.autonomyPolicy?.newEvidence ?? newEvidence,\n\t\t\tmaterialEvidence: input.autonomyPolicy?.materialEvidence ?? evidenceAssessment.material,\n\t\t\tevidenceStrength: input.autonomyPolicy?.evidenceStrength ?? evidenceAssessment.strength,\n\t\t\tevidenceSignals: input.autonomyPolicy?.evidenceSignals ?? evidenceAssessment.signals,\n\t\t\tsameEvidenceAlreadyAttempted: input.autonomyPolicy?.sameEvidenceAlreadyAttempted ?? sameEvidenceAlreadyAttempted,\n\t\t\toperatorApproved: input.operatorApproved\n\t\t})\n\t\t: undefined;\n\tconst autonomyBlocksDispatch = !!autonomyPolicy && (\n\t\tautonomyPolicy.mode === 'monitor_only'\n\t\t|| (autonomyPolicy.requiresHumanApproval === true && input.operatorApproved !== true)\n\t\t|| (autonomyPolicy.canAutoDispatch !== true && input.operatorApproved !== true)\n\t\t|| (autonomyPolicy.blocked === true && autonomyPolicy.canManualDispatch !== true)\n\t);\n\tif (autonomyBlocksDispatch) {\n\t\tconst record = buildRecoveryDispatchRecord(action, 'park_manual', 'parked', `recovery_dispatch_blocked_by_autonomy_policy:${autonomyPolicy?.reason || 'unknown'}`, current, input.now);\n\t\treturn {\n\t\t\tdispatchAction: 'park_manual',\n\t\t\tallowed: false,\n\t\t\treason: record.reason,\n\t\t\tstatus: 'parked',\n\t\t\tcanRunProductRepair: false,\n\t\t\tcanRunExpensiveModel: false,\n\t\t\tshouldRecordDispatch: true,\n\t\t\trequiresNewEvidence,\n\t\t\tnewEvidence,\n\t\t\tautonomyPolicy,\n\t\t\tdispatchRecord: record\n\t\t};\n\t}\n\tif (action.singleActionOnly === true && allowedDispatchAction !== dispatchAction) {\n\t\tconst record = buildRecoveryDispatchRecord(action, 'park_manual', 'parked', 'recovery_dispatch_action_not_in_packet_contract', current, input.now);\n\t\treturn {\n\t\t\tdispatchAction: 'park_manual',\n\t\t\tallowed: false,\n\t\t\treason: record.reason,\n\t\t\tstatus: 'parked',\n\t\t\tcanRunProductRepair: false,\n\t\t\tcanRunExpensiveModel: false,\n\t\t\tshouldRecordDispatch: true,\n\t\t\trequiresNewEvidence: true,\n\t\t\tnewEvidence,\n\t\t\tautonomyPolicy,\n\t\t\tdispatchRecord: record\n\t\t};\n\t}\n\tif (manualOnly && input.operatorApproved !== true) {\n\t\tconst record = buildRecoveryDispatchRecord(action, 'park_manual', 'parked', 'recovery_dispatch_requires_manual_review', current, input.now);\n\t\treturn {\n\t\t\tdispatchAction: 'park_manual',\n\t\t\tallowed: false,\n\t\t\treason: record.reason,\n\t\t\tstatus: 'parked',\n\t\t\tcanRunProductRepair: false,\n\t\t\tcanRunExpensiveModel: false,\n\t\t\tshouldRecordDispatch: true,\n\t\t\trequiresNewEvidence,\n\t\t\tnewEvidence,\n\t\t\tautonomyPolicy,\n\t\t\tdispatchRecord: record\n\t\t};\n\t}\n\tif (productDispatch && action.productRepairAllowed !== true) {\n\t\tconst record = buildRecoveryDispatchRecord(action, 'park_manual', 'parked', 'recovery_dispatch_product_repair_not_allowed', current, input.now);\n\t\treturn {\n\t\t\tdispatchAction: 'park_manual',\n\t\t\tallowed: false,\n\t\t\treason: record.reason,\n\t\t\tstatus: 'parked',\n\t\t\tcanRunProductRepair: false,\n\t\t\tcanRunExpensiveModel: false,\n\t\t\tshouldRecordDispatch: true,\n\t\t\trequiresNewEvidence: true,\n\t\t\tnewEvidence,\n\t\t\tautonomyPolicy,\n\t\t\tdispatchRecord: record\n\t\t};\n\t}\n\tif (activeDispatch) {\n\t\treturn {\n\t\t\tdispatchAction: 'park_manual',\n\t\t\tallowed: false,\n\t\t\treason: 'recovery_dispatch_already_running_for_same_evidence',\n\t\t\tstatus: 'parked',\n\t\t\tcanRunProductRepair: false,\n\t\t\tcanRunExpensiveModel: false,\n\t\t\tshouldRecordDispatch: false,\n\t\t\trequiresNewEvidence: true,\n\t\t\tnewEvidence: false,\n\t\t\tautonomyPolicy\n\t\t};\n\t}\n\tif (sameEvidenceAlreadyAttempted) {\n\t\tconst record = buildRecoveryDispatchRecord(action, 'park_manual', 'parked', 'recovery_dispatch_same_evidence_already_attempted', current, input.now);\n\t\treturn {\n\t\t\tdispatchAction: 'park_manual',\n\t\t\tallowed: false,\n\t\t\treason: record.reason,\n\t\t\tstatus: 'parked',\n\t\t\tcanRunProductRepair: false,\n\t\t\tcanRunExpensiveModel: false,\n\t\t\tshouldRecordDispatch: true,\n\t\t\trequiresNewEvidence: true,\n\t\t\tnewEvidence: false,\n\t\t\tautonomyPolicy,\n\t\t\tdispatchRecord: record\n\t\t};\n\t}\n\tconst status: ResolveIOAIManagerRecoveryActionDispatchStatus = dispatchAction === 'advance' || dispatchAction === 'continue_gate'\n\t\t? 'completed'\n\t\t: 'started';\n\tconst record = buildRecoveryDispatchRecord(action, dispatchAction, status, 'recovery_dispatch_allowed', current, input.now);\n\treturn {\n\t\tdispatchAction,\n\t\tallowed: true,\n\t\treason: 'recovery_dispatch_allowed',\n\t\tstatus,\n\t\tcanRunProductRepair: productDispatch && action.productRepairAllowed === true,\n\t\tcanRunExpensiveModel: expensiveDispatch && action.expensiveModelAllowed === true,\n\t\tshouldRecordDispatch: true,\n\t\trequiresNewEvidence,\n\t\tnewEvidence,\n\t\tautonomyPolicy,\n\t\tdispatchRecord: record\n\t};\n}\n\nexport function appendResolveIOAIManagerRecoveryActionDispatch(\n\thistory: ResolveIOAIManagerRecoveryActionDispatchRecord[] | undefined,\n\trecord: ResolveIOAIManagerRecoveryActionDispatchRecord | undefined,\n\tlimit = 50\n): ResolveIOAIManagerRecoveryActionDispatchRecord[] {\n\tconst existing = Array.isArray(history) ? history.filter(Boolean) : [];\n\tif (!record) {\n\t\treturn existing.slice(-limit);\n\t}\n\tconst deduped = existing.filter((entry) => entry.dispatchId !== record.dispatchId);\n\treturn [...deduped, record].slice(-limit);\n}\n\nfunction recoveryExecutionPhaseForDispatch(\n\tdispatchAction: ResolveIOAIManagerRecoveryActionDispatchAction\n): ResolveIOAIManagerRecoveryExecutionPhase {\n\tconst map: Record<ResolveIOAIManagerRecoveryActionDispatchAction, ResolveIOAIManagerRecoveryExecutionPhase> = {\n\t\trun_evidence_probe: 'evidence',\n\t\trun_read_only_diagnosis: 'diagnosis',\n\t\trun_infra_repair: 'infra',\n\t\trun_compile_repair: 'compile',\n\t\trun_journey_contract_repair: 'journey',\n\t\trun_business_assertion_repair: 'business_proof',\n\t\trun_release_repair: 'release',\n\t\trun_targeted_product_repair: 'product_repair',\n\t\tadvance: 'advance',\n\t\tcontinue_gate: 'advance',\n\t\tpark_manual: 'manual'\n\t};\n\treturn map[dispatchAction] || 'manual';\n}\n\nfunction recoveryDirectiveReason(\n\taction: ResolveIOAIManagerRecoveryActionPacket | undefined,\n\tdecision: ResolveIOAIManagerRecoveryActionDispatchDecision,\n\tcurrent?: ResolveIOAIManagerFailureRecord\n): string {\n\tconst blocker = cleanText(current?.blocker || current?.summary || '', 260);\n\tconst label = cleanText(action?.label, 120) || decision.dispatchAction;\n\tconst objective = cleanText(action?.objective, 260);\n\treturn [\n\t\t`MANAGER_RECOVERY:${decision.dispatchAction}`,\n\t\t`label=${label}`,\n\t\tdecision.reason ? `reason=${decision.reason}` : '',\n\t\tblocker ? `blocker=${blocker}` : '',\n\t\tobjective ? `objective=${objective}` : ''\n\t].filter(Boolean).join(' | ');\n}\n\nexport function buildResolveIOAIManagerRecoveryExecutionDirective(\n\tinput: ResolveIOAIManagerRecoveryExecutionDirectiveInput\n): ResolveIOAIManagerRecoveryExecutionDirective {\n\tconst action = input.action;\n\tconst dispatchDecision = input.dispatchDecision || decideResolveIOAIManagerRecoveryActionDispatch({\n\t\taction,\n\t\tcurrent: input.current,\n\t\tautonomyPolicy: input.autonomyPolicy,\n\t\tnow: input.now\n\t});\n\tconst dispatchAction = dispatchDecision.dispatchAction;\n\tconst now = isoNow(input.now);\n\tconst phase = recoveryExecutionPhaseForDispatch(dispatchAction);\n\tconst lane = cleanText(action?.lane || input.current?.lane || '', 120);\n\tconst stepType = cleanText(action?.stepType || input.current?.stepType || '', 120);\n\tconst rerunReason = recoveryDirectiveReason(action, dispatchDecision, input.current);\n\tconst surface = cleanText(input.surface || 'runner', 120);\n\treturn {\n\t\tdirectiveId: stableHash('mgr-directive', {\n\t\t\tsurface,\n\t\t\tactionId: action?.actionId || '',\n\t\t\tdispatchAction,\n\t\t\treason: dispatchDecision.reason,\n\t\t\tevidenceHash: dispatchDecision.dispatchRecord?.evidenceHash || input.current?.evidenceHash || ''\n\t\t}),\n\t\tsurface,\n\t\tdispatchAction,\n\t\tphase,\n\t\tallowed: dispatchDecision.allowed,\n\t\tstatus: dispatchDecision.status,\n\t\treason: dispatchDecision.reason,\n\t\tsingleActionOnly: action?.singleActionOnly !== false,\n\t\tallowedDispatchAction: action?.allowedDispatchAction || dispatchAction,\n\t\tlane,\n\t\tstepType,\n\t\tnextActionLabel: cleanText(action?.label, 160) || dispatchAction,\n\t\trerunReason,\n\t\tevidenceOnly: action?.evidenceOnly !== false || dispatchAction === 'run_evidence_probe',\n\t\tautoRunnable: action?.autoRunnable === true,\n\t\tproductRepairAllowed: action?.productRepairAllowed === true,\n\t\texpensiveModelAllowed: action?.expensiveModelAllowed === true,\n\t\tcostCeilingUsd: Math.max(0, Number(action?.costCeilingUsd || 0) || 0),\n\t\trequiredStateTransition: cleanText(action?.requiredStateTransition, 500),\n\t\tproofRequiredBeforeContinuation: action?.proofRequiredBeforeContinuation === true,\n\t\tcanRunProductRepair: dispatchDecision.canRunProductRepair,\n\t\tcanRunExpensiveModel: dispatchDecision.canRunExpensiveModel,\n\t\tcanResetLoopAfterEvidence: action?.canResetLoopAfterEvidence === true,\n\t\trequiresNewEvidence: dispatchDecision.requiresNewEvidence,\n\t\tnewEvidence: dispatchDecision.newEvidence,\n\t\t...(dispatchDecision.autonomyPolicy ? { autonomyPolicy: dispatchDecision.autonomyPolicy } : {}),\n\t\tmaxAttemptsBeforePark: Math.max(1, Number(action?.maxAttemptsBeforePark || 1) || 1),\n\t\trequiredArtifacts: cleanList(action?.requiredArtifacts, 20, 500),\n\t\tnextCommands: cleanList(action?.nextCommands, 20, 500),\n\t\tsuccessCriteria: cleanList(action?.successCriteria, 20, 500),\n\t\texitCriteria: cleanList(action?.exitCriteria, 30, 500),\n\t\tforbiddenActions: action?.productRepairAllowed === true\n\t\t\t? []\n\t\t\t: Array.from(new Set([\n\t\t\t\t'Do not run product-code repair from this directive unless canRunProductRepair is true.',\n\t\t\t\t...(action?.releasePolicy?.forbiddenActions || [])\n\t\t\t])).slice(0, 20),\n\t\t...(dispatchDecision.dispatchRecord ? { dispatchRecord: dispatchDecision.dispatchRecord } : {}),\n\t\t...(action?.releasePolicy ? { releasePolicy: action.releasePolicy } : {}),\n\t\tcreatedAt: now\n\t\t};\n\t}\n\nfunction failureRecordFromDirectiveStart(\n\tdirective: ResolveIOAIManagerRecoveryExecutionDirective | undefined,\n\tprevious?: ResolveIOAIManagerFailureRecord\n): ResolveIOAIManagerFailureRecord {\n\tif (previous) {\n\t\treturn previous;\n\t}\n\tconst dispatchRecord = directive?.dispatchRecord;\n\treturn {\n\t\tlane: directive?.lane,\n\t\tstepType: directive?.stepType,\n\t\tfailureClass: '',\n\t\tblockerFingerprint: dispatchRecord?.blockerFingerprint,\n\t\tevidenceHash: dispatchRecord?.evidenceHash,\n\t\tartifactPaths: dispatchRecord?.artifactPaths || [],\n\t\trecordedAt: dispatchRecord?.createdAt || directive?.createdAt\n\t};\n}\n\nfunction recoveryExecutionProofStatus(input: {\n\tdirective?: ResolveIOAIManagerRecoveryExecutionDirective;\n\thasCurrent: boolean;\n\tassessment: ResolveIOAIManagerEvidenceAssessment;\n}): ResolveIOAIManagerRecoveryExecutionProofStatus {\n\tconst directive = input.directive;\n\tif (!directive || directive.allowed !== true || directive.dispatchAction === 'park_manual') {\n\t\treturn 'manual_handoff';\n\t}\n\tif (!input.hasCurrent) {\n\t\treturn 'waiting_for_execution';\n\t}\n\tif (directive.requiresNewEvidence === true && input.assessment.changed !== true) {\n\t\treturn 'blocked_same_evidence';\n\t}\n\tif (directive.proofRequiredBeforeContinuation === true && input.assessment.material !== true) {\n\t\treturn 'waiting_for_new_evidence';\n\t}\n\treturn 'proof_ready';\n}\n\nexport function buildResolveIOAIManagerRecoveryExecutionProofContract(\n\tinput: ResolveIOAIManagerRecoveryExecutionProofContractInput = {}\n): ResolveIOAIManagerRecoveryExecutionProofContract {\n\tconst directive = input.directive;\n\tconst previous = failureRecordFromDirectiveStart(directive, input.previous);\n\tconst current = input.current || {};\n\tconst hasCurrent = !!input.current;\n\tconst assessment = hasCurrent\n\t\t? assessResolveIOAIManagerEvidenceChange(previous, current, directive?.requiredStateTransition)\n\t\t: {\n\t\t\tchanged: false,\n\t\t\tmaterial: false,\n\t\t\tstrength: 'none' as ResolveIOAIManagerEvidenceStrength,\n\t\t\tsignals: [],\n\t\t\tevidenceHash: hashResolveIOAIManagerEvidence(previous),\n\t\t\tblockerFingerprint: resolveResolveIOAIManagerBlockerFingerprint(previous, directive?.requiredStateTransition)\n\t\t};\n\tconst status = recoveryExecutionProofStatus({ directive, hasCurrent, assessment });\n\tconst canContinueRun = status === 'proof_ready';\n\tconst requiredEvidence = Array.from(new Set([\n\t\t...cleanList(input.requiredEvidence, 30, 500),\n\t\t...cleanList(directive?.requiredArtifacts, 30, 500),\n\t\t...cleanList(directive?.successCriteria, 30, 500)\n\t].filter(Boolean)));\n\tconst missingEvidence = directive?.proofRequiredBeforeContinuation === true && status !== 'proof_ready'\n\t\t? (requiredEvidence.length ? requiredEvidence : ['new material evidence or passed proof artifact'])\n\t\t: [];\n\tconst artifactPaths = cleanList(current.artifactPaths || previous.artifactPaths, 80, 500);\n\tconst changedFiles = cleanList(current.changedFiles, 80, 500);\n\tconst startingFailureClass = normalizeResolveIOAIManagerFailureClass(previous.failureClass);\n\tconst latestFailureClass = normalizeResolveIOAIManagerFailureClass(current.failureClass || previous.failureClass);\n\tconst startingBlockerFingerprint = cleanText(previous.blockerFingerprint, 160)\n\t\t|| resolveResolveIOAIManagerBlockerFingerprint(previous, directive?.requiredStateTransition);\n\tconst startingEvidenceHash = cleanText(previous.evidenceHash, 160)\n\t\t|| hashResolveIOAIManagerEvidence(previous);\n\tconst blockers = [\n\t\tstatus === 'manual_handoff' ? (directive?.reason || 'recovery_execution_requires_manual_handoff') : '',\n\t\tstatus === 'waiting_for_execution' ? 'recovery_execution_waiting_for_current_evidence' : '',\n\t\tstatus === 'blocked_same_evidence' ? 'recovery_execution_same_evidence_after_dispatch' : '',\n\t\tstatus === 'waiting_for_new_evidence' ? 'recovery_execution_missing_material_evidence' : ''\n\t].filter(Boolean);\n\tconst createdAt = isoNow(input.now);\n\treturn {\n\t\tcontractId: stableHash('mgr-execution-proof', {\n\t\t\tdirectiveId: directive?.directiveId || '',\n\t\t\tdispatchAction: directive?.dispatchAction || 'park_manual',\n\t\t\tstatus,\n\t\t\tstartingEvidenceHash,\n\t\t\tlatestEvidenceHash: assessment.evidenceHash,\n\t\t\tcreatedAt: createdAt.slice(0, 16)\n\t\t}),\n\t\tdirectiveId: cleanText(directive?.directiveId, 180),\n\t\tsurface: cleanText(directive?.surface, 120) || 'runner',\n\t\tdispatchAction: directive?.dispatchAction || 'park_manual',\n\t\tphase: directive?.phase || 'manual',\n\t\tstatus,\n\t\tcanContinueRun,\n\t\tcanRunProductRepair: canContinueRun && directive?.canRunProductRepair === true,\n\t\tcanRunExpensiveModel: canContinueRun && directive?.canRunExpensiveModel === true,\n\t\tcanResetLoopBudget: canContinueRun && assessment.material === true,\n\t\tproofRequiredBeforeContinuation: directive?.proofRequiredBeforeContinuation === true,\n\t\trequiresNewEvidence: directive?.requiresNewEvidence === true,\n\t\tnewEvidence: assessment.changed,\n\t\tmaterialEvidence: assessment.material,\n\t\tevidenceStrength: assessment.strength,\n\t\tevidenceSignals: assessment.signals,\n\t\tstartingFailureClass,\n\t\tstartingBlockerFingerprint,\n\t\tstartingEvidenceHash,\n\t\tlatestFailureClass,\n\t\tlatestBlockerFingerprint: assessment.blockerFingerprint,\n\t\tlatestEvidenceHash: assessment.evidenceHash,\n\t\trequiredEvidence,\n\t\tmissingEvidence,\n\t\tartifactPaths,\n\t\tchangedFiles,\n\t\tblockers,\n\t\tnextAllowedAction: canContinueRun ? (directive?.nextCommands[0] || 'continue_gate') : 'collect_required_recovery_proof',\n\t\tforbiddenActions: Array.from(new Set([\n\t\t\t'Do not continue product-code repair until recovery execution proof is proof_ready.',\n\t\t\t...cleanList(directive?.forbiddenActions, 30, 500)\n\t\t])),\n\t\tcreatedAt\n\t};\n}\n\nexport function validateResolveIOAIManagerRecoveryExecutionProofContract(value: any): {\n\tvalid: boolean;\n\tstatus: ResolveIOAIManagerRecoveryExecutionProofStatus | 'blocked';\n\tblockers: string[];\n\tnormalized: ResolveIOAIManagerRecoveryExecutionProofContract;\n} {\n\tconst source = value || {};\n\tconst validStatuses: ResolveIOAIManagerRecoveryExecutionProofStatus[] = [\n\t\t'proof_ready',\n\t\t'waiting_for_execution',\n\t\t'waiting_for_new_evidence',\n\t\t'blocked_same_evidence',\n\t\t'manual_handoff'\n\t];\n\tconst status = cleanText(source.status, 120) as ResolveIOAIManagerRecoveryExecutionProofStatus;\n\tconst normalized: ResolveIOAIManagerRecoveryExecutionProofContract = {\n\t\tcontractId: cleanText(source.contractId || source.contract_id, 180),\n\t\tdirectiveId: cleanText(source.directiveId || source.directive_id, 180),\n\t\tsurface: cleanText(source.surface, 120),\n\t\tdispatchAction: cleanText(source.dispatchAction || source.dispatch_action, 120) as ResolveIOAIManagerRecoveryActionDispatchAction,\n\t\tphase: cleanText(source.phase, 120) as ResolveIOAIManagerRecoveryExecutionPhase,\n\t\tstatus: validStatuses.includes(status) ? status : 'manual_handoff',\n\t\tcanContinueRun: source.canContinueRun === true || source.can_continue_run === true,\n\t\tcanRunProductRepair: source.canRunProductRepair === true || source.can_run_product_repair === true,\n\t\tcanRunExpensiveModel: source.canRunExpensiveModel === true || source.can_run_expensive_model === true,\n\t\tcanResetLoopBudget: source.canResetLoopBudget === true || source.can_reset_loop_budget === true,\n\t\tproofRequiredBeforeContinuation: source.proofRequiredBeforeContinuation === true || source.proof_required_before_continuation === true,\n\t\trequiresNewEvidence: source.requiresNewEvidence === true || source.requires_new_evidence === true,\n\t\tnewEvidence: source.newEvidence === true || source.new_evidence === true,\n\t\tmaterialEvidence: source.materialEvidence === true || source.material_evidence === true,\n\t\tevidenceStrength: cleanText(source.evidenceStrength || source.evidence_strength, 120) as ResolveIOAIManagerEvidenceStrength,\n\t\tevidenceSignals: cleanList(source.evidenceSignals || source.evidence_signals, 30, 200),\n\t\tstartingFailureClass: cleanText(source.startingFailureClass || source.starting_failure_class, 120),\n\t\tstartingBlockerFingerprint: cleanText(source.startingBlockerFingerprint || source.starting_blocker_fingerprint, 180),\n\t\tstartingEvidenceHash: cleanText(source.startingEvidenceHash || source.starting_evidence_hash, 180),\n\t\tlatestFailureClass: cleanText(source.latestFailureClass || source.latest_failure_class, 120),\n\t\tlatestBlockerFingerprint: cleanText(source.latestBlockerFingerprint || source.latest_blocker_fingerprint, 180),\n\t\tlatestEvidenceHash: cleanText(source.latestEvidenceHash || source.latest_evidence_hash, 180),\n\t\trequiredEvidence: cleanList(source.requiredEvidence || source.required_evidence, 30, 500),\n\t\tmissingEvidence: cleanList(source.missingEvidence || source.missing_evidence, 30, 500),\n\t\tartifactPaths: cleanList(source.artifactPaths || source.artifact_paths, 80, 500),\n\t\tchangedFiles: cleanList(source.changedFiles || source.changed_files, 80, 500),\n\t\tblockers: cleanList(source.blockers, 30, 500),\n\t\tnextAllowedAction: cleanText(source.nextAllowedAction || source.next_allowed_action, 180),\n\t\tforbiddenActions: cleanList(source.forbiddenActions || source.forbidden_actions, 30, 500),\n\t\tcreatedAt: cleanText(source.createdAt || source.created_at, 120)\n\t};\n\tconst blockers = [\n\t\tnormalized.contractId ? '' : 'Recovery execution proof is missing contractId.',\n\t\tnormalized.directiveId || normalized.status === 'manual_handoff' ? '' : 'Recovery execution proof is missing directiveId.',\n\t\tnormalized.dispatchAction ? '' : 'Recovery execution proof is missing dispatchAction.',\n\t\tvalidStatuses.includes(status) ? '' : 'Recovery execution proof has an invalid status.',\n\t\tnormalized.canContinueRun && normalized.status !== 'proof_ready' ? 'Recovery execution cannot continue unless status=proof_ready.' : '',\n\t\tnormalized.status === 'proof_ready' && normalized.proofRequiredBeforeContinuation && !normalized.materialEvidence ? 'Proof-ready recovery requires materialEvidence=true when proof is required.' : '',\n\t\tnormalized.status === 'proof_ready' && normalized.requiresNewEvidence && !normalized.newEvidence ? 'Proof-ready recovery requires newEvidence=true when new evidence is required.' : '',\n\t\tnormalized.canRunProductRepair && !normalized.canContinueRun ? 'Product repair cannot run before recovery proof can continue.' : '',\n\t\tnormalized.canRunExpensiveModel && !normalized.canContinueRun ? 'Expensive model cannot run before recovery proof can continue.' : '',\n\t\tnormalized.status !== 'proof_ready' && normalized.missingEvidence.length === 0 && normalized.proofRequiredBeforeContinuation ? 'Blocked recovery proof must list missingEvidence.' : '',\n\t\tnormalized.forbiddenActions.length ? '' : 'Recovery execution proof must include forbiddenActions.'\n\t].filter(Boolean);\n\treturn {\n\t\tvalid: blockers.length === 0,\n\t\tstatus: blockers.length ? 'blocked' : normalized.status,\n\t\tblockers,\n\t\tnormalized\n\t};\n}\n\nfunction newListEntries(current: string[], previous: string[]): string[] {\n\tconst existing = new Set(previous.map((entry) => cleanText(entry, 500)).filter(Boolean));\n\treturn current\n\t\t.map((entry) => cleanText(entry, 500))\n\t\t.filter((entry) => entry && !existing.has(entry));\n}\n\nfunction recordLane(value: any): string {\n\treturn cleanText(value?.lane, 80);\n}\n\nfunction recordStepType(value: any): string {\n\treturn cleanText(value?.stepType, 80);\n}\n\nfunction recordFailureClass(value: any): string {\n\tconst valueText = cleanText(value?.failureClass, 80);\n\treturn valueText ? normalizeResolveIOAIManagerFailureClass(valueText) : '';\n}\n\nfunction materialEvidenceText(record: ResolveIOAIManagerFailureRecord | undefined, paths: string[] = []): string {\n\treturn [\n\t\tcleanText(record?.blocker, 1200),\n\t\tcleanText(record?.summary, 1200),\n\t\t...paths.map((path) => cleanText(path, 500))\n\t].filter(Boolean).join(' ').toLowerCase();\n}\n\nfunction hasMaterialEvidenceLanguage(text: string): boolean {\n\treturn /(business|assertion|proof|before|after|dom|trace|stack|network|mongo|query|diff|scope|diagnosis|journey|contract|workflow|compile|build|preflight|infra|chrome|puppeteer|release|publish|deploy|sample|seed|route|auth|hydration|performance|slow|owner|root.?cause|repro|pdf|export|upload|import|filter|invoice|saved|calculated|comparison|report)/i.test(text);\n}\n\nexport function assessResolveIOAIManagerEvidenceChange(\n\tprevious: (ResolveIOAIManagerFailureRecord | ResolveIOAIManagerRecoveryCheckpoint | undefined),\n\tcurrent: ResolveIOAIManagerFailureRecord | undefined,\n\tfallbackObjective?: string\n): ResolveIOAIManagerEvidenceAssessment {\n\tconst currentRecord = current || {};\n\tconst previousRecord = previous as any;\n\tconst previousEvidenceHash = previousRecord ? cleanText(previousRecord.evidenceHash, 160) || hashResolveIOAIManagerEvidence(previousRecord) : '';\n\tconst currentEvidenceHash = hashResolveIOAIManagerEvidence(currentRecord);\n\tconst previousBlockerFingerprint = previousRecord\n\t\t? cleanText(previousRecord.blockerFingerprint, 160) || resolveResolveIOAIManagerBlockerFingerprint(previousRecord, fallbackObjective)\n\t\t: '';\n\tconst currentBlockerFingerprint = resolveResolveIOAIManagerBlockerFingerprint(currentRecord, fallbackObjective);\n\tconst previousChangedFiles = cleanList(previousRecord?.changedFiles, 80, 500);\n\tconst currentChangedFiles = cleanList(currentRecord.changedFiles, 80, 500);\n\tconst previousArtifactPaths = cleanList(previousRecord?.artifactPaths, 80, 500);\n\tconst currentArtifactPaths = cleanList(currentRecord.artifactPaths, 80, 500);\n\tconst addedChangedFiles = newListEntries(currentChangedFiles, previousChangedFiles);\n\tconst addedArtifactPaths = newListEntries(currentArtifactPaths, previousArtifactPaths);\n\tconst signals: string[] = [];\n\tif (previousEvidenceHash && currentEvidenceHash !== previousEvidenceHash) {\n\t\tsignals.push('evidence_hash_changed');\n\t}\n\tif (previousBlockerFingerprint && currentBlockerFingerprint !== previousBlockerFingerprint) {\n\t\tsignals.push('blocker_fingerprint_changed');\n\t}\n\tif (recordLane(previousRecord) && recordLane(previousRecord) !== recordLane(currentRecord)) {\n\t\tsignals.push('lane_changed');\n\t}\n\tif (recordStepType(previousRecord) && recordStepType(previousRecord) !== recordStepType(currentRecord)) {\n\t\tsignals.push('step_type_changed');\n\t}\n\tif (recordFailureClass(previousRecord) && recordFailureClass(previousRecord) !== recordFailureClass(currentRecord)) {\n\t\tsignals.push('failure_class_changed');\n\t}\n\tif (addedChangedFiles.length) {\n\t\tsignals.push('changed_files_added');\n\t}\n\tif (addedArtifactPaths.length) {\n\t\tsignals.push('artifact_paths_added');\n\t}\n\tif (isPassingOutcome(currentRecord)) {\n\t\tsignals.push('passing_outcome');\n\t}\n\tconst changed = signals.length > 0;\n\tconst evidenceText = materialEvidenceText(currentRecord, addedArtifactPaths);\n\tconst pathOrSummaryHasMaterialSignal = hasMaterialEvidenceLanguage(evidenceText);\n\tconst proof = signals.includes('passing_outcome');\n\tconst structuralChange = signals.some((signal) => /blocker_fingerprint_changed|lane_changed|step_type_changed|failure_class_changed/.test(signal));\n\tconst materialArtifact = addedArtifactPaths.length > 0 && pathOrSummaryHasMaterialSignal;\n\tconst materialChangedFiles = addedChangedFiles.length > 0\n\t\t&& /diagnosis|owner|scope|diff|root.?cause|failing path|stack|trace|business|proof|compile|release|deploy|workflow|journey/i.test(evidenceText);\n\tconst material = proof || structuralChange || materialArtifact || materialChangedFiles;\n\tconst strength: ResolveIOAIManagerEvidenceStrength = proof\n\t\t? 'proof'\n\t\t: material\n\t\t\t? 'material'\n\t\t\t: changed\n\t\t\t\t? 'weak'\n\t\t\t\t: 'none';\n\treturn {\n\t\tchanged,\n\t\tmaterial,\n\t\tstrength,\n\t\tsignals,\n\t\tevidenceHash: currentEvidenceHash,\n\t\tblockerFingerprint: currentBlockerFingerprint\n\t};\n}\n\nfunction proposedActionIsProductRepair(value: any): boolean {\n\tconst normalized = cleanText(value, 120);\n\treturn /product|code|repair|build|business|journey|workflow/i.test(normalized)\n\t\t&& !/infra|compile|diagnosis|manual|evidence|release|publish/i.test(normalized);\n}\n\nexport function decideResolveIOAIManagerRecoveryGate(\n\tinput: ResolveIOAIManagerRecoveryGateInput\n): ResolveIOAIManagerRecoveryGateDecision {\n\tconst checkpoint = input.checkpoint;\n\tconst hasCurrent = !!input.current;\n\tconst current = input.current || {};\n\tconst assessment = hasCurrent\n\t\t? assessResolveIOAIManagerEvidenceChange(checkpoint, current, checkpoint.objective)\n\t\t: {\n\t\t\tchanged: false,\n\t\t\tmaterial: false,\n\t\t\tstrength: 'none' as ResolveIOAIManagerEvidenceStrength,\n\t\t\tsignals: [],\n\t\t\tevidenceHash: checkpoint.evidenceHash,\n\t\t\tblockerFingerprint: checkpoint.blockerFingerprint\n\t\t};\n\tconst blockerFingerprint = assessment.blockerFingerprint;\n\tconst evidenceHash = assessment.evidenceHash;\n\tconst changedFiles = hasCurrent ? cleanList(current.changedFiles, 80, 500) : checkpoint.changedFiles;\n\tconst artifactPaths = hasCurrent ? cleanList(current.artifactPaths, 80, 500) : checkpoint.artifactPaths;\n\tconst evidenceChanged = assessment.changed;\n\tconst proposedAction = cleanText(input.proposedAction || checkpoint.allowedAction, 120);\n\tconst productRepairRequested = proposedActionIsProductRepair(proposedAction);\n\tconst missingEvidence = checkpoint.requiredEvidence.filter((required) => {\n\t\tconst normalized = cleanText(required, 120).toLowerCase();\n\t\tif (!normalized) {\n\t\t\treturn false;\n\t\t}\n\t\tif (/artifact|log|proof|gate|evidence/.test(normalized)) {\n\t\t\treturn !artifactPaths.length && !current.evidenceHash;\n\t\t}\n\t\tif (/diff|changed files|owner|scope|file/.test(normalized)) {\n\t\t\treturn !changedFiles.length;\n\t\t}\n\t\treturn false;\n\t});\n\tconst makeDecision = (\n\t\taction: ResolveIOAIManagerRecoveryGateAction,\n\t\treason: string,\n\t\toverrides: Partial<ResolveIOAIManagerRecoveryGateDecision> = {}\n\t): ResolveIOAIManagerRecoveryGateDecision => ({\n\t\taction,\n\t\treason,\n\t\tcanRunProductRepair: checkpoint.productRepairAllowed,\n\t\tcanRunExpensiveModel: checkpoint.expensiveModelAllowed,\n\t\tshouldResetLoopBudget: false,\n\t\tshouldIncrementAttempt: action === 'allow',\n\t\tnewEvidence: evidenceChanged,\n\t\tmaterialEvidence: assessment.material,\n\t\tevidenceStrength: assessment.strength,\n\t\tevidenceSignals: assessment.signals,\n\t\tblockerFingerprint,\n\t\tevidenceHash,\n\t\tmissingEvidence,\n\t\tcheckpoint: {\n\t\t\t...checkpoint,\n\t\t\tupdatedAt: isoNow(input.now)\n\t\t},\n\t\t...overrides\n\t});\n\n\tif (checkpoint.status === 'complete') {\n\t\treturn makeDecision('complete', 'recovery_gate_checkpoint_already_complete', {\n\t\t\tcanRunProductRepair: false,\n\t\t\tcanRunExpensiveModel: false,\n\t\t\tshouldIncrementAttempt: false\n\t\t});\n\t}\n\tif (checkpoint.status === 'manual_handoff' && input.operatorApproved !== true) {\n\t\treturn makeDecision('manual_handoff', 'recovery_gate_manual_handoff_requires_operator_approval', {\n\t\t\tcanRunProductRepair: false,\n\t\t\tcanRunExpensiveModel: false,\n\t\t\tshouldIncrementAttempt: false\n\t\t});\n\t}\n\tif (productRepairRequested && !checkpoint.productRepairAllowed) {\n\t\treturn makeDecision('reject_action', 'recovery_gate_product_repair_not_allowed_for_checkpoint', {\n\t\t\tcanRunProductRepair: false,\n\t\t\tcanRunExpensiveModel: false,\n\t\t\tshouldIncrementAttempt: false\n\t\t});\n\t}\n\tif (checkpoint.status === 'parked' && !evidenceChanged) {\n\t\treturn makeDecision('collect_new_evidence', 'recovery_gate_parked_until_new_evidence', {\n\t\t\tcanRunProductRepair: false,\n\t\t\tcanRunExpensiveModel: false,\n\t\t\tshouldIncrementAttempt: false\n\t\t});\n\t}\n\tif (checkpoint.status === 'parked' && evidenceChanged && !assessment.material) {\n\t\treturn makeDecision('collect_new_evidence', 'recovery_gate_weak_evidence_requires_material_signal', {\n\t\t\tcanRunProductRepair: false,\n\t\t\tcanRunExpensiveModel: false,\n\t\t\tshouldIncrementAttempt: false\n\t\t});\n\t}\n\tif (checkpoint.attempts >= checkpoint.maxAttemptsBeforePark && !evidenceChanged) {\n\t\treturn makeDecision('collect_new_evidence', 'recovery_gate_attempt_limit_requires_new_evidence', {\n\t\t\tcanRunProductRepair: false,\n\t\t\tcanRunExpensiveModel: false,\n\t\t\tshouldIncrementAttempt: false\n\t\t});\n\t}\n\tif (checkpoint.attempts >= checkpoint.maxAttemptsBeforePark && evidenceChanged && !assessment.material) {\n\t\treturn makeDecision('collect_new_evidence', 'recovery_gate_attempt_limit_requires_material_evidence', {\n\t\t\tcanRunProductRepair: false,\n\t\t\tcanRunExpensiveModel: false,\n\t\t\tshouldIncrementAttempt: false\n\t\t});\n\t}\n\tif (evidenceChanged) {\n\t\tconst currentFailureClass = normalizeResolveIOAIManagerFailureClass(current.failureClass);\n\t\tconst currentCanRunProductRepair = checkpoint.productRepairAllowed\n\t\t\t|| !/^(infra|compile|diagnosis|release)$/i.test(currentFailureClass);\n\t\treturn makeDecision('allow', 'recovery_gate_new_material_evidence_unblocks_retry', {\n\t\t\tcanRunProductRepair: currentCanRunProductRepair,\n\t\t\tcanRunExpensiveModel: checkpoint.expensiveModelAllowed || currentCanRunProductRepair,\n\t\t\tshouldResetLoopBudget: true\n\t\t});\n\t}\n\treturn makeDecision('allow', 'recovery_gate_action_allowed');\n}\n\nfunction failureKey(record: ResolveIOAIManagerFailureRecord | undefined): string {\n\tif (!record) {\n\t\treturn '';\n\t}\n\tconst failureClass = normalizeResolveIOAIManagerFailureClass(record.failureClass);\n\tconst blockerFingerprint = resolveResolveIOAIManagerBlockerFingerprint(record);\n\treturn `${cleanText(record.lane, 80)}:${cleanText(record.stepType, 80)}:${failureClass}:${blockerFingerprint}`;\n}\n\nfunction failureEvidenceKey(record: ResolveIOAIManagerFailureRecord | undefined): string {\n\treturn `${failureKey(record)}:${hashResolveIOAIManagerEvidence(record)}`;\n}\n\nfunction isPassingOutcome(record: ResolveIOAIManagerFailureRecord | undefined): boolean {\n\treturn /^(pass|accepted|ready_to_publish|published|ready_for_merge|complete|completed)$/i.test(cleanText(record?.outcome, 80));\n}\n\nfunction isManualOutcome(record: ResolveIOAIManagerFailureRecord | undefined): boolean {\n\treturn /^(manual_handoff|park_manual|stopped)$/i.test(cleanText(record?.outcome, 80));\n}\n\nexport function buildResolveIOAIManagerRecoveryPlan(input: ResolveIOAIManagerRecoveryPlanInput = {}): ResolveIOAIManagerRecoveryPlan {\n\tconst action = cleanText(input.action, 80) || 'continue';\n\tconst reason = cleanText(input.reason, 240);\n\tconst failureClass = normalizeResolveIOAIManagerFailureClass(input.failureClass);\n\tconst lane = cleanText(input.lane, 80) || 'supervisor';\n\tconst stepType = cleanText(input.stepType, 80) || 'unknown';\n\tconst blocker = cleanText(input.blocker, 700);\n\tconst changedFiles = cleanList(input.changedFiles, 12, 240);\n\tconst artifactPaths = cleanList(input.artifactPaths, 12, 240);\n\tconst maxAttemptsBeforePark = Math.max(1, Number(input.maxSameFailureRepeats || 3) || 3);\n\tconst commonNotes = [\n\t\treason ? `policy_reason=${reason}` : '',\n\t\tblocker ? `blocker=${blocker}` : '',\n\t\tchangedFiles.length ? `changed_files=${changedFiles.join(', ')}` : '',\n\t\tartifactPaths.length ? `artifacts=${artifactPaths.join(', ')}` : ''\n\t].filter(Boolean);\n\tconst base: Omit<ResolveIOAIManagerRecoveryPlan, 'recoveryClass' | 'nextActionLabel' | 'objective' | 'allowedAction' | 'productRepairAllowed' | 'expensiveModelAllowed' | 'finiteSteps' | 'requiredEvidence' | 'loopResetEvidence' | 'forbiddenActions'> = {\n\t\tlane,\n\t\tstepType,\n\t\tmaxAttemptsBeforePark,\n\t\tnotes: commonNotes\n\t};\n\tconst makePlan = (\n\t\trecoveryClass: ResolveIOAIManagerRecoveryClass,\n\t\tnextActionLabel: string,\n\t\tobjective: string,\n\t\tallowedAction: string,\n\t\tproductRepairAllowed: boolean,\n\t\texpensiveModelAllowed: boolean,\n\t\tfiniteSteps: string[],\n\t\trequiredEvidence: string[],\n\t\tloopResetEvidence: string[],\n\t\tforbiddenActions: string[]\n\t): ResolveIOAIManagerRecoveryPlan => ({\n\t\t...base,\n\t\trecoveryClass,\n\t\tnextActionLabel,\n\t\tobjective,\n\t\tallowedAction,\n\t\tproductRepairAllowed,\n\t\texpensiveModelAllowed,\n\t\tfiniteSteps,\n\t\trequiredEvidence,\n\t\tloopResetEvidence,\n\t\tforbiddenActions\n\t});\n\tif (action === 'reset_loop_budget') {\n\t\treturn makePlan(\n\t\t\t'advance_after_proof',\n\t\t\t'Advance After Proof',\n\t\t\t'Checkpoint the passing evidence and move to the next required gate.',\n\t\t\t'advance_to_next_gate',\n\t\t\tfalse,\n\t\t\tfalse,\n\t\t\t[\n\t\t\t\t'Record the passing artifact, changed files, and gate result.',\n\t\t\t\t'Reset the loop counter because a real gate passed.',\n\t\t\t\t'Select the next unmet deterministic gate instead of repeating the previous repair.'\n\t\t\t],\n\t\t\t['passing gate record', 'artifact or log proving the passed check'],\n\t\t\t['new passing gate result', 'new business proof artifact'],\n\t\t\t['rerun the same repair after a pass', 'mark accepted without the required downstream gate']\n\t\t);\n\t}\n\tif (action === 'manual_handoff') {\n\t\treturn makePlan(\n\t\t\t'manual_handoff',\n\t\t\t'Manual Review',\n\t\t\t'Stop autonomous repair and expose the blocker, evidence, and last safe state.',\n\t\t\t'manual_review_only',\n\t\t\tfalse,\n\t\t\tfalse,\n\t\t\t[\n\t\t\t\t'Freeze further product-code edits.',\n\t\t\t\t'Show the blocker fingerprint, evidence hash, and prior attempts.',\n\t\t\t\t'Require a human edit to classification, scope, or retry policy before another model/code loop.'\n\t\t\t],\n\t\t\t['blocker fingerprint', 'evidence hash', 'attempt history'],\n\t\t\t['manual policy change', 'new external evidence'],\n\t\t\t['start another automatic model repair', 'hide the failed evidence']\n\t\t);\n\t}\n\tif (action === 'budget_stop') {\n\t\treturn makePlan(\n\t\t\t'manual_handoff',\n\t\t\t'Budget Stop Review',\n\t\t\t'Stop autonomous model/code loops until a cheaper scoped next action is selected.',\n\t\t\t'budget_review_only',\n\t\t\tfalse,\n\t\t\tfalse,\n\t\t\t[\n\t\t\t\t'Freeze further model repair loops.',\n\t\t\t\t'Show the prompt/token/runtime budget that tripped the guard.',\n\t\t\t\t'Select a cheaper deterministic gate, infra repair, diagnosis revision, or manual scope edit before resuming.'\n\t\t\t],\n\t\t\t['budget guard reason', 'latest prompt estimate', 'last blocker/evidence hash'],\n\t\t\t['manual scope reduction', 'new deterministic evidence', 'approved budget policy change'],\n\t\t\t['start another broad model prompt', 'reset budget without new evidence', 'hide cost context']\n\t\t);\n\t}\n\tif (failureClass === 'diagnosis' || stepType === 'diagnosis_gate') {\n\t\treturn makePlan(\n\t\t\t'diagnosis_only',\n\t\t\t'Run Diagnosis Gate',\n\t\t\t'Produce a falsifiable root-cause diagnosis before any repair.',\n\t\t\t'read_only_diagnosis',\n\t\t\tfalse,\n\t\t\ttrue,\n\t\t\t[\n\t\t\t\t'Reproduce or explicitly classify the customer issue.',\n\t\t\t\t'Accept one falsifiable hypothesis and record rejected alternatives.',\n\t\t\t\t'Identify the frontend/backend/shared failing path.',\n\t\t\t\t'Select a small owner_files set.',\n\t\t\t\t'Define exact before/action/after business proof.'\n\t\t\t],\n\t\t\t['issue_case', 'accepted_hypothesis', 'rejected_alternatives', 'failing_path', 'owner_files', 'proof_plan'],\n\t\t\t['new reproduction artifact', 'new query/log/code evidence', 'validated diagnosis gate'],\n\t\t\t['edit product code', 'run broad repo repair', 'accept route-load evidence as success']\n\t\t);\n\t}\n\tif (failureClass === 'owner_scope' || failureClass === 'out_of_scope' || /out.?of.?scope|owner_files/i.test(reason)) {\n\t\treturn makePlan(\n\t\t\t'diagnosis_revision',\n\t\t\t'Revise Diagnosis Scope',\n\t\t\t'Revise owner_files only when new evidence proves the current scope is wrong.',\n\t\t\t'diagnosis_revision_only',\n\t\t\tfalse,\n\t\t\ttrue,\n\t\t\t[\n\t\t\t\t'Compare changed files against the diagnosis owner_files.',\n\t\t\t\t'Collect evidence proving why the new file is in the failing path.',\n\t\t\t\t'Update accepted_hypothesis, failing_path, owner_files, and proof_plan together.',\n\t\t\t\t'Resume repair only after the revised gate validates.'\n\t\t\t],\n\t\t\t['out-of-scope file list', 'new failing-path evidence', 'revalidated diagnosis gate'],\n\t\t\t['revised owner_files with evidence', 'new business proof requirement'],\n\t\t\t['keep broad edits without diagnosis', 'add convenience refactors', 'continue repair outside owner_files']\n\t\t);\n\t}\n\tif (action === 'retry_infra') {\n\t\tconst isCompile = failureClass === 'compile';\n\t\treturn makePlan(\n\t\t\tisCompile ? 'compile_repair' : 'infra_repair',\n\t\t\tisCompile ? 'Repair Compile Gate' : 'Repair Infra Gate',\n\t\t\tisCompile\n\t\t\t\t? 'Fix the deterministic compile/build blocker before spending another product repair loop.'\n\t\t\t\t: 'Fix the deterministic harness/browser/server/Mongo blocker before product repair.',\n\t\t\tisCompile ? 'compile_repair_only' : 'infra_repair_only',\n\t\t\tfalse,\n\t\t\tfalse,\n\t\t\tisCompile\n\t\t\t\t? [\n\t\t\t\t\t'Read the exact compile/build log and identify the first actionable error.',\n\t\t\t\t\t'Fix missing dependency, stale artifact, command, cache, or type wiring required by the compile gate.',\n\t\t\t\t\t'Rerun the same finite compile command.',\n\t\t\t\t\t'Return the compile log artifact and status.'\n\t\t\t\t]\n\t\t\t\t: [\n\t\t\t\t\t'Run preflight for Puppeteer, Chrome executable, ports, Mongo/settings, and startup command.',\n\t\t\t\t\t'Repair only the failing harness/environment item.',\n\t\t\t\t\t'Rerun the same infra check.',\n\t\t\t\t\t'Return the infra log and pass/fail status.'\n\t\t\t\t],\n\t\t\tisCompile\n\t\t\t\t? ['compile command', 'compile log artifact', 'first failing error fixed or still failing']\n\t\t\t\t: ['preflight command', 'infra log artifact', 'specific repaired environment item'],\n\t\t\t['same check now passes', 'new infra/compile blocker hash'],\n\t\t\t['run product-code model repair', 'count this as product failure', 'accept route/business success without the compile/infra gate']\n\t\t);\n\t}\n\tif (action === 'park_repeated_failure' || action === 'park_ping_pong') {\n\t\treturn makePlan(\n\t\t\t'blocked_until_new_evidence',\n\t\t\taction === 'park_ping_pong' ? 'Park Ping-Pong Loop' : 'Park Repeated Failure',\n\t\t\t'Stop the current loop until new evidence changes the diagnosis, route, or repair target.',\n\t\t\t'collect_new_evidence_only',\n\t\t\tfalse,\n\t\t\tfalse,\n\t\t\t[\n\t\t\t\t'Do not rerun the same prompt or same repair.',\n\t\t\t\t'Show the repeated blocker and evidence hash.',\n\t\t\t\t'Collect a new artifact: failing DOM state, stack trace, network response, Mongo delta, compile log, or revised diagnosis.',\n\t\t\t\t'Reset the loop only after material evidence changes the blocker, proof, diagnosis, journey, or actionable trace.'\n\t\t\t],\n\t\t\t['same failure count', 'blocker fingerprint', 'evidence hash'],\n\t\t\t['changed blocker fingerprint', 'changed evidence hash', 'new artifact path', 'business/compile/infra/release proof artifact', 'revised diagnosis or journey contract', 'new actionable trace or data delta'],\n\t\t\t['alternate between two failed patches', 'increase loop budget without evidence', 'hide the park reason']\n\t\t);\n\t}\n\tif (failureClass === 'journey') {\n\t\treturn makePlan(\n\t\t\t'journey_contract_repair',\n\t\t\t'Repair Journey Contract',\n\t\t\t'Fix the first/next/last workflow contract before app code work continues.',\n\t\t\t'journey_contract_repair',\n\t\t\tfalse,\n\t\t\ttrue,\n\t\t\t[\n\t\t\t\t'Open docs/APP_JOURNEY_CONTRACT.md.',\n\t\t\t\t'Define first_screen, north_star_workflow, screen_sequence, data_story, completion_states, and qa_assertions.',\n\t\t\t\t'Give every north_star_workflow step a stable id and map each screen_sequence row with workflow_step_id or exact route/CTA.',\n\t\t\t\t'Map every qa_assertions row to workflow_step_id or covers_workflow_step_ids so QA can walk first/next/last deterministically.',\n\t\t\t\t'Ensure each CTA maps to an action, route, method, calculation, or state transition.',\n\t\t\t\t'Validate that sample data can drive the promised workflow.'\n\t\t\t],\n\t\t\t['validated journey_contract JSON', 'CTA-to-action mapping', 'screen-to-workflow mapping', 'workflow QA assertions mapped to step ids'],\n\t\t\t['journey validation passes', 'new workflow QA rows generated'],\n\t\t\t['build empty routes', 'add link-only dashboard actions', 'defer workflow design to wow pass']\n\t\t);\n\t}\n\tif (failureClass === 'release') {\n\t\treturn makePlan(\n\t\t\t'release_repair',\n\t\t\t'Repair Release Gate',\n\t\t\t'Repair deploy/publish/sample-data release evidence with a hotfix-first path before any repeated full deploy.',\n\t\t\t'release_repair_only',\n\t\t\tfalse,\n\t\t\tfalse,\n\t\t\t[\n\t\t\t\t'Read the deploy/publish/sample-data log.',\n\t\t\t\t'Identify whether the blocker is domain, asset, seed data, route, permission, or CDN.',\n\t\t\t\t'Prefer backend hotfix, release config, domain, cache, or seed-data repair when the product artifact already has business proof.',\n\t\t\t\t'Rerun only the failed release gate.'\n\t\t\t],\n\t\t\t['deploy or publish log', 'sample-data status', 'failed release gate rerun'],\n\t\t\t['release gate passes', 'new release blocker hash'],\n\t\t\t['change core workflow after business QA passed', 'mark accepted from scorecard only', 'rerun full builder loop', 'repeat deploy of same artifact without force_deploy evidence']\n\t\t);\n\t}\n\tif (failureClass === 'business' || failureClass === 'qa_evidence' || failureClass === 'route') {\n\t\treturn makePlan(\n\t\t\t'business_proof_repair',\n\t\t\t'Repair Business Proof',\n\t\t\t'Fix the exact failing workflow assertion and prove before/action/after behavior.',\n\t\t\t'business_repair',\n\t\t\ttrue,\n\t\t\ttrue,\n\t\t\t[\n\t\t\t\t'Open the failing QA row or proof_plan.',\n\t\t\t\t'Trace the UI action to method/publication/query/calculation.',\n\t\t\t\t'Patch the smallest owner or workflow files.',\n\t\t\t\t'Rerun only the failed business assertion.',\n\t\t\t\t'Record DOM/data/Mongo/artifact proof.'\n\t\t\t],\n\t\t\t['failing assertion', 'action trace', 'business proof artifact'],\n\t\t\t['business assertion passes', 'new failed assertion with new evidence'],\n\t\t\t['treat route load as success', 'rerun unrelated QA rows first', 'accept scorecard-only evidence']\n\t\t);\n\t}\n\tif (input.productRepairFailure !== false || failureClass === 'product_code') {\n\t\treturn makePlan(\n\t\t\t'product_code_repair',\n\t\t\t'Run Targeted Product Repair',\n\t\t\t'Repair the current product-code blocker with the smallest scoped edit and immediate proof.',\n\t\t\t'targeted_product_repair',\n\t\t\ttrue,\n\t\t\ttrue,\n\t\t\t[\n\t\t\t\t'Inspect the current blocker, artifacts, changed files, and owner/workflow scope.',\n\t\t\t\t'Form one small repair hypothesis.',\n\t\t\t\t'Patch only files justified by the active diagnosis or journey contract.',\n\t\t\t\t'Rerun the smallest failed gate.',\n\t\t\t\t'Record new evidence before any additional loop.'\n\t\t\t],\n\t\t\t['owner/workflow scope', 'repair diff', 'failed gate rerun artifact'],\n\t\t\t['new evidence hash', 'same gate passes'],\n\t\t\t['broad repo search-and-edit', 'rerun the same prompt without inspecting artifacts', 'change unrelated UI polish']\n\t\t);\n\t}\n\treturn makePlan(\n\t\t'continue',\n\t\t'Continue Current Gate',\n\t\t'Continue the current lane because no blocking loop or infra condition was detected.',\n\t\t'continue',\n\t\tfalse,\n\t\tfalse,\n\t\t[\n\t\t\t'Use the active lane memory.',\n\t\t\t'Run the next finite gate.',\n\t\t\t'Record artifacts and evidence hash.'\n\t\t],\n\t\t['active lane memory', 'finite gate artifact'],\n\t\t['new gate result', 'new artifact path'],\n\t\t['spawn duplicate runners', 'advance without evidence']\n\t);\n}\n\nfunction collectOpenTail(records: ResolveIOAIManagerFailureRecord[]): ResolveIOAIManagerFailureRecord[] {\n\tconst tail: ResolveIOAIManagerFailureRecord[] = [];\n\tfor (let index = records.length - 1; index >= 0; index -= 1) {\n\t\tconst record = records[index];\n\t\tif (isPassingOutcome(record)) {\n\t\t\tbreak;\n\t\t}\n\t\ttail.unshift(record);\n\t}\n\treturn tail;\n}\n\nfunction countSameFailure(records: ResolveIOAIManagerFailureRecord[], current: ResolveIOAIManagerFailureRecord): number {\n\tconst currentKey = failureKey(current);\n\tlet count = 0;\n\tfor (let index = records.length - 1; index >= 0; index -= 1) {\n\t\tconst record = records[index];\n\t\tif (isPassingOutcome(record)) {\n\t\t\tbreak;\n\t\t}\n\t\tif (failureKey(record) !== currentKey) {\n\t\t\tbreak;\n\t\t}\n\t\tcount += 1;\n\t}\n\treturn count;\n}\n\nfunction previousRecordForPolicy(\n\thistory: ResolveIOAIManagerFailureRecord[],\n\tcurrent: ResolveIOAIManagerFailureRecord,\n\tcurrentWasExplicit: boolean\n): ResolveIOAIManagerFailureRecord | undefined {\n\tif (!history.length) {\n\t\treturn undefined;\n\t}\n\tif (!currentWasExplicit) {\n\t\treturn history.length > 1 ? history[history.length - 2] : undefined;\n\t}\n\tconst last = history[history.length - 1];\n\tif (failureEvidenceKey(last) === failureEvidenceKey(current)) {\n\t\treturn history.length > 1 ? history[history.length - 2] : undefined;\n\t}\n\treturn last;\n}\n\nfunction countPingPong(records: ResolveIOAIManagerFailureRecord[], current: ResolveIOAIManagerFailureRecord): number {\n\tconst tail = collectOpenTail(records).filter((record) => {\n\t\treturn cleanText(record.lane, 80) === cleanText(current.lane, 80)\n\t\t\t&& cleanText(record.stepType, 80) === cleanText(current.stepType, 80);\n\t});\n\tif (tail.length < 4) {\n\t\treturn 0;\n\t}\n\tconst keys = tail.map(failureKey).filter(Boolean);\n\tconst last = keys.slice(-6);\n\tif (last.length < 4) {\n\t\treturn 0;\n\t}\n\tconst distinct = Array.from(new Set(last));\n\tif (distinct.length !== 2) {\n\t\treturn 0;\n\t}\n\tfor (let index = 2; index < last.length; index += 1) {\n\t\tif (last[index] !== last[index - 2]) {\n\t\t\treturn 0;\n\t\t}\n\t}\n\treturn last.length - 1;\n}\n\nexport function decideResolveIOAIManagerPolicy(input: ResolveIOAIManagerPolicyInput): ResolveIOAIManagerPolicyDecision {\n\tconst history = Array.isArray(input.history) ? input.history : [];\n\tconst currentWasExplicit = !!input.current;\n\tconst current = input.current || history[history.length - 1] || {};\n\tconst failureClass = normalizeResolveIOAIManagerFailureClass(current.failureClass);\n\tconst blockerFingerprint = resolveResolveIOAIManagerBlockerFingerprint(current);\n\tconst evidenceHash = hashResolveIOAIManagerEvidence(current);\n\tconst previous = previousRecordForPolicy(history, current, currentWasExplicit);\n\tconst previousSameFailure = previous && failureKey(previous) === failureKey(current);\n\tconst evidenceAssessment = previousSameFailure\n\t\t? assessResolveIOAIManagerEvidenceChange(previous, current)\n\t\t: {\n\t\t\tchanged: false,\n\t\t\tmaterial: false,\n\t\t\tstrength: 'none' as ResolveIOAIManagerEvidenceStrength,\n\t\t\tsignals: [],\n\t\t\tevidenceHash,\n\t\t\tblockerFingerprint\n\t\t};\n\tconst newEvidence = !!previousSameFailure && evidenceAssessment.changed;\n\tconst sameFailureCount = countSameFailure(history, current);\n\tconst pingPongCount = countPingPong(history, current);\n\tconst maxSameFailureRepeats = Math.max(1, Number(input.maxSameFailureRepeats || 3) || 3);\n\tconst maxPingPongTransitions = Math.max(3, Number(input.maxPingPongTransitions || 3) || 3);\n\tconst infraClasses = new Set((input.infraFailureClasses || ['infra', 'compile']).map(normalizeResolveIOAIManagerFailureClass));\n\tconst ignoredClasses = new Set((input.ignoredFailureClasses || []).map(normalizeResolveIOAIManagerFailureClass));\n\tconst base = {\n\t\tfailureClass,\n\t\tblockerFingerprint,\n\t\tevidenceHash,\n\t\tsameFailureCount,\n\t\tpingPongCount,\n\t\tnewEvidence,\n\t\tmaterialEvidence: evidenceAssessment.material,\n\t\tevidenceStrength: evidenceAssessment.strength,\n\t\tevidenceSignals: evidenceAssessment.signals,\n\t\tloopBudgetShouldReset: false,\n\t\tproductRepairFailure: !infraClasses.has(failureClass) && !ignoredClasses.has(failureClass)\n\t};\n\tconst withPlan = (\n\t\taction: ResolveIOAIManagerAction,\n\t\treason: string,\n\t\toverrides: Partial<Omit<ResolveIOAIManagerPolicyDecision, 'action' | 'reason' | 'recoveryPlan' | 'recoveryCheckpoint'>> = {}\n\t): ResolveIOAIManagerPolicyDecision => {\n\t\tconst merged = {\n\t\t\t...base,\n\t\t\t...overrides\n\t\t};\n\t\tconst recoveryPlan = buildResolveIOAIManagerRecoveryPlan({\n\t\t\taction,\n\t\t\treason,\n\t\t\tfailureClass: merged.failureClass,\n\t\t\tlane: current.lane,\n\t\t\tstepType: current.stepType,\n\t\t\tblocker: current.blocker || current.summary,\n\t\t\tsameFailureCount: merged.sameFailureCount,\n\t\t\tpingPongCount: merged.pingPongCount,\n\t\t\tnewEvidence: merged.newEvidence,\n\t\t\tproductRepairFailure: merged.productRepairFailure,\n\t\t\tchangedFiles: current.changedFiles,\n\t\t\tartifactPaths: current.artifactPaths,\n\t\t\tmaxSameFailureRepeats\n\t\t});\n\t\tconst recoveryCheckpoint = buildResolveIOAIManagerRecoveryCheckpoint({\n\t\t\tplan: recoveryPlan,\n\t\t\tcurrent\n\t\t});\n\t\tconst recoveryEvidenceProbe = buildResolveIOAIManagerRecoveryEvidenceProbe({\n\t\t\tcheckpoint: recoveryCheckpoint,\n\t\t\tcurrent\n\t\t});\n\t\treturn {\n\t\t\t...merged,\n\t\t\taction,\n\t\t\treason,\n\t\t\trecoveryPlan,\n\t\t\trecoveryCheckpoint,\n\t\t\trecoveryEvidenceProbe,\n\t\t\trecoveryAction: buildResolveIOAIManagerRecoveryActionPacket({\n\t\t\t\tplan: recoveryPlan,\n\t\t\t\tcheckpoint: recoveryCheckpoint,\n\t\t\t\tprobe: recoveryEvidenceProbe,\n\t\t\t\tcurrent\n\t\t\t})\n\t\t};\n\t};\n\tif (isPassingOutcome(current)) {\n\t\treturn withPlan('reset_loop_budget', 'manager_policy_progress_passed', {\n\t\t\tloopBudgetShouldReset: true,\n\t\t\tproductRepairFailure: false\n\t\t});\n\t}\n\tif (isManualOutcome(current)) {\n\t\treturn withPlan('manual_handoff', 'manager_policy_manual_or_stopped');\n\t}\n\tif (pingPongCount >= maxPingPongTransitions) {\n\t\treturn withPlan('park_ping_pong', 'manager_policy_ping_pong_failure_loop');\n\t}\n\tif (sameFailureCount >= maxSameFailureRepeats && !evidenceAssessment.material) {\n\t\treturn withPlan('park_repeated_failure', newEvidence\n\t\t\t? 'manager_policy_same_failure_with_weak_evidence'\n\t\t\t: 'manager_policy_same_failure_without_new_evidence');\n\t}\n\tif (infraClasses.has(failureClass)) {\n\t\treturn withPlan('retry_infra', 'manager_policy_infra_failure_routes_to_infra_repair', {\n\t\t\tproductRepairFailure: false\n\t\t});\n\t}\n\tif (newEvidence || !previousSameFailure) {\n\t\tif (newEvidence && !evidenceAssessment.material) {\n\t\t\treturn withPlan('continue', 'manager_policy_weak_evidence_does_not_reset_loop_budget');\n\t\t}\n\t\treturn withPlan('continue', newEvidence\n\t\t\t\t? 'manager_policy_new_material_evidence_resets_loop_budget'\n\t\t\t\t: 'manager_policy_new_failure_or_lane', {\n\t\t\tloopBudgetShouldReset: true,\n\t\t\tmaterialEvidence: newEvidence ? true : base.materialEvidence,\n\t\t\tevidenceStrength: newEvidence ? evidenceAssessment.strength : base.evidenceStrength\n\t\t});\n\t}\n\treturn withPlan('continue', 'manager_policy_retry_below_repeat_limit');\n}\n\nfunction buildReplayDirectiveFromPlan(input: {\n\tsurface: string;\n\tplan: ResolveIOAIManagerRecoveryPlan;\n\tcurrent: ResolveIOAIManagerFailureRecord;\n\tnow?: Date | string;\n}): ResolveIOAIManagerRecoveryExecutionDirective {\n\tconst checkpoint = buildResolveIOAIManagerRecoveryCheckpoint({\n\t\tplan: input.plan,\n\t\tcurrent: input.current,\n\t\tnow: input.now\n\t});\n\tconst probe = buildResolveIOAIManagerRecoveryEvidenceProbe({\n\t\tcheckpoint,\n\t\tcurrent: input.current,\n\t\tnow: input.now\n\t});\n\tconst action = buildResolveIOAIManagerRecoveryActionPacket({\n\t\tplan: input.plan,\n\t\tcheckpoint,\n\t\tprobe,\n\t\tcurrent: input.current,\n\t\tnow: input.now\n\t});\n\tconst dispatch = decideResolveIOAIManagerRecoveryActionDispatch({\n\t\taction,\n\t\tcurrent: input.current,\n\t\tnow: input.now\n\t});\n\treturn buildResolveIOAIManagerRecoveryExecutionDirective({\n\t\taction,\n\t\tdispatchDecision: dispatch,\n\t\tcurrent: input.current,\n\t\tsurface: input.surface,\n\t\tnow: input.now\n\t});\n}\n\nfunction replayCaseFromDirective(input: {\n\tcaseId: string;\n\tsurface: string;\n\taction: string;\n\treason: string;\n\tdirective: ResolveIOAIManagerRecoveryExecutionDirective;\n\texpectedSafeAutoDispatch: boolean;\n\tpass: boolean;\n\tloopBudgetShouldReset?: boolean;\n\tmaterialEvidence?: boolean;\n\tevidenceStrength?: ResolveIOAIManagerEvidenceStrength;\n\tdetails?: Record<string, any>;\n}): ResolveIOAIManagerRecoveryReplayCase {\n\tconst directive = input.directive;\n\tconst safeAutoDispatch = isResolveIOAIManagerSafeAutoDispatch({\n\t\tdispatchAction: directive.dispatchAction,\n\t\tdirective,\n\t\tincludeJourneyContractRepair: input.expectedSafeAutoDispatch && directive.dispatchAction === 'run_journey_contract_repair',\n\t\tincludeReleaseRepair: input.expectedSafeAutoDispatch && directive.dispatchAction === 'run_release_repair',\n\t\tincludeProductRepair: false\n\t});\n\treturn {\n\t\tcaseId: input.caseId,\n\t\tsurface: input.surface,\n\t\tpass: input.pass && safeAutoDispatch === input.expectedSafeAutoDispatch,\n\t\taction: input.action,\n\t\treason: input.reason,\n\t\trecoveryClass: cleanText(directive.dispatchRecord?.mode || directive.phase, 120),\n\t\tdispatchAction: directive.dispatchAction,\n\t\tsafeAutoDispatch,\n\t\texpectedSafeAutoDispatch: input.expectedSafeAutoDispatch,\n\t\tproductRepairAllowed: directive.canRunProductRepair === true,\n\t\tloopBudgetShouldReset: input.loopBudgetShouldReset === true,\n\t\tmaterialEvidence: input.materialEvidence === true,\n\t\tevidenceStrength: input.evidenceStrength || 'none',\n\t\t...(directive.releasePolicy ? {\n\t\t\thotfixFirst: directive.releasePolicy.policy === 'hotfix_first',\n\t\t\tfullDeployAllowed: directive.releasePolicy.fullDeployAllowed\n\t\t} : {}),\n\t\tdetails: {\n\t\t\tphase: directive.phase,\n\t\t\tallowed: directive.allowed,\n\t\t\treason: directive.reason,\n\t\t\treleasePolicy: directive.releasePolicy,\n\t\t\t...(input.details || {})\n\t\t}\n\t};\n}\n\nexport function buildResolveIOAIManagerRecoveryReplayMatrix(\n\tinput: ResolveIOAIManagerRecoveryReplayMatrixInput = {}\n): ResolveIOAIManagerRecoveryReplayCase[] {\n\tconst surface = cleanText(input.surface || 'runner', 120);\n\tconst maxSameFailureRepeats = Math.max(1, Number(input.maxSameFailureRepeats || 2) || 2);\n\tconst includeReleaseRepair = input.includeReleaseRepair !== false;\n\tconst includeJourneyContractRepair = input.includeJourneyContractRepair !== false;\n\tconst cases: ResolveIOAIManagerRecoveryReplayCase[] = [];\n\tconst infraPolicy = decideResolveIOAIManagerPolicy({\n\t\thistory: [\n\t\t\t{ lane: 'qa', stepType: 'workflow_qa', outcome: 'needs_repair', failureClass: 'infra', blocker: 'Chrome executable missing.', evidenceHash: 'chrome-missing' }\n\t\t],\n\t\tcurrent: { lane: 'qa', stepType: 'workflow_qa', outcome: 'needs_repair', failureClass: 'infra', blocker: 'Chrome executable missing.', evidenceHash: 'chrome-missing' },\n\t\tmaxSameFailureRepeats\n\t});\n\tconst infraDirective = buildResolveIOAIManagerRecoveryExecutionDirective({\n\t\taction: infraPolicy.recoveryAction,\n\t\tcurrent: { lane: 'qa', stepType: 'workflow_qa', outcome: 'needs_repair', failureClass: 'infra', blocker: 'Chrome executable missing.', evidenceHash: 'chrome-missing' },\n\t\tsurface\n\t});\n\tcases.push(replayCaseFromDirective({\n\t\tcaseId: 'infra_routes_to_infra_repair',\n\t\tsurface,\n\t\taction: infraPolicy.action,\n\t\treason: infraPolicy.reason,\n\t\tdirective: infraDirective,\n\t\texpectedSafeAutoDispatch: true,\n\t\tpass: infraPolicy.action === 'retry_infra'\n\t\t\t&& infraPolicy.recoveryPlan.recoveryClass === 'infra_repair'\n\t\t\t&& infraDirective.dispatchAction === 'run_infra_repair'\n\t\t\t&& infraDirective.canRunProductRepair === false,\n\t\tdetails: { recoveryClass: infraPolicy.recoveryPlan.recoveryClass }\n\t}));\n\tconst releasePlan = buildResolveIOAIManagerRecoveryPlan({\n\t\taction: 'continue',\n\t\treason: 'publish failed after business proof',\n\t\tfailureClass: 'release',\n\t\tlane: 'publish',\n\t\tstepType: 'test_deploy',\n\t\tblocker: 'Domain publish failed for the current artifact.'\n\t});\n\tconst releaseCurrent = {\n\t\tlane: 'publish',\n\t\tstepType: 'test_deploy',\n\t\toutcome: 'needs_repair',\n\t\tfailureClass: 'release',\n\t\tblocker: 'Domain publish failed for the current artifact.',\n\t\tevidenceHash: 'release-domain-publish-failed',\n\t\tartifactPaths: ['runner-evidence/release-status.json']\n\t};\n\tconst releaseDirective = buildReplayDirectiveFromPlan({\n\t\tsurface,\n\t\tplan: releasePlan,\n\t\tcurrent: releaseCurrent\n\t});\n\tcases.push(replayCaseFromDirective({\n\t\tcaseId: 'release_uses_hotfix_first_repair',\n\t\tsurface,\n\t\taction: 'continue',\n\t\treason: 'publish failed after business proof',\n\t\tdirective: releaseDirective,\n\t\texpectedSafeAutoDispatch: includeReleaseRepair,\n\t\tpass: releasePlan.recoveryClass === 'release_repair'\n\t\t\t&& releaseDirective.dispatchAction === 'run_release_repair'\n\t\t\t&& releaseDirective.releasePolicy?.policy === 'hotfix_first'\n\t\t\t&& releaseDirective.releasePolicy?.fullDeployAllowed === false\n\t\t\t&& releaseDirective.canRunProductRepair === false,\n\t\tdetails: { recoveryClass: releasePlan.recoveryClass }\n\t}));\n\tconst journeyPlan = buildResolveIOAIManagerRecoveryPlan({\n\t\taction: 'continue',\n\t\treason: 'journey contract missing first next last',\n\t\tfailureClass: 'journey',\n\t\tlane: 'plan',\n\t\tstepType: 'journey_contract',\n\t\tblocker: 'Journey contract does not map the hub CTA to an action.'\n\t});\n\tconst journeyDirective = buildReplayDirectiveFromPlan({\n\t\tsurface,\n\t\tplan: journeyPlan,\n\t\tcurrent: {\n\t\t\tlane: 'plan',\n\t\t\tstepType: 'journey_contract',\n\t\t\toutcome: 'needs_repair',\n\t\t\tfailureClass: 'journey',\n\t\t\tblocker: 'Journey contract does not map the hub CTA to an action.',\n\t\t\tevidenceHash: 'journey-contract-invalid'\n\t\t}\n\t});\n\tcases.push(replayCaseFromDirective({\n\t\tcaseId: 'journey_repair_is_safe_only_for_aicoder_surfaces',\n\t\tsurface,\n\t\taction: 'continue',\n\t\treason: 'journey contract missing first next last',\n\t\tdirective: journeyDirective,\n\t\texpectedSafeAutoDispatch: includeJourneyContractRepair,\n\t\tpass: journeyPlan.recoveryClass === 'journey_contract_repair'\n\t\t\t&& journeyDirective.dispatchAction === 'run_journey_contract_repair'\n\t\t\t&& journeyDirective.canRunProductRepair === false,\n\t\tdetails: { recoveryClass: journeyPlan.recoveryClass }\n\t}));\n\tconst weakPolicy = decideResolveIOAIManagerPolicy({\n\t\thistory: [\n\t\t\t{ lane: 'repair', stepType: 'repair', outcome: 'needs_repair', failureClass: 'product_code', blocker: 'Save action still throws TypeError.', evidenceHash: 'save-before' },\n\t\t\t{ lane: 'repair', stepType: 'repair', outcome: 'needs_repair', failureClass: 'product_code', blocker: 'Save action still throws TypeError.', evidenceHash: 'renamed-hash-only' }\n\t\t],\n\t\tcurrent: { lane: 'repair', stepType: 'repair', outcome: 'needs_repair', failureClass: 'product_code', blocker: 'Save action still throws TypeError.', evidenceHash: 'renamed-hash-only' },\n\t\tmaxSameFailureRepeats\n\t});\n\tconst weakDirective = buildResolveIOAIManagerRecoveryExecutionDirective({\n\t\taction: weakPolicy.recoveryAction,\n\t\tcurrent: { lane: 'repair', stepType: 'repair', outcome: 'needs_repair', failureClass: 'product_code', blocker: 'Save action still throws TypeError.', evidenceHash: 'renamed-hash-only' },\n\t\tsurface\n\t});\n\tcases.push(replayCaseFromDirective({\n\t\tcaseId: 'weak_hash_only_evidence_stays_parked',\n\t\tsurface,\n\t\taction: weakPolicy.action,\n\t\treason: weakPolicy.reason,\n\t\tdirective: weakDirective,\n\t\texpectedSafeAutoDispatch: true,\n\t\tpass: weakPolicy.action === 'park_repeated_failure'\n\t\t\t&& weakPolicy.materialEvidence === false\n\t\t\t&& weakPolicy.loopBudgetShouldReset === false\n\t\t\t&& weakDirective.dispatchAction === 'run_evidence_probe',\n\t\tloopBudgetShouldReset: weakPolicy.loopBudgetShouldReset,\n\t\tmaterialEvidence: weakPolicy.materialEvidence,\n\t\tevidenceStrength: weakPolicy.evidenceStrength,\n\t\tdetails: { evidenceSignals: weakPolicy.evidenceSignals }\n\t}));\n\tconst materialPolicy = decideResolveIOAIManagerPolicy({\n\t\thistory: [\n\t\t\t{ lane: 'repair', stepType: 'repair', outcome: 'needs_repair', failureClass: 'product_code', blocker: 'Save action still throws TypeError.', evidenceHash: 'save-before', artifactPaths: ['qa/save-before.log'] },\n\t\t\t{\n\t\t\t\tlane: 'repair',\n\t\t\t\tstepType: 'repair',\n\t\t\t\toutcome: 'needs_repair',\n\t\t\t\tfailureClass: 'product_code',\n\t\t\t\tblocker: 'Save action still throws TypeError.',\n\t\t\t\tsummary: 'New DOM trace proves the click reaches the method with an undefined id.',\n\t\t\t\tevidenceHash: 'save-dom-trace',\n\t\t\t\tartifactPaths: ['qa/save-before.log', 'qa/save-dom-trace.json']\n\t\t\t}\n\t\t],\n\t\tcurrent: {\n\t\t\tlane: 'repair',\n\t\t\tstepType: 'repair',\n\t\t\toutcome: 'needs_repair',\n\t\t\tfailureClass: 'product_code',\n\t\t\tblocker: 'Save action still throws TypeError.',\n\t\t\tsummary: 'New DOM trace proves the click reaches the method with an undefined id.',\n\t\t\tevidenceHash: 'save-dom-trace',\n\t\t\tartifactPaths: ['qa/save-before.log', 'qa/save-dom-trace.json']\n\t\t},\n\t\tmaxSameFailureRepeats\n\t});\n\tcases.push({\n\t\tcaseId: 'material_evidence_resets_loop_budget',\n\t\tsurface,\n\t\tpass: materialPolicy.action === 'continue'\n\t\t\t&& materialPolicy.materialEvidence === true\n\t\t\t&& materialPolicy.loopBudgetShouldReset === true,\n\t\taction: materialPolicy.action,\n\t\treason: materialPolicy.reason,\n\t\trecoveryClass: materialPolicy.recoveryPlan.recoveryClass,\n\t\tdispatchAction: materialPolicy.recoveryAction.mode,\n\t\tsafeAutoDispatch: false,\n\t\texpectedSafeAutoDispatch: false,\n\t\tproductRepairAllowed: materialPolicy.recoveryAction.productRepairAllowed,\n\t\tloopBudgetShouldReset: materialPolicy.loopBudgetShouldReset,\n\t\tmaterialEvidence: materialPolicy.materialEvidence,\n\t\tevidenceStrength: materialPolicy.evidenceStrength,\n\t\tdetails: { evidenceSignals: materialPolicy.evidenceSignals }\n\t});\n\tconst productPlan = buildResolveIOAIManagerRecoveryPlan({\n\t\taction: 'continue',\n\t\treason: 'business proof still failing',\n\t\tfailureClass: 'product_code',\n\t\tlane: 'repair',\n\t\tstepType: 'repair',\n\t\tblocker: 'Save action still throws TypeError.',\n\t\tproductRepairFailure: true\n\t});\n\tconst productDirective = buildReplayDirectiveFromPlan({\n\t\tsurface,\n\t\tplan: productPlan,\n\t\tcurrent: {\n\t\t\tlane: 'repair',\n\t\t\tstepType: 'repair',\n\t\t\toutcome: 'needs_repair',\n\t\t\tfailureClass: 'product_code',\n\t\t\tblocker: 'Save action still throws TypeError.',\n\t\t\tevidenceHash: 'save-product-repair'\n\t\t}\n\t});\n\tconst productSafe = isResolveIOAIManagerSafeAutoDispatch({\n\t\tdispatchAction: productDirective.dispatchAction,\n\t\tdirective: productDirective,\n\t\tincludeProductRepair: input.includeProductRepair === true\n\t});\n\tcases.push({\n\t\tcaseId: 'product_repair_requires_explicit_operator_policy',\n\t\tsurface,\n\t\tpass: productPlan.recoveryClass === 'product_code_repair'\n\t\t\t&& productDirective.dispatchAction === 'run_targeted_product_repair'\n\t\t\t&& productSafe === false,\n\t\taction: 'continue',\n\t\treason: 'business proof still failing',\n\t\trecoveryClass: productPlan.recoveryClass,\n\t\tdispatchAction: productDirective.dispatchAction,\n\t\tsafeAutoDispatch: productSafe,\n\t\texpectedSafeAutoDispatch: false,\n\t\tproductRepairAllowed: productDirective.canRunProductRepair,\n\t\tloopBudgetShouldReset: false,\n\t\tmaterialEvidence: false,\n\t\tevidenceStrength: 'none',\n\t\tdetails: { phase: productDirective.phase, allowed: productDirective.allowed }\n\t});\n\tconst duplicateReleasePolicy = buildResolveIOAIManagerHotfixFirstReleasePolicy({\n\t\tsurface,\n\t\tdeployFingerprint: `${surface}-artifact-sha`,\n\t\tlastDeployFingerprint: `${surface}-artifact-sha`,\n\t\tdeployStatus: 'completed',\n\t\tpublishStatus: 'published'\n\t});\n\tcases.push({\n\t\tcaseId: 'duplicate_release_fingerprint_blocks_full_deploy',\n\t\tsurface,\n\t\tpass: duplicateReleasePolicy.recommendedAction === 'block_duplicate_deploy'\n\t\t\t&& duplicateReleasePolicy.duplicateDeployBlocked === true\n\t\t\t&& duplicateReleasePolicy.fullDeployAllowed === false,\n\t\taction: duplicateReleasePolicy.recommendedAction,\n\t\treason: duplicateReleasePolicy.reason,\n\t\trecoveryClass: 'release_repair',\n\t\tdispatchAction: 'run_release_repair',\n\t\tsafeAutoDispatch: includeReleaseRepair,\n\t\texpectedSafeAutoDispatch: includeReleaseRepair,\n\t\tproductRepairAllowed: false,\n\t\tloopBudgetShouldReset: false,\n\t\tmaterialEvidence: false,\n\t\tevidenceStrength: 'none',\n\t\thotfixFirst: true,\n\t\tfullDeployAllowed: duplicateReleasePolicy.fullDeployAllowed,\n\t\tdetails: { releasePolicy: duplicateReleasePolicy }\n\t});\n\treturn cases;\n}\n"]}
1
+ {"version":3,"sources":["../../src/util/ai-runner-manager-policy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqhCA,oGAqHC;AAED,wFAsHC;AAwGD,8FAmDC;AA8LD,4FAkDC;AAED,4FAsIC;AA0KD,kGAuDC;AA4CD,0GAmNC;AAED,gGAgGC;AAED,8FAyCC;AAyLD,0GA4GC;AAED,oFA8CC;AAwBD,0FAiBC;AAED,oFAUC;AAiBD,wEAcC;AAED,8FAwDC;AAwKD,oGAkDC;AA6KD,kGAuGC;AAyDD,wGAqKC;AAED,wGAWC;AAsCD,8GAiEE;AA0CF,sHAoFC;AAED,4HAkEC;AAkCD,wFAoEC;AAQD,oFAyHC;AAuBD,kFA6RC;AAyED,wEAyHC;AAwFD,kGAsPC;AA/8HD,SAAS,SAAS,CAAC,KAAU,EAAE,GAAU;IAAV,oBAAA,EAAA,UAAU;IACxC,OAAO,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,SAAS,CAAC,MAAW,EAAE,KAAU,EAAE,GAAS;;IAArB,sBAAA,EAAA,UAAU;IAAE,oBAAA,EAAA,SAAS;IACpD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,CAAC;IACX,CAAC;IACD,IAAM,MAAM,GAAa,EAAE,CAAC;;QAC5B,KAAoB,IAAA,WAAA,SAAA,MAAM,CAAA,8BAAA,kDAAE,CAAC;YAAxB,IAAM,KAAK,mBAAA;YACf,IAAM,UAAU,GAAG,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACzC,IAAI,UAAU,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBAChD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACzB,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;gBAC5B,MAAM;YACP,CAAC;QACF,CAAC;;;;;;;;;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED,IAAM,eAAe,GAAG,IAAI,GAAG,CAAkC;IAChE,WAAW;IACX,YAAY;IACZ,QAAQ;IACR,WAAW;IACX,oBAAoB;IACpB,iBAAiB;IACjB,kBAAkB;IAClB,qBAAqB;IACrB,qBAAqB;IACrB,gBAAgB;CAChB,CAAC,CAAC;AAEH,SAAS,WAAW,CAAC,KAAU;IAC9B,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AACjF,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAU;IACxC,IAAM,UAAU,GAAG,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAC/E,IAAI,2CAA2C,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAClE,OAAO,cAAc,CAAC;IACvB,CAAC;IACD,IAAI,uEAAuE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9F,OAAO,0BAA0B,CAAC;IACnC,CAAC;IACD,OAAO,aAAa,CAAC;AACtB,CAAC;AAED,SAAS,gCAAgC,CAAC,KAAU;IACnD,IAAM,UAAU,GAAG,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAC9E,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;QAC5B,OAAO,OAAO,CAAC;IAChB,CAAC;IACD,IAAI,UAAU,KAAK,UAAU,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC1D,OAAO,UAAU,CAAC;IACnB,CAAC;IACD,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC;IACf,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAU;IACnC,IAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,YAAY,CAAC,KAAU;IAC/B,IAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACrD,CAAC;AAED,SAAS,WAAW,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW;IAC3D,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,6BAA6B,CAAC,KAAU;IAChD,IAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACrC,OAAO,CAAC,MAAM,IAAI,kFAAkF,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACnH,CAAC;AAED,SAAgB,4CAA4C,CAC3D,KAAqD;;IAArD,sBAAA,EAAA,UAAqD;IAErD,IAAM,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IAC5D,IAAM,YAAY,GAAG,uCAAuC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACjF,IAAM,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IAC1D,IAAM,gBAAgB,GAAG,gCAAgC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAClF,IAAM,eAAe,GAAG,SAAS,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAClE,IAAM,sBAAsB,GAAG,gBAAgB,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC9E,IAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC5D,IAAM,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,KAAK,IAAI,IAAI,gBAAgB,KAAK,UAAU,IAAI,gBAAgB,KAAK,OAAO,CAAC;IAC5H,IAAM,WAAW,GAAG,KAAK,CAAC,WAAW,KAAK,IAAI,CAAC;IAC/C,IAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,KAAK,GAAG,GAAG,CAAC;IAChB,IAAI,cAAc,KAAK,oBAAoB,EAAE,CAAC;QAC7C,KAAK,GAAG,IAAI,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACtC,CAAC;SACI,IAAI,cAAc,KAAK,yBAAyB,EAAE,CAAC;QACvD,KAAK,GAAG,IAAI,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACrC,CAAC;SACI,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,eAAe,EAAE,CAAC;QAC7E,KAAK,GAAG,IAAI,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACnC,CAAC;SACI,IAAI,cAAc,KAAK,kBAAkB,EAAE,CAAC;QAChD,KAAK,GAAG,GAAG,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACtC,CAAC;SACI,IAAI,cAAc,KAAK,oBAAoB,EAAE,CAAC;QAClD,KAAK,GAAG,GAAG,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACxC,CAAC;SACI,IAAI,cAAc,KAAK,oBAAoB,EAAE,CAAC;QAClD,KAAK,GAAG,GAAG,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACxC,CAAC;SACI,IAAI,cAAc,KAAK,6BAA6B,IAAI,cAAc,KAAK,+BAA+B,EAAE,CAAC;QACjH,KAAK,GAAG,IAAI,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IAClD,CAAC;SACI,IAAI,cAAc,KAAK,6BAA6B,EAAE,CAAC;QAC3D,KAAK,GAAG,IAAI,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,gBAAgB,KAAK,OAAO,EAAE,CAAC;QAClC,KAAK,IAAI,GAAG,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAChC,CAAC;SACI,IAAI,gBAAgB,EAAE,CAAC;QAC3B,KAAK,IAAI,GAAG,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACnC,CAAC;SACI,IAAI,WAAW,EAAE,CAAC;QACtB,KAAK,IAAI,GAAG,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC9B,CAAC;SACI,IAAI,gBAAgB,KAAK,MAAM,EAAE,CAAC;QACtC,KAAK,IAAI,IAAI,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC/B,CAAC;SACI,IAAI,CAAC,6BAA6B,CAAC,cAAc,CAAC,EAAE,CAAC;QACzD,KAAK,IAAI,IAAI,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,CAAC,YAAY,KAAK,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,cAAc,KAAK,kBAAkB,EAAE,CAAC;QACzG,KAAK,IAAI,IAAI,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,CAAC,YAAY,KAAK,SAAS,IAAI,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,cAAc,KAAK,oBAAoB,EAAE,CAAC;QAC/G,KAAK,IAAI,IAAI,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,yBAAyB,CAAC,IAAI,CAAC,UAAG,YAAY,cAAI,aAAa,CAAE,CAAC,IAAI,cAAc,KAAK,oBAAoB,EAAE,CAAC;QACnH,KAAK,IAAI,GAAG,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,sBAAsB,IAAI,CAAC,EAAE,CAAC;QACjC,KAAK,IAAI,GAAG,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACrC,CAAC;SACI,IAAI,sBAAsB,IAAI,CAAC,EAAE,CAAC;QACtC,KAAK,IAAI,IAAI,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACvC,CAAC;SACI,IAAI,sBAAsB,IAAI,CAAC,EAAE,CAAC;QACtC,KAAK,IAAI,IAAI,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,aAAa,GAAG,CAAC,IAAI,sBAAsB,GAAG,aAAa,GAAG,GAAG,EAAE,CAAC;QACvE,KAAK,IAAI,GAAG,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,KAAK,CAAC,4BAA4B,KAAK,IAAI,EAAE,CAAC;QACjD,KAAK,IAAI,IAAI,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IACjD,CAAC;;QACD,KAAqB,IAAA,oBAAA,SAAA,eAAe,CAAA,gDAAA,6EAAE,CAAC;YAAlC,IAAM,MAAM,4BAAA;YAChB,IAAI,oHAAoH,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACvI,KAAK,IAAI,IAAI,CAAC;gBACd,OAAO,CAAC,IAAI,CAAC,0BAAmB,MAAM,CAAE,CAAC,CAAC;YAC3C,CAAC;QACF,CAAC;;;;;;;;;IACD,IAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,IAAM,QAAQ,GAAG,CAAC,CAAC;IACnB,OAAO;QACN,KAAK,EAAE,OAAO;QACd,QAAQ,UAAA;QACR,QAAQ,EAAE,OAAO,IAAI,QAAQ;QAC7B,MAAM,EAAE,WAAW;QACnB,UAAU,EAAE,gBAAgB,KAAK,OAAO,IAAI,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK;QAC/E,MAAM,EAAE,OAAO,IAAI,QAAQ;YAC1B,CAAC,CAAC,uCAAuC;YACzC,CAAC,CAAC,mCAAmC;QACtC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;KAClD,CAAC;AACH,CAAC;AAED,SAAgB,sCAAsC,CACrD,KAAiD;;IAAjD,sBAAA,EAAA,UAAiD;IAEjD,IAAM,IAAI,GAAG,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAM,eAAe,GAAG,gBAAgB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAChE,IAAM,sBAAsB,GAAG,gBAAgB,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC9E,IAAM,iBAAiB,GAAG,eAAe,GAAG,sBAAsB,CAAC;IACnE,IAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC5D,IAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC5D,IAAM,kBAAkB,GAAG,aAAa,GAAG,CAAC,IAAI,iBAAiB,IAAI,aAAa,CAAC;IACnF,IAAM,kBAAkB,GAAG,aAAa,GAAG,CAAC,IAAI,iBAAiB,GAAG,aAAa,CAAC;IAClF,IAAM,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IAC5D,IAAM,gBAAgB,GAAG,gCAAgC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAClF,IAAM,eAAe,GAAG,SAAS,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAClE,IAAM,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,KAAK,IAAI,IAAI,gBAAgB,KAAK,UAAU,IAAI,gBAAgB,KAAK,OAAO,CAAC;IAC5H,IAAM,WAAW,GAAG,KAAK,CAAC,WAAW,KAAK,IAAI,CAAC;IAC/C,IAAM,cAAc,GAAG,gBAAgB,IAAI,WAAW,IAAI,eAAe,CAAC,IAAI,CAAC,UAAC,MAAM,IAAK,OAAA,qHAAqH,CAAC,IAAI,CAAC,MAAM,CAAC,EAAlI,CAAkI,CAAC,CAAC;IAC/N,IAAM,mBAAmB,GAAG,6BAA6B,CAAC,cAAc,CAAC,CAAC;IAC1E,IAAM,qBAAqB,GAAG,4CAA4C,CAAC;QAC1E,cAAc,gBAAA;QACd,sBAAsB,wBAAA;QACtB,eAAe,iBAAA;QACf,aAAa,eAAA;QACb,gBAAgB,kBAAA;QAChB,gBAAgB,kBAAA;QAChB,WAAW,aAAA;QACX,eAAe,iBAAA;QACf,4BAA4B,EAAE,KAAK,CAAC,4BAA4B,KAAK,IAAI;KACzE,CAAC,CAAC;IACH,IAAM,qBAAqB,GAAG,YAAY,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACrE,IAAM,kBAAkB,GAAG,qBAAqB,KAAK,SAAS,CAAC;IAC/D,IAAM,kBAAkB,GAAG,kBAAkB,CAAC,CAAC,CAAC,qBAA+B,CAAC,CAAC,CAAC,qBAAqB,CAAC,KAAK,CAAC;IAC9G,IAAM,gBAAgB,GAAG,MAAA,YAAY,CAAC,KAAK,CAAC,qBAAqB,CAAC,mCAAI,qBAAqB,CAAC,QAAQ,CAAC;IACrG,IAAM,qBAAqB,GAAG,kBAAkB,IAAI,gBAAgB,CAAC;IACrE,IAAM,mBAAmB,GAAoE,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC;IAC3I,IAAM,gBAAgB;QACrB,MAAM;QACN,wBAAwB;cACrB,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,kBAC5C,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,kBAC5C,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,kBAC1C,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,iCAAiC,EAAE,mCAAmC,CAAC,CAAC,SACxG,CAAC;IACF,IAAM,gBAAgB,GAAa,EAAE,CAAC;IACtC,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,iBAAiB,GAAG,IAAI,CAAC;IAC7B,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,qBAAqB,GAAG,IAAI,CAAC;IACjC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,kBAAkB,GAAmE,IAAI,CAAC;IAC9F,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;QAC7B,iBAAiB,GAAG,KAAK,CAAC;QAC1B,MAAM,GAAG,qCAAqC,CAAC;QAC/C,gBAAgB,CAAC,IAAI,CAAC,yGAAyG,CAAC,CAAC;IAClI,CAAC;SACI,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;QACjC,MAAM,GAAG,wCAAwC,CAAC;QAClD,gBAAgB,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;IAC7F,CAAC;SACI,IAAI,kBAAkB,EAAE,CAAC;QAC7B,OAAO,GAAG,IAAI,CAAC;QACf,eAAe,GAAG,KAAK,CAAC;QACxB,iBAAiB,GAAG,KAAK,CAAC,gBAAgB,KAAK,IAAI,CAAC;QACpD,MAAM,GAAG,8CAA8C,CAAC;QACxD,kBAAkB,GAAG,2BAA2B,CAAC;QACjD,gBAAgB,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;IAChG,CAAC;SACI,IAAI,CAAC,mBAAmB,IAAI,CAAC,cAAc,EAAE,CAAC;QAClD,eAAe,GAAG,KAAK,CAAC;QACxB,qBAAqB,GAAG,IAAI,CAAC;QAC7B,MAAM,GAAG,uCAAuC,CAAC;QACjD,gBAAgB,CAAC,IAAI,CAAC,8HAA8H,CAAC,CAAC;IACvJ,CAAC;SACI,IAAI,CAAC,mBAAmB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACzD,eAAe,GAAG,KAAK,CAAC;QACxB,qBAAqB,GAAG,IAAI,CAAC;QAC7B,MAAM,GAAG,wCAAwC,CAAC;QAClD,gBAAgB,CAAC,IAAI,CAAC,iGAAiG,CAAC,CAAC;IAC1H,CAAC;SACI,CAAC;QACL,eAAe,GAAG,IAAI,CAAC;QACvB,qBAAqB,GAAG,kBAAkB,CAAC;QAC3C,MAAM,GAAG,kBAAkB;YAC1B,CAAC,CAAC,gDAAgD;YAClD,CAAC,CAAC,+CAA+C,CAAC;QACnD,IAAI,kBAAkB,EAAE,CAAC;YACxB,gBAAgB,CAAC,IAAI,CAAC,gHAAgH,CAAC,CAAC;QACzI,CAAC;IACF,CAAC;IACD,OAAO;QACN,IAAI,MAAA;QACJ,eAAe,iBAAA;QACf,iBAAiB,mBAAA;QACjB,OAAO,SAAA;QACP,qBAAqB,uBAAA;QACrB,MAAM,QAAA;QACN,eAAe,iBAAA;QACf,sBAAsB,wBAAA;QACtB,iBAAiB,mBAAA;QACjB,aAAa,eAAA;QACb,aAAa,eAAA;QACb,kBAAkB,oBAAA;QAClB,kBAAkB,oBAAA;QAClB,cAAc,gBAAA;QACd,kBAAkB,oBAAA;QAClB,qBAAqB,EAAE,gBAAgB;QACvC,kBAAkB,oBAAA;QAClB,mBAAmB,qBAAA;QACnB,qBAAqB,uBAAA;QACrB,gBAAgB,kBAAA;QAChB,gBAAgB,kBAAA;QAChB,WAAW,aAAA;QACX,cAAc,gBAAA;QACd,eAAe,iBAAA;QACf,kBAAkB,oBAAA;QAClB,gBAAgB,kBAAA;QAChB,gBAAgB,kBAAA;KAChB,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,KAAU;IAClC,IAAM,IAAI,GAAG,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC3E,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;AACrF,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAU;IACzC,IAAM,UAAU,GAAG,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAoC,CAAC;IAClH,OAAO,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1D,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAU;IACxC,IAAM,UAAU,GAAG,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAC/E,IAAI,+DAA+D,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACtF,OAAO,QAAQ,CAAC;IACjB,CAAC;IACD,IAAI,4CAA4C,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACnE,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAI,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACzC,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,OAAO,YAAY,CAAC;AACrB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAU;IACrC,OAAO,qBAAqB,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC;AAClD,CAAC;AAED,SAAS,6BAA6B,CAAC,KAAU;IAChD,IAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAClC,OAAO;QACN,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC;QACvC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;QACrE,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC;QAC5E,YAAY,EAAE,SAAS,CAAC,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC;QAClH,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC;QAC5E,cAAc,EAAE,SAAS,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,wBAAwB,IAAI,MAAM,CAAC,0BAA0B,EAAE,GAAG,CAAC;QACvJ,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC;QAC9G,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC;QAC9E,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC;QAC7D,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC;KAC5E,CAAC;AACH,CAAC;AAED,SAAS,8BAA8B,CAAC,KAAU,EAAE,QAAiD;IACpG,IAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACrD,IAAM,OAAO,GAAG,UAAU;SACxB,GAAG,CAAC,6BAA6B,CAAC;SAClC,MAAM,CAAC,UAAC,MAAM,IAAK,OAAA,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK,IAAK,OAAA,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,EAArB,CAAqB,CAAC,EAA5D,CAA4D,CAAC,CAAC;IACnF,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK,IAAK,OAAA,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,EAArB,CAAqB,CAAC,EAAE,CAAC;QACnG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC;IACD,IAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,OAAO,OAAO,CAAC,MAAM,CAAC,UAAC,MAAM;QAC5B,IAAM,GAAG,GAAG,UAAG,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,eAAK,SAAS,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAE,CAAC;QAC1K,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC;QACd,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,OAAO,IAAI,CAAC;IACb,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,kCAAkC,CAAC,KAAU;IACrD,IAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAClC,OAAO;QACN,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;QACrE,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC;QAC5E,cAAc,EAAE,SAAS,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,oBAAoB,IAAI,MAAM,CAAC,sBAAsB,EAAE,GAAG,CAAC;QAC/I,aAAa,EAAE,SAAS,CAAC,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,mBAAmB,IAAI,MAAM,CAAC,qBAAqB,EAAE,GAAG,CAAC;QAC1I,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC;QAC5F,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;KACrC,CAAC;AACH,CAAC;AAED,SAAS,mCAAmC,CAAC,KAAU;IACtD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;SACxC,GAAG,CAAC,kCAAkC,CAAC;SACvC,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,EAAjF,CAAiF,CAAC;SACpG,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,8BAA8B,CAAC,KAAU;;IACjD,IAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAClC,IAAM,UAAU,GAAG,MAAM,CAAC,MAAA,MAAM,CAAC,UAAU,mCAAI,MAAM,CAAC,WAAW,CAAC,CAAC;IACnE,IAAM,WAAW,GAAG,MAAM,CAAC,MAAA,MAAM,CAAC,WAAW,mCAAI,MAAM,CAAC,YAAY,CAAC,CAAC;IACtE,OAAO;QACN,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;QACrE,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;QACtD,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC;QAC9E,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QACzF,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;KAC5F,CAAC;AACH,CAAC;AAED,SAAS,+BAA+B,CAAC,KAAU;IAClD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;SACxC,GAAG,CAAC,8BAA8B,CAAC;SACnC,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAA5C,CAA4C,CAAC;SAC/D,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAChB,CAAC;AAED,SAAgB,yCAAyC,CACxD,KAAU,EACV,MAAmD;;IAEnD,IAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;QACjC,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAM,OAAO,GAAG,sBAAsB,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,cAAc,KAAI,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,0CAAE,kBAAkB,CAAA,CAAC,CAAC;IAClJ,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAM,MAAM,GAAG,6BAA6B,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC;IACtE,IAAM,OAAO,GAAG,8BAA8B,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IACxH,OAAO;QACN,OAAO,SAAA;QACP,MAAM,EAAE,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC;QAC5C,MAAM,QAAA;QACN,OAAO,SAAA;QACP,oBAAoB,EAAE,SAAS,CAAC,MAAM,CAAC,oBAAoB,IAAI,MAAM,CAAC,sBAAsB,IAAI,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC;QACzH,aAAa,EAAE,SAAS,CAAC,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC;QACpG,oBAAoB,EAAE,SAAS,CAAC,MAAM,CAAC,oBAAoB,IAAI,MAAM,CAAC,sBAAsB,IAAI,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC;QACrJ,mBAAmB,EAAE,SAAS,CAAC,MAAM,CAAC,mBAAmB,IAAI,MAAM,CAAC,qBAAqB,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC;QAChJ,cAAc,EAAE,SAAS,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC;QAClG,eAAe,EAAE,mCAAmC,CAAC,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,cAAc,CAAC;QAC5K,eAAe,EAAE,SAAS,CAAC,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,gBAAgB,EAAE,IAAI,CAAC;QACnF,cAAc,EAAE,+BAA+B,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,qBAAqB,IAAI,MAAM,CAAC,uBAAuB,CAAC;QACrL,iBAAiB,EAAE,SAAS,CAAC,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,mBAAmB,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;QAC1G,YAAY,EAAE,+BAA+B,CAAC,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,kBAAkB,CAAC;QAClJ,cAAc,EAAE,SAAS,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC;QACvH,SAAS,EAAE,+BAA+B,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,sBAAsB,IAAI,MAAM,CAAC,yBAAyB,CAAC;QACtJ,iBAAiB,EAAE,SAAS,CAAC,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,mBAAmB,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC;QACtI,cAAc,EAAE,SAAS,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC;QAChI,wBAAwB,EAAE,SAAS,CAAC,MAAM,CAAC,wBAAwB,IAAI,MAAM,CAAC,0BAA0B,IAAI,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC;QACjK,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC;QAChH,oBAAoB,EAAE,SAAS,CAAC,MAAM,CAAC,oBAAoB,IAAI,MAAM,CAAC,sBAAsB,EAAE,IAAI,CAAC;QACnG,gBAAgB,EAAE,SAAS,CAAC,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,kBAAkB,EAAE,IAAI,CAAC;QACvF,yBAAyB,EAAE,SAAS,CAAC,MAAM,CAAC,yBAAyB,IAAI,MAAM,CAAC,2BAA2B,EAAE,IAAI,CAAC;QAClH,sBAAsB,EAAE,SAAS,CAAC,MAAM,CAAC,sBAAsB,IAAI,MAAM,CAAC,wBAAwB,EAAE,IAAI,CAAC;QACzG,0BAA0B,EAAE,SAAS,CAAC,MAAM,CAAC,0BAA0B,IAAI,MAAM,CAAC,4BAA4B,IAAI,MAAM,CAAC,mBAAmB,IAAI,MAAM,CAAC,oBAAoB,EAAE,GAAG,CAAC;QACjL,8BAA8B,EAAE,SAAS,CAAC,MAAM,CAAC,8BAA8B,IAAI,MAAM,CAAC,iCAAiC,IAAI,MAAM,CAAC,uBAAuB,IAAI,MAAM,CAAC,yBAAyB,EAAE,GAAG,CAAC;QACvM,eAAe,EAAE,SAAS,CAAC,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC;QAC5K,eAAe,EAAE,SAAS,CAAC,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC;QAC5K,eAAe,EAAE,SAAS,CAAC,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,oBAAoB,EAAE,GAAG,CAAC;QAC/I,aAAa,EAAE,SAAS,CAAC,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,2BAA2B,IAAI,MAAM,CAAC,8BAA8B,EAAE,GAAG,CAAC;QACpN,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,YAAY;QACtD,iBAAiB,EAAE,SAAS,CAAC,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,mBAAmB,EAAE,IAAI,CAAC;QAC1F,yBAAyB,EAAE,SAAS,CAAC,MAAM,CAAC,yBAAyB,IAAI,MAAM,CAAC,4BAA4B,EAAE,IAAI,CAAC;QACnH,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,KAAK,IAAI,IAAI,MAAM,CAAC,qBAAqB,KAAK,IAAI;QACjG,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,WAAW;KACnD,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAC9B,MAA8D,EAC9D,OAA6C;;IAE7C,OAAO,CAAC,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,0CAAE,KAAK,KAAI,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,OAAO,KAAK,OAAO,EAAxB,CAAwB,CAAC,CAAC;AACnF,CAAC;AAED,SAAS,WAAW,CAAC,QAAkB,EAAE,SAAkB,EAAE,OAAe;IAC3E,IAAI,CAAC,SAAS,EAAE,CAAC;QAChB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;AACF,CAAC;AAED,SAAS,0BAA0B,CAAC,OAA6C;IAChF,OAAO,+FAA+F,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACtH,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAa;;IAC5C,IAAM,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,8FAA8F,CAAC,CAAC;IAC1I,OAAO,CAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC,0CAAE,WAAW,EAAE,KAAI,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACxC,OAAO,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAa;IAC5C,OAAO,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,iBAAiB,CAAC,MAA8C,EAAE,aAAqB;IAC/F,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,iBAAU,aAAa,MAAG,CAAC;AAC3G,CAAC;AAED,SAAS,+BAA+B,CAAC,QAA0C;IAClF,IAAM,OAAO,GAAG,8BAA8B,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAClF,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,UAAC,MAAM,IAAK,OAAA,CAAC,CAAC,MAAM,EAAR,CAAQ,CAAC,CAAC;AAClF,CAAC;AAED,SAAS,qBAAqB,CAAC,UAAe,EAAE,UAAe,EAAE,MAA8C;IAC9G,IAAM,IAAI,GAAG,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IACtD,IAAM,IAAI,GAAG,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACxC,IAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7D,IAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC/C,IAAI,UAAU,IAAI,IAAI,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QAC/C,OAAO,KAAK,CAAC;IACd,CAAC;IACD,IAAI,UAAU,IAAI,IAAI,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QAC/C,OAAO,KAAK,CAAC;IACd,CAAC;IACD,OAAO,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,6BAA6B,CACrC,QAA0C,EAC1C,MAA8C,EAC9C,iBAA0B;IAE1B,IAAM,KAAK,GAAG,CAAC,QAAQ,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK,IAAK,OAAA,qBAAqB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,EAArD,CAAqD,CAAC,CAAC;IACtH,IAAI,KAAK,EAAE,CAAC;QACX,OAAO,KAAK,CAAC;IACd,CAAC;IACD,IAAI,iBAAiB,IAAI,CAAC,QAAQ,CAAC,mBAAmB,IAAI,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QACpF,OAAO;YACN,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,cAAc,EAAE,QAAQ,CAAC,oBAAoB;YAC7C,aAAa,EAAE,QAAQ,CAAC,mBAAmB;YAC3C,QAAQ,EAAE,QAAQ,CAAC,cAAc;YACjC,MAAM,EAAE,QAAQ,CAAC,MAAM;SACvB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,SAAS,+BAA+B,CACvC,OAA8D,EAC9D,MAA8C,EAC9C,uBAA4B;IAE5B,IAAM,KAAK,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK,IAAK,OAAA,qBAAqB,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,EAApD,CAAoD,CAAC,CAAC;IACpG,IAAI,KAAK,EAAE,CAAC;QACX,OAAO,KAAK,CAAC;IACd,CAAC;IACD,IAAI,uBAAuB,EAAE,CAAC;QAC7B,OAAO;YACN,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,MAAM,EAAE,SAAS,CAAC,uBAAuB,EAAE,GAAG,CAAC;SAC/C,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,SAAS,4CAA4C,CAAC,MAA0D;IAC/G,IAAM,IAAI,GAAG,SAAS,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,MAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,CAAA,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IACpG,OAAO,6PAA6P,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjR,CAAC;AAED,SAAS,gDAAgD,CAAC,QAA0C;IACnG,IAAM,IAAI,GAAG;QACZ,QAAQ,CAAC,eAAe;QACxB,QAAQ,CAAC,sBAAsB;cAC5B,CAAC,QAAQ,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,UAAG,KAAK,CAAC,MAAM,IAAI,EAAE,cAAI,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAE,EAA/C,CAA+C,CAAC,UACjG,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,OAAO,0HAA0H,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9I,CAAC;AAED,SAAS,mCAAmC,CAC3C,QAA0C,EAC1C,QAAkB;IAElB,IAAM,OAAO,GAAG,+BAA+B,CAAC,QAAQ,CAAC,CAAC;IAC1D,IAAM,qBAAqB,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IACjD,IAAI,qBAAqB,IAAI,CAAC,CAAC,QAAQ,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;QACvE,QAAQ,CAAC,IAAI,CAAC,+GAA+G,CAAC,CAAC;IAChI,CAAC;IACD,IAAI,qBAAqB,IAAI,CAAC,CAAC,QAAQ,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;QACtE,QAAQ,CAAC,IAAI,CAAC,gGAAgG,CAAC,CAAC;IACjH,CAAC;IACD,IAAI,qBAAqB,IAAI,CAAC,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;QACpE,QAAQ,CAAC,IAAI,CAAC,8FAA8F,CAAC,CAAC;IAC/G,CAAC;IACD,IAAI,qBAAqB,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;QACjE,QAAQ,CAAC,IAAI,CAAC,2FAA2F,CAAC,CAAC;IAC5G,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,CAAC,4CAA4C,CAAC,IAAI,CAAC,gDAAgD,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/H,QAAQ,CAAC,IAAI,CAAC,mMAAmM,CAAC,CAAC;IACpN,CAAC;IACD,OAAO,CAAC,OAAO,CAAC,UAAC,MAAM,EAAE,KAAK;QAC7B,IAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC/C,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,4BAAqB,KAAK,2BAAwB,CAAC,CAAC;QACzF,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,4BAAqB,KAAK,2BAAwB,CAAC,CAAC;QACzF,IAAM,aAAa,GAAG,6BAA6B,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,qBAAqB,CAAC,CAAC;QAC9F,IAAM,aAAa,GAAG,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,aAAa,MAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,QAAQ,CAAA,IAAI,EAAE,CAAC;QACpF,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,aAAa,EAAE,4BAAqB,KAAK,iDAA8C,CAAC,CAAC;QACjH,IAAI,aAAa,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,EAAE,CAAC;YAC7D,QAAQ,CAAC,IAAI,CAAC,4BAAqB,KAAK,kGAA+F,CAAC,CAAC;QAC1I,CAAC;QACD,IAAI,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,cAAc,KAAI,aAAa,IAAI,aAAa,CAAC,cAAc,KAAK,aAAa,EAAE,CAAC;YACtG,QAAQ,CAAC,IAAI,CAAC,4BAAqB,KAAK,oFAAiF,CAAC,CAAC;QAC5H,CAAC;QACD,IAAM,YAAY,GAAG,+BAA+B,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,IAAI,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClM,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,YAAY,IAAI,kBAAkB,CAAC,YAAY,CAAC,MAAM,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE,4BAAqB,KAAK,gEAA6D,CAAC,CAAC;QACnM,IAAM,WAAW,GAAG,+BAA+B,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAC5I,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,WAAW,IAAI,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,4BAAqB,KAAK,+DAA4D,CAAC,CAAC;QACvK,IAAM,aAAa,GAAG,+BAA+B,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACxI,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,aAAa,IAAI,kBAAkB,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,4BAAqB,KAAK,yDAAsD,CAAC,CAAC;QACrK,IAAI,aAAa,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,IAAI,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;YAClH,QAAQ,CAAC,IAAI,CAAC,4BAAqB,KAAK,sCAAmC,CAAC,CAAC;QAC9E,CAAC;IACF,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAuC,EAAE,OAA6C;IACxH,IAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAM,eAAe,GAAG,SAAS,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;IAC9D,IAAM,eAAe,GAAG,SAAS,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;IAC9D,IAAM,eAAe,GAAG,SAAS,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;IAC9D,IAAM,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IAC1D,IAAM,YAAY,GAAG,sBAAsB,CAAC,eAAe,CAAC,CAAC;IAC7D,IAAI,CAAC,eAAe,IAAI,CAAC,eAAe,EAAE,CAAC;QAC1C,QAAQ,CAAC,IAAI,CAAC,UAAG,OAAO,iMAA8L,CAAC,CAAC;QACxN,OAAO,QAAQ,CAAC;IACjB,CAAC;IACD,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,EAAE,CAAC;QAC1C,QAAQ,CAAC,IAAI,CAAC,UAAG,OAAO,iEAA8D,CAAC,CAAC;IACzF,CAAC;IACD,IAAI,CAAC,YAAY,EAAE,CAAC;QACnB,QAAQ,CAAC,IAAI,CAAC,UAAG,OAAO,+FAA4F,CAAC,CAAC;IACvH,CAAC;SACI,IAAI,kBAAkB,CAAC,eAAe,CAAC,IAAI,YAAY,KAAK,eAAe,CAAC,WAAW,EAAE,EAAE,CAAC;QAChG,QAAQ,CAAC,IAAI,CAAC,UAAG,OAAO,mEAAgE,CAAC,CAAC;IAC3F,CAAC;IACD,IAAI,CAAC,eAAe,EAAE,CAAC;QACtB,QAAQ,CAAC,IAAI,CAAC,UAAG,OAAO,2HAAwH,CAAC,CAAC;IACnJ,CAAC;SACI,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,EAAE,CAAC;QAC/C,QAAQ,CAAC,IAAI,CAAC,UAAG,OAAO,gEAA6D,CAAC,CAAC;IACxF,CAAC;IACD,IAAI,CAAC,aAAa,EAAE,CAAC;QACpB,QAAQ,CAAC,IAAI,CAAC,UAAG,OAAO,2HAAwH,CAAC,CAAC;IACnJ,CAAC;SACI,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,EAAE,CAAC;QAC7C,QAAQ,CAAC,IAAI,CAAC,UAAG,OAAO,8DAA2D,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED,SAAgB,wCAAwC,CACvD,KAAU,EACV,WAAsD;IAAtD,4BAAA,EAAA,gBAAsD;IAEtD,IAAM,UAAU,GAAG,yCAAyC,CAAC,KAAK,CAAC,CAAC;IACpE,IAAM,MAAM,GAAG,CAAC,UAAU,IAAI,WAAW,CAAC,KAAK,CAAC,CAAwB,CAAC;IACzE,IAAM,OAAO,GAAG,CAAC,WAAW,KAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,CAAA,IAAI,MAAM,CAAC,OAAO,IAAI,EAAE,CAAyC,CAAC;IACrH,IAAM,QAAQ,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IACrD,IAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACpL,IAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACpL,IAAM,eAAe,GAAG,sBAAsB,CAAC,eAAe,CAAC,CAAC;IAChE,IAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;IACvJ,IAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,2BAA2B,IAAI,MAAM,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAC;IAC5N,IAAM,QAAQ,GAAG,QAAQ;QACxB,CAAC,CAAC,yBAAyB,CAAC;YAC3B,OAAO,EAAE,OAA0C;YACnD,MAAM,EAAE,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,KAAI,EAAE;YAChC,eAAe,iBAAA;YACf,eAAe,iBAAA;YACf,eAAe,iBAAA;YACf,aAAa,eAAA;SACb,EAAE,OAAO,CAAC;QACX,CAAC,CAAC,EAAE,CAAC;IACN,IAAM,MAAM,GAA2C,CAAC,QAAQ;QAC/D,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,eAAe,IAAI,CAAC,eAAe,IAAI,CAAC,aAAa,CAAC;YAC7E,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,QAAQ,CAAC,MAAM;gBAChB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,QAAQ,CAAC;IACd,IAAM,MAAM,GAAG,CAAC,QAAQ,IAAI,MAAM,KAAK,QAAQ,CAAC;IAChD,OAAO;QACN,QAAQ,UAAA;QACR,MAAM,QAAA;QACN,MAAM,QAAA;QACN,6BAA6B,EAAE,QAAQ,IAAI,CAAC,MAAM;QAClD,OAAO,SAAA;QACP,eAAe,iBAAA;QACf,eAAe,iBAAA;QACf,eAAe,iBAAA;QACf,eAAe,iBAAA;QACf,aAAa,eAAA;QACb,QAAQ,UAAA;QACR,YAAY,EAAE,QAAQ,IAAI,CAAC,MAAM;YAChC,CAAC,CAAC,CAAC,kCAAkC,EAAE,0CAA0C,EAAE,wBAAwB,CAAC;YAC5G,CAAC,CAAC,EAAE;QACL,gBAAgB,EAAE,QAAQ;YACzB,CAAC,CAAC,CAAC,mCAAmC,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,sBAAsB,CAAC;YACvH,CAAC,CAAC,EAAE;KACL,CAAC;AACH,CAAC;AAED,SAAgB,wCAAwC,CACvD,KAAU,EACV,OAAqE;;IAArE,wBAAA,EAAA,YAAqE;IAErE,IAAM,UAAU,GAAG,yCAAyC,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACpF,IAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,OAAO;YACN,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,CAAC,uDAAuD,CAAC;YACnE,QAAQ,EAAE,EAAE;YACZ,iBAAiB,EAAE,KAAK;YACxB,iBAAiB,EAAE,IAAI;YACvB,eAAe,EAAE,KAAK;YACtB,gBAAgB,EAAE,CAAA,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,0CAAE,KAAK,0CAAE,OAAO,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,gBAAgB,EAArB,CAAqB,CAAC,KAAI,EAAE;YAC3F,eAAe,EAAE,CAAA,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,0CAAE,KAAK,0CAAE,OAAO,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,eAAe,EAApB,CAAoB,CAAC,KAAI,EAAE;YACzF,iBAAiB,EAAE,wCAAwC,CAAC,KAAK,CAAC;YAClE,MAAM,QAAA;YACN,UAAU,EAAE,wBAAwB;SACpC,CAAC;IACH,CAAC;IACD,IAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAM,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,EAAE,CAAC;IACvC,IAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;IACnC,IAAM,IAAI,GAAG,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrD,IAAM,gBAAgB,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,gBAAgB,KAAI,EAAE,CAAC;IACtD,IAAM,eAAe,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,eAAe,KAAI,EAAE,CAAC;IACpD,IAAM,sBAAsB,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,iBAAiB,MAAK,IAAI,CAAC;IAClE,IAAM,qBAAqB,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,sBAAsB,MAAK,IAAI,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,uBAAuB,MAAK,IAAI,CAAC;IAClH,IAAM,iBAAiB,GAAG,wCAAwC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACxF,IAAI,UAAU,CAAC,mBAAmB,IAAI,CAAC,sBAAsB,IAAI,OAAO,KAAK,qBAAqB,IAAI,OAAO,KAAK,qBAAqB,EAAE,CAAC;QACzI,QAAQ,CAAC,IAAI,CAAC,oGAAoG,CAAC,CAAC;IACrH,CAAC;IACD,IAAI,UAAU,CAAC,mBAAmB,IAAI,qBAAqB,IAAI,CAAC,UAAU,CAAC,iBAAiB,IAAI,OAAO,KAAK,qBAAqB,EAAE,CAAC;QACnI,QAAQ,CAAC,IAAI,CAAC,qGAAqG,CAAC,CAAC;IACtH,CAAC;IACD,IAAI,iBAAiB,CAAC,QAAQ,EAAE,CAAC;QAChC,QAAQ,CAAC,IAAI,OAAb,QAAQ,2BAAS,iBAAiB,CAAC,QAAQ,WAAE;IAC9C,CAAC;IACD,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;QAC9B,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,oBAAoB,EAAE,kDAAkD,CAAC,CAAC;QAC7G,mCAAmC,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC3D,CAAC;SACI,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAClC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,aAAa,EAAE,0CAA0C,CAAC,CAAC;QAC9F,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,0CAA0C,CAAC,CAAC;QACnF,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE,kDAAkD,CAAC,CAAC;QACnG,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,cAAc,EAAE,2CAA2C,CAAC,CAAC;QAChG,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,wBAAwB,EAAE,qDAAqD,CAAC,CAAC;QACpH,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,wCAAwC,CAAC,CAAC;IAC3F,CAAC;SACI,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC/B,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,0CAA0C,CAAC,CAAC;QACtF,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,oBAAoB,EAAE,8CAA8C,CAAC,CAAC;QACzG,WAAW,CAAC,QAAQ,EAAE,kBAAkB,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,kDAAkD,CAAC,CAAC;IAC7H,CAAC;SACI,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAClC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,2CAA2C,CAAC,CAAC;QACrF,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,gBAAgB,EAAE,6CAA6C,CAAC,CAAC;QACpG,WAAW,CAAC,QAAQ,EAAE,kBAAkB,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,qDAAqD,CAAC,CAAC;IAChI,CAAC;SACI,IAAI,OAAO,KAAK,oBAAoB,EAAE,CAAC;QAC3C,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,qDAAqD,CAAC,CAAC;QAChG,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,yBAAyB,EAAE,+DAA+D,CAAC,CAAC;QAC/H,WAAW,CAAC,QAAQ,EAAE,kBAAkB,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,kBAAkB,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,mFAAmF,CAAC,CAAC;IAClN,CAAC;SACI,IAAI,OAAO,KAAK,iBAAiB,EAAE,CAAC;QACxC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,qDAAqD,CAAC,CAAC;QACnG,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,sBAAsB,IAAI,UAAU,CAAC,eAAe,CAAC,EAAE,mDAAmD,CAAC,CAAC;QAChJ,WAAW,CAAC,QAAQ,EAAE,kBAAkB,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,2DAA2D,CAAC,CAAC;QACrI,WAAW,CAAC,QAAQ,EAAE,kBAAkB,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,wDAAwD,CAAC,CAAC;IAChI,CAAC;SACI,IAAI,OAAO,KAAK,kBAAkB,EAAE,CAAC;QACzC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,0BAA0B,EAAE,8DAA8D,CAAC,CAAC;QAC/H,WAAW,CAAC,QAAQ,EAAE,kBAAkB,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,4DAA4D,CAAC,CAAC;IACvI,CAAC;SACI,IAAI,OAAO,KAAK,qBAAqB,EAAE,CAAC;QAC5C,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,iBAAiB,EAAE,iDAAiD,CAAC,CAAC;QACzG,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,yBAAyB,EAAE,yDAAyD,CAAC,CAAC;IAC1H,CAAC;SACI,IAAI,OAAO,KAAK,qBAAqB,EAAE,CAAC;QAC5C,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,0BAA0B,EAAE,0DAA0D,CAAC,CAAC;QAC3H,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,8BAA8B,EAAE,8DAA8D,CAAC,CAAC;QACnI,IAAI,UAAU,CAAC,0BAA0B,IAAI,UAAU,CAAC,8BAA8B,IAAI,UAAU,CAAC,0BAA0B,KAAK,UAAU,CAAC,8BAA8B,EAAE,CAAC;YAC/K,QAAQ,CAAC,IAAI,CAAC,uFAAuF,CAAC,CAAC;QACxG,CAAC;QACD,WAAW,CAAC,QAAQ,EAAE,kBAAkB,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,wDAAwD,CAAC,CAAC;IACnI,CAAC;SACI,IAAI,OAAO,KAAK,gBAAgB,EAAE,CAAC;QACvC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,0BAA0B,EAAE,qDAAqD,CAAC,CAAC;QACtH,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC;YACpC,QAAQ,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;QACzF,CAAC;IACF,CAAC;IACD,IAAI,CAAC,IAAI,IAAI,MAAM,EAAE,CAAC;QACrB,QAAQ,CAAC,IAAI,CAAC,yBAAkB,OAAO,mEAAgE,CAAC,CAAC;IAC1G,CAAC;IACD,IAAM,sBAAsB,GAAG,OAAO,KAAK,qBAAqB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC;IAC1F,IAAM,sBAAsB,GAAG,OAAO,KAAK,qBAAqB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC;IAC1F,IAAM,iBAAiB,GAAG,sBAAsB,IAAI,sBAAsB,IAAI,CAAC,sBAAsB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,mBAAmB,KAAK,IAAI,CAAC,CAAC;IAC3K,IAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC;IACpE,IAAM,MAAM,GAA2C,QAAQ,CAAC,MAAM;QACrE,CAAC,CAAC,CAAC,qBAAqB,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC;QACrF,CAAC,CAAC,QAAQ,CAAC;IACZ,IAAM,iBAAiB,GAAG,CAAC,iBAAiB,IAAI,CAAC,UAAU,CAAC,mBAAmB,KAAK,IAAI,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,iBAAiB,MAAK,IAAI,CAAC,CAAC;IAChI,IAAM,UAAU,GAA6D,QAAQ,CAAC,IAAI,CAAC,UAAC,OAAO,IAAK,OAAA,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAA7B,CAA6B,CAAC;QACrI,CAAC,CAAC,6BAA6B;QAC/B,CAAC,CAAC,iBAAiB;YAClB,CAAC,CAAC,uBAAuB;YACzB,CAAC,CAAC,eAAe;gBAChB,CAAC,CAAC,oBAAoB;gBACtB,CAAC,CAAC,QAAQ,CAAC,MAAM;oBAChB,CAAC,CAAC,wBAAwB;oBAC1B,CAAC,CAAC,aAAa,CAAC;IACpB,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC;IAC3B,OAAO;QACN,KAAK,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC;QAC5B,MAAM,QAAA;QACN,OAAO,SAAA;QACP,QAAQ,UAAA;QACR,QAAQ,UAAA;QACR,iBAAiB,mBAAA;QACjB,iBAAiB,mBAAA;QACjB,eAAe,iBAAA;QACf,gBAAgB,kBAAA;QAChB,eAAe,iBAAA;QACf,UAAU,YAAA;QACV,iBAAiB,mBAAA;QACjB,MAAM,QAAA;QACN,UAAU,YAAA;KACV,CAAC;AACH,CAAC;AAED,SAAS,8BAA8B,CAAC,KAAkD;;IACzF,IAAM,MAAM,gBACR,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAC9B,CAAC;IACF,IAAM,YAAY,GAAG;QACpB,SAAS;QACT,QAAQ;QACR,QAAQ;QACR,SAAS;QACT,sBAAsB;QACtB,eAAe;QACf,sBAAsB;QACtB,qBAAqB;QACrB,gBAAgB;QAChB,iBAAiB;QACjB,iBAAiB;QACjB,gBAAgB;QAChB,mBAAmB;QACnB,cAAc;QACd,gBAAgB;QAChB,WAAW;QACX,mBAAmB;QACnB,gBAAgB;QAChB,0BAA0B;QAC1B,aAAa;QACb,sBAAsB;QACtB,kBAAkB;QAClB,2BAA2B;QAC3B,wBAAwB;QACxB,4BAA4B;QAC5B,gCAAgC;QAChC,iBAAiB;QACjB,iBAAiB;QACjB,iBAAiB;QACjB,eAAe;QACf,aAAa;QACb,mBAAmB;QACnB,2BAA2B;QAC3B,qBAAqB;QACrB,YAAY;KACZ,CAAC;;QACF,KAAoB,IAAA,iBAAA,SAAA,YAAY,CAAA,0CAAA,oEAAE,CAAC;YAA9B,IAAM,KAAK,yBAAA;YACf,IAAM,KAAK,GAAI,KAAa,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;gBAC1D,MAAc,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;YAChC,CAAC;QACF,CAAC;;;;;;;;;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAS,mCAAmC,CAC3C,OAA6C;IAE7C,IAAM,MAAM,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,IAAI,0BAA0B,CAAC,OAAO,CAAC,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,eAAe,CAAC,CAAC;IACvF,CAAC;IACD,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,aAAa,EAAE,aAAa,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;IACpJ,CAAC;SACI,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,eAAe,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,aAAa,CAAC,CAAC;IACrI,CAAC;SACI,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,sBAAsB,EAAE,mBAAmB,CAAC,CAAC;IAC9E,CAAC;SACI,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,mBAAmB,CAAC,CAAC;IACxE,CAAC;SACI,IAAI,OAAO,KAAK,oBAAoB,EAAE,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,2BAA2B,EAAE,wCAAwC,CAAC,CAAC;IACvG,CAAC;SACI,IAAI,OAAO,KAAK,iBAAiB,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;IACpG,CAAC;SACI,IAAI,OAAO,KAAK,kBAAkB,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,mBAAmB,CAAC,CAAC;IAChE,CAAC;SACI,IAAI,OAAO,KAAK,qBAAqB,EAAE,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,gCAAgC,EAAE,mBAAmB,CAAC,CAAC;IAClG,CAAC;SACI,IAAI,OAAO,KAAK,gBAAgB,EAAE,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IAC3C,CAAC;SACI,IAAI,OAAO,KAAK,qBAAqB,EAAE,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,2BAA2B,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,0BAA0B,CAClC,QAAsD,EACtD,KAAa;IAEb,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,OAAO,KAAK,CAAC;IACd,CAAC;IACD,IAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;IACrC,QAAQ,KAAK,EAAE,CAAC;QACf,KAAK,SAAS;YACb,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC3B,KAAK,iBAAiB;YACrB,OAAO,kBAAkB,CAAC,QAAQ,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;QAC3D,KAAK,iBAAiB;YACrB,OAAO,CAAC,CAAC,sBAAsB,CAAC,QAAQ,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;QACjE,KAAK,iBAAiB;YACrB,OAAO,kBAAkB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QACrD,KAAK,eAAe;YACnB,OAAO,kBAAkB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACnD,KAAK,sBAAsB;YAC1B,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;QACxD,KAAK,eAAe;YACnB,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QACjD,KAAK,qBAAqB;YACzB,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,IAAI,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QAClF,KAAK,iBAAiB;YACrB,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,IAAI,QAAQ,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;QACvF,KAAK,wBAAwB;YAC5B,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,sBAAsB,IAAI,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QACvF,KAAK,mBAAmB;YACvB,OAAO,kBAAkB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QACvD,KAAK,gBAAgB;YACpB,OAAO,kBAAkB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACpD,KAAK,mBAAmB;YACvB,OAAO,kBAAkB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QACvD,KAAK,wCAAwC;YAC5C,OAAO,kBAAkB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,kBAAkB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QACzG,KAAK,gBAAgB;YACpB,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QACnD,KAAK,0BAA0B;YAC9B,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;QAC5D,KAAK,aAAa;YACjB,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAChD,KAAK,sBAAsB;YAC1B,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;QACzD,KAAK,kBAAkB;YACtB,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;QACrD,KAAK,2BAA2B;YAC/B,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAC;QAC9D,KAAK,4BAA4B;YAChC,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAC;QAC9D,KAAK,gCAAgC;YACpC,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAC;QAClE,KAAK,mBAAmB;YACvB,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QACtD,KAAK,2BAA2B;YAC/B,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAC;QAC9D,KAAK,aAAa;YACjB,OAAO,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACtC,KAAK,aAAa;YACjB,OAAO,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACtC,KAAK,eAAe;YACnB,OAAO,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACxC,KAAK,uBAAuB;YAC3B,OAAO,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QAChD,KAAK,kBAAkB;YACtB,OAAO,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAC3C,KAAK,gBAAgB;YACpB,OAAO,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACzC,KAAK,iBAAiB;YACrB,OAAO,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC1C,KAAK,oBAAoB;YACxB,OAAO,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QAC7C;YACC,OAAO,KAAK,CAAC;IACf,CAAC;AACF,CAAC;AAED,SAAgB,2CAA2C,CAC1D,KAAuD;;IAAvD,sBAAA,EAAA,UAAuD;IAEvD,IAAM,MAAM,GAAG,8BAA8B,CAAC,KAAK,CAAC,CAAC;IACrD,IAAM,UAAU,GAAG,yCAAyC,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACnF,IAAM,UAAU,GAAG,wCAAwC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9F,IAAM,OAAO,GAAG,UAAU,CAAC,OAAO,KAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,CAAA,KAAI,MAAA,MAAA,KAAK,CAAC,MAAM,0CAAE,UAAU,0CAAE,kBAAkB,CAAA,IAAI,EAAE,CAAC;IAChH,IAAM,cAAc,GAAG,mCAAmC,CAAC,OAAO,CAAC,CAAC;IACpE,IAAM,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,CAAC,0BAA0B,CAAC,UAAU,EAAE,KAAK,CAAC,EAA9C,CAA8C,CAAC,CAAC;IACvG,IAAM,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,KAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,UAAU,CAAA,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;IACtF,IAAM,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,IAAI,wCAAwC,CAAC,UAAU,IAAI,MAAM,EAAE,OAAO,CAAC,CAAC;IAClI,IAAM,mBAAmB,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,qBAA8B,CAAC,CAAC,CAAC,cAAuB,CAAC;IAClH,IAAM,4BAA4B,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3G,IAAM,4BAA4B,GAAG,iBAAiB,CAAC,QAAQ,KAAK,IAAI,IAAI,4BAA4B,KAAK,IAAI,CAAC;IAClH,IAAM,iBAAiB,GAAG,UAAU,CAAC,KAAK,KAAK,IAAI,IAAI,UAAU,CAAC,eAAe,KAAK,IAAI,IAAI,4BAA4B,KAAK,IAAI,CAAC;IACpI,IAAM,oBAAoB,GAAG,UAAU,CAAC,KAAK,KAAK,IAAI,IAAI,UAAU,CAAC,eAAe,KAAK,IAAI,IAAI,kBAAkB,CAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,iBAAiB,CAAC,CAAC;IACnJ,OAAO;QACN,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,iBAAU,oCAAoC,CAAC,UAAG,OAAO,cAAI,iBAAiB,CAAC,eAAe,cAAI,UAAU,CAAE,CAAC,CAAE;QAC7J,UAAU,YAAA;QACV,UAAU,EAAE,SAAS,CAAC,KAAK,CAAC,UAAU,IAAI,SAAS,EAAE,GAAG,CAAC;QACzD,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,IAAI,SAAS,EAAE,EAAE,CAAC;QAChD,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC;QACrC,OAAO,SAAA;QACP,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,UAAU,EAAE,UAAU,CAAC,UAAU;QACjC,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,eAAe,EAAE,UAAU,CAAC,eAAe;QAC3C,iBAAiB,EAAE,UAAU,CAAC,iBAAiB;QAC/C,iBAAiB,EAAE,UAAU,CAAC,iBAAiB;QAC/C,cAAc,gBAAA;QACd,aAAa,eAAA;QACb,QAAQ,EAAE,UAAU;QACpB,UAAU,YAAA;QACV,eAAe,EAAE,iBAAiB,CAAC,eAAe;QAClD,eAAe,EAAE,iBAAiB,CAAC,eAAe;QAClD,eAAe,EAAE,iBAAiB,CAAC,eAAe;QAClD,aAAa,EAAE,iBAAiB,CAAC,aAAa;QAC9C,oBAAoB,EAAE,iBAAiB,CAAC,QAAQ;QAChD,uBAAuB,EAAE,iBAAiB,CAAC,MAAM;QACjD,iBAAiB,EAAE,iBAAiB,CAAC,MAAM;QAC3C,mBAAmB,qBAAA;QACnB,qBAAqB,EAAE,mBAAmB;QAC1C,4BAA4B,8BAAA;QAC5B,+BAA+B,EAAE,4BAA4B;QAC7D,4BAA4B,8BAAA;QAC5B,gCAAgC,EAAE,4BAA4B;QAC9D,iBAAiB,mBAAA;QACjB,mBAAmB,EAAE,iBAAiB;QACtC,6BAA6B,EAAE,iBAAiB,CAAC,6BAA6B;QAC9E,iBAAiB,mBAAA;QACjB,mBAAmB,EAAE,UAAU,CAAC,KAAK,KAAK,IAAI,IAAI,UAAU,CAAC,UAAU,KAAK,oBAAoB;QAChG,oBAAoB,sBAAA;QACpB,0BAA0B,EAAE,oBAAoB;QAChD,4BAA4B,EAAE,oBAAoB;KAClD,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAc,EAAE,IAAc,EAAE,GAAS,EAAE,IAA4B;;IAAvC,oBAAA,EAAA,SAAS;IAAE,qBAAA,EAAA,WAAW,OAAO,EAAU;;QACnG,KAAqB,IAAA,YAAA,SAAA,OAAO,CAAA,gCAAA,qDAAE,CAAC;YAA1B,IAAM,MAAM,oBAAA;YAChB,IAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACrD,SAAS;YACV,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;;gBACjB,KAAkB,IAAA,wBAAA,SAAA,IAAI,CAAA,CAAA,0BAAA,4CAAE,CAAC;oBAApB,IAAM,GAAG,iBAAA;oBACb,IAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;oBAC1C,IAAI,KAAK,EAAE,CAAC;wBACX,OAAO,KAAK,CAAC;oBACd,CAAC;gBACF,CAAC;;;;;;;;;;gBACD,KAAwB,IAAA,oBAAA,SAAA,CAAC,UAAU,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,qBAAqB,CAAC,CAAA,CAAA,gBAAA,4BAAE,CAAC;oBAA3M,IAAM,SAAS,WAAA;oBACnB,IAAM,WAAW,GAAG,mBAAmB,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;oBAC9E,IAAI,WAAW,EAAE,CAAC;wBACjB,OAAO,WAAW,CAAC;oBACpB,CAAC;gBACF,CAAC;;;;;;;;;QACF,CAAC;;;;;;;;;IACD,OAAO,EAAE,CAAC;AACX,CAAC;AAED,SAAS,4BAA4B,CAAC,QAAoD;IACzF,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACX,CAAC;IACD,OAAO;QACN,qCAAqC;QACrC,yBAAkB,QAAQ,CAAC,UAAU,CAAE;QACvC,4DAAqD,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAE;QAC3G,wCAAiC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAE;QAC5E,QAAQ,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC,yCAAkC,QAAQ,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAE,CAAC,CAAC,CAAC,EAAE;QAChI,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,kCAA2B,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAE,CAAC,CAAC,CAAC,EAAE;QAC/F,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,sCAA+B,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAE,CAAC,CAAC,CAAC,EAAE;QACzG,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,8BAAuB,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAE,CAAC,CAAC,CAAC,EAAE;QACpG,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,+BAAwB,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAE,CAAC,CAAC,CAAC,EAAE;QACvG,2FAA2F;QAC3F,uMAAuM;KACvM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED,SAAgB,+CAA+C,CAC9D,KAA2D;;IAA3D,sBAAA,EAAA,UAA2D;IAE3D,IAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC7C,IAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,cAAc,IAAI,QAAQ,CAAC,eAAe,IAAI,QAAQ,CAAC;IACzK,IAAM,UAAU,GAAG,wCAAwC,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAChG,IAAM,YAAY,GAAG,KAAK,CAAC,YAAY,IAAI,SAAS,CAAC;IACrD,IAAM,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,IAAI,wCAAwC,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IACjI,IAAM,OAAO,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAG,YAAoB,aAApB,YAAY,uBAAZ,YAAY,CAAU,iBAAiB,EAAG,YAAoB,aAApB,YAAY,uBAAZ,YAAY,CAAU,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;IAC5J,IAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,cAAc,IAAI,QAAQ,CAAC,eAAe,IAAI,oBAAoB,EAAE,GAAG,CAAC,CAAC;IAC9I,IAAM,oBAAoB,GAAG,sDAAsD,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjG,IAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,KAAK,IAAI;WACvC,oBAAoB;WACpB,iBAAiB,CAAC,QAAQ,KAAK,IAAI;WACnC,CAAA,MAAA,UAAU,CAAC,iBAAiB,0CAAE,QAAQ,MAAK,IAAI;WAC/C,CAAA,MAAC,YAAoB,aAApB,YAAY,uBAAZ,YAAY,CAAU,iBAAiB,0CAAE,QAAQ,MAAK,IAAI;WAC3D,CAAA,MAAC,YAAoB,aAApB,YAAY,uBAAZ,YAAY,CAAU,mBAAmB,0CAAE,QAAQ,MAAK,IAAI;WAC7D,CAAA,MAAA,KAAK,CAAC,MAAM,0CAAE,eAAe,MAAK,IAAI,CAAC;IAC3C,IAAM,eAAe,GAAG,iBAAiB,CAAC,eAAe,IAAI,mBAAmB,CAAC,OAAO,EAAE,CAAC,iBAAiB,EAAE,mBAAmB,EAAE,WAAW,EAAE,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC;IACpK,IAAM,eAAe,GAAG,iBAAiB,CAAC,eAAe,IAAI,mBAAmB,CAAC,OAAO,EAAE,CAAC,iBAAiB,EAAE,mBAAmB,EAAE,WAAW,EAAE,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC;IACpK,IAAM,eAAe,GAAG,iBAAiB,CAAC,eAAe,IAAI,mBAAmB,CAAC,OAAO,EAAE,CAAC,iBAAiB,EAAE,mBAAmB,EAAE,cAAc,EAAE,eAAe,CAAC,EAAE,GAAG,CAAC,CAAC;IAC1K,IAAM,aAAa,GAAG,iBAAiB,CAAC,aAAa,IAAI,mBAAmB,CAAC,OAAO,EAAE,CAAC,eAAe,EAAE,iBAAiB,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,GAAG,CAAC,CAAC;IAC9J,IAAM,YAAY,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC;IACzD,IAAM,UAAU,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC;IACrD,IAAM,eAAe,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC;IAC5D,IAAM,YAAY,GAAG,sBAAsB,CAAC,eAAe,CAAC,CAAC;IAC7D,IAAM,eAAe,GAAG,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,eAAe,IAAI,YAAY,KAAK,eAAe,CAAC,WAAW,EAAE,CAAC,CAAC;IAC/G,IAAM,2BAA2B,GAAG,SAAS,CAAC,QAAQ,CAAC,wBAAwB,IAAI,QAAQ,CAAC,2BAA2B,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAClI,IAAM,2BAA2B,GAAG,iBAAiB,CAAC,QAAQ,KAAK,IAAI;WACnE,QAAQ,CAAC,kBAAkB,KAAK,qBAAqB;WACrD,QAAQ,CAAC,mBAAmB,KAAK,qBAAqB;WACtD,QAAQ,CAAC,2BAA2B,KAAK,IAAI;WAC7C,QAAQ,CAAC,8BAA8B,KAAK,IAAI;WAChD,2BAA2B,CAAC,IAAI,CAAC,UAAC,KAAK,IAAK,OAAA,gEAAgE,CAAC,IAAI,CAAC,KAAK,CAAC,EAA5E,CAA4E,CAAC,CAAC;IAC9H,IAAM,kBAAkB,GAAG,2BAA2B,CAAC,CAAC,CAAC,qBAA8B,CAAC,CAAC,CAAC,cAAuB,CAAC;IAClH,IAAM,wBAAwB,GAAG;QAChC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB;QACxC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB;QACxC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,wBAAwB;QAC5C,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,sBAAsB;KACxC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClB,IAAM,iBAAiB,GAAG,QAAQ,CAAC,CAAC,CAAC,wBAAwB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,KAAK,IAAI,CAAC;IAC/G,IAAM,4BAA4B,GAAG,2BAA2B,CAAC,CAAC,CAAC,iBAAiB,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACrG,IAAM,4BAA4B,GAAG,QAAQ,IAAI,iBAAiB,KAAK,IAAI,CAAC;IAC5E,IAAM,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,KAAK,IAAI;WACtD,kBAAkB,CAAC,MAAA,UAAU,CAAC,UAAU,0CAAE,iBAAiB,CAAC;WAC5D,CAAC,YAAoB,aAApB,YAAY,uBAAZ,YAAY,CAAU,cAAc,MAAK,IAAI,CAAC;IACnD,IAAM,qBAAqB,GAAG,QAAQ,IAAI,CAAC,QAAQ,CAAC,qBAAqB,KAAK,IAAI,IAAI,QAAQ,CAAC,wBAAwB,KAAK,IAAI,IAAI,oBAAoB,IAAI,CAAC,YAAoB,aAApB,YAAY,uBAAZ,YAAY,CAAU,MAAM,MAAK,wBAAwB,CAAC,CAAC;IACxN,IAAM,gBAAgB,GAAG,QAAQ,IAAI,iBAAiB,KAAK,IAAI,IAAI,qBAAqB,KAAK,IAAI,CAAC;IAClG,IAAM,iBAAiB,GAAG,QAAQ,IAAI,4BAA4B,KAAK,IAAI,IAAI,qBAAqB,KAAK,IAAI,CAAC;IAC9G,IAAM,0BAA0B,GAAG,QAAQ;QAC1C,CAAC,CAAC,4BAA4B,KAAK,IAAI,IAAI,UAAU,CAAC,KAAK,KAAK,IAAI,IAAI,iBAAiB,KAAK,IAAI;QAClG,CAAC,CAAC,IAAI,CAAC;IACR,IAAI,MAAM,GAA6C,cAAc,CAAC;IACtE,IAAI,QAAQ,IAAI,4BAA4B,EAAE,CAAC;QAC9C,MAAM,GAAG,0BAA0B,CAAC;IACrC,CAAC;SACI,IAAI,QAAQ,IAAI,UAAU,CAAC,KAAK,IAAI,iBAAiB,EAAE,CAAC;QAC5D,MAAM,GAAG,wBAAwB,CAAC;IACnC,CAAC;SACI,IAAI,QAAQ,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACvC,MAAM,GAAG,wBAAwB,CAAC;IACnC,CAAC;SACI,IAAI,QAAQ,EAAE,CAAC;QACnB,MAAM,GAAG,uBAAuB,CAAC;IAClC,CAAC;IACD,IAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,WAAW,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC;QAC5G,yCAAyC;QACzC,kCAAkC;QAClC,wBAAwB;QACxB,8CAA8C;QAC9C,8BAA8B;QAC9B,6BAA6B;KAC7B,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClB,IAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,IAAI,QAAQ,CAAC,eAAe,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC;QACxH,iBAAiB;QACjB,iBAAiB;QACjB,wBAAwB;QACxB,sBAAsB;QACtB,iBAAiB;QACjB,2BAA2B;QAC3B,mBAAmB;KACnB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClB,IAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,IAAI,QAAQ,CAAC,iBAAiB,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE,UAAU,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACjM,IAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,IAAI,QAAQ,CAAC,gBAAgB,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC;QAC3H,sDAAsD;QACtD,+DAA+D;QAC/D,sEAAsE;QACtE,yEAAyE;KACzE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClB,IAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,IAAI,QAAQ,CAAC,iBAAiB,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC;QAC9H,gJAAgJ;QAChJ,gFAAgF;QAChF,6EAA6E;KAC7E,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClB,IAAM,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;IACrD,IAAM,SAAS,GAAG,eAAe,CAAC,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC;IACpF,IAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,YAAoB,aAApB,YAAY,uBAAZ,YAAY,CAAU,MAAM,CAAA,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IACnI,IAAM,UAAU,GAAG,SAAS,CAAC,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC;WAC1E,4BAAqB,oCAAoC,CAAC;YAC5D,MAAM;YACN,MAAM;YACN,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;YACpB,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;SACtB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAE,CAAC;IAC9B,IAAM,cAAc,GAAG,CAAC,QAAQ;QAC/B,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,4BAA4B;YAC7B,CAAC,CAAC,kCAAkC;YACpC,CAAC,CAAC,UAAU,CAAC,KAAK;gBACjB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,6BAA6B,CAAC;gBACjF,CAAC,CAAC,8CAA8C,CAAC;IACpD,IAAM,iBAAiB,GAAG;QACzB,QAAQ,UAAA;QACR,kBAAkB,EAAE,4BAA4B;QAChD,MAAM,EAAE,iBAAiB;QACzB,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QAChD,eAAe,iBAAA;QACf,eAAe,iBAAA;QACf,eAAe,iBAAA;QACf,aAAa,eAAA;QACb,aAAa,EAAE,wBAAwB;QACvC,eAAe,EAAE,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,sBAAsB,CAAC;QACzG,WAAW,EAAE,4BAA4B,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,wBAAwB;KACzG,CAAC;IACF,IAAM,QAAQ,GAAG;QAChB,UAAU,YAAA;QACV,WAAW,EAAE,UAAU;QACvB,SAAS,WAAA;QACT,UAAU,EAAE,SAAS;QACrB,SAAS,EAAE,GAAG;QACd,UAAU,EAAE,GAAG;QACf,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,IAAI,8BAA8B,EAAE,GAAG,CAAC;QACzF,QAAQ,UAAA;QACR,MAAM,QAAA;QACN,MAAM,QAAA;QACN,MAAM,QAAA;QACN,qBAAqB,uBAAA;QACrB,wBAAwB,EAAE,qBAAqB;QAC/C,gBAAgB,kBAAA;QAChB,kBAAkB,EAAE,gBAAgB;QACpC,4BAA4B,8BAAA;QAC5B,gCAAgC,EAAE,4BAA4B;QAC9D,kBAAkB,oBAAA;QAClB,mBAAmB,EAAE,kBAAkB;QACvC,2BAA2B,6BAAA;QAC3B,8BAA8B,EAAE,2BAA2B;QAC3D,4BAA4B,8BAAA;QAC5B,+BAA+B,EAAE,4BAA4B;QAC7D,iBAAiB,mBAAA;QACjB,mBAAmB,EAAE,iBAAiB;QACtC,0BAA0B,4BAAA;QAC1B,4BAA4B,EAAE,0BAA0B;QACxD,iBAAiB,mBAAA;QACjB,mBAAmB,EAAE,iBAAiB;QACtC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,CAAC,QAAiB,CAAC,CAAC,CAAC,SAAkB;QAC7E,mBAAmB,EAAE,iBAAiB,CAAC,CAAC,CAAC,QAAiB,CAAC,CAAC,CAAC,SAAkB;QAC/E,eAAe,iBAAA;QACf,iBAAiB,EAAE,eAAe;QAClC,eAAe,iBAAA;QACf,iBAAiB,EAAE,eAAe;QAClC,eAAe,iBAAA;QACf,iBAAiB,EAAE,eAAe;QAClC,aAAa,eAAA;QACb,eAAe,EAAE,aAAa;QAC9B,wBAAwB,0BAAA;QACxB,2BAA2B,EAAE,wBAAwB;QACrD,cAAc,gBAAA;QACd,gBAAgB,EAAE,cAAc;QAChC,UAAU,YAAA;QACV,WAAW,EAAE,UAAU;QACvB,cAAc,gBAAA;QACd,eAAe,EAAE,cAAc;QAC/B,gBAAgB,kBAAA;QAChB,iBAAiB,EAAE,gBAAgB;QACnC,eAAe,iBAAA;QACf,gBAAgB,EAAE,eAAe;QACjC,gBAAgB,kBAAA;QAChB,iBAAiB,EAAE,gBAAgB;QACnC,iBAAiB,mBAAA;QACjB,mBAAmB,EAAE,iBAAiB;QACtC,iBAAiB,wBACb,iBAAiB,KACpB,QAAQ,UAAA,EACR,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,QAAiB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAkB,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAC1G,6BAA6B,EAAE,4BAA4B,EAC3D,eAAe,iBAAA,EACf,eAAe,iBAAA,EACf,eAAe,iBAAA,EACf,aAAa,eAAA,GACb;QACD,mBAAmB,wBACf,iBAAiB,KACpB,QAAQ,UAAA,EACR,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,QAAiB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAkB,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAC1G,6BAA6B,EAAE,4BAA4B,EAC3D,eAAe,iBAAA,EACf,eAAe,iBAAA,EACf,eAAe,iBAAA,EACf,aAAa,eAAA,GACb;QACD,UAAU,YAAA;QACV,YAAY,cAAA;QACZ,YAAY,EAAE,EAAE;QAChB,aAAa,EAAE,EAAE;KACjB,CAAC;IACF,QAAQ,CAAC,YAAY,GAAG,4BAA4B,CAAC,QAAQ,CAAC,CAAC;IAC/D,QAAQ,CAAC,aAAa,GAAG,QAAQ,CAAC,YAAY,CAAC;IAC/C,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED,SAAgB,0CAA0C,CACzD,KAAqD;;;IAArD,sBAAA,EAAA,UAAqD;IAErD,IAAM,UAAU,GAAG,wCAAwC,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACtG,IAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,IAAI,SAAS,CAAC;IACrE,IAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAI,MAAA,UAAU,CAAC,UAAU,0CAAE,yBAAyB,CAAA,EAAE,IAAI,CAAC,CAAC;IACzI,IAAM,kBAAkB,GAAG,oCAAoC,CAAC,WAAW,IAAI,UAAG,UAAU,CAAC,OAAO,cAAI,UAAU,CAAC,MAAM,cAAI,UAAU,CAAC,UAAU,CAAE,CAAC,CAAC;IACtJ,IAAM,YAAY,4BAAO,UAAU,CAAC,QAAQ,SAAC,CAAC;IAC9C,IAAM,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,IAAI,wCAAwC,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IACvI,IAAM,sBAAsB,GAAG,iBAAiB,CAAC,6BAA6B;WAC1E,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAC,OAAO,IAAK,OAAA,qFAAqF,CAAC,IAAI,CAAC,OAAO,CAAC,EAAnG,CAAmG,CAAC,CAAC;IAC/I,IAAM,eAAe,GAAG,KAAK,CAAC,eAAe,KAAK,IAAI,CAAC;IACvD,IAAM,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,KAAK,IAAI;WACtD,kBAAkB,CAAC,MAAA,UAAU,CAAC,UAAU,0CAAE,iBAAiB,CAAC,CAAC;IACjE,IAAI,MAAM,GAA+C,UAAU,CAAC,UAAU,CAAC;IAC/E,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,IAAI,gBAAgB,GAAG,UAAU,CAAC,iBAAiB,CAAC;IACpD,IAAI,sBAAsB,GAAG,KAAK,CAAC;IACnC,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAM,YAAY,GAAa,EAAE,CAAC;IAElC,IAAI,iBAAiB,CAAC,6BAA6B,EAAE,CAAC;QACrD,MAAM,GAAG,wBAAwB,CAAC;QAClC,MAAM,GAAG,iBAAiB,CAAC,QAAQ,CAAC,MAAM;YACzC,CAAC,CAAC,mFAA4E,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAE;YACrH,CAAC,CAAC,6KAA6K,CAAC;QACjL,YAAY,CAAC,IAAI,OAAjB,YAAY,yCAAS,iBAAiB,CAAC,YAAY,YAAE,iCAAiC,WAAE;;YACxF,KAAsB,IAAA,KAAA,SAAA,iBAAiB,CAAC,QAAQ,CAAA,gBAAA,4BAAE,CAAC;gBAA9C,IAAM,OAAO,WAAA;gBACjB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;oBACrC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC5B,CAAC;YACF,CAAC;;;;;;;;;IACF,CAAC;SACI,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,UAAU,CAAC,MAAM,KAAK,SAAS,IAAI,UAAU,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;QACrG,MAAM,GAAG,UAAU,CAAC,UAAU,KAAK,6BAA6B;YAC/D,CAAC,CAAC,6BAA6B;YAC/B,CAAC,CAAC,wBAAwB,CAAC;QAC5B,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM;YAClC,CAAC,CAAC,2CAAoC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAE;YACtE,CAAC,CAAC,yHAAyH,CAAC;QAC7H,IAAI,sBAAsB,EAAE,CAAC;YAC5B,YAAY,CAAC,IAAI,CAAC,kCAAkC,EAAE,0CAA0C,CAAC,CAAC;QACnG,CAAC;QACD,YAAY,CAAC,IAAI,CAAC,wBAAwB,EAAE,iCAAiC,CAAC,CAAC;IAChF,CAAC;SACI,IAAI,UAAU,CAAC,iBAAiB,EAAE,CAAC;QACvC,MAAM,GAAG,uBAAuB,CAAC;QACjC,gBAAgB,GAAG,IAAI,CAAC;QACxB,MAAM,GAAG,sJAAsJ,CAAC;QAChK,YAAY,CAAC,IAAI,CAAC,uBAAuB,EAAE,6CAA6C,EAAE,sBAAsB,CAAC,CAAC;IACnH,CAAC;SACI,IAAI,eAAe,EAAE,CAAC;QAC1B,MAAM,GAAG,aAAa,CAAC;QACvB,UAAU,GAAG,IAAI,CAAC;QAClB,MAAM,GAAG,kIAAkI,CAAC;QAC5I,YAAY,CAAC,IAAI,CAAC,kCAAkC,EAAE,0BAA0B,CAAC,CAAC;IACnF,CAAC;SACI,IAAI,UAAU,CAAC,eAAe,IAAI,iBAAiB,EAAE,CAAC;QAC1D,MAAM,GAAG,iBAAiB,CAAC;QAC3B,cAAc,GAAG,IAAI,CAAC;QACtB,MAAM,GAAG,sGAAsG,CAAC;QAChH,YAAY,CAAC,IAAI,CAAC,yBAAyB,EAAE,4BAA4B,CAAC,CAAC;IAC5E,CAAC;SACI,IAAI,UAAU,CAAC,eAAe,EAAE,CAAC;QACrC,MAAM,GAAG,oBAAoB,CAAC;QAC9B,sBAAsB,GAAG,IAAI,CAAC;QAC9B,MAAM,GAAG,uFAAuF,CAAC;QACjG,YAAY,CAAC,IAAI,CAAC,yBAAyB,EAAE,4BAA4B,CAAC,CAAC;IAC5E,CAAC;SACI,CAAC;QACL,MAAM,GAAG,aAAa,CAAC;QACvB,UAAU,GAAG,IAAI,CAAC;QAClB,MAAM,GAAG,4GAA4G,CAAC;QACtH,YAAY,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;QAC5D,YAAY,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IACvD,CAAC;IAED,OAAO;QACN,MAAM,QAAA;QACN,cAAc,gBAAA;QACd,gBAAgB,kBAAA;QAChB,sBAAsB,wBAAA;QACtB,UAAU,YAAA;QACV,MAAM,QAAA;QACN,QAAQ,EAAE,YAAY;QACrB,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;QAC7C,eAAe,EAAE,UAAU,CAAC,eAAe;QAC3C,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;QAC/C,YAAY,cAAA;QACZ,kBAAkB,oBAAA;QAClB,iBAAiB,mBAAA;QACjB,UAAU,YAAA;QACV,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;KAC7B,CAAC;AACJ,CAAC;AAED,SAAgB,yCAAyC,CACxD,KAAqD;IAArD,sBAAA,EAAA,UAAqD;IAErD,IAAM,UAAU,GAAG,yCAAyC,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3F,IAAM,UAAU,GAAG,wCAAwC,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACtG,IAAM,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,IAAI,wCAAwC,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IACvI,IAAM,MAAM,GAAG,CAAC,CAAC,UAAU,IAAI,iBAAiB,CAAC,QAAQ,KAAK,IAAI,CAAC;IACnE,IAAM,oBAAoB,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAC,OAAO,IAAK,OAAA,qFAAqF,CAAC,IAAI,CAAC,OAAO,CAAC,EAAnG,CAAmG,CAAC,CAAC;IAC1K,IAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,wCAC/B,CAAC,iBAAiB,CAAC,QAAQ,IAAI,EAAE,CAAC,kBAClC,oBAAoB,UACtB,CAAC,CAAC;IACJ,IAAM,OAAO,GAAG,MAAM,IAAI,CACzB,iBAAiB,CAAC,6BAA6B,KAAK,IAAI;WACrD,CAAC,iBAAiB,CAAC,QAAQ,KAAK,IAAI,IAAI,iBAAiB,CAAC,MAAM,KAAK,IAAI,CAAC;WAC1E,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAClC,CAAC;IACF,IAAM,YAAY,GAAG,OAAO;QAC3B,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,wCAChB,CAAC,iBAAiB,CAAC,YAAY,IAAI,EAAE,CAAC;YACzC,kCAAkC;YAClC,0CAA0C;YAC1C,wBAAwB;kBACvB,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;IACN,OAAO;QACN,MAAM,QAAA;QACN,OAAO,SAAA;QACP,MAAM,EAAE,OAAO;YACd,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM;gBACjB,CAAC,CAAC,gFAAyE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAE;gBAChG,CAAC,CAAC,6KAA6K,CAAC;YACjL,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,yCAAyC,CAAC,CAAC,CAAC,mCAAmC,CAAC;QAC7F,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,UAAU;QAC3D,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,iBAAiB,CAAC,OAAO,IAAI,EAAE;QAC9D,QAAQ,UAAA;QACR,YAAY,cAAA;QACZ,gBAAgB,EAAE,iBAAiB,CAAC,gBAAgB;QACpD,iBAAiB,mBAAA;QACjB,UAAU,YAAA;KACV,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAa;IAC5C,OAAO,oFAAoF,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACzG,CAAC;AAED,SAAS,6BAA6B,CAAC,KAAa;IACnD,OAAO,yHAAyH,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9I,CAAC;AAED,SAAS,0BAA0B,CAAC,MAAkD;IACrF,IAAI,MAAM,KAAK,wBAAwB,EAAE,CAAC;QACzC,OAAO,CAAC,gCAAgC,EAAE,4BAA4B,EAAE,0BAA0B,CAAC,CAAC;IACrG,CAAC;IACD,IAAI,MAAM,KAAK,wBAAwB,EAAE,CAAC;QACzC,OAAO,CAAC,kCAAkC,EAAE,yBAAyB,EAAE,kCAAkC,CAAC,CAAC;IAC5G,CAAC;IACD,IAAI,MAAM,KAAK,yBAAyB,EAAE,CAAC;QAC1C,OAAO,CAAC,mCAAmC,EAAE,yBAAyB,EAAE,mCAAmC,CAAC,CAAC;IAC9G,CAAC;IACD,IAAI,MAAM,KAAK,qBAAqB,EAAE,CAAC;QACtC,OAAO,CAAC,4BAA4B,EAAE,gCAAgC,EAAE,8BAA8B,CAAC,CAAC;IACzG,CAAC;IACD,IAAI,MAAM,KAAK,wCAAwC,EAAE,CAAC;QACzD,OAAO,CAAC,iCAAiC,EAAE,uBAAuB,EAAE,gCAAgC,CAAC,CAAC;IACvG,CAAC;IACD,IAAI,MAAM,KAAK,sBAAsB,EAAE,CAAC;QACvC,OAAO,CAAC,gCAAgC,EAAE,6BAA6B,EAAE,uBAAuB,CAAC,CAAC;IACnG,CAAC;IACD,OAAO,CAAC,wCAAwC,EAAE,gCAAgC,EAAE,yBAAyB,CAAC,CAAC;AAChH,CAAC;AAED,SAAS,UAAU,CAClB,EAAU,EACV,KAAa,EACb,OAAwC,EACxC,OAMM;IANN,wBAAA,EAAA,YAMM;IAEN,OAAO;QACN,EAAE,IAAA;QACF,KAAK,OAAA;QACL,OAAO,SAAA;QACP,aAAa,EAAE,OAAO,CAAC,aAAa,KAAK,IAAI;QAC7C,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,KAAK,IAAI;QACvD,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,EAAE;QAChD,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,EAAE;QAC9C,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE;KAClC,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B,CAAC,KAKpC;IACA,IAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,IAAI,QAAQ,EAAE,EAAE,CAAC;SACtD,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC;IACtC,IAAM,gBAAgB,GAAG;QACxB,8CAA8C;QAC9C,qDAAqD;QACrD,2DAA2D;KAC3D,CAAC;IACF,IAAI,KAAK,CAAC,MAAM,KAAK,wBAAwB,EAAE,CAAC;QAC/C,OAAO;YACN,MAAM,EAAE,UAAG,OAAO,4BAAyB;YAC3C,KAAK,EAAE,wBAAwB;YAC/B,kBAAkB,EAAE,kBAAkB;YACtC,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,iBAAiB,EAAE,IAAI;YACvB,KAAK,EAAE;gBACN,UAAU,CAAC,2BAA2B,EAAE,2BAA2B,EAAE,kBAAkB,EAAE;oBACxF,aAAa,EAAE,IAAI;oBACnB,gBAAgB,EAAE,CAAC,0CAA0C,CAAC;oBAC9D,eAAe,EAAE,CAAC,iDAAiD,CAAC;iBACpE,CAAC;aACF;YACD,kBAAkB,EAAE,gBAAgB;YACpC,kBAAkB,EAAE,CAAC,+BAA+B,EAAE,2CAA2C,CAAC;SAClG,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,wCAAwC,EAAE,CAAC;QAC/D,OAAO;YACN,MAAM,EAAE,UAAG,OAAO,4CAAyC;YAC3D,KAAK,EAAE,wCAAwC;YAC/C,kBAAkB,EAAE,qBAAqB;YACzC,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,iBAAiB,EAAE,KAAK;YACxB,KAAK,EAAE;gBACN,UAAU,CAAC,iCAAiC,EAAE,iCAAiC,EAAE,qBAAqB,EAAE;oBACvG,aAAa,EAAE,IAAI;oBACnB,kBAAkB,EAAE,IAAI;oBACxB,gBAAgB,EAAE,CAAC,qEAAqE,CAAC;oBACzF,eAAe,EAAE,CAAC,sCAAsC,CAAC;iBACzD,CAAC;aACF;YACD,kBAAkB,EAAE;gBACnB,mCAAmC;gBACnC,wCAAwC;gBACxC,gCAAgC;aAChC;YACD,kBAAkB,EAAE,CAAC,0CAA0C,EAAE,oBAAoB,CAAC;SACtF,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,sBAAsB,EAAE,CAAC;QAC7C,OAAO;YACN,MAAM,EAAE,UAAG,OAAO,0BAAuB;YACzC,KAAK,EAAE,sBAAsB;YAC7B,kBAAkB,EAAE,gBAAgB;YACpC,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,iBAAiB,EAAE,IAAI;YACvB,KAAK,EAAE;gBACN,UAAU,CAAC,+BAA+B,EAAE,mCAAmC,EAAE,gBAAgB,EAAE;oBAClG,aAAa,EAAE,KAAK;oBACpB,gBAAgB,EAAE,CAAC,8BAA8B,EAAE,kCAAkC,CAAC;oBACtF,eAAe,EAAE,CAAC,iDAAiD,CAAC;iBACpE,CAAC;aACF;YACD,kBAAkB,EAAE,CAAC,6BAA6B,EAAE,sCAAsC,CAAC;YAC3F,kBAAkB,EAAE,CAAC,yCAAyC,EAAE,iCAAiC,CAAC;SAClG,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,qBAAqB,EAAE,CAAC;QAC5C,OAAO;YACN,MAAM,EAAE,UAAG,OAAO,yBAAsB;YACxC,KAAK,EAAE,qBAAqB;YAC5B,kBAAkB,EAAE,qBAAqB;YACzC,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,iBAAiB,EAAE,KAAK;YACxB,KAAK,EAAE;gBACN,UAAU,CAAC,4BAA4B,EAAE,4BAA4B,EAAE,qBAAqB,EAAE;oBAC7F,gBAAgB,EAAE,CAAC,8BAA8B,EAAE,+CAA+C,CAAC;oBACnG,eAAe,EAAE,CAAC,oDAAoD,CAAC;iBACvE,CAAC;aACF;YACD,kBAAkB,EAAE,CAAC,gCAAgC,EAAE,8CAA8C,CAAC;YACtG,kBAAkB,EAAE,CAAC,8BAA8B,EAAE,+BAA+B,CAAC;SACrF,CAAC;IACH,CAAC;IACD,OAAO;QACN,MAAM,EAAE,UAAG,OAAO,cAAI,KAAK,CAAC,MAAM,CAAE;QACpC,KAAK,EAAE,KAAK,CAAC,MAAM,KAAK,wBAAwB;YAC/C,CAAC,CAAC,wBAAwB;YAC1B,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,yBAAyB;gBAC3C,CAAC,CAAC,yBAAyB;gBAC3B,CAAC,CAAC,yBAAyB;QAC7B,kBAAkB,EAAE,KAAK,CAAC,MAAM,KAAK,yBAAyB;YAC7D,CAAC,CAAC,kBAAkB;YACpB,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,WAAW;QAC1D,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,iBAAiB,EAAE,IAAI;QACvB,KAAK,EAAE;YACN,UAAU,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,WAAW,EAAE;gBAC/D,aAAa,EAAE,IAAI;gBACnB,gBAAgB,EAAE,CAAC,oFAAoF,EAAE,iBAAiB,EAAE,8CAA8C,EAAE,uCAAuC,CAAC;gBACpN,eAAe,EAAE,CAAC,8BAA8B,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,+CAA+C,CAAC;aACpJ,CAAC;YACF,UAAU,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,YAAY,EAAE;gBAClE,gBAAgB,EAAE,CAAC,oFAAoF,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,sCAAsC,CAAC;gBACpM,eAAe,EAAE,CAAC,8BAA8B,EAAE,sBAAsB,EAAE,4CAA4C,EAAE,kBAAkB,CAAC;aAC3I,CAAC;YACF,UAAU,CAAC,2BAA2B,EAAE,wCAAwC,EAAE,QAAQ,EAAE;gBAC3F,aAAa,EAAE,IAAI;gBACnB,gBAAgB,EAAE,CAAC,oFAAoF,EAAE,6CAA6C,EAAE,iCAAiC,CAAC;gBAC1L,eAAe,EAAE,CAAC,8BAA8B,EAAE,2BAA2B,EAAE,6CAA6C,CAAC;aAC7H,CAAC;SACF;QACD,kBAAkB,EAAE,gBAAgB;QACpC,kBAAkB,EAAE;YACnB,0EAA0E;YAC1E,qDAAqD;YACrD,oEAAoE;YACpE,4CAA4C;SAC5C;KACD,CAAC;AACH,CAAC;AAED,SAAgB,+CAA+C,CAC9D,KAA2D;IAA3D,sBAAA,EAAA,UAA2D;IAE3D,IAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,IAAI,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC1D,IAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;IACxD,IAAM,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IAC1D,IAAM,gBAAgB,GAAG,SAAS,CAAC,KAAK,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;IAChE,IAAM,iBAAiB,GAAG,SAAS,CAAC,KAAK,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;IAClE,IAAM,qBAAqB,GAAG,SAAS,CAAC,KAAK,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;IAC1E,IAAM,kBAAkB,GAAG,SAAS,CAAC,KAAK,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;IACpE,IAAM,sBAAsB,GAAG,SAAS,CAAC,KAAK,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;IAC5E,IAAM,sBAAsB,GAAG,CAAC,CAAC,iBAAiB,IAAI,CAAC,CAAC,qBAAqB,IAAI,iBAAiB,KAAK,qBAAqB,CAAC;IAC7H,IAAM,6BAA6B,GAAG,CAAC,CAAC,kBAAkB,IAAI,CAAC,CAAC,sBAAsB,IAAI,kBAAkB,KAAK,sBAAsB,CAAC;IACxI,IAAM,cAAc,GAAG,CAAC,YAAY,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACpG,IAAM,sBAAsB,GAAG,sBAAsB;WACjD,KAAK,CAAC,WAAW,KAAK,IAAI;WAC1B,6BAA6B,CAAC,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3F,IAAM,uBAAuB,GAAG,6BAA6B;WACzD,KAAK,CAAC,YAAY,KAAK,IAAI;WAC3B,sBAAsB,CAAC,aAAa,CAAC;WACrC,6BAA6B,CAAC,aAAa,CAAC,CAAC;IACjD,IAAI,iBAAiB,GAA+C,yBAAyB,CAAC;IAC9F,IAAI,KAAK,GAAG,yBAAyB,CAAC;IACtC,IAAI,MAAM,GAAG,sIAAsI,CAAC;IACpJ,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B,IAAI,KAAK,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;QACjC,iBAAiB,GAAG,wBAAwB,CAAC;QAC7C,KAAK,GAAG,wBAAwB,CAAC;QACjC,MAAM,GAAG,kGAAkG,CAAC;IAC7G,CAAC;SACI,IAAI,sBAAsB,EAAE,CAAC;QACjC,iBAAiB,GAAG,wBAAwB,CAAC;QAC7C,KAAK,GAAG,wBAAwB,CAAC;QACjC,MAAM,GAAG,iIAAiI,CAAC;IAC5I,CAAC;SACI,IAAI,uBAAuB,EAAE,CAAC;QAClC,iBAAiB,GAAG,yBAAyB,CAAC;QAC9C,KAAK,GAAG,yBAAyB,CAAC;QAClC,MAAM,GAAG,2JAA2J,CAAC;IACtK,CAAC;SACI,IAAI,CAAC,sBAAsB,IAAI,KAAK,CAAC,WAAW,KAAK,IAAI,CAAC,IAAI,CAAC,6BAA6B,IAAI,KAAK,CAAC,YAAY,KAAK,IAAI,CAAC,EAAE,CAAC;QACnI,iBAAiB,GAAG,qBAAqB,CAAC;QAC1C,KAAK,GAAG,qBAAqB,CAAC;QAC9B,MAAM,GAAG,KAAK,CAAC,YAAY,KAAK,IAAI;YACnC,CAAC,CAAC,kIAAkI;YACpI,CAAC,CAAC,yHAAyH,CAAC;QAC7H,iBAAiB,GAAG,IAAI,CAAC;IAC1B,CAAC;SACI,IAAI,KAAK,CAAC,cAAc,KAAK,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5D,iBAAiB,GAAG,sBAAsB,CAAC;QAC3C,KAAK,GAAG,sBAAsB,CAAC;QAC/B,MAAM,GAAG,mHAAmH,CAAC;IAC9H,CAAC;SACI,IAAI,KAAK,CAAC,cAAc,KAAK,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QAC3D,iBAAiB,GAAG,wCAAwC,CAAC;QAC7D,KAAK,GAAG,wCAAwC,CAAC;QACjD,MAAM,GAAG,6FAA6F,CAAC;QACvG,iBAAiB,GAAG,IAAI,CAAC;IAC1B,CAAC;IACD,IAAM,cAAc,GAAG,0BAA0B,CAAC,iBAAiB,CAAC,CAAC;IACrE,IAAM,UAAU,GAAG,2BAA2B,CAAC;QAC9C,MAAM,EAAE,iBAAiB;QACzB,OAAO,SAAA;QACP,MAAM,QAAA;QACN,cAAc,gBAAA;KACd,CAAC,CAAC;IACH,OAAO;QACN,MAAM,EAAE,cAAc;QACtB,OAAO,SAAA;QACP,iBAAiB,mBAAA;QACjB,KAAK,OAAA;QACL,MAAM,QAAA;QACN,eAAe,EAAE,iBAAiB,KAAK,wCAAwC,IAAI,iBAAiB,KAAK,qBAAqB;QAC9H,iBAAiB,mBAAA;QACjB,sBAAsB,wBAAA;QACtB,uBAAuB,yBAAA;QACvB,2BAA2B,EAAE,IAAI;QACjC,4BAA4B,EAAE,IAAI;QAClC,QAAQ,EAAE;YACT,MAAM,EAAE,YAAY;YACpB,OAAO,EAAE,aAAa;YACtB,UAAU,EAAE,gBAAgB;SAC5B;QACD,YAAY,EAAE;YACb,OAAO,EAAE,iBAAiB;YAC1B,IAAI,EAAE,qBAAqB;YAC3B,WAAW,EAAE,sBAAsB;YACnC,cAAc,EAAE,kBAAkB;YAClC,WAAW,EAAE,sBAAsB;YACnC,kBAAkB,EAAE,6BAA6B;SACjD;QACD,UAAU,YAAA;QACV,cAAc,gBAAA;QACd,gBAAgB,EAAE;YACjB,oDAAoD;YACpD,sDAAsD;YACtD,wDAAwD;YACxD,4DAA4D;YAC5D,gGAAgG;SAChG;QACD,gBAAgB,EAAE;YACjB,iDAAiD;YACjD,wCAAwC;YACxC,yEAAyE;YACzE,kFAAkF;YAClF,0EAA0E;SAC1E;KACD,CAAC;AACH,CAAC;AAED,SAAgB,oCAAoC,CACnD,KAAsH;;IAEtH,IAAM,eAAe,GAAG,OAAO,KAAK,KAAK,QAAQ;QAChD,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE;QAC3B,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACjB,IAAM,cAAc,GAAG,SAAS,CAAC,eAAe,CAAC,cAAc,KAAI,MAAA,eAAe,CAAC,SAAS,0CAAE,cAAc,CAAA,EAAE,GAAG,CAAC,CAAC;IACnH,IAAM,gBAAgB,GAAG,MAAA,eAAe,CAAC,SAAS,0CAAE,OAAO,CAAC;IAC5D,IAAM,kBAAkB,GAAG,MAAA,eAAe,CAAC,MAAM,0CAAE,YAAY,CAAC;IAChE,IAAM,oBAAoB,GAAG,CAAA,MAAA,eAAe,CAAC,SAAS,0CAAE,mBAAmB,MAAK,IAAI;WAChF,CAAA,MAAA,eAAe,CAAC,SAAS,0CAAE,oBAAoB,MAAK,IAAI;WACxD,CAAA,MAAA,eAAe,CAAC,MAAM,0CAAE,oBAAoB,MAAK,IAAI,CAAC;IAC1D,IAAM,qBAAqB,GAAG,CAAA,MAAA,eAAe,CAAC,SAAS,0CAAE,oBAAoB,MAAK,IAAI;WAClF,CAAA,MAAA,eAAe,CAAC,SAAS,0CAAE,qBAAqB,MAAK,IAAI;WACzD,CAAA,MAAA,eAAe,CAAC,MAAM,0CAAE,qBAAqB,MAAK,IAAI,CAAC;IAC3D,IAAI,CAAC,cAAc,IAAI,cAAc,KAAK,aAAa,EAAE,CAAC;QACzD,OAAO,KAAK,CAAC;IACd,CAAC;IACD,IAAI,gBAAgB,KAAK,KAAK,IAAI,kBAAkB,KAAK,KAAK,EAAE,CAAC;QAChE,OAAO,KAAK,CAAC;IACd,CAAC;IACD,IAAI;QACH,oBAAoB;QACpB,yBAAyB;QACzB,kBAAkB;QAClB,oBAAoB;KACpB,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACb,CAAC;IACD,IAAI,cAAc,KAAK,oBAAoB,EAAE,CAAC;QAC7C,OAAO,eAAe,CAAC,oBAAoB,KAAK,KAAK,CAAC;IACvD,CAAC;IACD,IAAI,cAAc,KAAK,6BAA6B,EAAE,CAAC;QACtD,OAAO,eAAe,CAAC,4BAA4B,KAAK,KAAK,IAAI,oBAAoB,KAAK,IAAI,CAAC;IAChG,CAAC;IACD,IAAI,cAAc,KAAK,+BAA+B,EAAE,CAAC;QACxD,OAAO,eAAe,CAAC,0BAA0B,KAAK,IAAI;eACtD,oBAAoB,KAAK,IAAI;eAC7B,qBAAqB,KAAK,IAAI,CAAC;IACpC,CAAC;IACD,IAAI,cAAc,KAAK,6BAA6B,EAAE,CAAC;QACtD,OAAO,eAAe,CAAC,oBAAoB,KAAK,IAAI;eAChD,oBAAoB,KAAK,IAAI;eAC7B,qBAAqB,KAAK,IAAI,CAAC;IACpC,CAAC;IACD,OAAO,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,eAAe,CAAC;AAC3E,CAAC;AAED,SAAS,MAAM,CAAC,KAAqB;IACpC,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;IACD,IAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;IACpD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC;IAC7B,CAAC;IACD,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACjC,CAAC;AAED,SAAS,UAAU,CAAC,MAAc,EAAE,KAAU;IAC7C,IAAM,UAAU,GAAG,OAAO,KAAK,KAAK,QAAQ;QAC3C,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;QACzB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAC/B,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC3D,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,UAAG,MAAM,cAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,GAAG,CAAE,CAAC;AAC1D,CAAC;AAED,SAAgB,uCAAuC,CAAC,KAAU;IACjE,IAAM,UAAU,GAAG,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC;SACrC,WAAW,EAAE;SACb,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAI,yEAAyE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAChG,OAAO,OAAO,CAAC;IAChB,CAAC;IACD,IAAI,yDAAyD,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAChF,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAI,kDAAkD,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACzE,OAAO,UAAU,CAAC;IACnB,CAAC;IACD,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAChC,CAAC;AAED,SAAgB,oCAAoC,CAAC,KAAU;IAC9D,IAAM,UAAU,GAAG,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC;SACvC,WAAW,EAAE;SACb,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC;SACjC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC;SAC7B,OAAO,CAAC,iBAAiB,EAAE,UAAU,CAAC;SACtC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC;SACnC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE,CAAC;IACT,OAAO,UAAU,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,2CAA2C,CACnD,MAAmD,EACnD,QAAc;IAEd,IAAM,WAAW,GAAG,SAAS,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,MAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,CAAA,EAAE,IAAI,CAAC,CAAC;IACxE,IAAI,WAAW,EAAE,CAAC;QACjB,OAAO,oCAAoC,CAAC,WAAW,CAAC,CAAC;IAC1D,CAAC;IACD,IAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,kBAAkB,EAAE,GAAG,CAAC,CAAC;IAC5D,IAAI,QAAQ,EAAE,CAAC;QACd,OAAO,QAAQ,CAAC;IACjB,CAAC;IACD,OAAO,oCAAoC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED,SAAgB,8BAA8B,CAAC,MAAmD;IACjG,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAO,UAAU,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,IAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;IACrD,IAAI,QAAQ,EAAE,CAAC;QACd,OAAO,QAAQ,CAAC;IACjB,CAAC;IACD,OAAO,UAAU,CAAC,cAAc,EAAE;QACjC,YAAY,EAAE,uCAAuC,CAAC,MAAM,CAAC,YAAY,CAAC;QAC1E,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC;QAC1D,YAAY,EAAE,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE;QAC5D,aAAa,EAAE,SAAS,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE;KAC9D,CAAC,CAAC;AACJ,CAAC;AAED,SAAgB,yCAAyC,CACxD,KAAgD;IAEhD,IAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,IAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;IACpC,IAAM,kBAAkB,GAAG,2CAA2C,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAChG,IAAM,YAAY,GAAG,8BAA8B,CAAC,OAAO,CAAC,CAAC;IAC7D,IAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAC9D,IAAM,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAChE,IAAM,QAAQ,GAAG,KAAK,CAAC,kBAAkB,CAAC;IAC1C,IAAM,kBAAkB,GAAG,QAAQ;WAC/B,QAAQ,CAAC,aAAa,KAAK,IAAI,CAAC,aAAa;WAC7C,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;WAC3B,QAAQ,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ;WACnC,QAAQ,CAAC,kBAAkB,KAAK,kBAAkB;WAClD,QAAQ,CAAC,YAAY,KAAK,YAAY,CAAC;IAC3C,IAAM,QAAQ,GAAG,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1F,IAAM,MAAM,GAA+C,IAAI,CAAC,aAAa,KAAK,gBAAgB;QACjG,CAAC,CAAC,gBAAgB;QAClB,CAAC,CAAC,IAAI,CAAC,aAAa,KAAK,4BAA4B;YACpD,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,IAAI,CAAC,aAAa,KAAK,qBAAqB;gBAC7C,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,QAAQ,CAAC;IACd,IAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAM,YAAY,GAAG,UAAU,CAAC,cAAc,EAAE;QAC/C,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,kBAAkB,oBAAA;QAClB,YAAY,cAAA;KACZ,CAAC,CAAC;IACH,OAAO;QACN,YAAY,cAAA;QACZ,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,MAAM,QAAA;QACN,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;QAC/C,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;QACjD,QAAQ,UAAA;QACR,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;QACjD,kBAAkB,oBAAA;QAClB,YAAY,cAAA;QACZ,YAAY,cAAA;QACZ,aAAa,eAAA;QACb,gBAAgB,EAAE,SAAS,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,EAAE,GAAG,CAAC;QAC3D,iBAAiB,EAAE,SAAS,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,EAAE,GAAG,CAAC;QAC7D,gBAAgB,EAAE,SAAS,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,EAAE,GAAG,CAAC;QAC3D,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;QAC1C,eAAe,EAAE,SAAS,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,CAAC;QACrD,SAAS,EAAE,kBAAkB,KAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,SAAS,CAAA,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG;QAC/E,SAAS,EAAE,GAAG;KACd,CAAC;AACH,CAAC;AAED,SAAS,6BAA6B,CACrC,EAAU,EACV,IAAqD,EACrD,KAAa,EACb,SAAiB,EACjB,mBAA2B,EAC3B,aAAqB,EACrB,OAAoG;IAApG,wBAAA,EAAA,YAAoG;IAEpG,2BACC,EAAE,IAAA,EACF,IAAI,MAAA,EACJ,KAAK,OAAA,EACL,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,EACrC,QAAQ,EAAE,OAAO,CAAC,QAAQ,KAAK,KAAK,IACjC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACpF,mBAAmB,EAAE,SAAS,CAAC,mBAAmB,EAAE,GAAG,CAAC,EACxD,aAAa,EAAE,SAAS,CAAC,aAAa,EAAE,GAAG,CAAC,IAC3C;AACH,CAAC;AAED,SAAS,6BAA6B,CACrC,UAAgD;IAEhD,IAAM,IAAI,GAAG;QACZ,6BAA6B,CAC5B,0BAA0B,EAC1B,iBAAiB,EACjB,0BAA0B,EAC1B,qHAAqH,EACrH,sCAAsC,EACtC,sFAAsF,CACtF;KACD,CAAC;IACF,IAAI,UAAU,CAAC,aAAa,KAAK,gBAAgB,IAAI,UAAU,CAAC,aAAa,KAAK,oBAAoB,EAAE,CAAC;QACxG,8CACI,IAAI;YACP,6BAA6B,CAC5B,uCAAuC,EACvC,qBAAqB,EACrB,uCAAuC,EACvC,UAAU,CAAC,aAAa,KAAK,oBAAoB;gBAChD,CAAC,CAAC,4GAA4G;gBAC9G,CAAC,CAAC,+IAA+I,EAClJ,uCAAuC,EACvC,8FAA8F,CAC9F;YACD,6BAA6B,CAC5B,yBAAyB,EACzB,qBAAqB,EACrB,yBAAyB,EACzB,iIAAiI,EACjI,qCAAqC,EACrC,iEAAiE,CACjE;kBACA;IACH,CAAC;IACD,IAAI,UAAU,CAAC,aAAa,KAAK,cAAc,EAAE,CAAC;QACjD,8CACI,IAAI;YACP,6BAA6B,CAC5B,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,iHAAiH,EACjH,qCAAqC,EACrC,wEAAwE,EACxE,EAAE,WAAW,EAAE,wDAAwD,EAAE,CACzE;kBACA;IACH,CAAC;IACD,IAAI,UAAU,CAAC,aAAa,KAAK,gBAAgB,EAAE,CAAC;QACnD,8CACI,IAAI;YACP,6BAA6B,CAC5B,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,4FAA4F,EAC5F,6BAA6B,EAC7B,oDAAoD,EACpD,EAAE,WAAW,EAAE,wDAAwD,EAAE,CACzE;kBACA;IACH,CAAC;IACD,IAAI,UAAU,CAAC,aAAa,KAAK,yBAAyB,EAAE,CAAC;QAC5D,8CACI,IAAI;YACP,6BAA6B,CAC5B,2BAA2B,EAC3B,oBAAoB,EACpB,2BAA2B,EAC3B,2JAA2J,EAC3J,kDAAkD,EAClD,yDAAyD,CACzD;YACD,6BAA6B,CAC5B,6BAA6B,EAC7B,oBAAoB,EACpB,6BAA6B,EAC7B,yGAAyG,EACzG,uCAAuC,EACvC,mFAAmF,CACnF;kBACA;IACH,CAAC;IACD,IAAI,UAAU,CAAC,aAAa,KAAK,uBAAuB,IAAI,UAAU,CAAC,aAAa,KAAK,qBAAqB,EAAE,CAAC;QAChH,8CACI,IAAI;YACP,6BAA6B,CAC5B,0BAA0B,EAC1B,oBAAoB,EACpB,0BAA0B,EAC1B,0FAA0F,EAC1F,yCAAyC,EACzC,sFAAsF,CACtF;YACD,6BAA6B,CAC5B,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,qGAAqG,EACrG,iCAAiC,EACjC,kFAAkF,CAClF;kBACA;IACH,CAAC;IACD,IAAI,UAAU,CAAC,aAAa,KAAK,gBAAgB,EAAE,CAAC;QACnD,8CACI,IAAI;YACP,6BAA6B,CAC5B,wBAAwB,EACxB,gBAAgB,EAChB,wBAAwB,EACxB,sGAAsG,EACtG,qCAAqC,EACrC,wFAAwF,CACxF;kBACA;IACH,CAAC;IACD,IAAI,UAAU,CAAC,aAAa,KAAK,gBAAgB,EAAE,CAAC;QACnD,8CACI,IAAI;YACP,6BAA6B,CAC5B,4BAA4B,EAC5B,iBAAiB,EACjB,4BAA4B,EAC5B,kHAAkH,EAClH,sCAAsC,EACtC,yEAAyE,CACzE;kBACA;IACH,CAAC;IACD,8CACI,IAAI;QACP,6BAA6B,CAC5B,+BAA+B,EAC/B,iBAAiB,EACjB,+BAA+B,EAC/B,kGAAkG,EAClG,gCAAgC,EAChC,uEAAuE,CACvE;cACA;AACH,CAAC;AAED,SAAgB,4CAA4C,CAC3D,KAAmD;IAEnD,IAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IACpC,IAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAM,KAAK,GAAG,6BAA6B,CAAC,UAAU,CAAC,CAAC;IACxD,IAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK;SAChD,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,QAAQ,EAAb,CAAa,CAAC;SAC/B,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,mBAAmB,EAAxB,CAAwB,CAAC;SACvC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,OAAO;QACN,OAAO,EAAE,UAAU,CAAC,WAAW,EAAE;YAChC,YAAY,EAAE,UAAU,CAAC,YAAY;YACrC,aAAa,EAAE,UAAU,CAAC,aAAa;YACvC,YAAY,EAAE,UAAU,CAAC,YAAY;YACrC,kBAAkB,EAAE,UAAU,CAAC,kBAAkB;SACjD,CAAC;QACF,YAAY,EAAE,UAAU,CAAC,YAAY;QACrC,aAAa,EAAE,UAAU,CAAC,aAAa;QACvC,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,SAAS,EAAE,UAAU,CAAC,MAAM,KAAK,QAAQ;YACxC,CAAC,CAAC,yEAAyE;YAC3E,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC;QACxC,YAAY,EAAE,UAAU,CAAC,MAAM,KAAK,QAAQ;eACxC,UAAU,CAAC,aAAa,KAAK,gBAAgB;eAC7C,UAAU,CAAC,aAAa,KAAK,oBAAoB;eACjD,UAAU,CAAC,aAAa,KAAK,cAAc;eAC3C,UAAU,CAAC,aAAa,KAAK,gBAAgB;eAC7C,UAAU,CAAC,aAAa,KAAK,gBAAgB;QACjD,oBAAoB,EAAE,UAAU,CAAC,oBAAoB,IAAI,UAAU,CAAC,MAAM,KAAK,QAAQ;QACvF,qBAAqB,EAAE,UAAU,CAAC,qBAAqB,IAAI,UAAU,CAAC,MAAM,KAAK,QAAQ;QACzF,kBAAkB,EAAE,UAAU,CAAC,YAAY;QAC3C,kBAAkB,EAAE,UAAU,CAAC,kBAAkB;QACjD,KAAK,OAAA;QACL,iBAAiB,mBAAA;QACjB,kBAAkB,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,qDACnC,UAAU,CAAC,gBAAgB,kBAC3B,UAAU,CAAC,iBAAiB,kBAC5B,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,aAAa,EAAlB,CAAkB,CAAC,UACzC,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,EAArB,CAAqB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QACtE,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,uCAC/B,UAAU,CAAC,gBAAgB;YAC9B,sBAAsB;YACtB,sBAAsB;YACtB,0DAA0D;kBACzD,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,EAArB,CAAqB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QACtE,iBAAiB,EAAE,UAAU,CAAC,iBAAiB;QAC/C,SAAS,EAAE,GAAG;KACd,CAAC;AACH,CAAC;AAED,SAAS,yBAAyB,CACjC,UAAgD;IAEhD,IAAI,UAAU,CAAC,MAAM,KAAK,gBAAgB,IAAI,UAAU,CAAC,aAAa,KAAK,gBAAgB,EAAE,CAAC;QAC7F,OAAO,eAAe,CAAC;IACxB,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,KAAK,UAAU,IAAI,UAAU,CAAC,aAAa,KAAK,qBAAqB,EAAE,CAAC;QAC5F,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,KAAK,QAAQ,IAAI,UAAU,CAAC,aAAa,KAAK,4BAA4B,EAAE,CAAC;QACjG,OAAO,kBAAkB,CAAC;IAC3B,CAAC;IACD,IAAI,UAAU,CAAC,aAAa,KAAK,gBAAgB,IAAI,UAAU,CAAC,aAAa,KAAK,oBAAoB,EAAE,CAAC;QACxG,OAAO,qBAAqB,CAAC;IAC9B,CAAC;IACD,IAAI,UAAU,CAAC,aAAa,KAAK,cAAc,EAAE,CAAC;QACjD,OAAO,cAAc,CAAC;IACvB,CAAC;IACD,IAAI,UAAU,CAAC,aAAa,KAAK,gBAAgB,EAAE,CAAC;QACnD,OAAO,gBAAgB,CAAC;IACzB,CAAC;IACD,IAAI,UAAU,CAAC,aAAa,KAAK,yBAAyB,EAAE,CAAC;QAC5D,OAAO,yBAAyB,CAAC;IAClC,CAAC;IACD,IAAI,UAAU,CAAC,aAAa,KAAK,uBAAuB,EAAE,CAAC;QAC1D,OAAO,2BAA2B,CAAC;IACpC,CAAC;IACD,IAAI,UAAU,CAAC,aAAa,KAAK,gBAAgB,EAAE,CAAC;QACnD,OAAO,gBAAgB,CAAC;IACzB,CAAC;IACD,IAAI,UAAU,CAAC,aAAa,KAAK,qBAAqB,EAAE,CAAC;QACxD,OAAO,yBAAyB,CAAC;IAClC,CAAC;IACD,OAAO,eAAe,CAAC;AACxB,CAAC;AAED,SAAS,sBAAsB,CAAC,IAA8C,EAAE,UAAgD;IAC/H,IAAM,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;IAC5D,IAAI,QAAQ,IAAI,IAAI,KAAK,kBAAkB,EAAE,CAAC;QAC7C,OAAO,QAAQ,CAAC;IACjB,CAAC;IACD,IAAM,MAAM,GAA6D;QACxE,OAAO,EAAE,sBAAsB;QAC/B,gBAAgB,EAAE,sBAAsB;QACxC,mBAAmB,EAAE,6BAA6B;QAClD,YAAY,EAAE,mBAAmB;QACjC,cAAc,EAAE,qBAAqB;QACrC,uBAAuB,EAAE,yBAAyB;QAClD,yBAAyB,EAAE,uBAAuB;QAClD,cAAc,EAAE,qBAAqB;QACrC,uBAAuB,EAAE,qBAAqB;QAC9C,aAAa,EAAE,eAAe;QAC9B,aAAa,EAAE,uBAAuB;KACtC,CAAC;IACF,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC;AAED,SAAS,0BAA0B,CAClC,IAA8C,EAC9C,KAA8C;IAE9C,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACd,CAAC;IACD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;QACpD,OAAO,IAAI,CAAC;IACb,CAAC;IACD,IAAI,IAAI,KAAK,yBAAyB,IAAI,IAAI,KAAK,qBAAqB,IAAI,IAAI,KAAK,yBAAyB,IAAI,IAAI,KAAK,2BAA2B,EAAE,CAAC;QACxJ,OAAO,IAAI,CAAC;IACb,CAAC;IACD,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,EAAzH,CAAyH,CAAC,CAAC;AAC9J,CAAC;AAED,SAAS,4BAA4B,CAAC,IAA8C;;IACnF,IAAM,GAAG,GAA6D;QACrE,OAAO,EAAE,CAAC;QACV,gBAAgB,EAAE,IAAI;QACtB,mBAAmB,EAAE,CAAC;QACtB,YAAY,EAAE,GAAG;QACjB,cAAc,EAAE,GAAG;QACnB,uBAAuB,EAAE,CAAC;QAC1B,yBAAyB,EAAE,GAAG;QAC9B,cAAc,EAAE,IAAI;QACpB,uBAAuB,EAAE,CAAC;QAC1B,aAAa,EAAE,CAAC;QAChB,aAAa,EAAE,CAAC;KAChB,CAAC;IACF,OAAO,MAAA,GAAG,CAAC,IAAI,CAAC,mCAAI,CAAC,CAAC;AACvB,CAAC;AAED,SAAS,qCAAqC,CAAC,IAA8C;IAC5F,IAAM,GAAG,GAA6D;QACrE,OAAO,EAAE,uEAAuE;QAChF,gBAAgB,EAAE,uFAAuF;QACzG,mBAAmB,EAAE,uEAAuE;QAC5F,YAAY,EAAE,uFAAuF;QACrG,cAAc,EAAE,wFAAwF;QACxG,uBAAuB,EAAE,gEAAgE;QACzF,yBAAyB,EAAE,8EAA8E;QACzG,cAAc,EAAE,0FAA0F;QAC1G,uBAAuB,EAAE,sEAAsE;QAC/F,aAAa,EAAE,wCAAwC;QACvD,aAAa,EAAE,kDAAkD;KACjE,CAAC;IACF,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,+DAA+D,CAAC;AACrF,CAAC;AAED,SAAS,6CAA6C,CAAC,IAA8C;IACpG,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,eAAe,IAAI,IAAI,KAAK,eAAe,CAAC;AACnF,CAAC;AAED,SAAS,0BAA0B,CAAC,KAKnC;IACA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;QACzB,gCAAyB,KAAK,CAAC,cAAc,6BAA0B;QACvE,KAAK,CAAC,uBAAuB;cAC1B,CAAC,6CAA6C,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,kEAAkE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,kBACvI,KAAK,CAAC,QAAQ,UAChB,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,EAArB,CAAqB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,6BAA6B,CAAC,MAA8D;IACpG,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAO,EAAE,CAAC;IACX,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,qDACtB,MAAM,CAAC,cAAc,kBACrB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;QAC5B,yCAAyC;QACzC,kCAAkC;QAClC,iCAAiC;QACjC,kDAAkD;KAClD,CAAC,CAAC,CAAC,EAAE,CAAC;QACP,8BAA8B;QAC9B,yBAAyB;cACxB,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,EAArB,CAAqB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,+BAA+B,CAAC,MAA8D;;IACtG,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAO,EAAE,CAAC;IACX,CAAC;IACD,IAAM,YAAY,GAAG,CAAC,CAAA,MAAA,MAAM,CAAC,UAAU,0CAAE,KAAK,KAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,gBAAgB,IAAI,EAAE,EAA3B,CAA2B,CAAC,CAAC;IACrG,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,qDACtB,MAAM,CAAC,gBAAgB,kBACvB,YAAY,kBACZ,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;QAC5B,mCAAmC;QACnC,0BAA0B;QAC1B,qEAAqE;QACrE,mEAAmE;KACnE,CAAC,CAAC,CAAC,EAAE,CAAC,UACN,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,EAArB,CAAqB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,8BAA8B,CAAC,MAA8D;;IACrG,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAO,EAAE,CAAC;IACX,CAAC;IACD,IAAM,YAAY,GAAG,CAAC,CAAA,MAAA,MAAM,CAAC,UAAU,0CAAE,KAAK,KAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,eAAe,IAAI,EAAE,EAA1B,CAA0B,CAAC,CAAC;IACpG,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,qDACtB,CAAC,CAAA,MAAA,MAAM,CAAC,UAAU,0CAAE,kBAAkB,KAAI,EAAE,CAAC,kBAC7C,YAAY,kBACZ,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,4DAA4D,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,UAChG,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,EAArB,CAAqB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACxE,CAAC;AAED,SAAgB,2CAA2C,CAC1D,KAAkD;IAElD,IAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IACpC,IAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,4CAA4C,CAAC;QACzE,UAAU,YAAA;QACV,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,GAAG,EAAE,KAAK,CAAC,GAAG;KACd,CAAC,CAAC;IACH,IAAM,IAAI,GAAG,yBAAyB,CAAC,UAAU,CAAC,CAAC;IACnD,IAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,EAAE,KAAK,0BAA0B,EAAvD,CAAuD,CAAC;WACnG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,QAAQ,EAAb,CAAa,CAAC;WACzC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnB,IAAM,YAAY,GAAG,KAAK,CAAC,YAAY,IAAI,IAAI,KAAK,kBAAkB,IAAI,IAAI,KAAK,cAAc,IAAI,IAAI,KAAK,gBAAgB,IAAI,IAAI,KAAK,gBAAgB,CAAC;IAC5J,IAAM,kBAAkB,GAAG,IAAI,KAAK,kBAAkB;WAClD,UAAU,CAAC,MAAM,KAAK,QAAQ;WAC9B,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,qBAAqB,CAAC;IAC5D,IAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,uCAChC,KAAK,CAAC,cAAc,kBACpB,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,6DAA6D,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,UAC7F,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,EAArB,CAAqB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACvE,IAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,qDACrC,UAAU,CAAC,iBAAiB,kBAC5B,KAAK,CAAC,iBAAiB,kBACvB,CAAC,kBAAkB,CAAC,CAAC,CAAC;QACxB,2IAA2I;QAC3I,iDAAiD;KACjD,CAAC,CAAC,CAAC,EAAE,CAAC,UACN,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,EAArB,CAAqB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACvE,IAAM,YAAY,GAAG,KAAK,CAAC,KAAK;SAC9B,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,SAAS,CAAC,IAAI,CAAC,WAAW,IAAI,UAAG,IAAI,CAAC,IAAI,cAAI,IAAI,CAAC,EAAE,CAAE,EAAE,GAAG,CAAC,EAA7D,CAA6D,CAAC;SAC5E,MAAM,CAAC,OAAO,CAAC;SACf,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACf,IAAM,aAAa,GAAG,IAAI,KAAK,gBAAgB;QAC9C,CAAC,CAAC,+CAA+C,CAAC;YACjD,OAAO,EAAE,kBAAkB;YAC3B,YAAY,EAAE,UAAU,CAAC,QAAQ;YACjC,aAAa,EAAE,UAAU,CAAC,IAAI;SAC9B,CAAC;QACF,CAAC,CAAC,SAAS,CAAC;IACb,IAAM,mBAAmB,GAAG,6BAA6B,CAAC,aAAa,CAAC,CAAC;IACzE,IAAM,uBAAuB,GAAG,+BAA+B,CAAC,aAAa,CAAC,CAAC;IAC/E,IAAM,sBAAsB,GAAG,8BAA8B,CAAC,aAAa,CAAC,CAAC;IAC7E,IAAM,qBAAqB,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC1D,IAAM,uBAAuB,GAAG,qCAAqC,CAAC,IAAI,CAAC,CAAC;IAC5E,IAAM,+BAA+B,GAAG,6CAA6C,CAAC,IAAI,CAAC,CAAC;IAC5F,IAAM,YAAY,GAAG,0BAA0B,CAAC;QAC/C,IAAI,MAAA;QACJ,cAAc,EAAE,qBAAqB;QACrC,uBAAuB,yBAAA;QACvB,QAAQ,UAAA;KACR,CAAC,CAAC;IACH,IAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,oCACC,QAAQ,EAAE,UAAU,CAAC,YAAY,EAAE;YAClC,YAAY,EAAE,UAAU,CAAC,YAAY;YACrC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,IAAI,MAAA;YACJ,YAAY,EAAE,UAAU,CAAC,YAAY;YACrC,kBAAkB,EAAE,UAAU,CAAC,kBAAkB;SACjD,CAAC,EACF,YAAY,EAAE,UAAU,CAAC,YAAY,EACrC,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,aAAa,EAAE,UAAU,CAAC,aAAa,EACvC,IAAI,MAAA,EACJ,gBAAgB,EAAE,IAAI,EACtB,qBAAqB,uBAAA,EACrB,KAAK,EAAE,sBAAsB,CAAC,IAAI,EAAE,UAAU,CAAC,EAC/C,IAAI,EAAE,UAAU,CAAC,IAAI,EACrB,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAC7B,eAAe,EAAE,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,KAAI,MAAM,EAC5C,SAAS,EAAE,IAAI,KAAK,kBAAkB;YACrC,CAAC,CAAC,KAAK,CAAC,SAAS;YACjB,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,EAC3D,YAAY,cAAA,EACZ,YAAY,EAAE,0BAA0B,CAAC,IAAI,EAAE,KAAK,CAAC,EACrD,oBAAoB,EAAE,UAAU,CAAC,oBAAoB,IAAI,CAAC,YAAY,IAAI,UAAU,CAAC,MAAM,KAAK,QAAQ,EACxG,qBAAqB,EAAE,UAAU,CAAC,qBAAqB,IAAI,UAAU,CAAC,MAAM,KAAK,QAAQ,EACzF,cAAc,EAAE,4BAA4B,CAAC,IAAI,CAAC,EAClD,uBAAuB,yBAAA,EACvB,+BAA+B,iCAAA,EAC/B,yBAAyB,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC,EACnD,qBAAqB,EAAE,UAAU,CAAC,qBAAqB,EACvD,iBAAiB,EAAE,aAAa;YAC/B,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,wCAAK,KAAK,CAAC,iBAAiB,kBAAK,uBAAuB,UAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YAC5F,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EACvC,YAAY,EAAE,aAAa;YAC1B,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,wCAAK,YAAY,kBAAK,mBAAmB,UAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YAC7E,CAAC,CAAC,YAAY,EACf,eAAe,EAAE,aAAa;YAC7B,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,wCAAK,KAAK,CAAC,kBAAkB,kBAAK,sBAAsB,UAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YAC5F,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EACxC,YAAY,cAAA,EACZ,WAAW,EAAE;YACZ,mBAAmB,EAAE,UAAU,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,KAAK,eAAe;YAC/E,kBAAkB,oBAAA;YAClB,aAAa,eAAA;YACb,QAAQ,UAAA;SACR,IACE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,eAAA,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GACxC,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,0EAA0E,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACrI,SAAS,EAAE,GAAG,IACb;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,IAA8C;IAC5E,IAAM,GAAG,GAAqG;QAC7G,OAAO,EAAE,SAAS;QAClB,gBAAgB,EAAE,oBAAoB;QACtC,mBAAmB,EAAE,yBAAyB;QAC9C,YAAY,EAAE,kBAAkB;QAChC,cAAc,EAAE,oBAAoB;QACpC,uBAAuB,EAAE,6BAA6B;QACtD,yBAAyB,EAAE,+BAA+B;QAC1D,cAAc,EAAE,oBAAoB;QACpC,uBAAuB,EAAE,6BAA6B;QACtD,aAAa,EAAE,aAAa;QAC5B,aAAa,EAAE,eAAe;KAC9B,CAAC;IACF,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC;AACnC,CAAC;AAED,SAAS,2BAA2B,CACnC,MAA8C,EAC9C,cAA8D,EAC9D,MAAsD,EACtD,MAAc,EACd,OAAyC,EACzC,GAAmB;IAEnB,IAAM,YAAY,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,KAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,QAAQ,CAAC;IACrF,IAAM,kBAAkB,GAAG,2CAA2C,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IAClG,IAAM,aAAa,GAAG,SAAS,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IACjE,IAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC9B,oCACC,UAAU,EAAE,UAAU,CAAC,cAAc,EAAE;YACtC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,cAAc,gBAAA;YACd,YAAY,cAAA;YACZ,kBAAkB,oBAAA;YAClB,MAAM,QAAA;SACN,CAAC,EACF,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,YAAY,EAAE,MAAM,CAAC,YAAY,EACjC,OAAO,EAAE,MAAM,CAAC,OAAO,EACvB,IAAI,EAAE,MAAM,CAAC,IAAI,EACjB,cAAc,gBAAA,EACd,MAAM,QAAA,EACN,YAAY,cAAA,EACZ,kBAAkB,oBAAA,EAClB,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,IAAI,cAAc,KAAK,6BAA6B,EACrG,qBAAqB,EAAE,MAAM,CAAC,qBAAqB,IAAI,cAAc,KAAK,oBAAoB,EAC9F,MAAM,QAAA,EACN,aAAa,eAAA,IACV,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GACtD,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAC7D,SAAS,WAAA,IACR;AACH,CAAC;AAED,SAAgB,8CAA8C,CAC7D,KAAoD;;IAEpD,IAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,IAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7F,IAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;IACpC,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAO;YACN,cAAc,EAAE,aAAa;YAC7B,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,kCAAkC;YAC1C,MAAM,EAAE,QAAQ;YAChB,mBAAmB,EAAE,KAAK;YAC1B,oBAAoB,EAAE,KAAK;YAC3B,oBAAoB,EAAE,KAAK;YAC3B,mBAAmB,EAAE,IAAI;YACzB,WAAW,EAAE,KAAK;SAClB,CAAC;IACH,CAAC;IACD,IAAM,cAAc,GAAG,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1D,IAAM,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,IAAI,cAAc,CAAC;IAC7E,IAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,QAAQ,CAAC;IACpF,IAAM,kBAAkB,GAAG,2CAA2C,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IAClG,IAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,EAAlC,CAAkC,CAAC,CAAC;IACxF,IAAM,mBAAmB,GAAG,iBAAiB,CAAC,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,YAAY,KAAK,YAAY;WAC/F,KAAK,CAAC,kBAAkB,KAAK,kBAAkB,EADa,CACb,CAAC,CAAC;IACrD,IAAM,cAAc,GAAG,mBAAmB,CAAC,IAAI,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAvD,CAAuD,CAAC,CAAC;IACpH,IAAM,iBAAiB,GAAG,mBAAmB,CAAC,IAAI,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,MAAM,KAAK,WAAW,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAzD,CAAyD,CAAC,CAAC;IACzH,IAAM,WAAW,GAAG,iBAAiB,CAAC,MAAM,GAAG,CAAC,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,CAAC;IACrF,IAAM,mBAAmB,GAAG,MAAM,CAAC,WAAW,CAAC,kBAAkB,KAAK,IAAI,CAAC;IAC3E,IAAM,4BAA4B,GAAG,CAAC,CAAC,iBAAiB,IAAI,mBAAmB,IAAI,CAAC,WAAW,CAAC;IAChG,IAAM,UAAU,GAAG,MAAM,CAAC,IAAI,KAAK,eAAe,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;IAC3E,IAAM,eAAe,GAAG,cAAc,KAAK,6BAA6B,CAAC;IACzE,IAAM,iBAAiB,GAAG,CAAC,CAAC,oBAAoB,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACtH,IAAM,kBAAkB,GAAG,sCAAsC,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IACxG,IAAM,cAAc,GAAG,KAAK,CAAC,cAAc;QAC1C,CAAC,CAAC,sCAAsC,uBACpC,CAAC,KAAK,CAAC,cAAc,IAAI,EAAE,CAAC,KAC/B,cAAc,gBAAA,EACd,sBAAsB,EAAE,MAAA,MAAA,KAAK,CAAC,cAAc,0CAAE,sBAAsB,mCAAI,MAAM,CAAC,cAAc,EAC7F,WAAW,EAAE,MAAA,MAAA,KAAK,CAAC,cAAc,0CAAE,WAAW,mCAAI,WAAW,EAC7D,gBAAgB,EAAE,MAAA,MAAA,KAAK,CAAC,cAAc,0CAAE,gBAAgB,mCAAI,kBAAkB,CAAC,QAAQ,EACvF,gBAAgB,EAAE,MAAA,MAAA,KAAK,CAAC,cAAc,0CAAE,gBAAgB,mCAAI,kBAAkB,CAAC,QAAQ,EACvF,eAAe,EAAE,MAAA,MAAA,KAAK,CAAC,cAAc,0CAAE,eAAe,mCAAI,kBAAkB,CAAC,OAAO,EACpF,4BAA4B,EAAE,MAAA,MAAA,KAAK,CAAC,cAAc,0CAAE,4BAA4B,mCAAI,4BAA4B,EAChH,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,IACvC;QACF,CAAC,CAAC,SAAS,CAAC;IACb,IAAM,sBAAsB,GAAG,CAAC,CAAC,cAAc,IAAI,CAClD,cAAc,CAAC,IAAI,KAAK,cAAc;WACnC,CAAC,cAAc,CAAC,qBAAqB,KAAK,IAAI,IAAI,KAAK,CAAC,gBAAgB,KAAK,IAAI,CAAC;WAClF,CAAC,cAAc,CAAC,eAAe,KAAK,IAAI,IAAI,KAAK,CAAC,gBAAgB,KAAK,IAAI,CAAC;WAC5E,CAAC,cAAc,CAAC,OAAO,KAAK,IAAI,IAAI,cAAc,CAAC,iBAAiB,KAAK,IAAI,CAAC,CACjF,CAAC;IACF,IAAI,sBAAsB,EAAE,CAAC;QAC5B,IAAM,QAAM,GAAG,2BAA2B,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,uDAAgD,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,MAAM,KAAI,SAAS,CAAE,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QACvL,OAAO;YACN,cAAc,EAAE,aAAa;YAC7B,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,QAAM,CAAC,MAAM;YACrB,MAAM,EAAE,QAAQ;YAChB,mBAAmB,EAAE,KAAK;YAC1B,oBAAoB,EAAE,KAAK;YAC3B,oBAAoB,EAAE,IAAI;YAC1B,mBAAmB,qBAAA;YACnB,WAAW,aAAA;YACX,cAAc,gBAAA;YACd,cAAc,EAAE,QAAM;SACtB,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,gBAAgB,KAAK,IAAI,IAAI,qBAAqB,KAAK,cAAc,EAAE,CAAC;QAClF,IAAM,QAAM,GAAG,2BAA2B,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,iDAAiD,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QACnJ,OAAO;YACN,cAAc,EAAE,aAAa;YAC7B,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,QAAM,CAAC,MAAM;YACrB,MAAM,EAAE,QAAQ;YAChB,mBAAmB,EAAE,KAAK;YAC1B,oBAAoB,EAAE,KAAK;YAC3B,oBAAoB,EAAE,IAAI;YAC1B,mBAAmB,EAAE,IAAI;YACzB,WAAW,aAAA;YACX,cAAc,gBAAA;YACd,cAAc,EAAE,QAAM;SACtB,CAAC;IACH,CAAC;IACD,IAAI,UAAU,IAAI,KAAK,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;QACnD,IAAM,QAAM,GAAG,2BAA2B,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,0CAA0C,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5I,OAAO;YACN,cAAc,EAAE,aAAa;YAC7B,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,QAAM,CAAC,MAAM;YACrB,MAAM,EAAE,QAAQ;YAChB,mBAAmB,EAAE,KAAK;YAC1B,oBAAoB,EAAE,KAAK;YAC3B,oBAAoB,EAAE,IAAI;YAC1B,mBAAmB,qBAAA;YACnB,WAAW,aAAA;YACX,cAAc,gBAAA;YACd,cAAc,EAAE,QAAM;SACtB,CAAC;IACH,CAAC;IACD,IAAI,eAAe,IAAI,MAAM,CAAC,oBAAoB,KAAK,IAAI,EAAE,CAAC;QAC7D,IAAM,QAAM,GAAG,2BAA2B,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,8CAA8C,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAChJ,OAAO;YACN,cAAc,EAAE,aAAa;YAC7B,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,QAAM,CAAC,MAAM;YACrB,MAAM,EAAE,QAAQ;YAChB,mBAAmB,EAAE,KAAK;YAC1B,oBAAoB,EAAE,KAAK;YAC3B,oBAAoB,EAAE,IAAI;YAC1B,mBAAmB,EAAE,IAAI;YACzB,WAAW,aAAA;YACX,cAAc,gBAAA;YACd,cAAc,EAAE,QAAM;SACtB,CAAC;IACH,CAAC;IACD,IAAI,cAAc,EAAE,CAAC;QACpB,OAAO;YACN,cAAc,EAAE,aAAa;YAC7B,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,qDAAqD;YAC7D,MAAM,EAAE,QAAQ;YAChB,mBAAmB,EAAE,KAAK;YAC1B,oBAAoB,EAAE,KAAK;YAC3B,oBAAoB,EAAE,KAAK;YAC3B,mBAAmB,EAAE,IAAI;YACzB,WAAW,EAAE,KAAK;YAClB,cAAc,gBAAA;SACd,CAAC;IACH,CAAC;IACD,IAAI,4BAA4B,EAAE,CAAC;QAClC,IAAM,QAAM,GAAG,2BAA2B,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,mDAAmD,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QACrJ,OAAO;YACN,cAAc,EAAE,aAAa;YAC7B,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,QAAM,CAAC,MAAM;YACrB,MAAM,EAAE,QAAQ;YAChB,mBAAmB,EAAE,KAAK;YAC1B,oBAAoB,EAAE,KAAK;YAC3B,oBAAoB,EAAE,IAAI;YAC1B,mBAAmB,EAAE,IAAI;YACzB,WAAW,EAAE,KAAK;YAClB,cAAc,gBAAA;YACd,cAAc,EAAE,QAAM;SACtB,CAAC;IACH,CAAC;IACD,IAAM,MAAM,GAAmD,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,eAAe;QAChI,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,SAAS,CAAC;IACb,IAAM,MAAM,GAAG,2BAA2B,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,2BAA2B,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5H,OAAO;QACN,cAAc,gBAAA;QACd,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,2BAA2B;QACnC,MAAM,QAAA;QACN,mBAAmB,EAAE,eAAe,IAAI,MAAM,CAAC,oBAAoB,KAAK,IAAI;QAC5E,oBAAoB,EAAE,iBAAiB,IAAI,MAAM,CAAC,qBAAqB,KAAK,IAAI;QAChF,oBAAoB,EAAE,IAAI;QAC1B,mBAAmB,qBAAA;QACnB,WAAW,aAAA;QACX,cAAc,gBAAA;QACd,cAAc,EAAE,MAAM;KACtB,CAAC;AACH,CAAC;AAED,SAAgB,8CAA8C,CAC7D,OAAqE,EACrE,MAAkE,EAClE,KAAU;IAAV,sBAAA,EAAA,UAAU;IAEV,IAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvE,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IACD,IAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,UAAU,KAAK,MAAM,CAAC,UAAU,EAAtC,CAAsC,CAAC,CAAC;IACnF,OAAO,uCAAI,OAAO,YAAE,MAAM,UAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,iCAAiC,CACzC,cAA8D;IAE9D,IAAM,GAAG,GAAqG;QAC7G,kBAAkB,EAAE,UAAU;QAC9B,uBAAuB,EAAE,WAAW;QACpC,gBAAgB,EAAE,OAAO;QACzB,kBAAkB,EAAE,SAAS;QAC7B,2BAA2B,EAAE,SAAS;QACtC,6BAA6B,EAAE,gBAAgB;QAC/C,kBAAkB,EAAE,SAAS;QAC7B,2BAA2B,EAAE,gBAAgB;QAC7C,OAAO,EAAE,SAAS;QAClB,aAAa,EAAE,SAAS;QACxB,WAAW,EAAE,QAAQ;KACrB,CAAC;IACF,OAAO,GAAG,CAAC,cAAc,CAAC,IAAI,QAAQ,CAAC;AACxC,CAAC;AAED,SAAS,uBAAuB,CAC/B,MAA0D,EAC1D,QAA0D,EAC1D,OAAyC;IAEzC,IAAM,OAAO,GAAG,SAAS,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,MAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAA,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;IAC3E,IAAM,KAAK,GAAG,SAAS,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,EAAE,GAAG,CAAC,IAAI,QAAQ,CAAC,cAAc,CAAC;IACvE,IAAM,SAAS,GAAG,SAAS,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IACpD,OAAO;QACN,2BAAoB,QAAQ,CAAC,cAAc,CAAE;QAC7C,gBAAS,KAAK,CAAE;QAChB,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAU,QAAQ,CAAC,MAAM,CAAE,CAAC,CAAC,CAAC,EAAE;QAClD,OAAO,CAAC,CAAC,CAAC,kBAAW,OAAO,CAAE,CAAC,CAAC,CAAC,EAAE;QACnC,SAAS,CAAC,CAAC,CAAC,oBAAa,SAAS,CAAE,CAAC,CAAC,CAAC,EAAE;KACzC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,SAAgB,iDAAiD,CAChE,KAAwD;;IAExD,IAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,IAAM,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,IAAI,8CAA8C,CAAC;QACjG,MAAM,QAAA;QACN,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,GAAG,EAAE,KAAK,CAAC,GAAG;KACd,CAAC,CAAC;IACH,IAAM,cAAc,GAAG,gBAAgB,CAAC,cAAc,CAAC;IACvD,IAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAM,KAAK,GAAG,iCAAiC,CAAC,cAAc,CAAC,CAAC;IAChE,IAAM,IAAI,GAAG,SAAS,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,MAAI,MAAA,KAAK,CAAC,OAAO,0CAAE,IAAI,CAAA,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;IACvE,IAAM,QAAQ,GAAG,SAAS,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,MAAI,MAAA,KAAK,CAAC,OAAO,0CAAE,QAAQ,CAAA,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;IACnF,IAAM,WAAW,GAAG,uBAAuB,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACrF,IAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,IAAI,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC1D,sDACC,WAAW,EAAE,UAAU,CAAC,eAAe,EAAE;YACxC,OAAO,SAAA;YACP,QAAQ,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,KAAI,EAAE;YAChC,cAAc,gBAAA;YACd,MAAM,EAAE,gBAAgB,CAAC,MAAM;YAC/B,YAAY,EAAE,CAAA,MAAA,gBAAgB,CAAC,cAAc,0CAAE,YAAY,MAAI,MAAA,KAAK,CAAC,OAAO,0CAAE,YAAY,CAAA,IAAI,EAAE;SAChG,CAAC,EACF,OAAO,SAAA,EACP,cAAc,gBAAA,EACd,KAAK,OAAA,EACL,OAAO,EAAE,gBAAgB,CAAC,OAAO,EACjC,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAC/B,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAC/B,gBAAgB,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,gBAAgB,MAAK,KAAK,EACpD,qBAAqB,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,qBAAqB,KAAI,cAAc,EACtE,IAAI,MAAA,EACJ,QAAQ,UAAA,EACR,eAAe,EAAE,SAAS,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,EAAE,GAAG,CAAC,IAAI,cAAc,EAChE,WAAW,aAAA,EACX,YAAY,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,MAAK,KAAK,IAAI,cAAc,KAAK,oBAAoB,EACvF,YAAY,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,MAAK,IAAI,EAC3C,oBAAoB,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,oBAAoB,MAAK,IAAI,EAC3D,qBAAqB,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,qBAAqB,MAAK,IAAI,EAC7D,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,cAAc,KAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EACrE,uBAAuB,EAAE,SAAS,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,uBAAuB,EAAE,GAAG,CAAC,EACxE,+BAA+B,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,+BAA+B,MAAK,IAAI,EACjF,mBAAmB,EAAE,gBAAgB,CAAC,mBAAmB,EACzD,oBAAoB,EAAE,gBAAgB,CAAC,oBAAoB,EAC3D,yBAAyB,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,yBAAyB,MAAK,IAAI,EACrE,mBAAmB,EAAE,gBAAgB,CAAC,mBAAmB,EACzD,WAAW,EAAE,gBAAgB,CAAC,WAAW,IACtC,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,gBAAgB,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAC/F,qBAAqB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,qBAAqB,KAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EACnF,iBAAiB,EAAE,SAAS,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,iBAAiB,EAAE,EAAE,EAAE,GAAG,CAAC,EAChE,YAAY,EAAE,SAAS,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,EAAE,EAAE,EAAE,GAAG,CAAC,EACtD,eAAe,EAAE,SAAS,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,eAAe,EAAE,EAAE,EAAE,GAAG,CAAC,EAC5D,YAAY,EAAE,SAAS,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,EAAE,EAAE,EAAE,GAAG,CAAC,EACtD,gBAAgB,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,oBAAoB,MAAK,IAAI;YACtD,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG;gBACnB,wFAAwF;sBACrF,CAAC,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,0CAAE,gBAAgB,KAAI,EAAE,CAAC,UACjD,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KACd,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,gBAAgB,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAC5F,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,EAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACzE,SAAS,EAAE,GAAG,IACZ;AACH,CAAC;AAEF,SAAS,+BAA+B,CACvC,SAAmE,EACnE,QAA0C;IAE1C,IAAI,QAAQ,EAAE,CAAC;QACd,OAAO,QAAQ,CAAC;IACjB,CAAC;IACD,IAAM,cAAc,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,cAAc,CAAC;IACjD,OAAO;QACN,IAAI,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI;QACrB,QAAQ,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ;QAC7B,YAAY,EAAE,EAAE;QAChB,kBAAkB,EAAE,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,kBAAkB;QACtD,YAAY,EAAE,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,YAAY;QAC1C,aAAa,EAAE,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,aAAa,KAAI,EAAE;QAClD,UAAU,EAAE,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,SAAS,MAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,SAAS,CAAA;KAC7D,CAAC;AACH,CAAC;AAED,SAAS,4BAA4B,CAAC,KAIrC;IACA,IAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAClC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,OAAO,KAAK,IAAI,IAAI,SAAS,CAAC,cAAc,KAAK,aAAa,EAAE,CAAC;QAC5F,OAAO,gBAAgB,CAAC;IACzB,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QACvB,OAAO,uBAAuB,CAAC;IAChC,CAAC;IACD,IAAI,SAAS,CAAC,mBAAmB,KAAK,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QACjF,OAAO,uBAAuB,CAAC;IAChC,CAAC;IACD,IAAI,SAAS,CAAC,+BAA+B,KAAK,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC9F,OAAO,0BAA0B,CAAC;IACnC,CAAC;IACD,OAAO,aAAa,CAAC;AACtB,CAAC;AAED,SAAgB,qDAAqD,CACpE,KAAiE;IAAjE,sBAAA,EAAA,UAAiE;IAEjE,IAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAClC,IAAM,QAAQ,GAAG,+BAA+B,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC5E,IAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;IACpC,IAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;IACnC,IAAM,UAAU,GAAG,UAAU;QAC5B,CAAC,CAAC,sCAAsC,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,uBAAuB,CAAC;QAC/F,CAAC,CAAC;YACD,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,MAA4C;YACtD,OAAO,EAAE,EAAE;YACX,YAAY,EAAE,8BAA8B,CAAC,QAAQ,CAAC;YACtD,kBAAkB,EAAE,2CAA2C,CAAC,QAAQ,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,uBAAuB,CAAC;SAC7G,CAAC;IACH,IAAM,MAAM,GAAG,4BAA4B,CAAC,EAAE,SAAS,WAAA,EAAE,UAAU,YAAA,EAAE,UAAU,YAAA,EAAE,CAAC,CAAC;IACnF,IAAM,cAAc,GAAG,MAAM,KAAK,aAAa,CAAC;IAChD,IAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,qDACxC,SAAS,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,EAAE,GAAG,CAAC,kBAC1C,SAAS,CAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,iBAAiB,EAAE,EAAE,EAAE,GAAG,CAAC,kBAChD,SAAS,CAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,eAAe,EAAE,EAAE,EAAE,GAAG,CAAC,UAChD,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,IAAM,eAAe,GAAG,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,+BAA+B,MAAK,IAAI,IAAI,MAAM,KAAK,aAAa;QACtG,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,gDAAgD,CAAC,CAAC;QACnG,CAAC,CAAC,EAAE,CAAC;IACN,IAAM,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,aAAa,IAAI,QAAQ,CAAC,aAAa,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAC1F,IAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAC9D,IAAM,oBAAoB,GAAG,uCAAuC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC5F,IAAM,kBAAkB,GAAG,uCAAuC,CAAC,OAAO,CAAC,YAAY,IAAI,QAAQ,CAAC,YAAY,CAAC,CAAC;IAClH,IAAM,0BAA0B,GAAG,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,GAAG,CAAC;WAC1E,2CAA2C,CAAC,QAAQ,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,uBAAuB,CAAC,CAAC;IAC9F,IAAM,oBAAoB,GAAG,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC;WAC9D,8BAA8B,CAAC,QAAQ,CAAC,CAAC;IAC7C,IAAM,QAAQ,GAAG;QAChB,MAAM,KAAK,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,KAAI,4CAA4C,CAAC,CAAC,CAAC,CAAC,EAAE;QACtG,MAAM,KAAK,uBAAuB,CAAC,CAAC,CAAC,iDAAiD,CAAC,CAAC,CAAC,EAAE;QAC3F,MAAM,KAAK,uBAAuB,CAAC,CAAC,CAAC,iDAAiD,CAAC,CAAC,CAAC,EAAE;QAC3F,MAAM,KAAK,0BAA0B,CAAC,CAAC,CAAC,8CAA8C,CAAC,CAAC,CAAC,EAAE;KAC3F,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClB,IAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpC,OAAO;QACN,UAAU,EAAE,UAAU,CAAC,qBAAqB,EAAE;YAC7C,WAAW,EAAE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,WAAW,KAAI,EAAE;YACzC,cAAc,EAAE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,cAAc,KAAI,aAAa;YAC1D,MAAM,QAAA;YACN,oBAAoB,sBAAA;YACpB,kBAAkB,EAAE,UAAU,CAAC,YAAY;YAC3C,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;SACjC,CAAC;QACF,WAAW,EAAE,SAAS,CAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,WAAW,EAAE,GAAG,CAAC;QACnD,OAAO,EAAE,SAAS,CAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,EAAE,GAAG,CAAC,IAAI,QAAQ;QACvD,cAAc,EAAE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,cAAc,KAAI,aAAa;QAC1D,KAAK,EAAE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,KAAI,QAAQ;QACnC,MAAM,QAAA;QACN,cAAc,gBAAA;QACd,mBAAmB,EAAE,cAAc,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,mBAAmB,MAAK,IAAI;QAC9E,oBAAoB,EAAE,cAAc,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,oBAAoB,MAAK,IAAI;QAChF,kBAAkB,EAAE,cAAc,IAAI,UAAU,CAAC,QAAQ,KAAK,IAAI;QAClE,+BAA+B,EAAE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,+BAA+B,MAAK,IAAI;QACpF,mBAAmB,EAAE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,mBAAmB,MAAK,IAAI;QAC5D,WAAW,EAAE,UAAU,CAAC,OAAO;QAC/B,gBAAgB,EAAE,UAAU,CAAC,QAAQ;QACrC,gBAAgB,EAAE,UAAU,CAAC,QAAQ;QACrC,eAAe,EAAE,UAAU,CAAC,OAAO;QACnC,oBAAoB,sBAAA;QACpB,0BAA0B,4BAAA;QAC1B,oBAAoB,sBAAA;QACpB,kBAAkB,oBAAA;QAClB,wBAAwB,EAAE,UAAU,CAAC,kBAAkB;QACvD,kBAAkB,EAAE,UAAU,CAAC,YAAY;QAC3C,gBAAgB,kBAAA;QAChB,eAAe,iBAAA;QACf,aAAa,eAAA;QACb,YAAY,cAAA;QACZ,QAAQ,UAAA;QACR,iBAAiB,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,YAAY,CAAC,CAAC,CAAC,KAAI,eAAe,CAAC,CAAC,CAAC,CAAC,iCAAiC;QACvH,gBAAgB,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG;YACnC,oFAAoF;kBACjF,SAAS,CAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,gBAAgB,EAAE,EAAE,EAAE,GAAG,CAAC,UACjD,CAAC;QACH,SAAS,WAAA;KACT,CAAC;AACH,CAAC;AAED,SAAgB,wDAAwD,CAAC,KAAU;IAMlF,IAAM,MAAM,GAAG,KAAK,IAAI,EAAE,CAAC;IAC3B,IAAM,aAAa,GAAqD;QACvE,aAAa;QACb,uBAAuB;QACvB,0BAA0B;QAC1B,uBAAuB;QACvB,gBAAgB;KAChB,CAAC;IACF,IAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAmD,CAAC;IAC/F,IAAM,UAAU,GAAqD;QACpE,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC;QACnE,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC;QACtE,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC;QACvC,cAAc,EAAE,SAAS,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,eAAe,EAAE,GAAG,CAAmD;QACjI,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAA6C;QAC/E,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB;QAClE,cAAc,EAAE,MAAM,CAAC,cAAc,KAAK,IAAI,IAAI,MAAM,CAAC,gBAAgB,KAAK,IAAI;QAClF,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,KAAK,IAAI,IAAI,MAAM,CAAC,sBAAsB,KAAK,IAAI;QAClG,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,KAAK,IAAI,IAAI,MAAM,CAAC,uBAAuB,KAAK,IAAI;QACrG,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,KAAK,IAAI,IAAI,MAAM,CAAC,qBAAqB,KAAK,IAAI;QAC/F,+BAA+B,EAAE,MAAM,CAAC,+BAA+B,KAAK,IAAI,IAAI,MAAM,CAAC,kCAAkC,KAAK,IAAI;QACtI,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,KAAK,IAAI,IAAI,MAAM,CAAC,qBAAqB,KAAK,IAAI;QACjG,WAAW,EAAE,MAAM,CAAC,WAAW,KAAK,IAAI,IAAI,MAAM,CAAC,YAAY,KAAK,IAAI;QACxE,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,KAAK,IAAI,IAAI,MAAM,CAAC,iBAAiB,KAAK,IAAI;QACvF,gBAAgB,EAAE,SAAS,CAAC,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,iBAAiB,EAAE,GAAG,CAAuC;QAC3H,eAAe,EAAE,SAAS,CAAC,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,gBAAgB,EAAE,EAAE,EAAE,GAAG,CAAC;QACtF,oBAAoB,EAAE,SAAS,CAAC,MAAM,CAAC,oBAAoB,IAAI,MAAM,CAAC,sBAAsB,EAAE,GAAG,CAAC;QAClG,0BAA0B,EAAE,SAAS,CAAC,MAAM,CAAC,0BAA0B,IAAI,MAAM,CAAC,4BAA4B,EAAE,GAAG,CAAC;QACpH,oBAAoB,EAAE,SAAS,CAAC,MAAM,CAAC,oBAAoB,IAAI,MAAM,CAAC,sBAAsB,EAAE,GAAG,CAAC;QAClG,kBAAkB,EAAE,SAAS,CAAC,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,oBAAoB,EAAE,GAAG,CAAC;QAC5F,wBAAwB,EAAE,SAAS,CAAC,MAAM,CAAC,wBAAwB,IAAI,MAAM,CAAC,0BAA0B,EAAE,GAAG,CAAC;QAC9G,kBAAkB,EAAE,SAAS,CAAC,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,oBAAoB,EAAE,GAAG,CAAC;QAC5F,gBAAgB,EAAE,SAAS,CAAC,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,iBAAiB,EAAE,EAAE,EAAE,GAAG,CAAC;QACzF,eAAe,EAAE,SAAS,CAAC,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,gBAAgB,EAAE,EAAE,EAAE,GAAG,CAAC;QACtF,aAAa,EAAE,SAAS,CAAC,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,cAAc,EAAE,EAAE,EAAE,GAAG,CAAC;QAChF,YAAY,EAAE,SAAS,CAAC,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,aAAa,EAAE,EAAE,EAAE,GAAG,CAAC;QAC7E,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,EAAE,GAAG,CAAC;QAC7C,iBAAiB,EAAE,SAAS,CAAC,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,mBAAmB,EAAE,GAAG,CAAC;QACzF,gBAAgB,EAAE,SAAS,CAAC,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,iBAAiB,EAAE,EAAE,EAAE,GAAG,CAAC;QACzF,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC;KAChE,CAAC;IACF,IAAM,QAAQ,GAAG;QAChB,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iDAAiD;QAC9E,UAAU,CAAC,WAAW,IAAI,UAAU,CAAC,MAAM,KAAK,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kDAAkD;QAC1H,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qDAAqD;QACtF,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iDAAiD;QACvF,UAAU,CAAC,cAAc,IAAI,UAAU,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,+DAA+D,CAAC,CAAC,CAAC,EAAE;QACvI,UAAU,CAAC,MAAM,KAAK,aAAa,IAAI,UAAU,CAAC,+BAA+B,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,6EAA6E,CAAC,CAAC,CAAC,EAAE;QACtM,UAAU,CAAC,MAAM,KAAK,aAAa,IAAI,UAAU,CAAC,mBAAmB,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,+EAA+E,CAAC,CAAC,CAAC,EAAE;QACvL,UAAU,CAAC,mBAAmB,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,+DAA+D,CAAC,CAAC,CAAC,EAAE;QACnI,UAAU,CAAC,oBAAoB,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,gEAAgE,CAAC,CAAC,CAAC,EAAE;QACrI,UAAU,CAAC,MAAM,KAAK,aAAa,IAAI,UAAU,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,+BAA+B,CAAC,CAAC,CAAC,mDAAmD,CAAC,CAAC,CAAC,EAAE;QACvL,UAAU,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,yDAAyD;KACnG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClB,OAAO;QACN,KAAK,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC;QAC5B,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM;QACvD,QAAQ,UAAA;QACR,UAAU,YAAA;KACV,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,OAAiB,EAAE,QAAkB;IAC5D,IAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,EAArB,CAAqB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACzF,OAAO,OAAO;SACZ,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,EAArB,CAAqB,CAAC;SACrC,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAA7B,CAA6B,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,UAAU,CAAC,KAAU;IAC7B,OAAO,SAAS,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,EAAE,EAAE,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,cAAc,CAAC,KAAU;IACjC,OAAO,SAAS,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAU;IACrC,IAAM,SAAS,GAAG,SAAS,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAY,EAAE,EAAE,CAAC,CAAC;IACrD,OAAO,SAAS,CAAC,CAAC,CAAC,uCAAuC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5E,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAmD,EAAE,KAAoB;IAApB,sBAAA,EAAA,UAAoB;IACtG,OAAO;QACN,SAAS,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,EAAE,IAAI,CAAC;QAChC,SAAS,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,EAAE,IAAI,CAAC;cAC7B,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,EAApB,CAAoB,CAAC,UAC3C,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;AAC3C,CAAC;AAED,SAAS,2BAA2B,CAAC,IAAY;IAChD,OAAO,wVAAwV,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5W,CAAC;AAED,SAAgB,sCAAsC,CACrD,QAA8F,EAC9F,OAAoD,EACpD,iBAA0B;IAE1B,IAAM,aAAa,GAAG,OAAO,IAAI,EAAE,CAAC;IACpC,IAAM,cAAc,GAAG,QAAe,CAAC;IACvC,IAAM,oBAAoB,GAAG,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,YAAY,EAAE,GAAG,CAAC,IAAI,8BAA8B,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjJ,IAAM,mBAAmB,GAAG,8BAA8B,CAAC,aAAa,CAAC,CAAC;IAC1E,IAAM,0BAA0B,GAAG,cAAc;QAChD,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,kBAAkB,EAAE,GAAG,CAAC,IAAI,2CAA2C,CAAC,cAAc,EAAE,iBAAiB,CAAC;QACrI,CAAC,CAAC,EAAE,CAAC;IACN,IAAM,yBAAyB,GAAG,2CAA2C,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;IAChH,IAAM,oBAAoB,GAAG,SAAS,CAAC,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,YAAY,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAC9E,IAAM,mBAAmB,GAAG,SAAS,CAAC,aAAa,CAAC,YAAY,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAC3E,IAAM,qBAAqB,GAAG,SAAS,CAAC,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,aAAa,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAChF,IAAM,oBAAoB,GAAG,SAAS,CAAC,aAAa,CAAC,aAAa,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAC7E,IAAM,iBAAiB,GAAG,cAAc,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,CAAC;IACpF,IAAM,kBAAkB,GAAG,cAAc,CAAC,oBAAoB,EAAE,qBAAqB,CAAC,CAAC;IACvF,IAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,oBAAoB,IAAI,mBAAmB,KAAK,oBAAoB,EAAE,CAAC;QAC1E,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,0BAA0B,IAAI,yBAAyB,KAAK,0BAA0B,EAAE,CAAC;QAC5F,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,UAAU,CAAC,cAAc,CAAC,IAAI,UAAU,CAAC,cAAc,CAAC,KAAK,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC5F,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,cAAc,CAAC,cAAc,CAAC,IAAI,cAAc,CAAC,cAAc,CAAC,KAAK,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;QACxG,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,kBAAkB,CAAC,cAAc,CAAC,IAAI,kBAAkB,CAAC,cAAc,CAAC,KAAK,kBAAkB,CAAC,aAAa,CAAC,EAAE,CAAC;QACpH,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,kBAAkB,CAAC,MAAM,EAAE,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,gBAAgB,CAAC,aAAa,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACjC,CAAC;IACD,IAAM,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IACnC,IAAM,YAAY,GAAG,oBAAoB,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;IAC7E,IAAM,8BAA8B,GAAG,2BAA2B,CAAC,YAAY,CAAC,CAAC;IACjF,IAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAClD,IAAM,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,UAAC,MAAM,IAAK,OAAA,kFAAkF,CAAC,IAAI,CAAC,MAAM,CAAC,EAA/F,CAA+F,CAAC,CAAC;IACnJ,IAAM,gBAAgB,GAAG,kBAAkB,CAAC,MAAM,GAAG,CAAC,IAAI,8BAA8B,CAAC;IACzF,IAAM,oBAAoB,GAAG,iBAAiB,CAAC,MAAM,GAAG,CAAC;WACrD,yHAAyH,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACjJ,IAAM,QAAQ,GAAG,KAAK,IAAI,gBAAgB,IAAI,gBAAgB,IAAI,oBAAoB,CAAC;IACvF,IAAM,QAAQ,GAAuC,KAAK;QACzD,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,QAAQ;YACT,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,OAAO;gBACR,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,MAAM,CAAC;IACZ,OAAO;QACN,OAAO,SAAA;QACP,QAAQ,UAAA;QACR,QAAQ,UAAA;QACR,OAAO,SAAA;QACP,YAAY,EAAE,mBAAmB;QACjC,kBAAkB,EAAE,yBAAyB;KAC7C,CAAC;AACH,CAAC;AAED,SAAS,6BAA6B,CAAC,KAAU;IAChD,IAAM,UAAU,GAAG,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACzC,OAAO,sDAAsD,CAAC,IAAI,CAAC,UAAU,CAAC;WAC1E,CAAC,0DAA0D,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAClF,CAAC;AAED,SAAgB,oCAAoC,CACnD,KAA0C;IAE1C,IAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IACpC,IAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;IACnC,IAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;IACpC,IAAM,UAAU,GAAG,UAAU;QAC5B,CAAC,CAAC,sCAAsC,CAAC,UAAU,EAAE,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC;QACnF,CAAC,CAAC;YACD,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,MAA4C;YACtD,OAAO,EAAE,EAAE;YACX,YAAY,EAAE,UAAU,CAAC,YAAY;YACrC,kBAAkB,EAAE,UAAU,CAAC,kBAAkB;SACjD,CAAC;IACH,IAAM,kBAAkB,GAAG,UAAU,CAAC,kBAAkB,CAAC;IACzD,IAAM,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;IAC7C,IAAM,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC;IACrG,IAAM,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC;IACxG,IAAM,eAAe,GAAG,UAAU,CAAC,OAAO,CAAC;IAC3C,IAAM,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC,cAAc,IAAI,UAAU,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IACxF,IAAM,sBAAsB,GAAG,6BAA6B,CAAC,cAAc,CAAC,CAAC;IAC7E,IAAM,eAAe,GAAG,UAAU,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAC,QAAQ;QACnE,IAAM,UAAU,GAAG,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QAC1D,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,OAAO,KAAK,CAAC;QACd,CAAC;QACD,IAAI,kCAAkC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACzD,OAAO,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;QACvD,CAAC;QACD,IAAI,qCAAqC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5D,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC;QAC7B,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC,CAAC,CAAC;IACH,IAAM,YAAY,GAAG,UACpB,MAA4C,EAC5C,MAAc,EACd,SAA+D;QAA/D,0BAAA,EAAA,cAA+D;QACnB,OAAA,YAC5C,MAAM,QAAA,EACN,MAAM,QAAA,EACN,mBAAmB,EAAE,UAAU,CAAC,oBAAoB,EACpD,oBAAoB,EAAE,UAAU,CAAC,qBAAqB,EACtD,qBAAqB,EAAE,KAAK,EAC5B,sBAAsB,EAAE,MAAM,KAAK,OAAO,EAC1C,WAAW,EAAE,eAAe,EAC5B,gBAAgB,EAAE,UAAU,CAAC,QAAQ,EACrC,gBAAgB,EAAE,UAAU,CAAC,QAAQ,EACrC,eAAe,EAAE,UAAU,CAAC,OAAO,EACnC,kBAAkB,oBAAA,EAClB,YAAY,cAAA,EACZ,eAAe,iBAAA,EACf,UAAU,wBACN,UAAU,KACb,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAE1B,SAAS,EACX;IAnB2C,CAmB3C,CAAC;IAEH,IAAI,UAAU,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QACtC,OAAO,YAAY,CAAC,UAAU,EAAE,2CAA2C,EAAE;YAC5E,mBAAmB,EAAE,KAAK;YAC1B,oBAAoB,EAAE,KAAK;YAC3B,sBAAsB,EAAE,KAAK;SAC7B,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,KAAK,gBAAgB,IAAI,KAAK,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;QAC/E,OAAO,YAAY,CAAC,gBAAgB,EAAE,yDAAyD,EAAE;YAChG,mBAAmB,EAAE,KAAK;YAC1B,oBAAoB,EAAE,KAAK;YAC3B,sBAAsB,EAAE,KAAK;SAC7B,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,sBAAsB,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC;QAChE,OAAO,YAAY,CAAC,eAAe,EAAE,yDAAyD,EAAE;YAC/F,mBAAmB,EAAE,KAAK;YAC1B,oBAAoB,EAAE,KAAK;YAC3B,sBAAsB,EAAE,KAAK;SAC7B,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,eAAe,EAAE,CAAC;QACxD,OAAO,YAAY,CAAC,sBAAsB,EAAE,yCAAyC,EAAE;YACtF,mBAAmB,EAAE,KAAK;YAC1B,oBAAoB,EAAE,KAAK;YAC3B,sBAAsB,EAAE,KAAK;SAC7B,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,KAAK,QAAQ,IAAI,eAAe,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAC/E,OAAO,YAAY,CAAC,sBAAsB,EAAE,sDAAsD,EAAE;YACnG,mBAAmB,EAAE,KAAK;YAC1B,oBAAoB,EAAE,KAAK;YAC3B,sBAAsB,EAAE,KAAK;SAC7B,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,qBAAqB,IAAI,CAAC,eAAe,EAAE,CAAC;QACjF,OAAO,YAAY,CAAC,sBAAsB,EAAE,mDAAmD,EAAE;YAChG,mBAAmB,EAAE,KAAK;YAC1B,oBAAoB,EAAE,KAAK;YAC3B,sBAAsB,EAAE,KAAK;SAC7B,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,qBAAqB,IAAI,eAAe,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QACxG,OAAO,YAAY,CAAC,sBAAsB,EAAE,wDAAwD,EAAE;YACrG,mBAAmB,EAAE,KAAK;YAC1B,oBAAoB,EAAE,KAAK;YAC3B,sBAAsB,EAAE,KAAK;SAC7B,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,eAAe,EAAE,CAAC;QACrB,IAAM,mBAAmB,GAAG,uCAAuC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC1F,IAAM,0BAA0B,GAAG,UAAU,CAAC,oBAAoB;eAC9D,CAAC,sCAAsC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACtE,OAAO,YAAY,CAAC,OAAO,EAAE,oDAAoD,EAAE;YAClF,mBAAmB,EAAE,0BAA0B;YAC/C,oBAAoB,EAAE,UAAU,CAAC,qBAAqB,IAAI,0BAA0B;YACpF,qBAAqB,EAAE,IAAI;SAC3B,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,YAAY,CAAC,OAAO,EAAE,8BAA8B,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,UAAU,CAAC,MAAmD;IACtE,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAO,EAAE,CAAC;IACX,CAAC;IACD,IAAM,YAAY,GAAG,uCAAuC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAClF,IAAM,kBAAkB,GAAG,2CAA2C,CAAC,MAAM,CAAC,CAAC;IAC/E,OAAO,UAAG,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,cAAI,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,cAAI,YAAY,cAAI,kBAAkB,CAAE,CAAC;AAChH,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAmD;IAC9E,OAAO,UAAG,UAAU,CAAC,MAAM,CAAC,cAAI,8BAA8B,CAAC,MAAM,CAAC,CAAE,CAAC;AAC1E,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAmD;IAC5E,OAAO,kFAAkF,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAChI,CAAC;AAED,SAAS,eAAe,CAAC,MAAmD;IAC3E,OAAO,yCAAyC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AACvF,CAAC;AAED,SAAgB,mCAAmC,CAAC,KAA+C;IAA/C,sBAAA,EAAA,UAA+C;IAClG,IAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC;IACzD,IAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5C,IAAM,YAAY,GAAG,uCAAuC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACjF,IAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC;IACvD,IAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC;IAC5D,IAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC9C,IAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAC5D,IAAM,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAC9D,IAAM,qBAAqB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,qBAAqB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACzF,IAAM,WAAW,GAAG;QACnB,MAAM,CAAC,CAAC,CAAC,wBAAiB,MAAM,CAAE,CAAC,CAAC,CAAC,EAAE;QACvC,OAAO,CAAC,CAAC,CAAC,kBAAW,OAAO,CAAE,CAAC,CAAC,CAAC,EAAE;QACnC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,wBAAiB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAE,CAAC,CAAC,CAAC,EAAE;QACrE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,oBAAa,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAE,CAAC,CAAC,CAAC,EAAE;KACnE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClB,IAAM,IAAI,GAAiP;QAC1P,IAAI,MAAA;QACJ,QAAQ,UAAA;QACR,qBAAqB,uBAAA;QACrB,KAAK,EAAE,WAAW;KAClB,CAAC;IACF,IAAM,QAAQ,GAAG,UAChB,aAA8C,EAC9C,eAAuB,EACvB,SAAiB,EACjB,aAAqB,EACrB,oBAA6B,EAC7B,qBAA8B,EAC9B,WAAqB,EACrB,gBAA0B,EAC1B,iBAA2B,EAC3B,gBAA0B,IACU,OAAA,uBACjC,IAAI,KACP,aAAa,eAAA,EACb,eAAe,iBAAA,EACf,SAAS,WAAA,EACT,aAAa,eAAA,EACb,oBAAoB,sBAAA,EACpB,qBAAqB,uBAAA,EACrB,WAAW,aAAA,EACX,gBAAgB,kBAAA,EAChB,iBAAiB,mBAAA,EACjB,gBAAgB,kBAAA,IACf,EAZmC,CAYnC,CAAC;IACH,IAAI,MAAM,KAAK,mBAAmB,EAAE,CAAC;QACpC,OAAO,QAAQ,CACd,qBAAqB,EACrB,qBAAqB,EACrB,qEAAqE,EACrE,sBAAsB,EACtB,KAAK,EACL,KAAK,EACL;YACC,8DAA8D;YAC9D,oDAAoD;YACpD,oFAAoF;SACpF,EACD,CAAC,qBAAqB,EAAE,0CAA0C,CAAC,EACnE,CAAC,yBAAyB,EAAE,6BAA6B,CAAC,EAC1D,CAAC,oCAAoC,EAAE,oDAAoD,CAAC,CAC5F,CAAC;IACH,CAAC;IACD,IAAI,MAAM,KAAK,gBAAgB,EAAE,CAAC;QACjC,OAAO,QAAQ,CACd,gBAAgB,EAChB,eAAe,EACf,+EAA+E,EAC/E,oBAAoB,EACpB,KAAK,EACL,KAAK,EACL;YACC,oCAAoC;YACpC,kEAAkE;YAClE,gGAAgG;SAChG,EACD,CAAC,qBAAqB,EAAE,eAAe,EAAE,iBAAiB,CAAC,EAC3D,CAAC,sBAAsB,EAAE,uBAAuB,CAAC,EACjD,CAAC,sCAAsC,EAAE,0BAA0B,CAAC,CACpE,CAAC;IACH,CAAC;IACD,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;QAC9B,OAAO,QAAQ,CACd,gBAAgB,EAChB,oBAAoB,EACpB,kFAAkF,EAClF,oBAAoB,EACpB,KAAK,EACL,KAAK,EACL;YACC,oCAAoC;YACpC,8DAA8D;YAC9D,8GAA8G;SAC9G,EACD,CAAC,qBAAqB,EAAE,wBAAwB,EAAE,4BAA4B,CAAC,EAC/E,CAAC,wBAAwB,EAAE,4BAA4B,EAAE,+BAA+B,CAAC,EACzF,CAAC,kCAAkC,EAAE,mCAAmC,EAAE,mBAAmB,CAAC,CAC9F,CAAC;IACH,CAAC;IACD,IAAI,YAAY,KAAK,WAAW,IAAI,QAAQ,KAAK,gBAAgB,EAAE,CAAC;QACnE,OAAO,QAAQ,CACd,gBAAgB,EAChB,oBAAoB,EACpB,+DAA+D,EAC/D,qBAAqB,EACrB,KAAK,EACL,IAAI,EACJ;YACC,sDAAsD;YACtD,qEAAqE;YACrE,oDAAoD;YACpD,iCAAiC;YACjC,kDAAkD;SAClD,EACD,CAAC,YAAY,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,CAAC,EAC3G,CAAC,2BAA2B,EAAE,6BAA6B,EAAE,0BAA0B,CAAC,EACxF,CAAC,mBAAmB,EAAE,uBAAuB,EAAE,uCAAuC,CAAC,CACvF,CAAC;IACH,CAAC;IACD,IAAI,YAAY,KAAK,aAAa,IAAI,YAAY,KAAK,cAAc,IAAI,6BAA6B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACrH,OAAO,QAAQ,CACd,oBAAoB,EACpB,wBAAwB,EACxB,8EAA8E,EAC9E,yBAAyB,EACzB,KAAK,EACL,IAAI,EACJ;YACC,0DAA0D;YAC1D,mEAAmE;YACnE,iFAAiF;YACjF,sDAAsD;SACtD,EACD,CAAC,wBAAwB,EAAE,2BAA2B,EAAE,4BAA4B,CAAC,EACrF,CAAC,mCAAmC,EAAE,gCAAgC,CAAC,EACvE,CAAC,oCAAoC,EAAE,2BAA2B,EAAE,qCAAqC,CAAC,CAC1G,CAAC;IACH,CAAC;IACD,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;QAC9B,IAAM,SAAS,GAAG,YAAY,KAAK,SAAS,CAAC;QAC7C,OAAO,QAAQ,CACd,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,EAC7C,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,mBAAmB,EACvD,SAAS;YACR,CAAC,CAAC,0FAA0F;YAC5F,CAAC,CAAC,mFAAmF,EACtF,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,mBAAmB,EACvD,KAAK,EACL,KAAK,EACL,SAAS;YACR,CAAC,CAAC;gBACD,2EAA2E;gBAC3E,sGAAsG;gBACtG,wCAAwC;gBACxC,6CAA6C;aAC7C;YACD,CAAC,CAAC;gBACD,6FAA6F;gBAC7F,mDAAmD;gBACnD,6BAA6B;gBAC7B,4CAA4C;aAC5C,EACF,SAAS;YACR,CAAC,CAAC,CAAC,iBAAiB,EAAE,sBAAsB,EAAE,4CAA4C,CAAC;YAC3F,CAAC,CAAC,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,oCAAoC,CAAC,EACpF,CAAC,uBAAuB,EAAE,gCAAgC,CAAC,EAC3D,CAAC,+BAA+B,EAAE,+BAA+B,EAAE,8DAA8D,CAAC,CAClI,CAAC;IACH,CAAC;IACD,IAAI,MAAM,KAAK,uBAAuB,IAAI,MAAM,KAAK,gBAAgB,EAAE,CAAC;QACvE,OAAO,QAAQ,CACd,4BAA4B,EAC5B,MAAM,KAAK,gBAAgB,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,uBAAuB,EAC7E,0FAA0F,EAC1F,2BAA2B,EAC3B,KAAK,EACL,KAAK,EACL;YACC,8CAA8C;YAC9C,8CAA8C;YAC9C,2HAA2H;YAC3H,kHAAkH;SAClH,EACD,CAAC,oBAAoB,EAAE,qBAAqB,EAAE,eAAe,CAAC,EAC9D,CAAC,6BAA6B,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,+CAA+C,EAAE,uCAAuC,EAAE,oCAAoC,CAAC,EAC7M,CAAC,sCAAsC,EAAE,uCAAuC,EAAE,sBAAsB,CAAC,CACzG,CAAC;IACH,CAAC;IACD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,QAAQ,CACd,yBAAyB,EACzB,yBAAyB,EACzB,2EAA2E,EAC3E,yBAAyB,EACzB,KAAK,EACL,IAAI,EACJ;YACC,oCAAoC;YACpC,8GAA8G;YAC9G,4HAA4H;YAC5H,+HAA+H;YAC/H,qFAAqF;YACrF,4DAA4D;SAC5D,EACD,CAAC,iCAAiC,EAAE,uBAAuB,EAAE,4BAA4B,EAAE,2CAA2C,CAAC,EACvI,CAAC,2BAA2B,EAAE,gCAAgC,CAAC,EAC/D,CAAC,oBAAoB,EAAE,iCAAiC,EAAE,mCAAmC,CAAC,CAC9F,CAAC;IACH,CAAC;IACD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,QAAQ,CACd,gBAAgB,EAChB,qBAAqB,EACrB,8GAA8G,EAC9G,qBAAqB,EACrB,KAAK,EACL,KAAK,EACL;YACC,0CAA0C;YAC1C,sFAAsF;YACtF,iIAAiI;YACjI,qCAAqC;SACrC,EACD,CAAC,uBAAuB,EAAE,oBAAoB,EAAE,2BAA2B,CAAC,EAC5E,CAAC,qBAAqB,EAAE,0BAA0B,CAAC,EACnD,CAAC,+CAA+C,EAAE,mCAAmC,EAAE,yBAAyB,EAAE,8DAA8D,CAAC,CACjL,CAAC;IACH,CAAC;IACD,IAAI,YAAY,KAAK,UAAU,IAAI,YAAY,KAAK,aAAa,IAAI,YAAY,KAAK,OAAO,EAAE,CAAC;QAC/F,OAAO,QAAQ,CACd,uBAAuB,EACvB,uBAAuB,EACvB,kFAAkF,EAClF,iBAAiB,EACjB,IAAI,EACJ,IAAI,EACJ;YACC,wCAAwC;YACxC,8DAA8D;YAC9D,6CAA6C;YAC7C,2CAA2C;YAC3C,uCAAuC;SACvC,EACD,CAAC,mBAAmB,EAAE,cAAc,EAAE,yBAAyB,CAAC,EAChE,CAAC,2BAA2B,EAAE,wCAAwC,CAAC,EACvE,CAAC,6BAA6B,EAAE,+BAA+B,EAAE,gCAAgC,CAAC,CAClG,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,oBAAoB,KAAK,KAAK,IAAI,YAAY,KAAK,cAAc,EAAE,CAAC;QAC7E,OAAO,QAAQ,CACd,qBAAqB,EACrB,6BAA6B,EAC7B,4FAA4F,EAC5F,yBAAyB,EACzB,IAAI,EACJ,IAAI,EACJ;YACC,kFAAkF;YAClF,mCAAmC;YACnC,yEAAyE;YACzE,iCAAiC;YACjC,iDAAiD;SACjD,EACD,CAAC,sBAAsB,EAAE,aAAa,EAAE,4BAA4B,CAAC,EACrE,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,EACzC,CAAC,4BAA4B,EAAE,oDAAoD,EAAE,4BAA4B,CAAC,CAClH,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CACd,UAAU,EACV,uBAAuB,EACvB,qFAAqF,EACrF,UAAU,EACV,KAAK,EACL,KAAK,EACL;QACC,6BAA6B;QAC7B,2BAA2B;QAC3B,qCAAqC;KACrC,EACD,CAAC,oBAAoB,EAAE,sBAAsB,CAAC,EAC9C,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,EACxC,CAAC,yBAAyB,EAAE,0BAA0B,CAAC,CACvD,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,OAA0C;IAClE,IAAM,IAAI,GAAsC,EAAE,CAAC;IACnD,KAAK,IAAI,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC7D,IAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,MAAM;QACP,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAS,gBAAgB,CAAC,OAA0C,EAAE,OAAwC;IAC7G,IAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC7D,IAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,MAAM;QACP,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC;YACvC,MAAM;QACP,CAAC;QACD,KAAK,IAAI,CAAC,CAAC;IACZ,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,uBAAuB,CAC/B,OAA0C,EAC1C,OAAwC,EACxC,kBAA2B;IAE3B,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACrB,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,CAAC;IACD,IAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACzC,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9D,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAS,aAAa,CAAC,OAA0C,EAAE,OAAwC;IAC1G,IAAM,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,UAAC,MAAM;QACnD,OAAO,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;eAC7D,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IACH,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,CAAC;IACV,CAAC;IACD,IAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClD,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,CAAC;IACV,CAAC;IACD,IAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,CAAC;IACV,CAAC;IACD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;YACrC,OAAO,CAAC,CAAC;QACV,CAAC;IACF,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AACxB,CAAC;AAED,SAAgB,8BAA8B,CAAC,KAAoC;IAClF,IAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAClE,IAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;IAC3C,IAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACnE,IAAM,YAAY,GAAG,uCAAuC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACnF,IAAM,kBAAkB,GAAG,2CAA2C,CAAC,OAAO,CAAC,CAAC;IAChF,IAAM,YAAY,GAAG,8BAA8B,CAAC,OAAO,CAAC,CAAC;IAC7D,IAAM,QAAQ,GAAG,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC;IAC/E,IAAM,mBAAmB,GAAG,QAAQ,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,UAAU,CAAC,OAAO,CAAC,CAAC;IACrF,IAAM,kBAAkB,GAAG,mBAAmB;QAC7C,CAAC,CAAC,sCAAsC,CAAC,QAAQ,EAAE,OAAO,CAAC;QAC3D,CAAC,CAAC;YACD,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,MAA4C;YACtD,OAAO,EAAE,EAAE;YACX,YAAY,cAAA;YACZ,kBAAkB,oBAAA;SAClB,CAAC;IACH,IAAM,WAAW,GAAG,CAAC,CAAC,mBAAmB,IAAI,kBAAkB,CAAC,OAAO,CAAC;IACxE,IAAM,gBAAgB,GAAG,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5D,IAAM,aAAa,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACtD,IAAM,qBAAqB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,qBAAqB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACzF,IAAM,sBAAsB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,sBAAsB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3F,IAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC,CAAC;IAC/H,IAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC,CAAC;IACjH,IAAM,IAAI,GAAG;QACZ,YAAY,cAAA;QACZ,kBAAkB,oBAAA;QAClB,YAAY,cAAA;QACZ,gBAAgB,kBAAA;QAChB,aAAa,eAAA;QACb,WAAW,aAAA;QACX,gBAAgB,EAAE,kBAAkB,CAAC,QAAQ;QAC7C,gBAAgB,EAAE,kBAAkB,CAAC,QAAQ;QAC7C,eAAe,EAAE,kBAAkB,CAAC,OAAO;QAC3C,qBAAqB,EAAE,KAAK;QAC5B,oBAAoB,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC;KAC1F,CAAC;IACF,IAAM,QAAQ,GAAG,UAChB,MAAgC,EAChC,MAAc,EACd,SAA4H;QAA5H,0BAAA,EAAA,cAA4H;QAE5H,IAAM,MAAM,yBACR,IAAI,GACJ,SAAS,CACZ,CAAC;QACF,IAAM,YAAY,GAAG,mCAAmC,CAAC;YACxD,MAAM,QAAA;YACN,MAAM,QAAA;YACN,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO;YAC3C,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;YACjD,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,qBAAqB,uBAAA;SACrB,CAAC,CAAC;QACH,IAAM,kBAAkB,GAAG,yCAAyC,CAAC;YACpE,IAAI,EAAE,YAAY;YAClB,OAAO,SAAA;SACP,CAAC,CAAC;QACH,IAAM,qBAAqB,GAAG,4CAA4C,CAAC;YAC1E,UAAU,EAAE,kBAAkB;YAC9B,OAAO,SAAA;SACP,CAAC,CAAC;QACH,6BACI,MAAM,KACT,MAAM,QAAA,EACN,MAAM,QAAA,EACN,YAAY,cAAA,EACZ,kBAAkB,oBAAA,EAClB,qBAAqB,uBAAA,EACrB,cAAc,EAAE,2CAA2C,CAAC;gBAC3D,IAAI,EAAE,YAAY;gBAClB,UAAU,EAAE,kBAAkB;gBAC9B,KAAK,EAAE,qBAAqB;gBAC5B,OAAO,SAAA;aACP,CAAC,IACD;IACH,CAAC,CAAC;IACF,IAAI,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,OAAO,QAAQ,CAAC,mBAAmB,EAAE,gCAAgC,EAAE;YACtE,qBAAqB,EAAE,IAAI;YAC3B,oBAAoB,EAAE,KAAK;SAC3B,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9B,OAAO,QAAQ,CAAC,gBAAgB,EAAE,kCAAkC,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,aAAa,IAAI,sBAAsB,EAAE,CAAC;QAC7C,OAAO,QAAQ,CAAC,gBAAgB,EAAE,uCAAuC,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,gBAAgB,IAAI,qBAAqB,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC;QAC/E,OAAO,QAAQ,CAAC,uBAAuB,EAAE,WAAW;YACnD,CAAC,CAAC,gDAAgD;YAClD,CAAC,CAAC,kDAAkD,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QACpC,OAAO,QAAQ,CAAC,aAAa,EAAE,qDAAqD,EAAE;YACrF,oBAAoB,EAAE,KAAK;SAC3B,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,WAAW,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzC,IAAI,WAAW,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC;YACjD,OAAO,QAAQ,CAAC,UAAU,EAAE,yDAAyD,CAAC,CAAC;QACxF,CAAC;QACD,OAAO,QAAQ,CAAC,UAAU,EAAE,WAAW;YACrC,CAAC,CAAC,yDAAyD;YAC3D,CAAC,CAAC,oCAAoC,EAAE;YACzC,qBAAqB,EAAE,IAAI;YAC3B,gBAAgB,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB;YAC5D,gBAAgB,EAAE,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB;SACnF,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC,UAAU,EAAE,yCAAyC,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,4BAA4B,CAAC,KAKrC;IACA,IAAM,UAAU,GAAG,yCAAyC,CAAC;QAC5D,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,GAAG,EAAE,KAAK,CAAC,GAAG;KACd,CAAC,CAAC;IACH,IAAM,KAAK,GAAG,4CAA4C,CAAC;QAC1D,UAAU,YAAA;QACV,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,GAAG,EAAE,KAAK,CAAC,GAAG;KACd,CAAC,CAAC;IACH,IAAM,MAAM,GAAG,2CAA2C,CAAC;QAC1D,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,UAAU,YAAA;QACV,KAAK,OAAA;QACL,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,GAAG,EAAE,KAAK,CAAC,GAAG;KACd,CAAC,CAAC;IACH,IAAM,QAAQ,GAAG,8CAA8C,CAAC;QAC/D,MAAM,QAAA;QACN,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,GAAG,EAAE,KAAK,CAAC,GAAG;KACd,CAAC,CAAC;IACH,OAAO,iDAAiD,CAAC;QACxD,MAAM,QAAA;QACN,gBAAgB,EAAE,QAAQ;QAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,GAAG,EAAE,KAAK,CAAC,GAAG;KACd,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,KAYhC;;IACA,IAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAClC,IAAM,gBAAgB,GAAG,oCAAoC,CAAC;QAC7D,cAAc,EAAE,SAAS,CAAC,cAAc;QACxC,SAAS,WAAA;QACT,4BAA4B,EAAE,KAAK,CAAC,wBAAwB,IAAI,SAAS,CAAC,cAAc,KAAK,6BAA6B;QAC1H,oBAAoB,EAAE,KAAK,CAAC,wBAAwB,IAAI,SAAS,CAAC,cAAc,KAAK,oBAAoB;QACzG,oBAAoB,EAAE,KAAK;KAC3B,CAAC,CAAC;IACH,2BACC,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,gBAAgB,KAAK,KAAK,CAAC,wBAAwB,EACvE,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,aAAa,EAAE,SAAS,CAAC,CAAA,MAAA,SAAS,CAAC,cAAc,0CAAE,IAAI,KAAI,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,EAChF,cAAc,EAAE,SAAS,CAAC,cAAc,EACxC,gBAAgB,kBAAA,EAChB,wBAAwB,EAAE,KAAK,CAAC,wBAAwB,EACxD,oBAAoB,EAAE,SAAS,CAAC,mBAAmB,KAAK,IAAI,EAC5D,qBAAqB,EAAE,KAAK,CAAC,qBAAqB,KAAK,IAAI,EAC3D,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,KAAK,IAAI,EACjD,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,IAAI,MAAM,IAC/C,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;QAC7B,WAAW,EAAE,SAAS,CAAC,aAAa,CAAC,MAAM,KAAK,cAAc;QAC9D,iBAAiB,EAAE,SAAS,CAAC,aAAa,CAAC,iBAAiB;KAC5D,CAAC,CAAC,CAAC,EAAE,CAAC,KACP,OAAO,aACN,KAAK,EAAE,SAAS,CAAC,KAAK,EACtB,OAAO,EAAE,SAAS,CAAC,OAAO,EAC1B,MAAM,EAAE,SAAS,CAAC,MAAM,EACxB,aAAa,EAAE,SAAS,CAAC,aAAa,IACnC,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,KAExB;AACH,CAAC;AAED,SAAgB,2CAA2C,CAC1D,KAAuD;;IAAvD,sBAAA,EAAA,UAAuD;IAEvD,IAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,IAAI,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC1D,IAAM,qBAAqB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,qBAAqB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACzF,IAAM,oBAAoB,GAAG,KAAK,CAAC,oBAAoB,KAAK,KAAK,CAAC;IAClE,IAAM,4BAA4B,GAAG,KAAK,CAAC,4BAA4B,KAAK,KAAK,CAAC;IAClF,IAAM,KAAK,GAA2C,EAAE,CAAC;IACzD,IAAM,WAAW,GAAG,8BAA8B,CAAC;QAClD,OAAO,EAAE;YACR,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,4BAA4B,EAAE,YAAY,EAAE,gBAAgB,EAAE;SAC9J;QACD,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,4BAA4B,EAAE,YAAY,EAAE,gBAAgB,EAAE;QACvK,qBAAqB,uBAAA;KACrB,CAAC,CAAC;IACH,IAAM,cAAc,GAAG,iDAAiD,CAAC;QACxE,MAAM,EAAE,WAAW,CAAC,cAAc;QAClC,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,4BAA4B,EAAE,YAAY,EAAE,gBAAgB,EAAE;QACvK,OAAO,SAAA;KACP,CAAC,CAAC;IACH,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC;QAClC,MAAM,EAAE,8BAA8B;QACtC,OAAO,SAAA;QACP,MAAM,EAAE,WAAW,CAAC,MAAM;QAC1B,MAAM,EAAE,WAAW,CAAC,MAAM;QAC1B,SAAS,EAAE,cAAc;QACzB,wBAAwB,EAAE,IAAI;QAC9B,IAAI,EAAE,WAAW,CAAC,MAAM,KAAK,aAAa;eACtC,WAAW,CAAC,YAAY,CAAC,aAAa,KAAK,cAAc;eACzD,cAAc,CAAC,cAAc,KAAK,kBAAkB;eACpD,cAAc,CAAC,mBAAmB,KAAK,KAAK;QAChD,OAAO,EAAE,EAAE,aAAa,EAAE,WAAW,CAAC,YAAY,CAAC,aAAa,EAAE;KAClE,CAAC,CAAC,CAAC;IACJ,IAAM,WAAW,GAAG,mCAAmC,CAAC;QACvD,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,qCAAqC;QAC7C,YAAY,EAAE,SAAS;QACvB,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,iDAAiD;KAC1D,CAAC,CAAC;IACH,IAAM,cAAc,GAAG;QACtB,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,cAAc;QACvB,YAAY,EAAE,SAAS;QACvB,OAAO,EAAE,iDAAiD;QAC1D,YAAY,EAAE,+BAA+B;QAC7C,aAAa,EAAE,CAAC,qCAAqC,CAAC;KACtD,CAAC;IACF,IAAM,gBAAgB,GAAG,4BAA4B,CAAC;QACrD,OAAO,SAAA;QACP,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,cAAc;KACvB,CAAC,CAAC;IACH,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC;QAClC,MAAM,EAAE,kCAAkC;QAC1C,OAAO,SAAA;QACP,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,qCAAqC;QAC7C,SAAS,EAAE,gBAAgB;QAC3B,wBAAwB,EAAE,oBAAoB;QAC9C,IAAI,EAAE,WAAW,CAAC,aAAa,KAAK,gBAAgB;eAChD,gBAAgB,CAAC,cAAc,KAAK,oBAAoB;eACxD,CAAA,MAAA,gBAAgB,CAAC,aAAa,0CAAE,MAAM,MAAK,cAAc;eACzD,CAAA,MAAA,gBAAgB,CAAC,aAAa,0CAAE,iBAAiB,MAAK,KAAK;eAC3D,gBAAgB,CAAC,mBAAmB,KAAK,KAAK;QAClD,OAAO,EAAE,EAAE,aAAa,EAAE,WAAW,CAAC,aAAa,EAAE;KACrD,CAAC,CAAC,CAAC;IACJ,IAAM,WAAW,GAAG,mCAAmC,CAAC;QACvD,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,0CAA0C;QAClD,YAAY,EAAE,SAAS;QACvB,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,kBAAkB;QAC5B,OAAO,EAAE,yDAAyD;KAClE,CAAC,CAAC;IACH,IAAM,gBAAgB,GAAG,4BAA4B,CAAC;QACrD,OAAO,SAAA;QACP,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE;YACR,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,kBAAkB;YAC5B,OAAO,EAAE,cAAc;YACvB,YAAY,EAAE,SAAS;YACvB,OAAO,EAAE,yDAAyD;YAClE,YAAY,EAAE,0BAA0B;SACxC;KACD,CAAC,CAAC;IACH,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC;QAClC,MAAM,EAAE,kDAAkD;QAC1D,OAAO,SAAA;QACP,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,0CAA0C;QAClD,SAAS,EAAE,gBAAgB;QAC3B,wBAAwB,EAAE,4BAA4B;QACtD,IAAI,EAAE,WAAW,CAAC,aAAa,KAAK,yBAAyB;eACzD,gBAAgB,CAAC,cAAc,KAAK,6BAA6B;eACjE,gBAAgB,CAAC,mBAAmB,KAAK,KAAK;QAClD,OAAO,EAAE,EAAE,aAAa,EAAE,WAAW,CAAC,aAAa,EAAE;KACrD,CAAC,CAAC,CAAC;IACJ,IAAM,UAAU,GAAG,8BAA8B,CAAC;QACjD,OAAO,EAAE;YACR,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,qCAAqC,EAAE,YAAY,EAAE,aAAa,EAAE;YAC1K,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,qCAAqC,EAAE,YAAY,EAAE,mBAAmB,EAAE;SAChL;QACD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,qCAAqC,EAAE,YAAY,EAAE,mBAAmB,EAAE;QACzL,qBAAqB,uBAAA;KACrB,CAAC,CAAC;IACH,IAAM,aAAa,GAAG,iDAAiD,CAAC;QACvE,MAAM,EAAE,UAAU,CAAC,cAAc;QACjC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,qCAAqC,EAAE,YAAY,EAAE,mBAAmB,EAAE;QACzL,OAAO,SAAA;KACP,CAAC,CAAC;IACH,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC;QAClC,MAAM,EAAE,sCAAsC;QAC9C,OAAO,SAAA;QACP,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,SAAS,EAAE,aAAa;QACxB,wBAAwB,EAAE,IAAI;QAC9B,IAAI,EAAE,UAAU,CAAC,MAAM,KAAK,uBAAuB;eAC/C,UAAU,CAAC,gBAAgB,KAAK,KAAK;eACrC,UAAU,CAAC,qBAAqB,KAAK,KAAK;eAC1C,aAAa,CAAC,cAAc,KAAK,oBAAoB;QACzD,qBAAqB,EAAE,UAAU,CAAC,qBAAqB;QACvD,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;QAC7C,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;QAC7C,OAAO,EAAE,EAAE,eAAe,EAAE,UAAU,CAAC,eAAe,EAAE;KACxD,CAAC,CAAC,CAAC;IACJ,IAAM,cAAc,GAAG,8BAA8B,CAAC;QACrD,OAAO,EAAE;YACR,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,qCAAqC,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC,oBAAoB,CAAC,EAAE;YACjN;gBACC,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,QAAQ;gBAClB,OAAO,EAAE,cAAc;gBACvB,YAAY,EAAE,cAAc;gBAC5B,OAAO,EAAE,qCAAqC;gBAC9C,OAAO,EAAE,yEAAyE;gBAClF,YAAY,EAAE,gBAAgB;gBAC9B,aAAa,EAAE,CAAC,oBAAoB,EAAE,wBAAwB,CAAC;aAC/D;SACD;QACD,OAAO,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,cAAc;YACvB,YAAY,EAAE,cAAc;YAC5B,OAAO,EAAE,qCAAqC;YAC9C,OAAO,EAAE,yEAAyE;YAClF,YAAY,EAAE,gBAAgB;YAC9B,aAAa,EAAE,CAAC,oBAAoB,EAAE,wBAAwB,CAAC;SAC/D;QACD,qBAAqB,uBAAA;KACrB,CAAC,CAAC;IACH,KAAK,CAAC,IAAI,CAAC;QACV,MAAM,EAAE,sCAAsC;QAC9C,OAAO,SAAA;QACP,IAAI,EAAE,cAAc,CAAC,MAAM,KAAK,UAAU;eACtC,cAAc,CAAC,gBAAgB,KAAK,IAAI;eACxC,cAAc,CAAC,qBAAqB,KAAK,IAAI;QACjD,MAAM,EAAE,cAAc,CAAC,MAAM;QAC7B,MAAM,EAAE,cAAc,CAAC,MAAM;QAC7B,aAAa,EAAE,cAAc,CAAC,YAAY,CAAC,aAAa;QACxD,cAAc,EAAE,cAAc,CAAC,cAAc,CAAC,IAAI;QAClD,gBAAgB,EAAE,KAAK;QACvB,wBAAwB,EAAE,KAAK;QAC/B,oBAAoB,EAAE,cAAc,CAAC,cAAc,CAAC,oBAAoB;QACxE,qBAAqB,EAAE,cAAc,CAAC,qBAAqB;QAC3D,gBAAgB,EAAE,cAAc,CAAC,gBAAgB;QACjD,gBAAgB,EAAE,cAAc,CAAC,gBAAgB;QACjD,OAAO,EAAE,EAAE,eAAe,EAAE,cAAc,CAAC,eAAe,EAAE;KAC5D,CAAC,CAAC;IACH,IAAM,WAAW,GAAG,mCAAmC,CAAC;QACvD,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,8BAA8B;QACtC,YAAY,EAAE,cAAc;QAC5B,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,qCAAqC;QAC9C,oBAAoB,EAAE,IAAI;KAC1B,CAAC,CAAC;IACH,IAAM,gBAAgB,GAAG,4BAA4B,CAAC;QACrD,OAAO,SAAA;QACP,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,cAAc;YACvB,YAAY,EAAE,cAAc;YAC5B,OAAO,EAAE,qCAAqC;YAC9C,YAAY,EAAE,qBAAqB;SACnC;KACD,CAAC,CAAC;IACH,IAAM,WAAW,GAAG,oCAAoC,CAAC;QACxD,cAAc,EAAE,gBAAgB,CAAC,cAAc;QAC/C,SAAS,EAAE,gBAAgB;QAC3B,oBAAoB,EAAE,KAAK,CAAC,oBAAoB,KAAK,IAAI;KACzD,CAAC,CAAC;IACH,KAAK,CAAC,IAAI,CAAC;QACV,MAAM,EAAE,kDAAkD;QAC1D,OAAO,SAAA;QACP,IAAI,EAAE,WAAW,CAAC,aAAa,KAAK,qBAAqB;eACrD,gBAAgB,CAAC,cAAc,KAAK,6BAA6B;eACjE,WAAW,KAAK,KAAK;QACzB,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,8BAA8B;QACtC,aAAa,EAAE,WAAW,CAAC,aAAa;QACxC,cAAc,EAAE,gBAAgB,CAAC,cAAc;QAC/C,gBAAgB,EAAE,WAAW;QAC7B,wBAAwB,EAAE,KAAK;QAC/B,oBAAoB,EAAE,gBAAgB,CAAC,mBAAmB;QAC1D,qBAAqB,EAAE,KAAK;QAC5B,gBAAgB,EAAE,KAAK;QACvB,gBAAgB,EAAE,MAAM;QACxB,OAAO,EAAE,EAAE,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,gBAAgB,CAAC,OAAO,EAAE;KAC7E,CAAC,CAAC;IACH,IAAM,sBAAsB,GAAG,+CAA+C,CAAC;QAC9E,OAAO,SAAA;QACP,iBAAiB,EAAE,UAAG,OAAO,kBAAe;QAC5C,qBAAqB,EAAE,UAAG,OAAO,kBAAe;QAChD,YAAY,EAAE,WAAW;QACzB,aAAa,EAAE,WAAW;KAC1B,CAAC,CAAC;IACH,KAAK,CAAC,IAAI,CAAC;QACV,MAAM,EAAE,kDAAkD;QAC1D,OAAO,SAAA;QACP,IAAI,EAAE,sBAAsB,CAAC,iBAAiB,KAAK,wBAAwB;eACvE,sBAAsB,CAAC,sBAAsB,KAAK,IAAI;eACtD,sBAAsB,CAAC,iBAAiB,KAAK,KAAK;QACtD,MAAM,EAAE,sBAAsB,CAAC,iBAAiB;QAChD,MAAM,EAAE,sBAAsB,CAAC,MAAM;QACrC,aAAa,EAAE,gBAAgB;QAC/B,cAAc,EAAE,oBAAoB;QACpC,gBAAgB,EAAE,oBAAoB;QACtC,wBAAwB,EAAE,oBAAoB;QAC9C,oBAAoB,EAAE,KAAK;QAC3B,qBAAqB,EAAE,KAAK;QAC5B,gBAAgB,EAAE,KAAK;QACvB,gBAAgB,EAAE,MAAM;QACxB,WAAW,EAAE,IAAI;QACjB,iBAAiB,EAAE,sBAAsB,CAAC,iBAAiB;QAC3D,OAAO,EAAE,EAAE,aAAa,EAAE,sBAAsB,EAAE;KAClD,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACd,CAAC","file":"ai-runner-manager-policy.js","sourcesContent":["export type ResolveIOAIManagerAction =\n\t| 'continue'\n\t| 'retry_infra'\n\t| 'reset_loop_budget'\n\t| 'park_repeated_failure'\n\t| 'park_ping_pong'\n\t| 'manual_handoff';\n\nexport interface ResolveIOAIManagerFailureRecord {\n\toutcome?: string;\n\tlane?: string;\n\tstepType?: string;\n\tfailureClass?: string;\n\tblocker?: string;\n\tblockerFingerprint?: string;\n\tevidenceHash?: string;\n\tchangedFiles?: string[];\n\tartifactPaths?: string[];\n\tsummary?: string;\n\trecordedAt?: Date | string;\n}\n\nexport type ResolveIOAIManagerEvidenceStrength = 'none' | 'weak' | 'material' | 'proof';\n\nexport interface ResolveIOAIManagerEvidenceAssessment {\n\tchanged: boolean;\n\tmaterial: boolean;\n\tstrength: ResolveIOAIManagerEvidenceStrength;\n\tsignals: string[];\n\tevidenceHash: string;\n\tblockerFingerprint: string;\n}\n\nexport type ResolveIOAIManagerRecoveryClass =\n\t| 'advance_after_proof'\n\t| 'diagnosis_only'\n\t| 'diagnosis_revision'\n\t| 'infra_repair'\n\t| 'compile_repair'\n\t| 'journey_contract_repair'\n\t| 'business_proof_repair'\n\t| 'release_repair'\n\t| 'product_code_repair'\n\t| 'blocked_until_new_evidence'\n\t| 'manual_handoff'\n\t| 'continue';\n\nexport interface ResolveIOAIManagerRecoveryPlan {\n\trecoveryClass: ResolveIOAIManagerRecoveryClass;\n\tlane: string;\n\tstepType: string;\n\tnextActionLabel: string;\n\tobjective: string;\n\tallowedAction: string;\n\tproductRepairAllowed: boolean;\n\texpensiveModelAllowed: boolean;\n\tmaxAttemptsBeforePark: number;\n\tfiniteSteps: string[];\n\trequiredEvidence: string[];\n\tloopResetEvidence: string[];\n\tforbiddenActions: string[];\n\tnotes: string[];\n}\n\nexport type ResolveIOAIManagerRecoveryCheckpointStatus =\n\t| 'active'\n\t| 'parked'\n\t| 'manual_handoff'\n\t| 'complete';\n\nexport interface ResolveIOAIManagerRecoveryCheckpoint {\n\tcheckpointId: string;\n\trecoveryClass: ResolveIOAIManagerRecoveryClass;\n\tstatus: ResolveIOAIManagerRecoveryCheckpointStatus;\n\tlane: string;\n\tstepType: string;\n\tallowedAction: string;\n\tproductRepairAllowed: boolean;\n\texpensiveModelAllowed: boolean;\n\tattempts: number;\n\tmaxAttemptsBeforePark: number;\n\tblockerFingerprint: string;\n\tevidenceHash: string;\n\tchangedFiles: string[];\n\tartifactPaths: string[];\n\trequiredEvidence: string[];\n\tloopResetEvidence: string[];\n\tforbiddenActions: string[];\n\tobjective: string;\n\tnextActionLabel: string;\n\tcreatedAt: string;\n\tupdatedAt: string;\n}\n\nexport type ResolveIOAIManagerRecoveryEvidenceProbeStepKind =\n\t| 'read_only_diagnosis'\n\t| 'rerun_same_gate'\n\t| 'infra_preflight'\n\t| 'compile_check'\n\t| 'route_probe'\n\t| 'business_assertion'\n\t| 'journey_validation'\n\t| 'release_status'\n\t| 'diff_scope_check'\n\t| 'operator_review';\n\nexport interface ResolveIOAIManagerRecoveryEvidenceProbeStep {\n\tid: string;\n\tkind: ResolveIOAIManagerRecoveryEvidenceProbeStepKind;\n\tlabel: string;\n\tobjective: string;\n\trequired: boolean;\n\tcommandHint?: string;\n\tartifactExpectation: string;\n\tsuccessSignal: string;\n}\n\nexport interface ResolveIOAIManagerRecoveryEvidenceProbe {\n\tprobeId: string;\n\tcheckpointId: string;\n\trecoveryClass: ResolveIOAIManagerRecoveryClass;\n\tlane: string;\n\tstepType: string;\n\tobjective: string;\n\tevidenceOnly: boolean;\n\tproductRepairAllowed: boolean;\n\texpensiveModelAllowed: boolean;\n\tevidenceHashBefore: string;\n\tblockerFingerprint: string;\n\tsteps: ResolveIOAIManagerRecoveryEvidenceProbeStep[];\n\trequiredArtifacts: string[];\n\tacceptanceEvidence: string[];\n\tstopConditions: string[];\n\tloopResetEvidence: string[];\n\tcreatedAt: string;\n}\n\nexport type ResolveIOAIManagerRecoveryAutomationMode =\n\t| 'advance'\n\t| 'collect_evidence'\n\t| 'read_only_diagnosis'\n\t| 'repair_infra'\n\t| 'repair_compile'\n\t| 'repair_journey_contract'\n\t| 'repair_business_assertion'\n\t| 'repair_release'\n\t| 'targeted_product_repair'\n\t| 'manual_review'\n\t| 'continue_gate';\n\nexport interface ResolveIOAIManagerRecoveryActionRetryPolicy {\n\tallowImmediateRetry: boolean;\n\trequireNewEvidence: boolean;\n\tresetLoopWhen: string[];\n\tstopWhen: string[];\n}\n\nexport type ResolveIOAIManagerHotfixFirstReleaseAction =\n\t| 'wait_for_active_deploy'\n\t| 'block_duplicate_deploy'\n\t| 'block_duplicate_publish'\n\t| 'review_force_deploy'\n\t| 'hotfix_release_artifact'\n\t| 'deploy_new_artifact_after_release_gate'\n\t| 'build_artifact_first';\n\nexport type ResolveIOAIManagerHotfixChannel =\n\t| 'static_ui'\n\t| 'backend_js'\n\t| 'config'\n\t| 'seed_data'\n\t| 'cache_invalidation'\n\t| 'service_restart'\n\t| 'release_artifact'\n\t| 'force_deploy_review'\n\t| 'new_artifact_deploy'\n\t| 'artifact_build';\n\nexport interface ResolveIOAIManagerHotfixPlanStep {\n\tid: string;\n\tlabel: string;\n\tchannel: ResolveIOAIManagerHotfixChannel;\n\tsafeToAutoRun: boolean;\n\trequiresFullDeploy: boolean;\n\trequiredEvidence: string[];\n\tsuccessEvidence: string[];\n\tblockedBy: string[];\n}\n\nexport interface ResolveIOAIManagerHotfixPlan {\n\tplanId: string;\n\tlabel: string;\n\trecommendedChannel: ResolveIOAIManagerHotfixChannel;\n\treason: string;\n\tfullDeployAvoided: boolean;\n\tsteps: ResolveIOAIManagerHotfixPlanStep[];\n\tacceptanceEvidence: string[];\n\tescalationTriggers: string[];\n}\n\nexport interface ResolveIOAIManagerHotfixFirstReleasePolicyInput {\n\tsurface?: string;\n\tactiveDeploy?: boolean;\n\tdeployFingerprint?: string;\n\tlastDeployFingerprint?: string;\n\tpublishFingerprint?: string;\n\tlastPublishFingerprint?: string;\n\tdeployStatus?: string;\n\tpublishStatus?: string;\n\tsampleDataStatus?: string;\n\tforceDeploy?: boolean;\n\tforcePublish?: boolean;\n\thasNewArtifact?: boolean;\n}\n\nexport interface ResolveIOAIManagerHotfixFirstReleasePolicy {\n\tpolicy: 'hotfix_first';\n\tsurface: string;\n\trecommendedAction: ResolveIOAIManagerHotfixFirstReleaseAction;\n\tlabel: string;\n\treason: string;\n\thotfixPreferred: boolean;\n\tfullDeployAllowed: boolean;\n\tduplicateDeployBlocked: boolean;\n\tduplicatePublishBlocked: boolean;\n\tforceDeployRequiredToRepeat: boolean;\n\tforcePublishRequiredToRepeat: boolean;\n\tstatuses: {\n\t\tdeploy: string;\n\t\tpublish: string;\n\t\tsampleData: string;\n\t};\n\tfingerprints: {\n\t\tcurrent: string;\n\t\tlast: string;\n\t\tmatchesLast: boolean;\n\t\tpublishCurrent: string;\n\t\tpublishLast: string;\n\t\tpublishMatchesLast: boolean;\n\t};\n\thotfixPlan: ResolveIOAIManagerHotfixPlan;\n\tallowedActions: string[];\n\tforbiddenActions: string[];\n\trequiredEvidence: string[];\n}\n\nexport type ResolveIOAIManagerHotfixEvidenceStatus =\n\t| 'missing'\n\t| 'incomplete'\n\t| 'passed'\n\t| 'blocked';\n\nexport interface ResolveIOAIManagerHotfixEvidenceTarget {\n\tsurface?: string;\n\thost?: string;\n\tpath?: string;\n\tartifactPath?: string;\n\tbucket?: string;\n\tdistributionId?: string;\n\tprocessName?: string;\n\tconfigKey?: string;\n\tcacheKey?: string;\n\tseedKey?: string;\n}\n\nexport interface ResolveIOAIManagerHotfixRemoteChecksumProof {\n\thost?: string;\n\tpath?: string;\n\tchecksumBefore?: string;\n\tchecksumAfter?: string;\n\tchecksum?: string;\n\tstatus?: string;\n}\n\nexport interface ResolveIOAIManagerHotfixHostStatusProof {\n\thost?: string;\n\tstatus?: string;\n\tevidence?: string;\n\tcheckCount?: number;\n\tfailedCount?: number;\n}\n\nexport interface ResolveIOAIManagerHotfixEvidence {\n\tchannel: ResolveIOAIManagerHotfixChannel;\n\tstatus?: ResolveIOAIManagerHotfixEvidenceStatus | string;\n\ttarget: ResolveIOAIManagerHotfixEvidenceTarget;\n\ttargets?: ResolveIOAIManagerHotfixEvidenceTarget[];\n\tcompiledArtifactPath?: string;\n\tbuiltDistPath?: string;\n\tremoteChecksumBefore?: string;\n\tremoteChecksumAfter?: string;\n\tremoteChecksum?: string;\n\tremoteChecksums?: ResolveIOAIManagerHotfixRemoteChecksumProof[];\n\trestartEvidence?: string;\n\trestartResults?: ResolveIOAIManagerHotfixHostStatusProof[];\n\thealthCheckStatus?: string;\n\thealthChecks?: ResolveIOAIManagerHotfixHostStatusProof[];\n\tselfTestStatus?: string;\n\tselfTests?: ResolveIOAIManagerHotfixHostStatusProof[];\n\treleaseGateStatus?: string;\n\ts3UploadResult?: string;\n\tcloudfrontInvalidationId?: string;\n\tpublicProof?: string;\n\tconfigChangeEvidence?: string;\n\tseedDataEvidence?: string;\n\tcacheInvalidationEvidence?: string;\n\tserviceRestartEvidence?: string;\n\treleaseArtifactFingerprint?: string;\n\tlastReleaseArtifactFingerprint?: string;\n\tsourceCommitSha?: string;\n\tgithubCommitUrl?: string;\n\tgitCommitStatus?: string;\n\tgitPushStatus?: string;\n\tcommittedAt?: Date | string;\n\tforceDeployReason?: string;\n\thotfixCannotResolveReason?: string;\n\tfullDeployRequested?: boolean;\n\trecordedAt?: Date | string;\n}\n\nexport interface ResolveIOAIManagerHotfixEvidenceValidation {\n\tvalid: boolean;\n\tstatus: ResolveIOAIManagerHotfixEvidenceStatus;\n\tchannel: ResolveIOAIManagerHotfixChannel | '';\n\tblockers: string[];\n\twarnings: string[];\n\tfullDeployAllowed: boolean;\n\tfullDeployBlocked: boolean;\n\thotfixSatisfied: boolean;\n\trequiredEvidence: string[];\n\tsuccessEvidence: string[];\n\tnormalized?: ResolveIOAIManagerHotfixEvidence;\n\tgithubCommitGuard: ResolveIOAIManagerHotfixGitProof;\n\tpolicy?: ResolveIOAIManagerHotfixFirstReleasePolicy;\n\tnextAction: 'record_hotfix_evidence' | 'rerun_release_gate' | 'request_force_deploy_reason' | 'allow_one_full_deploy' | 'park_manual';\n}\n\nexport type ResolveIOAIManagerHotfixGitProofStatus =\n\t| 'not_required'\n\t| 'missing'\n\t| 'invalid'\n\t| 'passed';\n\nexport interface ResolveIOAIManagerHotfixGitProof {\n\trequired: boolean;\n\tstatus: ResolveIOAIManagerHotfixGitProofStatus;\n\tpassed: boolean;\n\tmanagerMustCommitBeforeHotfix: boolean;\n\tchannel: ResolveIOAIManagerHotfixChannel | '';\n\tsourceCommitSha: string;\n\tgithubCommitUrl: string;\n\tgithubCommitSha: string;\n\tgitCommitStatus: string;\n\tgitPushStatus: string;\n\tblockers: string[];\n\tnextCommands: string[];\n\trequiredEvidence: string[];\n}\n\nexport type ResolveIOAIManagerHotfixContinuationAction =\n\t| 'record_hotfix_evidence'\n\t| 'rerun_release_gate'\n\t| 'continue_runner'\n\t| 'request_force_deploy_reason'\n\t| 'allow_one_full_deploy'\n\t| 'park_manual';\n\nexport interface ResolveIOAIManagerHotfixContinuationInput {\n\tevidence?: any;\n\tpolicy?: ResolveIOAIManagerHotfixFirstReleasePolicy;\n\treleaseGatePassed?: boolean;\n\trepeatedFailure?: boolean;\n\tfailureClass?: string;\n\tblocker?: string;\n\tnow?: Date | string;\n}\n\nexport interface ResolveIOAIManagerHotfixContinuationDecision {\n\taction: ResolveIOAIManagerHotfixContinuationAction;\n\tcanContinueRun: boolean;\n\tcanRunFullDeploy: boolean;\n\tshouldRerunReleaseGate: boolean;\n\tshouldPark: boolean;\n\treason: string;\n\tblockers: string[];\n\twarnings: string[];\n\trequiredEvidence: string[];\n\tsuccessEvidence: string[];\n\tnextCommands: string[];\n\tfailureClass: string;\n\tblockerFingerprint: string;\n\tgithubCommitGuard: ResolveIOAIManagerHotfixGitProof;\n\tvalidation: ResolveIOAIManagerHotfixEvidenceValidation;\n\trecordedAt: string;\n}\n\nexport interface ResolveIOAIManagerHotfixCommitGuardDecision {\n\tactive: boolean;\n\tblocked: boolean;\n\treason: string;\n\tnextAction: 'record_hotfix_evidence' | 'continue';\n\tchannel: ResolveIOAIManagerHotfixChannel | '';\n\tblockers: string[];\n\tnextCommands: string[];\n\trequiredEvidence: string[];\n\tgithubCommitGuard: ResolveIOAIManagerHotfixGitProof;\n\tvalidation: ResolveIOAIManagerHotfixEvidenceValidation;\n}\n\nexport type ResolveIOAIManagerHotfixEvidenceRecordSource =\n\t| 'manual'\n\t| 'manager'\n\t| 'runner_console'\n\t| 'hotfix_script'\n\t| 'deploy_script'\n\t| 'unknown';\n\nexport interface ResolveIOAIManagerHotfixEvidenceRecordInput extends Partial<ResolveIOAIManagerHotfixEvidence> {\n\tevidence?: any;\n\tpolicy?: ResolveIOAIManagerHotfixFirstReleasePolicy;\n\trecordId?: string;\n\treason?: string;\n\trecordedBy?: string;\n\tsource?: ResolveIOAIManagerHotfixEvidenceRecordSource | string;\n\tnow?: Date | string;\n}\n\nexport interface ResolveIOAIManagerHotfixEvidenceRecord {\n\trecordId: string;\n\trecordedAt: string;\n\trecordedBy: string;\n\tsource: ResolveIOAIManagerHotfixEvidenceRecordSource | string;\n\treason: string;\n\tchannel: ResolveIOAIManagerHotfixChannel | '';\n\tstatus: ResolveIOAIManagerHotfixEvidenceStatus;\n\tnextAction: ResolveIOAIManagerHotfixEvidenceValidation['nextAction'];\n\tvalid: boolean;\n\thotfixSatisfied: boolean;\n\tfullDeployAllowed: boolean;\n\tfullDeployBlocked: boolean;\n\trequiredFields: string[];\n\tmissingFields: string[];\n\tevidence: ResolveIOAIManagerHotfixEvidence | undefined;\n\tvalidation: ResolveIOAIManagerHotfixEvidenceValidation;\n\tsourceCommitSha: string;\n\tgithubCommitUrl: string;\n\tgitCommitStatus: string;\n\tgitPushStatus: string;\n\tgithubCommitRequired: boolean;\n\tgithubCommitProofPassed: boolean;\n\tcommitProofStatus: 'not_required' | 'missing' | 'invalid' | 'passed';\n\tcommitFirstProtocol: 'not_required' | 'commit_first_hotfix';\n\tcommit_first_protocol: 'not_required' | 'commit_first_hotfix';\n\tcommitFirstProtocolSatisfied: boolean;\n\tcommit_first_protocol_satisfied: boolean;\n\tliveHotfixBlockedUntilCommit: boolean;\n\tlive_hotfix_blocked_until_commit: boolean;\n\tliveHotfixAllowed: boolean;\n\tlive_hotfix_allowed: boolean;\n\tmanagerMustCommitBeforeHotfix: boolean;\n\tgithubCommitGuard: ResolveIOAIManagerHotfixGitProof;\n\treadyForReleaseGate: boolean;\n\treadyForContinuation: boolean;\n\tmanagerContinuationAllowed: boolean;\n\tmanager_continuation_allowed: boolean;\n}\n\nexport type ResolveIOAIManagerHotfixDurabilityStatus =\n\t| 'not_required'\n\t| 'waiting_for_commit_proof'\n\t| 'ready_for_live_hotfix'\n\t| 'ready_for_release_gate'\n\t| 'ready_for_continuation';\n\nexport interface ResolveIOAIManagerHotfixDurabilityContractInput {\n\taction?: string;\n\treason?: string;\n\tevidence?: any;\n\tpolicy?: ResolveIOAIManagerHotfixFirstReleasePolicy;\n\tcontinuation?: Partial<ResolveIOAIManagerHotfixContinuationDecision> | null;\n\texisting?: any;\n\tsource?: string;\n\treleaseGatePassed?: boolean;\n\tnow?: Date | string;\n}\n\nexport interface ResolveIOAIManagerHotfixDurabilityContract {\n\tcontractId: string;\n\tcontract_id: string;\n\tcreatedAt: string;\n\tcreated_at: string;\n\tupdatedAt: string;\n\tupdated_at: string;\n\tsource: string;\n\trequired: boolean;\n\taction: string;\n\tstatus: ResolveIOAIManagerHotfixDurabilityStatus;\n\treason: string;\n\tcanPrepareHotfixPatch: boolean;\n\tcan_prepare_hotfix_patch: boolean;\n\tcanHotfixBackend: boolean;\n\tcan_hotfix_backend: boolean;\n\tliveHotfixBlockedUntilCommit: boolean;\n\tlive_hotfix_blocked_until_commit: boolean;\n\tdurabilityProtocol: 'not_required' | 'commit_first_hotfix';\n\tdurability_protocol: 'not_required' | 'commit_first_hotfix';\n\tcommitFirstProtocolRequired: boolean;\n\tcommit_first_protocol_required: boolean;\n\tcommitFirstProtocolSatisfied: boolean;\n\tcommit_first_protocol_satisfied: boolean;\n\tliveHotfixAllowed: boolean;\n\tlive_hotfix_allowed: boolean;\n\tmanagerContinuationAllowed: boolean;\n\tmanager_continuation_allowed: boolean;\n\tcommitProofPassed: boolean;\n\tcommit_proof_passed: boolean;\n\tcommitProofStatus: ResolveIOAIManagerHotfixGitProofStatus | 'missing';\n\tcommit_proof_status: ResolveIOAIManagerHotfixGitProofStatus | 'missing';\n\tsourceCommitSha: string;\n\tsource_commit_sha: string;\n\tgithubCommitUrl: string;\n\tgithub_commit_url: string;\n\tgitCommitStatus: string;\n\tgit_commit_status: string;\n\tgitPushStatus: string;\n\tgit_push_status: string;\n\tmissingCommitProofFields: string[];\n\tmissing_commit_proof_fields: string[];\n\tnextSafeAction: string;\n\tnext_safe_action: string;\n\tphaseOrder: string[];\n\tphase_order: string[];\n\trequiredFields: string[];\n\trequired_fields: string[];\n\trequiredEvidence: string[];\n\trequired_evidence: string[];\n\tsuccessCriteria: string[];\n\tsuccess_criteria: string[];\n\tforbiddenActions: string[];\n\tforbidden_actions: string[];\n\thotfixCommitGuard: Record<string, any>;\n\thotfix_commit_guard: Record<string, any>;\n\tgithubCommitGuard: ResolveIOAIManagerHotfixGitProof;\n\tgithub_commit_guard: ResolveIOAIManagerHotfixGitProof;\n\tvalidation: ResolveIOAIManagerHotfixEvidenceValidation;\n\tcontinuation?: Partial<ResolveIOAIManagerHotfixContinuationDecision> | null;\n\textraRequest: string;\n\textra_request: string;\n}\n\nexport interface ResolveIOAIManagerRecoveryActionPacket {\n\tactionId: string;\n\tcheckpointId: string;\n\tprobeId: string;\n\trecoveryClass: ResolveIOAIManagerRecoveryClass;\n\tmode: ResolveIOAIManagerRecoveryAutomationMode;\n\tsingleActionOnly: boolean;\n\tallowedDispatchAction: ResolveIOAIManagerRecoveryActionDispatchAction;\n\tlabel: string;\n\tlane: string;\n\tstepType: string;\n\tprimaryStepKind: ResolveIOAIManagerRecoveryEvidenceProbeStepKind | 'none';\n\tobjective: string;\n\tevidenceOnly: boolean;\n\tautoRunnable: boolean;\n\tproductRepairAllowed: boolean;\n\texpensiveModelAllowed: boolean;\n\tcostCeilingUsd: number;\n\trequiredStateTransition: string;\n\tproofRequiredBeforeContinuation: boolean;\n\tcanResetLoopAfterEvidence: boolean;\n\tmaxAttemptsBeforePark: number;\n\trequiredArtifacts: string[];\n\tnextCommands: string[];\n\tsuccessCriteria: string[];\n\texitCriteria: string[];\n\tretryPolicy: ResolveIOAIManagerRecoveryActionRetryPolicy;\n\treleasePolicy?: ResolveIOAIManagerHotfixFirstReleasePolicy;\n\tblockedReason?: string;\n\tcreatedAt: string;\n}\n\nexport type ResolveIOAIManagerRecoveryActionDispatchAction =\n\t| 'run_evidence_probe'\n\t| 'run_read_only_diagnosis'\n\t| 'run_infra_repair'\n\t| 'run_compile_repair'\n\t| 'run_journey_contract_repair'\n\t| 'run_business_assertion_repair'\n\t| 'run_release_repair'\n\t| 'run_targeted_product_repair'\n\t| 'advance'\n\t| 'continue_gate'\n\t| 'park_manual';\n\nexport interface ResolveIOAIManagerAutoDispatchPolicyInput {\n\tdispatchAction?: ResolveIOAIManagerRecoveryActionDispatchAction | string;\n\tdirective?: Partial<ResolveIOAIManagerRecoveryExecutionDirective>;\n\taction?: Partial<ResolveIOAIManagerRecoveryActionPacket>;\n\tincludeJourneyContractRepair?: boolean;\n\tincludeReleaseRepair?: boolean;\n\tincludeBusinessProofRepair?: boolean;\n\tincludeProductRepair?: boolean;\n}\n\nexport type ResolveIOAIManagerRecoveryActionDispatchStatus =\n\t| 'queued'\n\t| 'started'\n\t| 'completed'\n\t| 'failed'\n\t| 'parked';\n\nexport interface ResolveIOAIManagerRecoveryActionDispatchRecord {\n\tdispatchId: string;\n\tactionId: string;\n\tcheckpointId: string;\n\tprobeId: string;\n\tmode: ResolveIOAIManagerRecoveryAutomationMode;\n\tdispatchAction: ResolveIOAIManagerRecoveryActionDispatchAction;\n\tstatus: ResolveIOAIManagerRecoveryActionDispatchStatus;\n\tevidenceHash: string;\n\tblockerFingerprint: string;\n\tproductRepairAllowed: boolean;\n\texpensiveModelAllowed: boolean;\n\treason: string;\n\tartifactPaths: string[];\n\tstartedAt?: string;\n\tcompletedAt?: string;\n\tcreatedAt: string;\n}\n\nexport interface ResolveIOAIManagerRecoveryActionDispatchInput {\n\taction?: ResolveIOAIManagerRecoveryActionPacket;\n\thistory?: ResolveIOAIManagerRecoveryActionDispatchRecord[];\n\tcurrent?: ResolveIOAIManagerFailureRecord;\n\tautonomyPolicy?: ResolveIOAIManagerAutonomyPolicyInput;\n\toperatorApproved?: boolean;\n\tnow?: Date | string;\n}\n\nexport interface ResolveIOAIManagerRecoveryActionDispatchDecision {\n\tdispatchAction: ResolveIOAIManagerRecoveryActionDispatchAction;\n\tallowed: boolean;\n\treason: string;\n\tstatus: ResolveIOAIManagerRecoveryActionDispatchStatus;\n\tcanRunProductRepair: boolean;\n\tcanRunExpensiveModel: boolean;\n\tshouldRecordDispatch: boolean;\n\trequiresNewEvidence: boolean;\n\tnewEvidence: boolean;\n\tautonomyPolicy?: ResolveIOAIManagerAutonomyPolicyDecision;\n\tdispatchRecord?: ResolveIOAIManagerRecoveryActionDispatchRecord;\n}\n\nexport type ResolveIOAIManagerAutonomyMode =\n\t| 'manual_only'\n\t| 'monitor_only'\n\t| 'auto_retry_within_budget';\n\nexport interface ResolveIOAIManagerAutonomyPolicyInput {\n\tmode?: ResolveIOAIManagerAutonomyMode | string;\n\tcurrentSpendUsd?: number;\n\tbudgetSoftUsd?: number;\n\tbudgetHardUsd?: number;\n\tprojectedActionCostUsd?: number;\n\tdispatchAction?: ResolveIOAIManagerRecoveryActionDispatchAction | string;\n\texpectedValueScore?: number;\n\tminExpectedValueScore?: number;\n\tevidenceStrength?: ResolveIOAIManagerEvidenceStrength | string;\n\tmaterialEvidence?: boolean;\n\tnewEvidence?: boolean;\n\tevidenceSignals?: string[];\n\tsameEvidenceAlreadyAttempted?: boolean;\n\tallowEvidenceProbeWithoutExpectedValue?: boolean;\n\toperatorApproved?: boolean;\n}\n\nexport interface ResolveIOAIManagerRetryExpectedValueInput {\n\tdispatchAction?: ResolveIOAIManagerRecoveryActionDispatchAction | string;\n\tprojectedActionCostUsd?: number;\n\tcurrentSpendUsd?: number;\n\tbudgetHardUsd?: number;\n\tfailureClass?: string;\n\trecoveryClass?: ResolveIOAIManagerRecoveryClass | string;\n\tevidenceStrength?: ResolveIOAIManagerEvidenceStrength | string;\n\tmaterialEvidence?: boolean;\n\tnewEvidence?: boolean;\n\tevidenceSignals?: string[];\n\tsameEvidenceAlreadyAttempted?: boolean;\n}\n\nexport interface ResolveIOAIManagerRetryExpectedValueEstimate {\n\tscore: number;\n\tminScore: number;\n\tpositive: boolean;\n\tsource: 'estimated';\n\tconfidence: 'low' | 'medium' | 'high';\n\treason: string;\n\tsignals: string[];\n}\n\nexport interface ResolveIOAIManagerAutonomyPolicyDecision {\n\tmode: ResolveIOAIManagerAutonomyMode;\n\tcanAutoDispatch: boolean;\n\tcanManualDispatch: boolean;\n\tblocked: boolean;\n\trequiresHumanApproval: boolean;\n\treason: string;\n\tcurrentSpendUsd: number;\n\tprojectedActionCostUsd: number;\n\tprojectedSpendUsd: number;\n\tbudgetSoftUsd: number;\n\tbudgetHardUsd: number;\n\tsoftBudgetExceeded: boolean;\n\thardBudgetExceeded: boolean;\n\tdispatchAction: string;\n\texpectedValueScore: number;\n\tminExpectedValueScore: number;\n\texpectedValueKnown: boolean;\n\texpectedValueSource: 'provided' | 'estimated';\n\texpectedValuePositive: boolean;\n\tevidenceStrength: ResolveIOAIManagerEvidenceStrength;\n\tmaterialEvidence: boolean;\n\tnewEvidence: boolean;\n\tevidenceBacked: boolean;\n\tevidenceSignals: string[];\n\trecommendedControl: 'manual_only' | 'monitor_only' | 'auto_retry_within_budget' | 'increase_budget_or_manual';\n\tforbiddenActions: string[];\n\trequiredEvidence: string[];\n}\n\nexport type ResolveIOAIManagerRecoveryExecutionPhase =\n\t| 'evidence'\n\t| 'diagnosis'\n\t| 'infra'\n\t| 'compile'\n\t| 'journey'\n\t| 'business_proof'\n\t| 'release'\n\t| 'product_repair'\n\t| 'advance'\n\t| 'manual';\n\nexport interface ResolveIOAIManagerRecoveryExecutionDirectiveInput {\n\taction?: ResolveIOAIManagerRecoveryActionPacket;\n\tdispatchDecision?: ResolveIOAIManagerRecoveryActionDispatchDecision;\n\tcurrent?: ResolveIOAIManagerFailureRecord;\n\tautonomyPolicy?: ResolveIOAIManagerAutonomyPolicyInput;\n\tsurface?: string;\n\tnow?: Date | string;\n}\n\nexport interface ResolveIOAIManagerRecoveryExecutionDirective {\n\tdirectiveId: string;\n\tsurface: string;\n\tdispatchAction: ResolveIOAIManagerRecoveryActionDispatchAction;\n\tphase: ResolveIOAIManagerRecoveryExecutionPhase;\n\tallowed: boolean;\n\tstatus: ResolveIOAIManagerRecoveryActionDispatchStatus;\n\treason: string;\n\tsingleActionOnly: boolean;\n\tallowedDispatchAction: ResolveIOAIManagerRecoveryActionDispatchAction;\n\tlane: string;\n\tstepType: string;\n\tnextActionLabel: string;\n\trerunReason: string;\n\tevidenceOnly: boolean;\n\tautoRunnable: boolean;\n\tproductRepairAllowed: boolean;\n\texpensiveModelAllowed: boolean;\n\tcostCeilingUsd: number;\n\trequiredStateTransition: string;\n\tproofRequiredBeforeContinuation: boolean;\n\tcanRunProductRepair: boolean;\n\tcanRunExpensiveModel: boolean;\n\tcanResetLoopAfterEvidence: boolean;\n\trequiresNewEvidence: boolean;\n\tnewEvidence: boolean;\n\tautonomyPolicy?: ResolveIOAIManagerAutonomyPolicyDecision;\n\tmaxAttemptsBeforePark: number;\n\trequiredArtifacts: string[];\n\tnextCommands: string[];\n\tsuccessCriteria: string[];\n\texitCriteria: string[];\n\tforbiddenActions: string[];\n\tdispatchRecord?: ResolveIOAIManagerRecoveryActionDispatchRecord;\n\treleasePolicy?: ResolveIOAIManagerHotfixFirstReleasePolicy;\n\tcreatedAt: string;\n}\n\nexport type ResolveIOAIManagerRecoveryExecutionProofStatus =\n\t| 'proof_ready'\n\t| 'waiting_for_execution'\n\t| 'waiting_for_new_evidence'\n\t| 'blocked_same_evidence'\n\t| 'manual_handoff';\n\nexport interface ResolveIOAIManagerRecoveryExecutionProofContractInput {\n\tdirective?: ResolveIOAIManagerRecoveryExecutionDirective;\n\tprevious?: ResolveIOAIManagerFailureRecord;\n\tcurrent?: ResolveIOAIManagerFailureRecord;\n\trequiredEvidence?: any;\n\tnow?: Date | string;\n}\n\nexport interface ResolveIOAIManagerRecoveryExecutionProofContract {\n\tcontractId: string;\n\tdirectiveId: string;\n\tsurface: string;\n\tdispatchAction: ResolveIOAIManagerRecoveryActionDispatchAction;\n\tphase: ResolveIOAIManagerRecoveryExecutionPhase;\n\tstatus: ResolveIOAIManagerRecoveryExecutionProofStatus;\n\tcanContinueRun: boolean;\n\tcanRunProductRepair: boolean;\n\tcanRunExpensiveModel: boolean;\n\tcanResetLoopBudget: boolean;\n\tproofRequiredBeforeContinuation: boolean;\n\trequiresNewEvidence: boolean;\n\tnewEvidence: boolean;\n\tmaterialEvidence: boolean;\n\tevidenceStrength: ResolveIOAIManagerEvidenceStrength;\n\tevidenceSignals: string[];\n\tstartingFailureClass: string;\n\tstartingBlockerFingerprint: string;\n\tstartingEvidenceHash: string;\n\tlatestFailureClass: string;\n\tlatestBlockerFingerprint: string;\n\tlatestEvidenceHash: string;\n\trequiredEvidence: string[];\n\tmissingEvidence: string[];\n\tartifactPaths: string[];\n\tchangedFiles: string[];\n\tblockers: string[];\n\tnextAllowedAction: string;\n\tforbiddenActions: string[];\n\tcreatedAt: string;\n}\n\nexport interface ResolveIOAIManagerRecoveryCheckpointInput {\n\tplan: ResolveIOAIManagerRecoveryPlan;\n\tcurrent?: ResolveIOAIManagerFailureRecord;\n\tpreviousCheckpoint?: ResolveIOAIManagerRecoveryCheckpoint;\n\tnow?: Date | string;\n}\n\nexport type ResolveIOAIManagerRecoveryGateAction =\n\t| 'allow'\n\t| 'collect_new_evidence'\n\t| 'reject_action'\n\t| 'manual_handoff'\n\t| 'complete';\n\nexport interface ResolveIOAIManagerRecoveryGateInput {\n\tcheckpoint: ResolveIOAIManagerRecoveryCheckpoint;\n\tcurrent?: ResolveIOAIManagerFailureRecord;\n\tproposedAction?: string;\n\toperatorApproved?: boolean;\n\tnow?: Date | string;\n}\n\nexport interface ResolveIOAIManagerRecoveryGateDecision {\n\taction: ResolveIOAIManagerRecoveryGateAction;\n\treason: string;\n\tcanRunProductRepair: boolean;\n\tcanRunExpensiveModel: boolean;\n\tshouldResetLoopBudget: boolean;\n\tshouldIncrementAttempt: boolean;\n\tnewEvidence: boolean;\n\tmaterialEvidence: boolean;\n\tevidenceStrength: ResolveIOAIManagerEvidenceStrength;\n\tevidenceSignals: string[];\n\tblockerFingerprint: string;\n\tevidenceHash: string;\n\tmissingEvidence: string[];\n\tcheckpoint: ResolveIOAIManagerRecoveryCheckpoint;\n}\n\nexport interface ResolveIOAIManagerRecoveryEvidenceProbeInput {\n\tcheckpoint: ResolveIOAIManagerRecoveryCheckpoint;\n\tcurrent?: ResolveIOAIManagerFailureRecord;\n\tnow?: Date | string;\n}\n\nexport interface ResolveIOAIManagerRecoveryActionPacketInput {\n\tplan?: ResolveIOAIManagerRecoveryPlan;\n\tcheckpoint: ResolveIOAIManagerRecoveryCheckpoint;\n\tprobe?: ResolveIOAIManagerRecoveryEvidenceProbe;\n\tcurrent?: ResolveIOAIManagerFailureRecord;\n\tnow?: Date | string;\n}\n\nexport interface ResolveIOAIManagerRecoveryPlanInput {\n\taction?: ResolveIOAIManagerAction | string;\n\treason?: string;\n\tfailureClass?: string;\n\tlane?: string;\n\tstepType?: string;\n\tblocker?: string;\n\tsameFailureCount?: number;\n\tpingPongCount?: number;\n\tnewEvidence?: boolean;\n\tproductRepairFailure?: boolean;\n\tchangedFiles?: string[];\n\tartifactPaths?: string[];\n\tmaxSameFailureRepeats?: number;\n}\n\nexport interface ResolveIOAIManagerPolicyInput {\n\thistory?: ResolveIOAIManagerFailureRecord[];\n\tcurrent?: ResolveIOAIManagerFailureRecord;\n\tmaxSameFailureRepeats?: number;\n\tmaxPingPongTransitions?: number;\n\tinfraFailureClasses?: string[];\n\tignoredFailureClasses?: string[];\n}\n\nexport interface ResolveIOAIManagerPolicyDecision {\n\taction: ResolveIOAIManagerAction;\n\treason: string;\n\tfailureClass: string;\n\tblockerFingerprint: string;\n\tevidenceHash: string;\n\tsameFailureCount: number;\n\tpingPongCount: number;\n\tnewEvidence: boolean;\n\tmaterialEvidence: boolean;\n\tevidenceStrength: ResolveIOAIManagerEvidenceStrength;\n\tevidenceSignals: string[];\n\tloopBudgetShouldReset: boolean;\n\tproductRepairFailure: boolean;\n\trecoveryPlan: ResolveIOAIManagerRecoveryPlan;\n\trecoveryCheckpoint: ResolveIOAIManagerRecoveryCheckpoint;\n\trecoveryEvidenceProbe: ResolveIOAIManagerRecoveryEvidenceProbe;\n\trecoveryAction: ResolveIOAIManagerRecoveryActionPacket;\n}\n\nexport interface ResolveIOAIManagerRecoveryReplayMatrixInput {\n\tsurface?: string;\n\tincludeJourneyContractRepair?: boolean;\n\tincludeReleaseRepair?: boolean;\n\tincludeProductRepair?: boolean;\n\tmaxSameFailureRepeats?: number;\n}\n\nexport interface ResolveIOAIManagerRecoveryReplayCase {\n\tcaseId: string;\n\tsurface: string;\n\tpass: boolean;\n\taction: string;\n\treason: string;\n\trecoveryClass: string;\n\tdispatchAction: string;\n\tsafeAutoDispatch: boolean;\n\texpectedSafeAutoDispatch: boolean;\n\tproductRepairAllowed: boolean;\n\tloopBudgetShouldReset: boolean;\n\tmaterialEvidence: boolean;\n\tevidenceStrength: ResolveIOAIManagerEvidenceStrength;\n\thotfixFirst?: boolean;\n\tfullDeployAllowed?: boolean;\n\tdetails?: Record<string, any>;\n}\n\nfunction cleanText(value: any, max = 2000): string {\n\treturn String(value || '').replace(/\\s+/g, ' ').trim().slice(0, max);\n}\n\nfunction cleanList(values: any, limit = 40, max = 500): string[] {\n\tif (!Array.isArray(values)) {\n\t\treturn [];\n\t}\n\tconst result: string[] = [];\n\tfor (const value of values) {\n\t\tconst normalized = cleanText(value, max);\n\t\tif (normalized && !result.includes(normalized)) {\n\t\t\tresult.push(normalized);\n\t\t}\n\t\tif (result.length >= limit) {\n\t\t\tbreak;\n\t\t}\n\t}\n\treturn result;\n}\n\nconst HOTFIX_CHANNELS = new Set<ResolveIOAIManagerHotfixChannel>([\n\t'static_ui',\n\t'backend_js',\n\t'config',\n\t'seed_data',\n\t'cache_invalidation',\n\t'service_restart',\n\t'release_artifact',\n\t'force_deploy_review',\n\t'new_artifact_deploy',\n\t'artifact_build'\n]);\n\nfunction cleanObject(value: any): Record<string, any> {\n\treturn value && typeof value === 'object' && !Array.isArray(value) ? value : {};\n}\n\nfunction normalizeAutonomyMode(value: any): ResolveIOAIManagerAutonomyMode {\n\tconst normalized = cleanText(value, 120).toLowerCase().replace(/[\\s-]+/g, '_');\n\tif (/^(monitor|monitor_only|watch|watch_only)$/.test(normalized)) {\n\t\treturn 'monitor_only';\n\t}\n\tif (/^(auto|auto_retry|auto_retry_within_budget|autonomous|within_budget)$/.test(normalized)) {\n\t\treturn 'auto_retry_within_budget';\n\t}\n\treturn 'manual_only';\n}\n\nfunction normalizeManagerEvidenceStrength(value: any): ResolveIOAIManagerEvidenceStrength {\n\tconst normalized = cleanText(value, 40).toLowerCase().replace(/[\\s-]+/g, '_');\n\tif (normalized === 'proof') {\n\t\treturn 'proof';\n\t}\n\tif (normalized === 'material' || normalized === 'strong') {\n\t\treturn 'material';\n\t}\n\tif (normalized === 'weak') {\n\t\treturn 'weak';\n\t}\n\treturn 'none';\n}\n\nfunction nonNegativeMoney(value: any): number {\n\tconst parsed = Number(value);\n\treturn Number.isFinite(parsed) && parsed > 0 ? parsed : 0;\n}\n\nfunction finiteNumber(value: any): number | undefined {\n\tconst parsed = Number(value);\n\treturn Number.isFinite(parsed) ? parsed : undefined;\n}\n\nfunction clampNumber(value: number, min: number, max: number): number {\n\treturn Math.min(max, Math.max(min, value));\n}\n\nfunction isCheapEvidenceAutonomyAction(value: any): boolean {\n\tconst action = cleanText(value, 120);\n\treturn !action || /^(run_evidence_probe|run_read_only_diagnosis|advance|continue_gate|park_manual)$/.test(action);\n}\n\nexport function estimateResolveIOAIManagerRetryExpectedValue(\n\tinput: ResolveIOAIManagerRetryExpectedValueInput = {}\n): ResolveIOAIManagerRetryExpectedValueEstimate {\n\tconst dispatchAction = cleanText(input.dispatchAction, 120);\n\tconst failureClass = normalizeResolveIOAIManagerFailureClass(input.failureClass);\n\tconst recoveryClass = cleanText(input.recoveryClass, 120);\n\tconst evidenceStrength = normalizeManagerEvidenceStrength(input.evidenceStrength);\n\tconst evidenceSignals = cleanList(input.evidenceSignals, 12, 120);\n\tconst projectedActionCostUsd = nonNegativeMoney(input.projectedActionCostUsd);\n\tconst budgetHardUsd = nonNegativeMoney(input.budgetHardUsd);\n\tconst materialEvidence = input.materialEvidence === true || evidenceStrength === 'material' || evidenceStrength === 'proof';\n\tconst newEvidence = input.newEvidence === true;\n\tconst signals: string[] = [];\n\tlet score = 0.1;\n\tif (dispatchAction === 'run_evidence_probe') {\n\t\tscore = 0.75;\n\t\tsignals.push('cheap_evidence_probe');\n\t}\n\telse if (dispatchAction === 'run_read_only_diagnosis') {\n\t\tscore = 0.65;\n\t\tsignals.push('read_only_diagnosis');\n\t}\n\telse if (dispatchAction === 'advance' || dispatchAction === 'continue_gate') {\n\t\tscore = 0.55;\n\t\tsignals.push('gate_continuation');\n\t}\n\telse if (dispatchAction === 'run_infra_repair') {\n\t\tscore = 0.4;\n\t\tsignals.push('bounded_infra_repair');\n\t}\n\telse if (dispatchAction === 'run_compile_repair') {\n\t\tscore = 0.4;\n\t\tsignals.push('bounded_compile_repair');\n\t}\n\telse if (dispatchAction === 'run_release_repair') {\n\t\tscore = 0.3;\n\t\tsignals.push('bounded_release_repair');\n\t}\n\telse if (dispatchAction === 'run_journey_contract_repair' || dispatchAction === 'run_business_assertion_repair') {\n\t\tscore = 0.25;\n\t\tsignals.push('bounded_workflow_or_proof_repair');\n\t}\n\telse if (dispatchAction === 'run_targeted_product_repair') {\n\t\tscore = 0.15;\n\t\tsignals.push('targeted_product_repair');\n\t}\n\tif (evidenceStrength === 'proof') {\n\t\tscore += 0.3;\n\t\tsignals.push('proof_evidence');\n\t}\n\telse if (materialEvidence) {\n\t\tscore += 0.2;\n\t\tsignals.push('material_evidence');\n\t}\n\telse if (newEvidence) {\n\t\tscore += 0.1;\n\t\tsignals.push('new_evidence');\n\t}\n\telse if (evidenceStrength === 'weak') {\n\t\tscore -= 0.15;\n\t\tsignals.push('weak_evidence');\n\t}\n\telse if (!isCheapEvidenceAutonomyAction(dispatchAction)) {\n\t\tscore -= 0.25;\n\t\tsignals.push('no_material_evidence');\n\t}\n\tif ((failureClass === 'infra' || /infra/i.test(recoveryClass)) && dispatchAction === 'run_infra_repair') {\n\t\tscore += 0.15;\n\t\tsignals.push('failure_matches_infra_repair');\n\t}\n\tif ((failureClass === 'compile' || /compile/i.test(recoveryClass)) && dispatchAction === 'run_compile_repair') {\n\t\tscore += 0.15;\n\t\tsignals.push('failure_matches_compile_repair');\n\t}\n\tif (/release|publish|deploy/i.test(`${failureClass} ${recoveryClass}`) && dispatchAction === 'run_release_repair') {\n\t\tscore += 0.1;\n\t\tsignals.push('failure_matches_release_repair');\n\t}\n\tif (projectedActionCostUsd >= 5) {\n\t\tscore -= 0.3;\n\t\tsignals.push('high_projected_cost');\n\t}\n\telse if (projectedActionCostUsd >= 2) {\n\t\tscore -= 0.18;\n\t\tsignals.push('medium_projected_cost');\n\t}\n\telse if (projectedActionCostUsd >= 1) {\n\t\tscore -= 0.08;\n\t\tsignals.push('low_projected_cost');\n\t}\n\tif (budgetHardUsd > 0 && projectedActionCostUsd > budgetHardUsd * 0.5) {\n\t\tscore -= 0.2;\n\t\tsignals.push('large_fraction_of_remaining_budget');\n\t}\n\tif (input.sameEvidenceAlreadyAttempted === true) {\n\t\tscore -= 0.35;\n\t\tsignals.push('same_evidence_already_attempted');\n\t}\n\tfor (const signal of evidenceSignals) {\n\t\tif (/passing_outcome|business|proof|diagnosis|compile|infra|release|artifact|fingerprint_changed|evidence_hash_changed/i.test(signal)) {\n\t\t\tscore += 0.03;\n\t\t\tsignals.push(`evidence_signal:${signal}`);\n\t\t}\n\t}\n\tconst rounded = Number(clampNumber(score, -1, 1).toFixed(2));\n\tconst minScore = 0;\n\treturn {\n\t\tscore: rounded,\n\t\tminScore,\n\t\tpositive: rounded >= minScore,\n\t\tsource: 'estimated',\n\t\tconfidence: evidenceStrength === 'proof' || materialEvidence ? 'medium' : 'low',\n\t\treason: rounded >= minScore\n\t\t\t? 'estimated_retry_value_is_non_negative'\n\t\t\t: 'estimated_retry_value_is_negative',\n\t\tsignals: Array.from(new Set(signals)).slice(0, 16)\n\t};\n}\n\nexport function decideResolveIOAIManagerAutonomyPolicy(\n\tinput: ResolveIOAIManagerAutonomyPolicyInput = {}\n): ResolveIOAIManagerAutonomyPolicyDecision {\n\tconst mode = normalizeAutonomyMode(input.mode);\n\tconst currentSpendUsd = nonNegativeMoney(input.currentSpendUsd);\n\tconst projectedActionCostUsd = nonNegativeMoney(input.projectedActionCostUsd);\n\tconst projectedSpendUsd = currentSpendUsd + projectedActionCostUsd;\n\tconst budgetSoftUsd = nonNegativeMoney(input.budgetSoftUsd);\n\tconst budgetHardUsd = nonNegativeMoney(input.budgetHardUsd);\n\tconst softBudgetExceeded = budgetSoftUsd > 0 && projectedSpendUsd >= budgetSoftUsd;\n\tconst hardBudgetExceeded = budgetHardUsd > 0 && projectedSpendUsd > budgetHardUsd;\n\tconst dispatchAction = cleanText(input.dispatchAction, 120);\n\tconst evidenceStrength = normalizeManagerEvidenceStrength(input.evidenceStrength);\n\tconst evidenceSignals = cleanList(input.evidenceSignals, 12, 120);\n\tconst materialEvidence = input.materialEvidence === true || evidenceStrength === 'material' || evidenceStrength === 'proof';\n\tconst newEvidence = input.newEvidence === true;\n\tconst evidenceBacked = materialEvidence || newEvidence || evidenceSignals.some((signal) => /material|proof|business|compile|infra|release|diagnosis|journey|workflow|artifact|hash_changed|fingerprint_changed/i.test(signal));\n\tconst cheapEvidenceAction = isCheapEvidenceAutonomyAction(dispatchAction);\n\tconst expectedValueEstimate = estimateResolveIOAIManagerRetryExpectedValue({\n\t\tdispatchAction,\n\t\tprojectedActionCostUsd,\n\t\tcurrentSpendUsd,\n\t\tbudgetHardUsd,\n\t\tevidenceStrength,\n\t\tmaterialEvidence,\n\t\tnewEvidence,\n\t\tevidenceSignals,\n\t\tsameEvidenceAlreadyAttempted: input.sameEvidenceAlreadyAttempted === true\n\t});\n\tconst providedExpectedValue = finiteNumber(input.expectedValueScore);\n\tconst expectedValueKnown = providedExpectedValue !== undefined;\n\tconst expectedValueScore = expectedValueKnown ? providedExpectedValue as number : expectedValueEstimate.score;\n\tconst minExpectedValue = finiteNumber(input.minExpectedValueScore) ?? expectedValueEstimate.minScore;\n\tconst expectedValuePositive = expectedValueScore >= minExpectedValue;\n\tconst expectedValueSource: ResolveIOAIManagerAutonomyPolicyDecision['expectedValueSource'] = expectedValueKnown ? 'provided' : 'estimated';\n\tconst requiredEvidence = [\n\t\t'mode',\n\t\t'projectedActionCostUsd',\n\t\t...(budgetHardUsd > 0 ? ['budgetHardUsd'] : []),\n\t\t...(budgetSoftUsd > 0 ? ['budgetSoftUsd'] : []),\n\t\t...(dispatchAction ? ['dispatchAction'] : []),\n\t\t...(cheapEvidenceAction ? [] : ['materialEvidence or newEvidence', 'expectedValueScore when available'])\n\t];\n\tconst forbiddenActions: string[] = [];\n\tlet canAutoDispatch = false;\n\tlet canManualDispatch = true;\n\tlet blocked = false;\n\tlet requiresHumanApproval = true;\n\tlet reason = '';\n\tlet recommendedControl: ResolveIOAIManagerAutonomyPolicyDecision['recommendedControl'] = mode;\n\tif (mode === 'monitor_only') {\n\t\tcanManualDispatch = false;\n\t\treason = 'monitor_only_blocks_runner_dispatch';\n\t\tforbiddenActions.push('Do not run recovery, repair, QA, publish, deploy, or customer reply actions while in Monitor Only mode.');\n\t}\n\telse if (mode === 'manual_only') {\n\t\treason = 'manual_only_requires_operator_dispatch';\n\t\tforbiddenActions.push('Do not auto-dispatch manager recovery actions in Manual Only mode.');\n\t}\n\telse if (hardBudgetExceeded) {\n\t\tblocked = true;\n\t\tcanAutoDispatch = false;\n\t\tcanManualDispatch = input.operatorApproved === true;\n\t\treason = 'auto_retry_budget_hard_cap_would_be_exceeded';\n\t\trecommendedControl = 'increase_budget_or_manual';\n\t\tforbiddenActions.push('Do not auto-dispatch because projected spend exceeds the hard budget.');\n\t}\n\telse if (!cheapEvidenceAction && !evidenceBacked) {\n\t\tcanAutoDispatch = false;\n\t\trequiresHumanApproval = true;\n\t\treason = 'auto_retry_requires_material_evidence';\n\t\tforbiddenActions.push('Do not auto-dispatch repair work until a deterministic artifact, changed blocker fingerprint, or material proof is recorded.');\n\t}\n\telse if (!cheapEvidenceAction && !expectedValuePositive) {\n\t\tcanAutoDispatch = false;\n\t\trequiresHumanApproval = true;\n\t\treason = 'auto_retry_expected_value_not_positive';\n\t\tforbiddenActions.push('Do not auto-dispatch repair work when the expected value score is below the configured minimum.');\n\t}\n\telse {\n\t\tcanAutoDispatch = true;\n\t\trequiresHumanApproval = softBudgetExceeded;\n\t\treason = softBudgetExceeded\n\t\t\t? 'auto_retry_soft_budget_warning_requires_review'\n\t\t\t: 'auto_retry_within_budget_allows_auto_dispatch';\n\t\tif (softBudgetExceeded) {\n\t\t\tforbiddenActions.push('Do not escalate to a more expensive model or broader repair without operator review after soft budget warning.');\n\t\t}\n\t}\n\treturn {\n\t\tmode,\n\t\tcanAutoDispatch,\n\t\tcanManualDispatch,\n\t\tblocked,\n\t\trequiresHumanApproval,\n\t\treason,\n\t\tcurrentSpendUsd,\n\t\tprojectedActionCostUsd,\n\t\tprojectedSpendUsd,\n\t\tbudgetSoftUsd,\n\t\tbudgetHardUsd,\n\t\tsoftBudgetExceeded,\n\t\thardBudgetExceeded,\n\t\tdispatchAction,\n\t\texpectedValueScore,\n\t\tminExpectedValueScore: minExpectedValue,\n\t\texpectedValueKnown,\n\t\texpectedValueSource,\n\t\texpectedValuePositive,\n\t\tevidenceStrength,\n\t\tmaterialEvidence,\n\t\tnewEvidence,\n\t\tevidenceBacked,\n\t\tevidenceSignals,\n\t\trecommendedControl,\n\t\tforbiddenActions,\n\t\trequiredEvidence\n\t};\n}\n\nfunction cleanDateString(value: any): string {\n\tconst date = value instanceof Date ? value : new Date(value || Date.now());\n\treturn Number.isNaN(date.getTime()) ? new Date().toISOString() : date.toISOString();\n}\n\nfunction normalizeHotfixChannel(value: any): ResolveIOAIManagerHotfixChannel | '' {\n\tconst normalized = cleanText(value, 120).toLowerCase().replace(/[\\s-]+/g, '_') as ResolveIOAIManagerHotfixChannel;\n\treturn HOTFIX_CHANNELS.has(normalized) ? normalized : '';\n}\n\nfunction normalizeHotfixStatus(value: any): ResolveIOAIManagerHotfixEvidenceStatus {\n\tconst normalized = cleanText(value, 120).toLowerCase().replace(/[\\s-]+/g, '_');\n\tif (/^(pass|passed|success|succeeded|complete|completed|accepted)$/.test(normalized)) {\n\t\treturn 'passed';\n\t}\n\tif (/^(block|blocked|failed|fail|error|denied)$/.test(normalized)) {\n\t\treturn 'blocked';\n\t}\n\tif (/^(missing|none)$/.test(normalized)) {\n\t\treturn 'missing';\n\t}\n\treturn 'incomplete';\n}\n\nfunction hotfixStatusPassed(value: any): boolean {\n\treturn normalizeHotfixStatus(value) === 'passed';\n}\n\nfunction normalizeHotfixEvidenceTarget(value: any): ResolveIOAIManagerHotfixEvidenceTarget {\n\tconst source = cleanObject(value);\n\treturn {\n\t\tsurface: cleanText(source.surface, 160),\n\t\thost: cleanText(source.host || source.hostname || source.domain, 240),\n\t\tpath: cleanText(source.path || source.remotePath || source.remote_path, 500),\n\t\tartifactPath: cleanText(source.artifactPath || source.artifact_path || source.localPath || source.local_path, 500),\n\t\tbucket: cleanText(source.bucket || source.s3Bucket || source.s3_bucket, 240),\n\t\tdistributionId: cleanText(source.distributionId || source.distribution_id || source.cloudfrontDistributionId || source.cloudfront_distribution_id, 240),\n\t\tprocessName: cleanText(source.processName || source.process_name || source.service || source.serviceName, 160),\n\t\tconfigKey: cleanText(source.configKey || source.config_key || source.key, 240),\n\t\tcacheKey: cleanText(source.cacheKey || source.cache_key, 240),\n\t\tseedKey: cleanText(source.seedKey || source.seed_key || source.fixture, 240)\n\t};\n}\n\nfunction normalizeHotfixEvidenceTargets(value: any, fallback?: ResolveIOAIManagerHotfixEvidenceTarget): ResolveIOAIManagerHotfixEvidenceTarget[] {\n\tconst rawTargets = Array.isArray(value) ? value : [];\n\tconst targets = rawTargets\n\t\t.map(normalizeHotfixEvidenceTarget)\n\t\t.filter((target) => Object.values(target).some((entry) => cleanText(entry, 500)));\n\tif (!targets.length && fallback && Object.values(fallback).some((entry) => cleanText(entry, 500))) {\n\t\ttargets.push(fallback);\n\t}\n\tconst seen = new Set<string>();\n\treturn targets.filter((target) => {\n\t\tconst key = `${cleanText(target.host, 240).toLowerCase()}::${cleanText(target.path || target.processName || target.configKey || target.seedKey || target.cacheKey, 500)}`;\n\t\tif (seen.has(key)) {\n\t\t\treturn false;\n\t\t}\n\t\tseen.add(key);\n\t\treturn true;\n\t}).slice(0, 20);\n}\n\nfunction normalizeHotfixRemoteChecksumProof(value: any): ResolveIOAIManagerHotfixRemoteChecksumProof {\n\tconst source = cleanObject(value);\n\treturn {\n\t\thost: cleanText(source.host || source.hostname || source.domain, 240),\n\t\tpath: cleanText(source.path || source.remotePath || source.remote_path, 500),\n\t\tchecksumBefore: cleanText(source.checksumBefore || source.checksum_before || source.remoteChecksumBefore || source.remote_checksum_before, 160),\n\t\tchecksumAfter: cleanText(source.checksumAfter || source.checksum_after || source.remoteChecksumAfter || source.remote_checksum_after, 160),\n\t\tchecksum: cleanText(source.checksum || source.remoteChecksum || source.remote_checksum, 160),\n\t\tstatus: cleanText(source.status, 160)\n\t};\n}\n\nfunction normalizeHotfixRemoteChecksumProofs(value: any): ResolveIOAIManagerHotfixRemoteChecksumProof[] {\n\treturn (Array.isArray(value) ? value : [])\n\t\t.map(normalizeHotfixRemoteChecksumProof)\n\t\t.filter((entry) => entry.host || entry.path || entry.checksumAfter || entry.checksum || entry.status)\n\t\t.slice(0, 40);\n}\n\nfunction normalizeHotfixHostStatusProof(value: any): ResolveIOAIManagerHotfixHostStatusProof {\n\tconst source = cleanObject(value);\n\tconst checkCount = Number(source.checkCount ?? source.check_count);\n\tconst failedCount = Number(source.failedCount ?? source.failed_count);\n\treturn {\n\t\thost: cleanText(source.host || source.hostname || source.domain, 240),\n\t\tstatus: cleanText(source.status || source.result, 160),\n\t\tevidence: cleanText(source.evidence || source.message || source.summary, 1000),\n\t\tcheckCount: Number.isFinite(checkCount) ? Math.max(0, Math.floor(checkCount)) : undefined,\n\t\tfailedCount: Number.isFinite(failedCount) ? Math.max(0, Math.floor(failedCount)) : undefined\n\t};\n}\n\nfunction normalizeHotfixHostStatusProofs(value: any): ResolveIOAIManagerHotfixHostStatusProof[] {\n\treturn (Array.isArray(value) ? value : [])\n\t\t.map(normalizeHotfixHostStatusProof)\n\t\t.filter((entry) => entry.host || entry.status || entry.evidence)\n\t\t.slice(0, 40);\n}\n\nexport function normalizeResolveIOAIManagerHotfixEvidence(\n\tvalue: any,\n\tpolicy?: ResolveIOAIManagerHotfixFirstReleasePolicy\n): ResolveIOAIManagerHotfixEvidence | undefined {\n\tconst source = cleanObject(value);\n\tif (!Object.keys(source).length) {\n\t\treturn undefined;\n\t}\n\tconst channel = normalizeHotfixChannel(source.channel || source.hotfixChannel || source.hotfix_channel || policy?.hotfixPlan?.recommendedChannel);\n\tif (!channel) {\n\t\treturn undefined;\n\t}\n\tconst target = normalizeHotfixEvidenceTarget(source.target || source);\n\tconst targets = normalizeHotfixEvidenceTargets(source.targets || source.hotfixTargets || source.hotfix_targets, target);\n\treturn {\n\t\tchannel,\n\t\tstatus: normalizeHotfixStatus(source.status),\n\t\ttarget,\n\t\ttargets,\n\t\tcompiledArtifactPath: cleanText(source.compiledArtifactPath || source.compiled_artifact_path || target.artifactPath, 500),\n\t\tbuiltDistPath: cleanText(source.builtDistPath || source.built_dist_path || target.artifactPath, 500),\n\t\tremoteChecksumBefore: cleanText(source.remoteChecksumBefore || source.remote_checksum_before || source.checksumBefore || source.checksum_before, 160),\n\t\tremoteChecksumAfter: cleanText(source.remoteChecksumAfter || source.remote_checksum_after || source.checksumAfter || source.checksum_after, 160),\n\t\tremoteChecksum: cleanText(source.remoteChecksum || source.remote_checksum || source.checksum, 160),\n\t\tremoteChecksums: normalizeHotfixRemoteChecksumProofs(source.remoteChecksums || source.remote_checksums || source.checksums || source.hostChecksums || source.host_checksums),\n\t\trestartEvidence: cleanText(source.restartEvidence || source.restart_evidence, 1000),\n\t\trestartResults: normalizeHotfixHostStatusProofs(source.restartResults || source.restart_results || source.restarts || source.serviceRestartResults || source.service_restart_results),\n\t\thealthCheckStatus: cleanText(source.healthCheckStatus || source.health_check_status || source.health, 160),\n\t\thealthChecks: normalizeHotfixHostStatusProofs(source.healthChecks || source.health_checks || source.hostHealthChecks || source.host_health_checks),\n\t\tselfTestStatus: cleanText(source.selfTestStatus || source.self_test_status || source.selfTest || source.self_test, 160),\n\t\tselfTests: normalizeHotfixHostStatusProofs(source.selfTests || source.self_tests || source.runnerManagerSelfTests || source.runner_manager_self_tests),\n\t\treleaseGateStatus: cleanText(source.releaseGateStatus || source.release_gate_status || source.releaseGate || source.release_gate, 160),\n\t\ts3UploadResult: cleanText(source.s3UploadResult || source.s3_upload_result || source.uploadResult || source.upload_result, 1000),\n\t\tcloudfrontInvalidationId: cleanText(source.cloudfrontInvalidationId || source.cloudfront_invalidation_id || source.invalidationId || source.invalidation_id, 240),\n\t\tpublicProof: cleanText(source.publicProof || source.public_proof || source.publicUrl || source.public_url, 1000),\n\t\tconfigChangeEvidence: cleanText(source.configChangeEvidence || source.config_change_evidence, 1000),\n\t\tseedDataEvidence: cleanText(source.seedDataEvidence || source.seed_data_evidence, 1000),\n\t\tcacheInvalidationEvidence: cleanText(source.cacheInvalidationEvidence || source.cache_invalidation_evidence, 1000),\n\t\tserviceRestartEvidence: cleanText(source.serviceRestartEvidence || source.service_restart_evidence, 1000),\n\t\treleaseArtifactFingerprint: cleanText(source.releaseArtifactFingerprint || source.release_artifact_fingerprint || source.artifactFingerprint || source.artifact_fingerprint, 240),\n\t\tlastReleaseArtifactFingerprint: cleanText(source.lastReleaseArtifactFingerprint || source.last_release_artifact_fingerprint || source.lastArtifactFingerprint || source.last_artifact_fingerprint, 240),\n\t\tsourceCommitSha: cleanText(source.sourceCommitSha || source.source_commit_sha || source.gitCommitSha || source.git_commit_sha || source.commitSha || source.commit_sha, 120),\n\t\tgithubCommitUrl: cleanText(source.githubCommitUrl || source.github_commit_url || source.gitCommitUrl || source.git_commit_url || source.commitUrl || source.commit_url, 500),\n\t\tgitCommitStatus: cleanText(source.gitCommitStatus || source.git_commit_status || source.githubCommitStatus || source.github_commit_status, 160),\n\t\tgitPushStatus: cleanText(source.gitPushStatus || source.git_push_status || source.githubPushStatus || source.github_push_status || source.githubCommitReachableStatus || source.github_commit_reachable_status, 160),\n\t\tcommittedAt: source.committedAt || source.committed_at,\n\t\tforceDeployReason: cleanText(source.forceDeployReason || source.force_deploy_reason, 1000),\n\t\thotfixCannotResolveReason: cleanText(source.hotfixCannotResolveReason || source.hotfix_cannot_resolve_reason, 1000),\n\t\tfullDeployRequested: source.fullDeployRequested === true || source.full_deploy_requested === true,\n\t\trecordedAt: source.recordedAt || source.recorded_at\n\t};\n}\n\nfunction matchingHotfixPlanStep(\n\tpolicy: ResolveIOAIManagerHotfixFirstReleasePolicy | undefined,\n\tchannel: ResolveIOAIManagerHotfixChannel | ''\n): ResolveIOAIManagerHotfixPlanStep | undefined {\n\treturn (policy?.hotfixPlan?.steps || []).find((step) => step.channel === channel);\n}\n\nfunction pushMissing(blockers: string[], condition: boolean, message: string): void {\n\tif (!condition) {\n\t\tblockers.push(message);\n\t}\n}\n\nfunction hotfixRequiresGithubCommit(channel: ResolveIOAIManagerHotfixChannel | ''): boolean {\n\treturn /^(backend_js|static_ui|config|seed_data|release_artifact|new_artifact_deploy|artifact_build)$/.test(channel);\n}\n\nfunction extractGithubCommitSha(value: string): string {\n\tconst match = cleanText(value, 500).match(/^https:\\/\\/github\\.com\\/[A-Za-z0-9_.-]+\\/[A-Za-z0-9_.-]+\\/commit\\/([a-f0-9]{40})(?:$|[?#/])/i);\n\treturn match?.[1]?.toLowerCase() || '';\n}\n\nfunction isFullGitCommitSha(value: string): boolean {\n\treturn /^[a-f0-9]{40}$/i.test(cleanText(value, 120));\n}\n\nfunction isStrongRemoteChecksum(value: string): boolean {\n\treturn /^[a-f0-9]{12,128}$/i.test(cleanText(value, 160));\n}\n\nfunction hotfixTargetLabel(target: ResolveIOAIManagerHotfixEvidenceTarget, fallbackIndex: number): string {\n\treturn cleanText([target.host, target.path].filter(Boolean).join(':'), 800) || `target[${fallbackIndex}]`;\n}\n\nfunction hotfixTargetsForBackendEvidence(evidence: ResolveIOAIManagerHotfixEvidence): ResolveIOAIManagerHotfixEvidenceTarget[] {\n\tconst targets = normalizeHotfixEvidenceTargets(evidence.targets, evidence.target);\n\treturn targets.length ? targets : [evidence.target].filter((target) => !!target);\n}\n\nfunction targetMatchesHostPath(sourceHost: any, sourcePath: any, target: ResolveIOAIManagerHotfixEvidenceTarget): boolean {\n\tconst host = cleanText(sourceHost, 240).toLowerCase();\n\tconst path = cleanText(sourcePath, 500);\n\tconst targetHost = cleanText(target.host, 240).toLowerCase();\n\tconst targetPath = cleanText(target.path, 500);\n\tif (targetHost && host && targetHost !== host) {\n\t\treturn false;\n\t}\n\tif (targetPath && path && targetPath !== path) {\n\t\treturn false;\n\t}\n\treturn (!!targetHost && !!host) || (!!targetPath && !!path);\n}\n\nfunction checksumProofForBackendTarget(\n\tevidence: ResolveIOAIManagerHotfixEvidence,\n\ttarget: ResolveIOAIManagerHotfixEvidenceTarget,\n\tallowLegacyGlobal: boolean\n): ResolveIOAIManagerHotfixRemoteChecksumProof | undefined {\n\tconst proof = (evidence.remoteChecksums || []).find((entry) => targetMatchesHostPath(entry.host, entry.path, target));\n\tif (proof) {\n\t\treturn proof;\n\t}\n\tif (allowLegacyGlobal && (evidence.remoteChecksumAfter || evidence.remoteChecksum)) {\n\t\treturn {\n\t\t\thost: target.host,\n\t\t\tpath: target.path,\n\t\t\tchecksumBefore: evidence.remoteChecksumBefore,\n\t\t\tchecksumAfter: evidence.remoteChecksumAfter,\n\t\t\tchecksum: evidence.remoteChecksum,\n\t\t\tstatus: evidence.status\n\t\t};\n\t}\n\treturn undefined;\n}\n\nfunction hostStatusProofForBackendTarget(\n\trecords: ResolveIOAIManagerHotfixHostStatusProof[] | undefined,\n\ttarget: ResolveIOAIManagerHotfixEvidenceTarget,\n\tallowLegacyGlobalStatus: any\n): ResolveIOAIManagerHotfixHostStatusProof | undefined {\n\tconst proof = (records || []).find((entry) => targetMatchesHostPath(entry.host, undefined, target));\n\tif (proof) {\n\t\treturn proof;\n\t}\n\tif (allowLegacyGlobalStatus) {\n\t\treturn {\n\t\t\thost: target.host,\n\t\t\tstatus: cleanText(allowLegacyGlobalStatus, 160)\n\t\t};\n\t}\n\treturn undefined;\n}\n\nfunction backendHotfixTargetTouchesRunnerControlPlane(target: ResolveIOAIManagerHotfixEvidenceTarget | undefined): boolean {\n\tconst path = cleanText(target?.path || target?.artifactPath, 500).replace(/\\\\/g, '/').toLowerCase();\n\treturn /(^|\\/)(managers\\/ai-dashboard|methods\\/support-ticket-automation|http\\/runner-manager-selftest|http\\/support|node_modules\\/@resolveio\\/server-lib\\/(?:server-app|util\\/(?:support-runner-v5|ai-runner-manager-policy|ai-run-evidence|ai-runner-qa-tools)))/i.test(path);\n}\n\nfunction backendHotfixRestartProofIncludesSupportManagers(evidence: ResolveIOAIManagerHotfixEvidence): boolean {\n\tconst text = [\n\t\tevidence.restartEvidence,\n\t\tevidence.serviceRestartEvidence,\n\t\t...(evidence.restartResults || []).map((entry) => `${entry.status || ''} ${entry.evidence || ''}`)\n\t].join('\\n');\n\treturn /\\b(resolveio_support_ticket_codex_manager|support[_ -]?(?:ticket[_ -]?)?(?:codex[_ -]?)?manager|support[_ -]?manager)\\b/i.test(text);\n}\n\nfunction validateBackendHotfixTargetCoverage(\n\tevidence: ResolveIOAIManagerHotfixEvidence,\n\tblockers: string[]\n): void {\n\tconst targets = hotfixTargetsForBackendEvidence(evidence);\n\tconst structuredMultiTarget = targets.length > 1;\n\tif (structuredMultiTarget && !(evidence.remoteChecksums || []).length) {\n\t\tblockers.push('Backend JS hotfix with multiple targets requires remoteChecksums[] with a strong checksumAfter per host/path.');\n\t}\n\tif (structuredMultiTarget && !(evidence.restartResults || []).length) {\n\t\tblockers.push('Backend JS hotfix with multiple targets requires restartResults[] with passed status per host.');\n\t}\n\tif (structuredMultiTarget && !(evidence.healthChecks || []).length) {\n\t\tblockers.push('Backend JS hotfix with multiple targets requires healthChecks[] with passed status per host.');\n\t}\n\tif (structuredMultiTarget && !(evidence.selfTests || []).length) {\n\t\tblockers.push('Backend JS hotfix with multiple targets requires selfTests[] with passed status per host.');\n\t}\n\tif (targets.some(backendHotfixTargetTouchesRunnerControlPlane) && !backendHotfixRestartProofIncludesSupportManagers(evidence)) {\n\t\tblockers.push('Runner/control-plane backend hotfix requires restart evidence for resolveio_support_ticket_codex_manager on affected backend hosts; restarting nodejs alone can leave stale manager code running.');\n\t}\n\ttargets.forEach((target, index) => {\n\t\tconst label = hotfixTargetLabel(target, index);\n\t\tpushMissing(blockers, !!target.host, `Backend JS hotfix ${label} requires target host.`);\n\t\tpushMissing(blockers, !!target.path, `Backend JS hotfix ${label} requires target path.`);\n\t\tconst checksumProof = checksumProofForBackendTarget(evidence, target, !structuredMultiTarget);\n\t\tconst checksumAfter = checksumProof?.checksumAfter || checksumProof?.checksum || '';\n\t\tpushMissing(blockers, !!checksumAfter, `Backend JS hotfix ${label} requires remote checksum after replacement.`);\n\t\tif (checksumAfter && !isStrongRemoteChecksum(checksumAfter)) {\n\t\t\tblockers.push(`Backend JS hotfix ${label} remote checksum after replacement must be a strong hex checksum, not a label or placeholder.`);\n\t\t}\n\t\tif (checksumProof?.checksumBefore && checksumAfter && checksumProof.checksumBefore === checksumAfter) {\n\t\t\tblockers.push(`Backend JS hotfix ${label} checksum did not change; record force/no-op evidence or do not claim a hotfix.`);\n\t\t}\n\t\tconst restartProof = hostStatusProofForBackendTarget(evidence.restartResults, target, structuredMultiTarget ? '' : (evidence.restartEvidence || evidence.serviceRestartEvidence ? 'passed' : ''));\n\t\tpushMissing(blockers, !!restartProof && hotfixStatusPassed(restartProof.status || restartProof.evidence), `Backend JS hotfix ${label} requires restart evidence or passed restartResults status.`);\n\t\tconst healthProof = hostStatusProofForBackendTarget(evidence.healthChecks, target, structuredMultiTarget ? '' : evidence.healthCheckStatus);\n\t\tpushMissing(blockers, !!healthProof && hotfixStatusPassed(healthProof.status), `Backend JS hotfix ${label} requires passed healthCheckStatus or healthChecks status.`);\n\t\tconst selfTestProof = hostStatusProofForBackendTarget(evidence.selfTests, target, structuredMultiTarget ? '' : evidence.selfTestStatus);\n\t\tpushMissing(blockers, !!selfTestProof && hotfixStatusPassed(selfTestProof.status), `Backend JS hotfix ${label} requires passed selfTestStatus or selfTests status.`);\n\t\tif (selfTestProof && Number.isFinite(Number(selfTestProof.failedCount)) && Number(selfTestProof.failedCount) > 0) {\n\t\t\tblockers.push(`Backend JS hotfix ${label} selfTests failedCount must be 0.`);\n\t\t}\n\t});\n}\n\nfunction githubCommitProofBlockers(value: ResolveIOAIManagerHotfixEvidence, channel: ResolveIOAIManagerHotfixChannel | ''): string[] {\n\tconst blockers: string[] = [];\n\tconst sourceCommitSha = cleanText(value.sourceCommitSha, 120);\n\tconst githubCommitUrl = cleanText(value.githubCommitUrl, 500);\n\tconst gitCommitStatus = cleanText(value.gitCommitStatus, 160);\n\tconst gitPushStatus = cleanText(value.gitPushStatus, 160);\n\tconst urlCommitSha = extractGithubCommitSha(githubCommitUrl);\n\tif (!sourceCommitSha || !githubCommitUrl) {\n\t\tblockers.push(`${channel} hotfix requires sourceCommitSha, githubCommitUrl, passed gitCommitStatus, and passed gitPushStatus so live hotfixes are backed by a committed and pushed GitHub change before continuation.`);\n\t\treturn blockers;\n\t}\n\tif (!isFullGitCommitSha(sourceCommitSha)) {\n\t\tblockers.push(`${channel} hotfix sourceCommitSha must be a full 40-character git SHA.`);\n\t}\n\tif (!urlCommitSha) {\n\t\tblockers.push(`${channel} hotfix githubCommitUrl must be a GitHub commit URL ending in a full 40-character git SHA.`);\n\t}\n\telse if (isFullGitCommitSha(sourceCommitSha) && urlCommitSha !== sourceCommitSha.toLowerCase()) {\n\t\tblockers.push(`${channel} hotfix githubCommitUrl commit SHA must match sourceCommitSha.`);\n\t}\n\tif (!gitCommitStatus) {\n\t\tblockers.push(`${channel} hotfix requires passed gitCommitStatus so the manager records that the hotfix diff was committed before continuation.`);\n\t}\n\telse if (!hotfixStatusPassed(gitCommitStatus)) {\n\t\tblockers.push(`${channel} hotfix gitCommitStatus must be passed before continuation.`);\n\t}\n\tif (!gitPushStatus) {\n\t\tblockers.push(`${channel} hotfix requires passed gitPushStatus so the manager knows the hotfix commit is present on GitHub before continuation.`);\n\t}\n\telse if (!hotfixStatusPassed(gitPushStatus)) {\n\t\tblockers.push(`${channel} hotfix gitPushStatus must be passed before continuation.`);\n\t}\n\treturn blockers;\n}\n\nexport function evaluateResolveIOAIManagerHotfixGitProof(\n\tvalue: any,\n\tchannelHint: ResolveIOAIManagerHotfixChannel | '' = ''\n): ResolveIOAIManagerHotfixGitProof {\n\tconst normalized = normalizeResolveIOAIManagerHotfixEvidence(value);\n\tconst source = (normalized || cleanObject(value)) as Record<string, any>;\n\tconst channel = (channelHint || normalized?.channel || source.channel || '') as ResolveIOAIManagerHotfixChannel | '';\n\tconst required = hotfixRequiresGithubCommit(channel);\n\tconst sourceCommitSha = cleanText(source.sourceCommitSha || source.source_commit_sha || source.gitCommitSha || source.git_commit_sha || source.commitSha || source.commit_sha, 120);\n\tconst githubCommitUrl = cleanText(source.githubCommitUrl || source.github_commit_url || source.gitCommitUrl || source.git_commit_url || source.commitUrl || source.commit_url, 500);\n\tconst githubCommitSha = extractGithubCommitSha(githubCommitUrl);\n\tconst gitCommitStatus = cleanText(source.gitCommitStatus || source.git_commit_status || source.githubCommitStatus || source.github_commit_status, 160);\n\tconst gitPushStatus = cleanText(source.gitPushStatus || source.git_push_status || source.githubPushStatus || source.github_push_status || source.githubCommitReachableStatus || source.github_commit_reachable_status, 160);\n\tconst blockers = required\n\t\t? githubCommitProofBlockers({\n\t\t\tchannel: channel as ResolveIOAIManagerHotfixChannel,\n\t\t\ttarget: normalized?.target || {},\n\t\t\tsourceCommitSha,\n\t\t\tgithubCommitUrl,\n\t\t\tgitCommitStatus,\n\t\t\tgitPushStatus\n\t\t}, channel)\n\t\t: [];\n\tconst status: ResolveIOAIManagerHotfixGitProofStatus = !required\n\t\t? 'not_required'\n\t\t: (!sourceCommitSha || !githubCommitUrl || !gitCommitStatus || !gitPushStatus)\n\t\t\t? 'missing'\n\t\t\t: blockers.length\n\t\t\t\t? 'invalid'\n\t\t\t\t: 'passed';\n\tconst passed = !required || status === 'passed';\n\treturn {\n\t\trequired,\n\t\tstatus,\n\t\tpassed,\n\t\tmanagerMustCommitBeforeHotfix: required && !passed,\n\t\tchannel,\n\t\tsourceCommitSha,\n\t\tgithubCommitUrl,\n\t\tgithubCommitSha,\n\t\tgitCommitStatus,\n\t\tgitPushStatus,\n\t\tblockers,\n\t\tnextCommands: required && !passed\n\t\t\t? ['commit_and_push_hotfix_to_github', 'verify_github_commit_url_and_push_status', 'record_hotfix_evidence']\n\t\t\t: [],\n\t\trequiredEvidence: required\n\t\t\t? ['full 40-character sourceCommitSha', 'matching GitHub commit URL', 'passed gitCommitStatus', 'passed gitPushStatus']\n\t\t\t: []\n\t};\n}\n\nexport function validateResolveIOAIManagerHotfixEvidence(\n\tvalue: any,\n\toptions: { policy?: ResolveIOAIManagerHotfixFirstReleasePolicy } = {}\n): ResolveIOAIManagerHotfixEvidenceValidation {\n\tconst normalized = normalizeResolveIOAIManagerHotfixEvidence(value, options.policy);\n\tconst policy = options.policy;\n\tif (!normalized) {\n\t\treturn {\n\t\t\tvalid: false,\n\t\t\tstatus: 'missing',\n\t\t\tchannel: '',\n\t\t\tblockers: ['Hotfix evidence is missing or channel is unsupported.'],\n\t\t\twarnings: [],\n\t\t\tfullDeployAllowed: false,\n\t\t\tfullDeployBlocked: true,\n\t\t\thotfixSatisfied: false,\n\t\t\trequiredEvidence: policy?.hotfixPlan?.steps?.flatMap((step) => step.requiredEvidence) || [],\n\t\t\tsuccessEvidence: policy?.hotfixPlan?.steps?.flatMap((step) => step.successEvidence) || [],\n\t\t\tgithubCommitGuard: evaluateResolveIOAIManagerHotfixGitProof(value),\n\t\t\tpolicy,\n\t\t\tnextAction: 'record_hotfix_evidence'\n\t\t};\n\t}\n\tconst blockers: string[] = [];\n\tconst warnings: string[] = [];\n\tconst target = normalized.target || {};\n\tconst channel = normalized.channel;\n\tconst step = matchingHotfixPlanStep(policy, channel);\n\tconst requiredEvidence = step?.requiredEvidence || [];\n\tconst successEvidence = step?.successEvidence || [];\n\tconst policyAllowsFullDeploy = policy?.fullDeployAllowed === true;\n\tconst policyBlocksDuplicate = policy?.duplicateDeployBlocked === true || policy?.duplicatePublishBlocked === true;\n\tconst githubCommitGuard = evaluateResolveIOAIManagerHotfixGitProof(normalized, channel);\n\tif (normalized.fullDeployRequested && !policyAllowsFullDeploy && channel !== 'force_deploy_review' && channel !== 'new_artifact_deploy') {\n\t\tblockers.push('Full deploy requested but hotfix-first policy does not allow a full deploy for this release state.');\n\t}\n\tif (normalized.fullDeployRequested && policyBlocksDuplicate && !normalized.forceDeployReason && channel !== 'force_deploy_review') {\n\t\tblockers.push('Duplicate deploy/publish fingerprint requires force deploy/publish evidence before any full deploy.');\n\t}\n\tif (githubCommitGuard.required) {\n\t\tblockers.push(...githubCommitGuard.blockers);\n\t}\n\tif (channel === 'backend_js') {\n\t\tpushMissing(blockers, !!normalized.compiledArtifactPath, 'Backend JS hotfix requires compiledArtifactPath.');\n\t\tvalidateBackendHotfixTargetCoverage(normalized, blockers);\n\t}\n\telse if (channel === 'static_ui') {\n\t\tpushMissing(blockers, !!normalized.builtDistPath, 'Static UI hotfix requires builtDistPath.');\n\t\tpushMissing(blockers, !!target.bucket, 'Static UI hotfix requires target.bucket.');\n\t\tpushMissing(blockers, !!target.distributionId, 'Static UI hotfix requires target.distributionId.');\n\t\tpushMissing(blockers, !!normalized.s3UploadResult, 'Static UI hotfix requires s3UploadResult.');\n\t\tpushMissing(blockers, !!normalized.cloudfrontInvalidationId, 'Static UI hotfix requires cloudfrontInvalidationId.');\n\t\tpushMissing(blockers, !!normalized.publicProof, 'Static UI hotfix requires publicProof.');\n\t}\n\telse if (channel === 'config') {\n\t\tpushMissing(blockers, !!target.configKey, 'Config hotfix requires target.configKey.');\n\t\tpushMissing(blockers, !!normalized.configChangeEvidence, 'Config hotfix requires configChangeEvidence.');\n\t\tpushMissing(blockers, hotfixStatusPassed(normalized.releaseGateStatus), 'Config hotfix requires passed releaseGateStatus.');\n\t}\n\telse if (channel === 'seed_data') {\n\t\tpushMissing(blockers, !!target.seedKey, 'Seed-data hotfix requires target.seedKey.');\n\t\tpushMissing(blockers, !!normalized.seedDataEvidence, 'Seed-data hotfix requires seedDataEvidence.');\n\t\tpushMissing(blockers, hotfixStatusPassed(normalized.releaseGateStatus), 'Seed-data hotfix requires passed releaseGateStatus.');\n\t}\n\telse if (channel === 'cache_invalidation') {\n\t\tpushMissing(blockers, !!target.cacheKey, 'Cache invalidation hotfix requires target.cacheKey.');\n\t\tpushMissing(blockers, !!normalized.cacheInvalidationEvidence, 'Cache invalidation hotfix requires cacheInvalidationEvidence.');\n\t\tpushMissing(blockers, hotfixStatusPassed(normalized.releaseGateStatus) || hotfixStatusPassed(normalized.healthCheckStatus), 'Cache invalidation hotfix requires passed releaseGateStatus or healthCheckStatus.');\n\t}\n\telse if (channel === 'service_restart') {\n\t\tpushMissing(blockers, !!target.processName, 'Service restart hotfix requires target.processName.');\n\t\tpushMissing(blockers, !!(normalized.serviceRestartEvidence || normalized.restartEvidence), 'Service restart hotfix requires restart evidence.');\n\t\tpushMissing(blockers, hotfixStatusPassed(normalized.healthCheckStatus), 'Service restart hotfix requires passed healthCheckStatus.');\n\t\tpushMissing(blockers, hotfixStatusPassed(normalized.selfTestStatus), 'Service restart hotfix requires passed selfTestStatus.');\n\t}\n\telse if (channel === 'release_artifact') {\n\t\tpushMissing(blockers, !!normalized.releaseArtifactFingerprint, 'Release artifact hotfix requires releaseArtifactFingerprint.');\n\t\tpushMissing(blockers, hotfixStatusPassed(normalized.releaseGateStatus), 'Release artifact hotfix requires passed releaseGateStatus.');\n\t}\n\telse if (channel === 'force_deploy_review') {\n\t\tpushMissing(blockers, !!normalized.forceDeployReason, 'Force deploy review requires forceDeployReason.');\n\t\tpushMissing(blockers, !!normalized.hotfixCannotResolveReason, 'Force deploy review requires hotfixCannotResolveReason.');\n\t}\n\telse if (channel === 'new_artifact_deploy') {\n\t\tpushMissing(blockers, !!normalized.releaseArtifactFingerprint, 'New artifact deploy requires releaseArtifactFingerprint.');\n\t\tpushMissing(blockers, !!normalized.lastReleaseArtifactFingerprint, 'New artifact deploy requires lastReleaseArtifactFingerprint.');\n\t\tif (normalized.releaseArtifactFingerprint && normalized.lastReleaseArtifactFingerprint && normalized.releaseArtifactFingerprint === normalized.lastReleaseArtifactFingerprint) {\n\t\t\tblockers.push('New artifact deploy requires a fingerprint different from the last deployed artifact.');\n\t\t}\n\t\tpushMissing(blockers, hotfixStatusPassed(normalized.releaseGateStatus), 'New artifact deploy requires passed releaseGateStatus.');\n\t}\n\telse if (channel === 'artifact_build') {\n\t\tpushMissing(blockers, !!normalized.releaseArtifactFingerprint, 'Artifact build requires releaseArtifactFingerprint.');\n\t\tif (normalized.fullDeployRequested) {\n\t\t\tblockers.push('Artifact build evidence cannot request a full deploy in the same step.');\n\t\t}\n\t}\n\tif (!step && policy) {\n\t\twarnings.push(`Hotfix channel ${channel} is not the recommended channel in the current release policy.`);\n\t}\n\tconst forceDeployReviewValid = channel === 'force_deploy_review' && blockers.length === 0;\n\tconst newArtifactDeployValid = channel === 'new_artifact_deploy' && blockers.length === 0;\n\tconst fullDeployAllowed = forceDeployReviewValid || newArtifactDeployValid || (policyAllowsFullDeploy && blockers.length === 0 && normalized.fullDeployRequested === true);\n\tconst hotfixSatisfied = blockers.length === 0 && !fullDeployAllowed;\n\tconst status: ResolveIOAIManagerHotfixEvidenceStatus = blockers.length\n\t\t? (normalizeHotfixStatus(normalized.status) === 'blocked' ? 'blocked' : 'incomplete')\n\t\t: 'passed';\n\tconst fullDeployBlocked = !fullDeployAllowed && (normalized.fullDeployRequested === true || policy?.fullDeployAllowed !== true);\n\tconst nextAction: ResolveIOAIManagerHotfixEvidenceValidation['nextAction'] = blockers.some((blocker) => /force deploy/i.test(blocker))\n\t\t? 'request_force_deploy_reason'\n\t\t: fullDeployAllowed\n\t\t\t? 'allow_one_full_deploy'\n\t\t\t: hotfixSatisfied\n\t\t\t\t? 'rerun_release_gate'\n\t\t\t\t: blockers.length\n\t\t\t\t\t? 'record_hotfix_evidence'\n\t\t\t\t\t: 'park_manual';\n\tnormalized.status = status;\n\treturn {\n\t\tvalid: blockers.length === 0,\n\t\tstatus,\n\t\tchannel,\n\t\tblockers,\n\t\twarnings,\n\t\tfullDeployAllowed,\n\t\tfullDeployBlocked,\n\t\thotfixSatisfied,\n\t\trequiredEvidence,\n\t\tsuccessEvidence,\n\t\tnormalized,\n\t\tgithubCommitGuard,\n\t\tpolicy,\n\t\tnextAction\n\t};\n}\n\nfunction mergeHotfixEvidenceRecordInput(input: ResolveIOAIManagerHotfixEvidenceRecordInput): Record<string, any> {\n\tconst merged = {\n\t\t...cleanObject(input.evidence)\n\t};\n\tconst directFields = [\n\t\t'channel',\n\t\t'status',\n\t\t'target',\n\t\t'targets',\n\t\t'compiledArtifactPath',\n\t\t'builtDistPath',\n\t\t'remoteChecksumBefore',\n\t\t'remoteChecksumAfter',\n\t\t'remoteChecksum',\n\t\t'remoteChecksums',\n\t\t'restartEvidence',\n\t\t'restartResults',\n\t\t'healthCheckStatus',\n\t\t'healthChecks',\n\t\t'selfTestStatus',\n\t\t'selfTests',\n\t\t'releaseGateStatus',\n\t\t's3UploadResult',\n\t\t'cloudfrontInvalidationId',\n\t\t'publicProof',\n\t\t'configChangeEvidence',\n\t\t'seedDataEvidence',\n\t\t'cacheInvalidationEvidence',\n\t\t'serviceRestartEvidence',\n\t\t'releaseArtifactFingerprint',\n\t\t'lastReleaseArtifactFingerprint',\n\t\t'sourceCommitSha',\n\t\t'githubCommitUrl',\n\t\t'gitCommitStatus',\n\t\t'gitPushStatus',\n\t\t'committedAt',\n\t\t'forceDeployReason',\n\t\t'hotfixCannotResolveReason',\n\t\t'fullDeployRequested',\n\t\t'recordedAt'\n\t];\n\tfor (const field of directFields) {\n\t\tconst value = (input as any)[field];\n\t\tif (value !== undefined && value !== null && value !== '') {\n\t\t\t(merged as any)[field] = value;\n\t\t}\n\t}\n\treturn merged;\n}\n\nfunction resolveHotfixEvidenceRequiredFields(\n\tchannel: ResolveIOAIManagerHotfixChannel | ''\n): string[] {\n\tconst fields = ['channel'];\n\tif (hotfixRequiresGithubCommit(channel)) {\n\t\tfields.push('sourceCommitSha', 'githubCommitUrl', 'gitCommitStatus', 'gitPushStatus');\n\t}\n\tif (channel === 'backend_js') {\n\t\tfields.push('compiledArtifactPath', 'target.host', 'target.path', 'remoteChecksumAfter', 'restartEvidence', 'healthCheckStatus', 'selfTestStatus');\n\t}\n\telse if (channel === 'static_ui') {\n\t\tfields.push('builtDistPath', 'target.bucket', 'target.distributionId', 's3UploadResult', 'cloudfrontInvalidationId', 'publicProof');\n\t}\n\telse if (channel === 'config') {\n\t\tfields.push('target.configKey', 'configChangeEvidence', 'releaseGateStatus');\n\t}\n\telse if (channel === 'seed_data') {\n\t\tfields.push('target.seedKey', 'seedDataEvidence', 'releaseGateStatus');\n\t}\n\telse if (channel === 'cache_invalidation') {\n\t\tfields.push('target.cacheKey', 'cacheInvalidationEvidence', 'releaseGateStatus_or_healthCheckStatus');\n\t}\n\telse if (channel === 'service_restart') {\n\t\tfields.push('target.processName', 'serviceRestartEvidence', 'healthCheckStatus', 'selfTestStatus');\n\t}\n\telse if (channel === 'release_artifact') {\n\t\tfields.push('releaseArtifactFingerprint', 'releaseGateStatus');\n\t}\n\telse if (channel === 'new_artifact_deploy') {\n\t\tfields.push('releaseArtifactFingerprint', 'lastReleaseArtifactFingerprint', 'releaseGateStatus');\n\t}\n\telse if (channel === 'artifact_build') {\n\t\tfields.push('releaseArtifactFingerprint');\n\t}\n\telse if (channel === 'force_deploy_review') {\n\t\tfields.push('forceDeployReason', 'hotfixCannotResolveReason');\n\t}\n\treturn Array.from(new Set(fields));\n}\n\nfunction hotfixEvidenceFieldPresent(\n\tevidence: ResolveIOAIManagerHotfixEvidence | undefined,\n\tfield: string\n): boolean {\n\tif (!evidence) {\n\t\treturn false;\n\t}\n\tconst target = evidence.target || {};\n\tswitch (field) {\n\t\tcase 'channel':\n\t\t\treturn !!evidence.channel;\n\t\tcase 'sourceCommitSha':\n\t\t\treturn isFullGitCommitSha(evidence.sourceCommitSha || '');\n\t\tcase 'githubCommitUrl':\n\t\t\treturn !!extractGithubCommitSha(evidence.githubCommitUrl || '');\n\t\tcase 'gitCommitStatus':\n\t\t\treturn hotfixStatusPassed(evidence.gitCommitStatus);\n\t\tcase 'gitPushStatus':\n\t\t\treturn hotfixStatusPassed(evidence.gitPushStatus);\n\t\tcase 'compiledArtifactPath':\n\t\t\treturn !!cleanText(evidence.compiledArtifactPath, 500);\n\t\tcase 'builtDistPath':\n\t\t\treturn !!cleanText(evidence.builtDistPath, 500);\n\t\tcase 'remoteChecksumAfter':\n\t\t\treturn !!cleanText(evidence.remoteChecksumAfter || evidence.remoteChecksum, 160);\n\t\tcase 'restartEvidence':\n\t\t\treturn !!cleanText(evidence.restartEvidence || evidence.serviceRestartEvidence, 1000);\n\t\tcase 'serviceRestartEvidence':\n\t\t\treturn !!cleanText(evidence.serviceRestartEvidence || evidence.restartEvidence, 1000);\n\t\tcase 'healthCheckStatus':\n\t\t\treturn hotfixStatusPassed(evidence.healthCheckStatus);\n\t\tcase 'selfTestStatus':\n\t\t\treturn hotfixStatusPassed(evidence.selfTestStatus);\n\t\tcase 'releaseGateStatus':\n\t\t\treturn hotfixStatusPassed(evidence.releaseGateStatus);\n\t\tcase 'releaseGateStatus_or_healthCheckStatus':\n\t\t\treturn hotfixStatusPassed(evidence.releaseGateStatus) || hotfixStatusPassed(evidence.healthCheckStatus);\n\t\tcase 's3UploadResult':\n\t\t\treturn !!cleanText(evidence.s3UploadResult, 1000);\n\t\tcase 'cloudfrontInvalidationId':\n\t\t\treturn !!cleanText(evidence.cloudfrontInvalidationId, 240);\n\t\tcase 'publicProof':\n\t\t\treturn !!cleanText(evidence.publicProof, 1000);\n\t\tcase 'configChangeEvidence':\n\t\t\treturn !!cleanText(evidence.configChangeEvidence, 1000);\n\t\tcase 'seedDataEvidence':\n\t\t\treturn !!cleanText(evidence.seedDataEvidence, 1000);\n\t\tcase 'cacheInvalidationEvidence':\n\t\t\treturn !!cleanText(evidence.cacheInvalidationEvidence, 1000);\n\t\tcase 'releaseArtifactFingerprint':\n\t\t\treturn !!cleanText(evidence.releaseArtifactFingerprint, 240);\n\t\tcase 'lastReleaseArtifactFingerprint':\n\t\t\treturn !!cleanText(evidence.lastReleaseArtifactFingerprint, 240);\n\t\tcase 'forceDeployReason':\n\t\t\treturn !!cleanText(evidence.forceDeployReason, 1000);\n\t\tcase 'hotfixCannotResolveReason':\n\t\t\treturn !!cleanText(evidence.hotfixCannotResolveReason, 1000);\n\t\tcase 'target.host':\n\t\t\treturn !!cleanText(target.host, 200);\n\t\tcase 'target.path':\n\t\t\treturn !!cleanText(target.path, 500);\n\t\tcase 'target.bucket':\n\t\t\treturn !!cleanText(target.bucket, 200);\n\t\tcase 'target.distributionId':\n\t\t\treturn !!cleanText(target.distributionId, 200);\n\t\tcase 'target.configKey':\n\t\t\treturn !!cleanText(target.configKey, 200);\n\t\tcase 'target.seedKey':\n\t\t\treturn !!cleanText(target.seedKey, 200);\n\t\tcase 'target.cacheKey':\n\t\t\treturn !!cleanText(target.cacheKey, 200);\n\t\tcase 'target.processName':\n\t\t\treturn !!cleanText(target.processName, 200);\n\t\tdefault:\n\t\t\treturn false;\n\t}\n}\n\nexport function buildResolveIOAIManagerHotfixEvidenceRecord(\n\tinput: ResolveIOAIManagerHotfixEvidenceRecordInput = {}\n): ResolveIOAIManagerHotfixEvidenceRecord {\n\tconst merged = mergeHotfixEvidenceRecordInput(input);\n\tconst normalized = normalizeResolveIOAIManagerHotfixEvidence(merged, input.policy);\n\tconst validation = validateResolveIOAIManagerHotfixEvidence(merged, { policy: input.policy });\n\tconst channel = validation.channel || normalized?.channel || input.policy?.hotfixPlan?.recommendedChannel || '';\n\tconst requiredFields = resolveHotfixEvidenceRequiredFields(channel);\n\tconst missingFields = requiredFields.filter((field) => !hotfixEvidenceFieldPresent(normalized, field));\n\tconst recordedAt = cleanDateString(input.now || normalized?.recordedAt || new Date());\n\tconst githubCommitGuard = validation.githubCommitGuard || evaluateResolveIOAIManagerHotfixGitProof(normalized || merged, channel);\n\tconst commitFirstProtocol = githubCommitGuard.required ? 'commit_first_hotfix' as const : 'not_required' as const;\n\tconst commitFirstProtocolSatisfied = githubCommitGuard.required ? githubCommitGuard.passed === true : true;\n\tconst liveHotfixBlockedUntilCommit = githubCommitGuard.required === true && commitFirstProtocolSatisfied !== true;\n\tconst liveHotfixAllowed = validation.valid === true && validation.hotfixSatisfied === true && commitFirstProtocolSatisfied === true;\n\tconst readyForContinuation = validation.valid === true && validation.hotfixSatisfied === true && hotfixStatusPassed(normalized?.releaseGateStatus);\n\treturn {\n\t\trecordId: cleanText(input.recordId, 160) || `hotfix-${fingerprintResolveIOAIManagerBlocker(`${channel}:${githubCommitGuard.sourceCommitSha}:${recordedAt}`)}`,\n\t\trecordedAt,\n\t\trecordedBy: cleanText(input.recordedBy || 'manager', 160),\n\t\tsource: cleanText(input.source || 'unknown', 80),\n\t\treason: cleanText(input.reason, 1000),\n\t\tchannel,\n\t\tstatus: validation.status,\n\t\tnextAction: validation.nextAction,\n\t\tvalid: validation.valid,\n\t\thotfixSatisfied: validation.hotfixSatisfied,\n\t\tfullDeployAllowed: validation.fullDeployAllowed,\n\t\tfullDeployBlocked: validation.fullDeployBlocked,\n\t\trequiredFields,\n\t\tmissingFields,\n\t\tevidence: normalized,\n\t\tvalidation,\n\t\tsourceCommitSha: githubCommitGuard.sourceCommitSha,\n\t\tgithubCommitUrl: githubCommitGuard.githubCommitUrl,\n\t\tgitCommitStatus: githubCommitGuard.gitCommitStatus,\n\t\tgitPushStatus: githubCommitGuard.gitPushStatus,\n\t\tgithubCommitRequired: githubCommitGuard.required,\n\t\tgithubCommitProofPassed: githubCommitGuard.passed,\n\t\tcommitProofStatus: githubCommitGuard.status,\n\t\tcommitFirstProtocol,\n\t\tcommit_first_protocol: commitFirstProtocol,\n\t\tcommitFirstProtocolSatisfied,\n\t\tcommit_first_protocol_satisfied: commitFirstProtocolSatisfied,\n\t\tliveHotfixBlockedUntilCommit,\n\t\tlive_hotfix_blocked_until_commit: liveHotfixBlockedUntilCommit,\n\t\tliveHotfixAllowed,\n\t\tlive_hotfix_allowed: liveHotfixAllowed,\n\t\tmanagerMustCommitBeforeHotfix: githubCommitGuard.managerMustCommitBeforeHotfix,\n\t\tgithubCommitGuard,\n\t\treadyForReleaseGate: validation.valid === true && validation.nextAction === 'rerun_release_gate',\n\t\treadyForContinuation,\n\t\tmanagerContinuationAllowed: readyForContinuation,\n\t\tmanager_continuation_allowed: readyForContinuation\n\t};\n}\n\nfunction pickFirstHotfixText(sources: any[], keys: string[], max = 500, seen = new WeakSet<object>()): string {\n\tfor (const source of sources) {\n\t\tconst record = cleanObject(source);\n\t\tif (!Object.keys(record).length || seen.has(record)) {\n\t\t\tcontinue;\n\t\t}\n\t\tseen.add(record);\n\t\tfor (const key of keys) {\n\t\t\tconst value = cleanText(record[key], max);\n\t\t\tif (value) {\n\t\t\t\treturn value;\n\t\t\t}\n\t\t}\n\t\tfor (const nestedKey of ['evidence', 'hotfixEvidence', 'hotfix_evidence', 'hotfixCommitProof', 'hotfix_commit_proof', 'hotfixCommitGuard', 'hotfix_commit_guard', 'githubCommitGuard', 'github_commit_guard']) {\n\t\t\tconst nestedValue = pickFirstHotfixText([record[nestedKey]], keys, max, seen);\n\t\t\tif (nestedValue) {\n\t\t\t\treturn nestedValue;\n\t\t\t}\n\t\t}\n\t}\n\treturn '';\n}\n\nfunction hotfixDurabilityExtraRequest(contract: ResolveIOAIManagerHotfixDurabilityContract): string {\n\tif (!contract.required) {\n\t\treturn '';\n\t}\n\treturn [\n\t\t'Manager hotfix durability contract:',\n\t\t`- Contract id: ${contract.contractId}`,\n\t\t`- Live backend hotfix blocked until commit proof: ${contract.liveHotfixBlockedUntilCommit ? 'yes' : 'no'}`,\n\t\t`- GitHub commit proof passed: ${contract.commitProofPassed ? 'yes' : 'no'}`,\n\t\tcontract.missingCommitProofFields.length ? `- Missing commit proof fields: ${contract.missingCommitProofFields.join(', ')}` : '',\n\t\tcontract.phaseOrder.length ? `- Required phase order: ${contract.phaseOrder.join(' -> ')}` : '',\n\t\tcontract.requiredFields.length ? `- Required evidence fields: ${contract.requiredFields.join(', ')}` : '',\n\t\tcontract.successCriteria.length ? `- Success criteria: ${contract.successCriteria.join(' | ')}` : '',\n\t\tcontract.forbiddenActions.length ? `- Forbidden actions: ${contract.forbiddenActions.join(' | ')}` : '',\n\t\t'- Prepare the hotfix patch and GitHub commit proof before any live backend apply/restart.',\n\t\t'- After commit proof exists, apply the backend hotfix only through the existing hotfix path, record restart/checksum evidence, run the runner-manager self-test, and rerun the smallest release gate.'\n\t].filter(Boolean).join('\\n').slice(0, 3600);\n}\n\nexport function buildResolveIOAIManagerHotfixDurabilityContract(\n\tinput: ResolveIOAIManagerHotfixDurabilityContractInput = {}\n): ResolveIOAIManagerHotfixDurabilityContract {\n\tconst existing = cleanObject(input.existing);\n\tconst evidence = Object.keys(cleanObject(input.evidence)).length ? input.evidence : existing.evidence || existing.hotfixEvidence || existing.hotfix_evidence || existing;\n\tconst validation = validateResolveIOAIManagerHotfixEvidence(evidence, { policy: input.policy });\n\tconst continuation = input.continuation || undefined;\n\tconst githubCommitGuard = validation.githubCommitGuard || evaluateResolveIOAIManagerHotfixGitProof(evidence, validation.channel);\n\tconst sources = [evidence, existing, continuation, (continuation as any)?.githubCommitGuard, (continuation as any)?.github_commit_guard, githubCommitGuard];\n\tconst action = cleanText(input.action || existing.action || existing.dispatchAction || existing.dispatch_action || 'run_release_repair', 160);\n\tconst actionRequiresHotfix = /release_repair|hotfix|apply.*backend|deploy|publish/i.test(action);\n\tconst required = existing.required === true\n\t\t|| actionRequiresHotfix\n\t\t|| githubCommitGuard.required === true\n\t\t|| validation.githubCommitGuard?.required === true\n\t\t|| (continuation as any)?.githubCommitGuard?.required === true\n\t\t|| (continuation as any)?.github_commit_guard?.required === true\n\t\t|| input.policy?.hotfixPreferred === true;\n\tconst sourceCommitSha = githubCommitGuard.sourceCommitSha || pickFirstHotfixText(sources, ['sourceCommitSha', 'source_commit_sha', 'commitSha', 'commit_sha'], 120);\n\tconst githubCommitUrl = githubCommitGuard.githubCommitUrl || pickFirstHotfixText(sources, ['githubCommitUrl', 'github_commit_url', 'commitUrl', 'commit_url'], 500);\n\tconst gitCommitStatus = githubCommitGuard.gitCommitStatus || pickFirstHotfixText(sources, ['gitCommitStatus', 'git_commit_status', 'commitStatus', 'commit_status'], 160);\n\tconst gitPushStatus = githubCommitGuard.gitPushStatus || pickFirstHotfixText(sources, ['gitPushStatus', 'git_push_status', 'pushStatus', 'push_status'], 160);\n\tconst commitPassed = hotfixStatusPassed(gitCommitStatus);\n\tconst pushPassed = hotfixStatusPassed(gitPushStatus);\n\tconst sourceShaPassed = isFullGitCommitSha(sourceCommitSha);\n\tconst githubUrlSha = extractGithubCommitSha(githubCommitUrl);\n\tconst githubUrlPassed = !!githubUrlSha && (!sourceShaPassed || githubUrlSha === sourceCommitSha.toLowerCase());\n\tconst existingMissingCommitFields = cleanList(existing.missingCommitProofFields || existing.missing_commit_proof_fields, 20, 160);\n\tconst commitFirstProtocolRequired = githubCommitGuard.required === true\n\t\t|| existing.durabilityProtocol === 'commit_first_hotfix'\n\t\t|| existing.durability_protocol === 'commit_first_hotfix'\n\t\t|| existing.commitFirstProtocolRequired === true\n\t\t|| existing.commit_first_protocol_required === true\n\t\t|| existingMissingCommitFields.some((field) => /sourceCommitSha|githubCommitUrl|gitCommitStatus|gitPushStatus/i.test(field));\n\tconst durabilityProtocol = commitFirstProtocolRequired ? 'commit_first_hotfix' as const : 'not_required' as const;\n\tconst missingCommitProofFields = [\n\t\tsourceShaPassed ? '' : 'sourceCommitSha',\n\t\tgithubUrlPassed ? '' : 'githubCommitUrl',\n\t\tcommitPassed ? '' : 'gitCommitStatus=passed',\n\t\tpushPassed ? '' : 'gitPushStatus=passed'\n\t].filter(Boolean);\n\tconst commitProofPassed = required ? missingCommitProofFields.length === 0 : githubCommitGuard.passed === true;\n\tconst commitFirstProtocolSatisfied = commitFirstProtocolRequired ? commitProofPassed === true : true;\n\tconst liveHotfixBlockedUntilCommit = required && commitProofPassed !== true;\n\tconst releaseGatePassed = input.releaseGatePassed === true\n\t\t|| hotfixStatusPassed(validation.normalized?.releaseGateStatus)\n\t\t|| (continuation as any)?.canContinueRun === true;\n\tconst canPrepareHotfixPatch = required && (existing.canPrepareHotfixPatch === true || existing.can_prepare_hotfix_patch === true || actionRequiresHotfix || (continuation as any)?.action === 'record_hotfix_evidence');\n\tconst canHotfixBackend = required && commitProofPassed === true && canPrepareHotfixPatch === true;\n\tconst liveHotfixAllowed = required && commitFirstProtocolSatisfied === true && canPrepareHotfixPatch === true;\n\tconst managerContinuationAllowed = required\n\t\t? commitFirstProtocolSatisfied === true && validation.valid === true && releaseGatePassed === true\n\t\t: true;\n\tlet status: ResolveIOAIManagerHotfixDurabilityStatus = 'not_required';\n\tif (required && liveHotfixBlockedUntilCommit) {\n\t\tstatus = 'waiting_for_commit_proof';\n\t}\n\telse if (required && validation.valid && releaseGatePassed) {\n\t\tstatus = 'ready_for_continuation';\n\t}\n\telse if (required && validation.valid) {\n\t\tstatus = 'ready_for_release_gate';\n\t}\n\telse if (required) {\n\t\tstatus = 'ready_for_live_hotfix';\n\t}\n\tconst phaseOrder = Array.from(new Set(cleanList(existing.phaseOrder || existing.phase_order, 12, 200).concat([\n\t\t'prepare_hotfix_patch_without_live_apply',\n\t\t'commit_and_push_hotfix_to_github',\n\t\t'record_hotfix_evidence',\n\t\t'apply_backend_hotfix_only_after_commit_proof',\n\t\t'run_runner_manager_self_test',\n\t\t'rerun_smallest_release_gate'\n\t]))).slice(0, 12);\n\tconst requiredFields = Array.from(new Set(cleanList(existing.requiredFields || existing.required_fields, 20, 200).concat([\n\t\t'sourceCommitSha',\n\t\t'githubCommitUrl',\n\t\t'gitCommitStatus=passed',\n\t\t'gitPushStatus=passed',\n\t\t'hotfixPatchDiff',\n\t\t'restartOrChecksumEvidence',\n\t\t'releaseGateResult'\n\t]))).slice(0, 20);\n\tconst requiredEvidence = Array.from(new Set(cleanList(existing.requiredEvidence || existing.required_evidence, 24, 300).concat(requiredFields, validation.requiredEvidence || []))).slice(0, 24);\n\tconst successCriteria = Array.from(new Set(cleanList(existing.successCriteria || existing.success_criteria, 14, 300).concat([\n\t\t'Hotfix patch exists without live apply side effects.',\n\t\t'GitHub commit and push proof are recorded before live hotfix.',\n\t\t'Backend restart/checksum evidence and runner-manager self-test pass.',\n\t\t'Only the smallest relevant release gate is rerun after hotfix evidence.'\n\t]))).slice(0, 14);\n\tconst forbiddenActions = Array.from(new Set(cleanList(existing.forbiddenActions || existing.forbidden_actions, 14, 500).concat([\n\t\t'Do not apply or restart a live backend before sourceCommitSha, githubCommitUrl, passed gitCommitStatus, and passed gitPushStatus are recorded.',\n\t\t'Do not run a full server deploy as a substitute for a targeted backend hotfix.',\n\t\t'Do not continue the ticket from route-only or release-status-only evidence.'\n\t]))).slice(0, 14);\n\tconst now = cleanDateString(input.now || new Date());\n\tconst createdAt = cleanDateString(existing.createdAt || existing.created_at || now);\n\tconst reason = cleanText(input.reason || existing.reason || (continuation as any)?.reason || validation.blockers.join('; '), 1000);\n\tconst contractId = cleanText(existing.contractId || existing.contract_id, 160)\n\t\t|| `hotfix-durability-${fingerprintResolveIOAIManagerBlocker([\n\t\t\taction,\n\t\t\treason,\n\t\t\tphaseOrder.join('|'),\n\t\t\tcreatedAt.slice(0, 16)\n\t\t].join('\\n')).slice(0, 16)}`;\n\tconst nextSafeAction = !required\n\t\t? 'continue'\n\t\t: liveHotfixBlockedUntilCommit\n\t\t\t? 'commit_and_push_hotfix_to_github'\n\t\t\t: validation.valid\n\t\t\t\t? (releaseGatePassed ? 'continue_current_runner' : 'rerun_smallest_release_gate')\n\t\t\t\t: 'apply_backend_hotfix_only_after_commit_proof';\n\tconst hotfixCommitGuard = {\n\t\trequired,\n\t\tblocks_live_hotfix: liveHotfixBlockedUntilCommit,\n\t\tpassed: commitProofPassed,\n\t\tstatus: commitProofPassed ? 'passed' : 'missing',\n\t\tsourceCommitSha,\n\t\tgithubCommitUrl,\n\t\tgitCommitStatus,\n\t\tgitPushStatus,\n\t\tmissingFields: missingCommitProofFields,\n\t\trequired_fields: ['sourceCommitSha', 'githubCommitUrl', 'gitCommitStatus=passed', 'gitPushStatus=passed'],\n\t\tnext_action: liveHotfixBlockedUntilCommit ? 'commit_and_push_hotfix_to_github' : 'record_hotfix_evidence'\n\t};\n\tconst contract = {\n\t\tcontractId,\n\t\tcontract_id: contractId,\n\t\tcreatedAt,\n\t\tcreated_at: createdAt,\n\t\tupdatedAt: now,\n\t\tupdated_at: now,\n\t\tsource: cleanText(input.source || existing.source || 'ai_manager_hotfix_durability', 160),\n\t\trequired,\n\t\taction,\n\t\tstatus,\n\t\treason,\n\t\tcanPrepareHotfixPatch,\n\t\tcan_prepare_hotfix_patch: canPrepareHotfixPatch,\n\t\tcanHotfixBackend,\n\t\tcan_hotfix_backend: canHotfixBackend,\n\t\tliveHotfixBlockedUntilCommit,\n\t\tlive_hotfix_blocked_until_commit: liveHotfixBlockedUntilCommit,\n\t\tdurabilityProtocol,\n\t\tdurability_protocol: durabilityProtocol,\n\t\tcommitFirstProtocolRequired,\n\t\tcommit_first_protocol_required: commitFirstProtocolRequired,\n\t\tcommitFirstProtocolSatisfied,\n\t\tcommit_first_protocol_satisfied: commitFirstProtocolSatisfied,\n\t\tliveHotfixAllowed,\n\t\tlive_hotfix_allowed: liveHotfixAllowed,\n\t\tmanagerContinuationAllowed,\n\t\tmanager_continuation_allowed: managerContinuationAllowed,\n\t\tcommitProofPassed,\n\t\tcommit_proof_passed: commitProofPassed,\n\t\tcommitProofStatus: commitProofPassed ? 'passed' as const : 'missing' as const,\n\t\tcommit_proof_status: commitProofPassed ? 'passed' as const : 'missing' as const,\n\t\tsourceCommitSha,\n\t\tsource_commit_sha: sourceCommitSha,\n\t\tgithubCommitUrl,\n\t\tgithub_commit_url: githubCommitUrl,\n\t\tgitCommitStatus,\n\t\tgit_commit_status: gitCommitStatus,\n\t\tgitPushStatus,\n\t\tgit_push_status: gitPushStatus,\n\t\tmissingCommitProofFields,\n\t\tmissing_commit_proof_fields: missingCommitProofFields,\n\t\tnextSafeAction,\n\t\tnext_safe_action: nextSafeAction,\n\t\tphaseOrder,\n\t\tphase_order: phaseOrder,\n\t\trequiredFields,\n\t\trequired_fields: requiredFields,\n\t\trequiredEvidence,\n\t\trequired_evidence: requiredEvidence,\n\t\tsuccessCriteria,\n\t\tsuccess_criteria: successCriteria,\n\t\tforbiddenActions,\n\t\tforbidden_actions: forbiddenActions,\n\t\thotfixCommitGuard,\n\t\thotfix_commit_guard: hotfixCommitGuard,\n\t\tgithubCommitGuard: {\n\t\t\t...githubCommitGuard,\n\t\t\trequired,\n\t\t\tpassed: commitProofPassed,\n\t\t\tstatus: commitProofPassed ? 'passed' as const : (required ? 'missing' as const : githubCommitGuard.status),\n\t\t\tmanagerMustCommitBeforeHotfix: liveHotfixBlockedUntilCommit,\n\t\t\tsourceCommitSha,\n\t\t\tgithubCommitUrl,\n\t\t\tgitCommitStatus,\n\t\t\tgitPushStatus\n\t\t},\n\t\tgithub_commit_guard: {\n\t\t\t...githubCommitGuard,\n\t\t\trequired,\n\t\t\tpassed: commitProofPassed,\n\t\t\tstatus: commitProofPassed ? 'passed' as const : (required ? 'missing' as const : githubCommitGuard.status),\n\t\t\tmanagerMustCommitBeforeHotfix: liveHotfixBlockedUntilCommit,\n\t\t\tsourceCommitSha,\n\t\t\tgithubCommitUrl,\n\t\t\tgitCommitStatus,\n\t\t\tgitPushStatus\n\t\t},\n\t\tvalidation,\n\t\tcontinuation,\n\t\textraRequest: '',\n\t\textra_request: ''\n\t};\n\tcontract.extraRequest = hotfixDurabilityExtraRequest(contract);\n\tcontract.extra_request = contract.extraRequest;\n\treturn contract;\n}\n\nexport function decideResolveIOAIManagerHotfixContinuation(\n\tinput: ResolveIOAIManagerHotfixContinuationInput = {}\n): ResolveIOAIManagerHotfixContinuationDecision {\n\tconst validation = validateResolveIOAIManagerHotfixEvidence(input.evidence, { policy: input.policy });\n\tconst failureClass = cleanText(input.failureClass, 120) || 'release';\n\tconst blockerText = cleanText(input.blocker || validation.blockers.join('; ') || validation.normalized?.hotfixCannotResolveReason, 1000);\n\tconst blockerFingerprint = fingerprintResolveIOAIManagerBlocker(blockerText || `${validation.channel}:${validation.status}:${validation.nextAction}`);\n\tconst baseBlockers = [...validation.blockers];\n\tconst githubCommitGuard = validation.githubCommitGuard || evaluateResolveIOAIManagerHotfixGitProof(input.evidence, validation.channel);\n\tconst needsGithubCommitProof = githubCommitGuard.managerMustCommitBeforeHotfix\n\t\t|| validation.blockers.some((blocker) => /sourceCommitSha|githubCommitUrl|gitPushStatus|gitCommitStatus|GitHub commit|pushed/i.test(blocker));\n\tconst repeatedFailure = input.repeatedFailure === true;\n\tconst releaseGatePassed = input.releaseGatePassed === true\n\t\t|| hotfixStatusPassed(validation.normalized?.releaseGateStatus);\n\tlet action: ResolveIOAIManagerHotfixContinuationAction = validation.nextAction;\n\tlet canContinueRun = false;\n\tlet canRunFullDeploy = validation.fullDeployAllowed;\n\tlet shouldRerunReleaseGate = false;\n\tlet shouldPark = false;\n\tlet reason = '';\n\tconst nextCommands: string[] = [];\n\n\tif (githubCommitGuard.managerMustCommitBeforeHotfix) {\n\t\taction = 'record_hotfix_evidence';\n\t\treason = githubCommitGuard.blockers.length\n\t\t\t? `Manager hotfix cannot continue until the hotfix is committed and pushed: ${githubCommitGuard.blockers.join('; ')}`\n\t\t\t: 'Manager hotfix cannot continue until sourceCommitSha, githubCommitUrl, passed gitCommitStatus, and passed gitPushStatus prove the hotfix is committed and pushed to GitHub.';\n\t\tnextCommands.push(...githubCommitGuard.nextCommands, 'rerun_hotfix_evidence_validator');\n\t\tfor (const blocker of githubCommitGuard.blockers) {\n\t\t\tif (!baseBlockers.includes(blocker)) {\n\t\t\t\tbaseBlockers.push(blocker);\n\t\t\t}\n\t\t}\n\t}\n\telse if (!validation.valid || validation.status === 'missing' || validation.status === 'incomplete') {\n\t\taction = validation.nextAction === 'request_force_deploy_reason'\n\t\t\t? 'request_force_deploy_reason'\n\t\t\t: 'record_hotfix_evidence';\n\t\treason = validation.blockers.length\n\t\t\t? `Hotfix evidence is not complete: ${validation.blockers.join('; ')}`\n\t\t\t: 'Hotfix evidence is missing; record the hotfix target, checksum, restart, health, and self-test proof before continuing.';\n\t\tif (needsGithubCommitProof) {\n\t\t\tnextCommands.push('commit_and_push_hotfix_to_github', 'verify_github_commit_url_and_push_status');\n\t\t}\n\t\tnextCommands.push('record_hotfix_evidence', 'rerun_hotfix_evidence_validator');\n\t}\n\telse if (validation.fullDeployAllowed) {\n\t\taction = 'allow_one_full_deploy';\n\t\tcanRunFullDeploy = true;\n\t\treason = 'Hotfix evidence proves the duplicate release cannot be resolved by a hotfix, or a new artifact was verified, so exactly one full deploy can proceed.';\n\t\tnextCommands.push('run_release_gate_once', 'execute_one_full_deploy_with_force_evidence', 'record_deploy_result');\n\t}\n\telse if (repeatedFailure) {\n\t\taction = 'park_manual';\n\t\tshouldPark = true;\n\t\treason = 'The same release failure repeated after valid hotfix evidence; park for manual review instead of looping or redeploying blindly.';\n\t\tnextCommands.push('park_manual_with_hotfix_evidence', 'attach_release_gate_logs');\n\t}\n\telse if (validation.hotfixSatisfied && releaseGatePassed) {\n\t\taction = 'continue_runner';\n\t\tcanContinueRun = true;\n\t\treason = 'Hotfix evidence and the release gate both passed; continue the current runner without a full deploy.';\n\t\tnextCommands.push('continue_current_runner', 'record_hotfix_continuation');\n\t}\n\telse if (validation.hotfixSatisfied) {\n\t\taction = 'rerun_release_gate';\n\t\tshouldRerunReleaseGate = true;\n\t\treason = 'Hotfix evidence passed; rerun the smallest release gate before continuing the runner.';\n\t\tnextCommands.push('rerun_release_gate_once', 'record_release_gate_status');\n\t}\n\telse {\n\t\taction = 'park_manual';\n\t\tshouldPark = true;\n\t\treason = 'Hotfix evidence reached an unsupported state; park instead of starting another broad deploy or model loop.';\n\t\tbaseBlockers.push('Unsupported hotfix continuation state.');\n\t\tnextCommands.push('park_manual_with_hotfix_evidence');\n\t}\n\n\treturn {\n\t\taction,\n\t\tcanContinueRun,\n\t\tcanRunFullDeploy,\n\t\tshouldRerunReleaseGate,\n\t\tshouldPark,\n\t\treason,\n\t\tblockers: baseBlockers,\n\t\t\twarnings: validation.warnings,\n\t\t\trequiredEvidence: validation.requiredEvidence,\n\t\t\tsuccessEvidence: validation.successEvidence,\n\t\t\tnextCommands: Array.from(new Set(nextCommands)),\n\t\t\tfailureClass,\n\t\t\tblockerFingerprint,\n\t\t\tgithubCommitGuard,\n\t\t\tvalidation,\n\t\t\trecordedAt: isoNow(input.now)\n\t\t};\n}\n\nexport function decideResolveIOAIManagerHotfixCommitGuard(\n\tinput: ResolveIOAIManagerHotfixContinuationInput = {}\n): ResolveIOAIManagerHotfixCommitGuardDecision {\n\tconst normalized = normalizeResolveIOAIManagerHotfixEvidence(input.evidence, input.policy);\n\tconst validation = validateResolveIOAIManagerHotfixEvidence(input.evidence, { policy: input.policy });\n\tconst githubCommitGuard = validation.githubCommitGuard || evaluateResolveIOAIManagerHotfixGitProof(input.evidence, validation.channel);\n\tconst active = !!normalized || githubCommitGuard.required === true;\n\tconst hotfixCommitBlockers = validation.blockers.filter((blocker) => /sourceCommitSha|githubCommitUrl|gitPushStatus|gitCommitStatus|GitHub commit|pushed/i.test(blocker));\n\tconst blockers = Array.from(new Set([\n\t\t...(githubCommitGuard.blockers || []),\n\t\t...hotfixCommitBlockers\n\t]));\n\tconst blocked = active && (\n\t\tgithubCommitGuard.managerMustCommitBeforeHotfix === true\n\t\t|| (githubCommitGuard.required === true && githubCommitGuard.passed !== true)\n\t\t|| hotfixCommitBlockers.length > 0\n\t);\n\tconst nextCommands = blocked\n\t\t? Array.from(new Set([\n\t\t\t...(githubCommitGuard.nextCommands || []),\n\t\t\t'commit_and_push_hotfix_to_github',\n\t\t\t'verify_github_commit_url_and_push_status',\n\t\t\t'record_hotfix_evidence'\n\t\t]))\n\t\t: [];\n\treturn {\n\t\tactive,\n\t\tblocked,\n\t\treason: blocked\n\t\t\t? (blockers.length\n\t\t\t\t? `Hotfix continuation is blocked until GitHub commit proof is recorded: ${blockers.join('; ')}`\n\t\t\t\t: 'Hotfix continuation is blocked until sourceCommitSha, githubCommitUrl, passed gitCommitStatus, and passed gitPushStatus prove the hotfix is committed and pushed to GitHub.')\n\t\t\t: (active ? 'Hotfix GitHub commit proof is recorded.' : 'No hotfix commit guard is active.'),\n\t\tnextAction: blocked ? 'record_hotfix_evidence' : 'continue',\n\t\tchannel: validation.channel || githubCommitGuard.channel || '',\n\t\tblockers,\n\t\tnextCommands,\n\t\trequiredEvidence: githubCommitGuard.requiredEvidence,\n\t\tgithubCommitGuard,\n\t\tvalidation\n\t};\n}\n\nfunction releaseStatusIsBlocked(value: string): boolean {\n\treturn /fail|error|blocked|missing|empty|not ready|not_ready|denied|invalid|timeout|stale/i.test(value);\n}\n\nfunction releaseStatusIsTerminalDeploy(value: string): boolean {\n\treturn /requested|queued|in.?progress|completed|complete|success|succeeded|pass|passed|published|deployed|failed|error|blocked/i.test(value);\n}\n\nfunction buildReleaseAllowedActions(action: ResolveIOAIManagerHotfixFirstReleaseAction): string[] {\n\tif (action === 'wait_for_active_deploy') {\n\t\treturn ['wait_for_current_deploy_result', 'collect_current_deploy_log', 'refresh_release_snapshot'];\n\t}\n\tif (action === 'block_duplicate_deploy') {\n\t\treturn ['collect_existing_deploy_evidence', 'hotfix_release_artifact', 'request_force_deploy_with_reason'];\n\t}\n\tif (action === 'block_duplicate_publish') {\n\t\treturn ['collect_existing_publish_evidence', 'hotfix_release_artifact', 'request_force_publish_with_reason'];\n\t}\n\tif (action === 'review_force_deploy') {\n\t\treturn ['verify_force_deploy_reason', 'rerun_failed_release_gate_once', 'record_force_deploy_evidence'];\n\t}\n\tif (action === 'deploy_new_artifact_after_release_gate') {\n\t\treturn ['verify_new_artifact_fingerprint', 'run_release_gate_once', 'record_publish_deploy_evidence'];\n\t}\n\tif (action === 'build_artifact_first') {\n\t\treturn ['build_missing_release_artifact', 'record_artifact_fingerprint', 'run_release_gate_once'];\n\t}\n\treturn ['hotfix_live_runner_or_release_artifact', 'rerun_failed_release_gate_only', 'record_release_evidence'];\n}\n\nfunction hotfixStep(\n\tid: string,\n\tlabel: string,\n\tchannel: ResolveIOAIManagerHotfixChannel,\n\toptions: {\n\t\tsafeToAutoRun?: boolean;\n\t\trequiresFullDeploy?: boolean;\n\t\trequiredEvidence?: string[];\n\t\tsuccessEvidence?: string[];\n\t\tblockedBy?: string[];\n\t} = {}\n): ResolveIOAIManagerHotfixPlanStep {\n\treturn {\n\t\tid,\n\t\tlabel,\n\t\tchannel,\n\t\tsafeToAutoRun: options.safeToAutoRun === true,\n\t\trequiresFullDeploy: options.requiresFullDeploy === true,\n\t\trequiredEvidence: options.requiredEvidence || [],\n\t\tsuccessEvidence: options.successEvidence || [],\n\t\tblockedBy: options.blockedBy || []\n\t};\n}\n\nfunction buildHotfixFirstReleasePlan(input: {\n\taction: ResolveIOAIManagerHotfixFirstReleaseAction;\n\tsurface: string;\n\treason: string;\n\treleaseBlocked: boolean;\n}): ResolveIOAIManagerHotfixPlan {\n\tconst surface = cleanText(input.surface || 'runner', 80)\n\t\t.toLowerCase()\n\t\t.replace(/[^a-z0-9]+/g, '_')\n\t\t.replace(/^_+|_+$/g, '') || 'runner';\n\tconst commonAcceptance = [\n\t\t'failed release gate is rerun once and passes',\n\t\t'artifact fingerprint or hotfix evidence is recorded',\n\t\t'operator console shows no active duplicate deploy blocker'\n\t];\n\tif (input.action === 'wait_for_active_deploy') {\n\t\treturn {\n\t\t\tplanId: `${surface}:wait_for_active_deploy`,\n\t\t\tlabel: 'Wait For Active Deploy',\n\t\t\trecommendedChannel: 'release_artifact',\n\t\t\treason: input.reason,\n\t\t\tfullDeployAvoided: true,\n\t\t\tsteps: [\n\t\t\t\thotfixStep('collect_active_deploy_log', 'Collect active deploy log', 'release_artifact', {\n\t\t\t\t\tsafeToAutoRun: true,\n\t\t\t\t\trequiredEvidence: ['active deploy id or release operation id'],\n\t\t\t\t\tsuccessEvidence: ['terminal deploy status and release log captured']\n\t\t\t\t})\n\t\t\t],\n\t\t\tacceptanceEvidence: commonAcceptance,\n\t\t\tescalationTriggers: ['active deploy exceeds timeout', 'active deploy fails without a release log']\n\t\t};\n\t}\n\tif (input.action === 'deploy_new_artifact_after_release_gate') {\n\t\treturn {\n\t\t\tplanId: `${surface}:deploy_new_artifact_after_release_gate`,\n\t\t\tlabel: 'Deploy New Artifact After Release Gate',\n\t\t\trecommendedChannel: 'new_artifact_deploy',\n\t\t\treason: input.reason,\n\t\t\tfullDeployAvoided: false,\n\t\t\tsteps: [\n\t\t\t\thotfixStep('verify_new_artifact_fingerprint', 'Verify new artifact fingerprint', 'new_artifact_deploy', {\n\t\t\t\t\tsafeToAutoRun: true,\n\t\t\t\t\trequiresFullDeploy: true,\n\t\t\t\t\trequiredEvidence: ['current artifact fingerprint differs from last deployed fingerprint'],\n\t\t\t\t\tsuccessEvidence: ['release gate permits one full deploy']\n\t\t\t\t})\n\t\t\t],\n\t\t\tacceptanceEvidence: [\n\t\t\t\t'new artifact fingerprint recorded',\n\t\t\t\t'release gate passed before full deploy',\n\t\t\t\t'deploy/publish result recorded'\n\t\t\t],\n\t\t\tescalationTriggers: ['artifact fingerprint matches last deploy', 'release gate fails']\n\t\t};\n\t}\n\tif (input.action === 'build_artifact_first') {\n\t\treturn {\n\t\t\tplanId: `${surface}:build_artifact_first`,\n\t\t\tlabel: 'Build Artifact First',\n\t\t\trecommendedChannel: 'artifact_build',\n\t\t\treason: input.reason,\n\t\t\tfullDeployAvoided: true,\n\t\t\tsteps: [\n\t\t\t\thotfixStep('build_once_record_fingerprint', 'Build once and record fingerprint', 'artifact_build', {\n\t\t\t\t\tsafeToAutoRun: false,\n\t\t\t\t\trequiredEvidence: ['missing artifact fingerprint', 'release gate reason for building'],\n\t\t\t\t\tsuccessEvidence: ['artifact fingerprint recorded before any deploy']\n\t\t\t\t})\n\t\t\t],\n\t\t\tacceptanceEvidence: ['artifact fingerprint exists', 'no deploy queued before release gate'],\n\t\t\tescalationTriggers: ['build repeats without a new fingerprint', 'build failure lacks compile log']\n\t\t};\n\t}\n\tif (input.action === 'review_force_deploy') {\n\t\treturn {\n\t\t\tplanId: `${surface}:review_force_deploy`,\n\t\t\tlabel: 'Review Force Deploy',\n\t\t\trecommendedChannel: 'force_deploy_review',\n\t\t\treason: input.reason,\n\t\t\tfullDeployAvoided: false,\n\t\t\tsteps: [\n\t\t\t\thotfixStep('verify_force_deploy_reason', 'Verify force deploy reason', 'force_deploy_review', {\n\t\t\t\t\trequiredEvidence: ['explicit force_deploy reason', 'why hotfix cannot resolve the release blocker'],\n\t\t\t\t\tsuccessEvidence: ['one allowed deploy attempt is recorded with reason']\n\t\t\t\t})\n\t\t\t],\n\t\t\tacceptanceEvidence: ['force deploy evidence recorded', 'duplicate fingerprint exception is auditable'],\n\t\t\tescalationTriggers: ['force deploy reason is empty', 'same force deploy fails twice']\n\t\t};\n\t}\n\treturn {\n\t\tplanId: `${surface}:${input.action}`,\n\t\tlabel: input.action === 'block_duplicate_deploy'\n\t\t\t? 'Hotfix Or Force Deploy'\n\t\t\t: input.action === 'block_duplicate_publish'\n\t\t\t\t? 'Hotfix Or Force Publish'\n\t\t\t\t: 'Hotfix Release Artifact',\n\t\trecommendedChannel: input.action === 'block_duplicate_publish'\n\t\t\t? 'release_artifact'\n\t\t\t: input.releaseBlocked ? 'release_artifact' : 'static_ui',\n\t\treason: input.reason,\n\t\tfullDeployAvoided: true,\n\t\tsteps: [\n\t\t\thotfixStep('static_ui_hotfix', 'Static UI hotfix', 'static_ui', {\n\t\t\t\tsafeToAutoRun: true,\n\t\t\t\trequiredEvidence: ['sourceCommitSha, githubCommitUrl, passed gitCommitStatus, and passed gitPushStatus', 'built dist path', 'target S3 bucket and CloudFront distribution', 'changed frontend bundle or asset list'],\n\t\t\t\tsuccessEvidence: ['GitHub commit and push proof', 'S3 upload result', 'CloudFront invalidation id', 'public bundle contains expected hotfix marker']\n\t\t\t}),\n\t\t\thotfixStep('backend_js_hotfix', 'Backend JS hotfix', 'backend_js', {\n\t\t\t\trequiredEvidence: ['sourceCommitSha, githubCommitUrl, passed gitCommitStatus, and passed gitPushStatus', 'compiled JS artifact path', 'target backend host', 'diff limited to runner/operator code'],\n\t\t\t\tsuccessEvidence: ['GitHub commit and push proof', 'remote file checksum', 'service restart or process reload evidence', 'self-test passes']\n\t\t\t}),\n\t\t\thotfixStep('config_seed_cache_restart', 'Config, seed, cache, or restart repair', 'config', {\n\t\t\t\tsafeToAutoRun: true,\n\t\t\t\trequiredEvidence: ['sourceCommitSha, githubCommitUrl, passed gitCommitStatus, and passed gitPushStatus', 'exact config/seed/cache key or process name', 'why no product artifact changed'],\n\t\t\t\tsuccessEvidence: ['GitHub commit and push proof', 'release gate rerun result', 'operator console release snapshot refreshed']\n\t\t\t})\n\t\t],\n\t\tacceptanceEvidence: commonAcceptance,\n\t\tescalationTriggers: [\n\t\t\t'hotfix changes customer-facing product code outside the release artifact',\n\t\t\t'same release gate fails twice after hotfix evidence',\n\t\t\t'same publish fingerprint is retried without force_publish evidence',\n\t\t\t'force deploy is requested without a reason'\n\t\t]\n\t};\n}\n\nexport function buildResolveIOAIManagerHotfixFirstReleasePolicy(\n\tinput: ResolveIOAIManagerHotfixFirstReleasePolicyInput = {}\n): ResolveIOAIManagerHotfixFirstReleasePolicy {\n\tconst surface = cleanText(input.surface || 'runner', 120);\n\tconst deployStatus = cleanText(input.deployStatus, 160);\n\tconst publishStatus = cleanText(input.publishStatus, 160);\n\tconst sampleDataStatus = cleanText(input.sampleDataStatus, 160);\n\tconst deployFingerprint = cleanText(input.deployFingerprint, 240);\n\tconst lastDeployFingerprint = cleanText(input.lastDeployFingerprint, 240);\n\tconst publishFingerprint = cleanText(input.publishFingerprint, 240);\n\tconst lastPublishFingerprint = cleanText(input.lastPublishFingerprint, 240);\n\tconst fingerprintMatchesLast = !!deployFingerprint && !!lastDeployFingerprint && deployFingerprint === lastDeployFingerprint;\n\tconst publishFingerprintMatchesLast = !!publishFingerprint && !!lastPublishFingerprint && publishFingerprint === lastPublishFingerprint;\n\tconst releaseBlocked = [deployStatus, publishStatus, sampleDataStatus].some(releaseStatusIsBlocked);\n\tconst duplicateDeployBlocked = fingerprintMatchesLast\n\t\t&& input.forceDeploy !== true\n\t\t&& releaseStatusIsTerminalDeploy([deployStatus, publishStatus].filter(Boolean).join(' '));\n\tconst duplicatePublishBlocked = publishFingerprintMatchesLast\n\t\t&& input.forcePublish !== true\n\t\t&& releaseStatusIsBlocked(publishStatus)\n\t\t&& releaseStatusIsTerminalDeploy(publishStatus);\n\tlet recommendedAction: ResolveIOAIManagerHotfixFirstReleaseAction = 'hotfix_release_artifact';\n\tlet label = 'Hotfix Release Artifact';\n\tlet reason = 'Repair the live runner/operator code, release config, domain, seed-data, or release artifact and rerun only the failed release gate.';\n\tlet fullDeployAllowed = false;\n\tif (input.activeDeploy === true) {\n\t\trecommendedAction = 'wait_for_active_deploy';\n\t\tlabel = 'Wait For Active Deploy';\n\t\treason = 'A deploy is already queued or running; collect that result before spending another deploy cycle.';\n\t}\n\telse if (duplicateDeployBlocked) {\n\t\trecommendedAction = 'block_duplicate_deploy';\n\t\tlabel = 'Block Duplicate Deploy';\n\t\treason = 'The same artifact fingerprint already has release status; hotfix or provide explicit force_deploy evidence before rerunning it.';\n\t}\n\telse if (duplicatePublishBlocked) {\n\t\trecommendedAction = 'block_duplicate_publish';\n\t\tlabel = 'Block Duplicate Publish';\n\t\treason = 'The same publish fingerprint already has release status; hotfix the release artifact or provide explicit force_publish evidence before rerunning publish.';\n\t}\n\telse if ((fingerprintMatchesLast && input.forceDeploy === true) || (publishFingerprintMatchesLast && input.forcePublish === true)) {\n\t\trecommendedAction = 'review_force_deploy';\n\t\tlabel = 'Review Force Deploy';\n\t\treason = input.forcePublish === true\n\t\t\t? 'force_publish was explicitly requested for a repeated publish artifact; require a reason and rerun only the failed release gate.'\n\t\t\t: 'force_deploy was explicitly requested for a repeated artifact; require a reason and rerun only the failed release gate.';\n\t\tfullDeployAllowed = true;\n\t}\n\telse if (input.hasNewArtifact === false && !releaseBlocked) {\n\t\trecommendedAction = 'build_artifact_first';\n\t\tlabel = 'Build Artifact First';\n\t\treason = 'No release artifact fingerprint is available yet; build once, record the fingerprint, and avoid repeated deploys.';\n\t}\n\telse if (input.hasNewArtifact === true && !releaseBlocked) {\n\t\trecommendedAction = 'deploy_new_artifact_after_release_gate';\n\t\tlabel = 'Deploy New Artifact After Release Gate';\n\t\treason = 'A new artifact can be deployed after the release gate proves the artifact is new and ready.';\n\t\tfullDeployAllowed = true;\n\t}\n\tconst allowedActions = buildReleaseAllowedActions(recommendedAction);\n\tconst hotfixPlan = buildHotfixFirstReleasePlan({\n\t\taction: recommendedAction,\n\t\tsurface,\n\t\treason,\n\t\treleaseBlocked\n\t});\n\treturn {\n\t\tpolicy: 'hotfix_first',\n\t\tsurface,\n\t\trecommendedAction,\n\t\tlabel,\n\t\treason,\n\t\thotfixPreferred: recommendedAction !== 'deploy_new_artifact_after_release_gate' && recommendedAction !== 'review_force_deploy',\n\t\tfullDeployAllowed,\n\t\tduplicateDeployBlocked,\n\t\tduplicatePublishBlocked,\n\t\tforceDeployRequiredToRepeat: true,\n\t\tforcePublishRequiredToRepeat: true,\n\t\tstatuses: {\n\t\t\tdeploy: deployStatus,\n\t\t\tpublish: publishStatus,\n\t\t\tsampleData: sampleDataStatus\n\t\t},\n\t\tfingerprints: {\n\t\t\tcurrent: deployFingerprint,\n\t\t\tlast: lastDeployFingerprint,\n\t\t\tmatchesLast: fingerprintMatchesLast,\n\t\t\tpublishCurrent: publishFingerprint,\n\t\t\tpublishLast: lastPublishFingerprint,\n\t\t\tpublishMatchesLast: publishFingerprintMatchesLast\n\t\t},\n\t\thotfixPlan,\n\t\tallowedActions,\n\t\tforbiddenActions: [\n\t\t\t'rerun full builder loop for a release-only blocker',\n\t\t\t'queue duplicate deploy without force_deploy evidence',\n\t\t\t'queue duplicate publish without force_publish evidence',\n\t\t\t'publish/deploy again before reading the failed release log',\n\t\t\t'change core workflow after business proof passed unless release evidence proves it is required'\n\t\t],\n\t\trequiredEvidence: [\n\t\t\t'failed release gate log or active deploy result',\n\t\t\t'deploy artifact fingerprint comparison',\n\t\t\t'publish artifact fingerprint comparison when publish is the failed gate',\n\t\t\t'hotfix/config/seed/domain change evidence when no new product artifact is needed',\n\t\t\t'force_deploy or force_publish reason when repeating the same fingerprint'\n\t\t]\n\t};\n}\n\nexport function isResolveIOAIManagerSafeAutoDispatch(\n\tinput: ResolveIOAIManagerAutoDispatchPolicyInput | ResolveIOAIManagerRecoveryActionDispatchAction | string | undefined\n): boolean {\n\tconst normalizedInput = typeof input === 'string'\n\t\t? { dispatchAction: input }\n\t\t: (input || {});\n\tconst dispatchAction = cleanText(normalizedInput.dispatchAction || normalizedInput.directive?.dispatchAction, 120);\n\tconst directiveAllowed = normalizedInput.directive?.allowed;\n\tconst actionAutoRunnable = normalizedInput.action?.autoRunnable;\n\tconst productRepairAllowed = normalizedInput.directive?.canRunProductRepair === true\n\t\t|| normalizedInput.directive?.productRepairAllowed === true\n\t\t|| normalizedInput.action?.productRepairAllowed === true;\n\tconst expensiveModelAllowed = normalizedInput.directive?.canRunExpensiveModel === true\n\t\t|| normalizedInput.directive?.expensiveModelAllowed === true\n\t\t|| normalizedInput.action?.expensiveModelAllowed === true;\n\tif (!dispatchAction || dispatchAction === 'park_manual') {\n\t\treturn false;\n\t}\n\tif (directiveAllowed === false || actionAutoRunnable === false) {\n\t\treturn false;\n\t}\n\tif ([\n\t\t'run_evidence_probe',\n\t\t'run_read_only_diagnosis',\n\t\t'run_infra_repair',\n\t\t'run_compile_repair'\n\t].includes(dispatchAction)) {\n\t\treturn true;\n\t}\n\tif (dispatchAction === 'run_release_repair') {\n\t\treturn normalizedInput.includeReleaseRepair !== false;\n\t}\n\tif (dispatchAction === 'run_journey_contract_repair') {\n\t\treturn normalizedInput.includeJourneyContractRepair !== false && productRepairAllowed !== true;\n\t}\n\tif (dispatchAction === 'run_business_assertion_repair') {\n\t\treturn normalizedInput.includeBusinessProofRepair === true\n\t\t\t&& productRepairAllowed !== true\n\t\t\t&& expensiveModelAllowed !== true;\n\t}\n\tif (dispatchAction === 'run_targeted_product_repair') {\n\t\treturn normalizedInput.includeProductRepair === true\n\t\t\t&& productRepairAllowed === true\n\t\t\t&& expensiveModelAllowed !== true;\n\t}\n\treturn dispatchAction === 'advance' || dispatchAction === 'continue_gate';\n}\n\nfunction isoNow(value?: Date | string): string {\n\tif (value instanceof Date) {\n\t\treturn value.toISOString();\n\t}\n\tconst parsed = value ? new Date(value) : new Date();\n\tif (Number.isFinite(parsed.getTime())) {\n\t\treturn parsed.toISOString();\n\t}\n\treturn new Date().toISOString();\n}\n\nfunction stableHash(prefix: string, value: any): string {\n\tconst normalized = typeof value === 'string'\n\t\t? cleanText(value, 12000)\n\t\t: JSON.stringify(value || {});\n\tlet hash = 0;\n\tfor (let index = 0; index < normalized.length; index += 1) {\n\t\thash = ((hash << 5) - hash + normalized.charCodeAt(index)) | 0;\n\t}\n\treturn `${prefix}-${Math.abs(hash).toString(36) || '0'}`;\n}\n\nexport function normalizeResolveIOAIManagerFailureClass(value: any): string {\n\tconst normalized = cleanText(value, 80)\n\t\t.toLowerCase()\n\t\t.replace(/[\\s-]+/g, '_');\n\tif (!normalized) {\n\t\treturn 'unknown';\n\t}\n\tif (/^(qa_infra|infrastructure|harness|puppeteer|chrome|mongo|port|startup)$/.test(normalized)) {\n\t\treturn 'infra';\n\t}\n\tif (/^(build|compile|typescript|tsc|angular_build|ng_build)$/.test(normalized)) {\n\t\treturn 'compile';\n\t}\n\tif (/^(false_pass|route_only|missing_business_proof)$/.test(normalized)) {\n\t\treturn 'business';\n\t}\n\treturn normalized.slice(0, 80);\n}\n\nexport function fingerprintResolveIOAIManagerBlocker(value: any): string {\n\tconst normalized = cleanText(value, 4000)\n\t\t.toLowerCase()\n\t\t.replace(/[a-f0-9]{16,}/g, '<id>')\n\t\t.replace(/\\b\\d{2,}\\b/g, '<n>')\n\t\t.replace(/\\bline\\s+<n>\\b/g, 'line <n>')\n\t\t.replace(/https?:\\/\\/\\S+/g, '<url>')\n\t\t.replace(/\\s+/g, ' ')\n\t\t.trim();\n\treturn stableHash('mgr-blocker', normalized);\n}\n\nfunction resolveResolveIOAIManagerBlockerFingerprint(\n\trecord: ResolveIOAIManagerFailureRecord | undefined,\n\tfallback?: any\n): string {\n\tconst blockerText = cleanText(record?.blocker || record?.summary, 4000);\n\tif (blockerText) {\n\t\treturn fingerprintResolveIOAIManagerBlocker(blockerText);\n\t}\n\tconst explicit = cleanText(record?.blockerFingerprint, 120);\n\tif (explicit) {\n\t\treturn explicit;\n\t}\n\treturn fingerprintResolveIOAIManagerBlocker(fallback || '');\n}\n\nexport function hashResolveIOAIManagerEvidence(record: ResolveIOAIManagerFailureRecord | undefined): string {\n\tif (!record) {\n\t\treturn stableHash('mgr-evidence', '');\n\t}\n\tconst explicit = cleanText(record.evidenceHash, 120);\n\tif (explicit) {\n\t\treturn explicit;\n\t}\n\treturn stableHash('mgr-evidence', {\n\t\tfailureClass: normalizeResolveIOAIManagerFailureClass(record.failureClass),\n\t\tblocker: cleanText(record.blocker || record.summary, 2000),\n\t\tchangedFiles: cleanList(record.changedFiles, 80, 500).sort(),\n\t\tartifactPaths: cleanList(record.artifactPaths, 80, 500).sort()\n\t});\n}\n\nexport function buildResolveIOAIManagerRecoveryCheckpoint(\n\tinput: ResolveIOAIManagerRecoveryCheckpointInput\n): ResolveIOAIManagerRecoveryCheckpoint {\n\tconst plan = input.plan;\n\tconst current = input.current || {};\n\tconst blockerFingerprint = resolveResolveIOAIManagerBlockerFingerprint(current, plan.objective);\n\tconst evidenceHash = hashResolveIOAIManagerEvidence(current);\n\tconst changedFiles = cleanList(current.changedFiles, 80, 500);\n\tconst artifactPaths = cleanList(current.artifactPaths, 80, 500);\n\tconst previous = input.previousCheckpoint;\n\tconst sameCheckpointBase = previous\n\t\t&& previous.recoveryClass === plan.recoveryClass\n\t\t&& previous.lane === plan.lane\n\t\t&& previous.stepType === plan.stepType\n\t\t&& previous.blockerFingerprint === blockerFingerprint\n\t\t&& previous.evidenceHash === evidenceHash;\n\tconst attempts = sameCheckpointBase ? Math.max(0, Number(previous.attempts || 0)) + 1 : 1;\n\tconst status: ResolveIOAIManagerRecoveryCheckpointStatus = plan.recoveryClass === 'manual_handoff'\n\t\t? 'manual_handoff'\n\t\t: plan.recoveryClass === 'blocked_until_new_evidence'\n\t\t\t? 'parked'\n\t\t\t: plan.recoveryClass === 'advance_after_proof'\n\t\t\t\t? 'complete'\n\t\t\t\t: 'active';\n\tconst now = isoNow(input.now);\n\tconst checkpointId = stableHash('mgr-recovery', {\n\t\trecoveryClass: plan.recoveryClass,\n\t\tlane: plan.lane,\n\t\tstepType: plan.stepType,\n\t\tallowedAction: plan.allowedAction,\n\t\tblockerFingerprint,\n\t\tevidenceHash\n\t});\n\treturn {\n\t\tcheckpointId,\n\t\trecoveryClass: plan.recoveryClass,\n\t\tstatus,\n\t\tlane: plan.lane,\n\t\tstepType: plan.stepType,\n\t\tallowedAction: plan.allowedAction,\n\t\tproductRepairAllowed: plan.productRepairAllowed,\n\t\texpensiveModelAllowed: plan.expensiveModelAllowed,\n\t\tattempts,\n\t\tmaxAttemptsBeforePark: plan.maxAttemptsBeforePark,\n\t\tblockerFingerprint,\n\t\tevidenceHash,\n\t\tchangedFiles,\n\t\tartifactPaths,\n\t\trequiredEvidence: cleanList(plan.requiredEvidence, 40, 500),\n\t\tloopResetEvidence: cleanList(plan.loopResetEvidence, 40, 500),\n\t\tforbiddenActions: cleanList(plan.forbiddenActions, 40, 500),\n\t\tobjective: cleanText(plan.objective, 1000),\n\t\tnextActionLabel: cleanText(plan.nextActionLabel, 160),\n\t\tcreatedAt: sameCheckpointBase && previous?.createdAt ? previous.createdAt : now,\n\t\tupdatedAt: now\n\t};\n}\n\nfunction makeRecoveryEvidenceProbeStep(\n\tid: string,\n\tkind: ResolveIOAIManagerRecoveryEvidenceProbeStepKind,\n\tlabel: string,\n\tobjective: string,\n\tartifactExpectation: string,\n\tsuccessSignal: string,\n\toptions: Partial<Pick<ResolveIOAIManagerRecoveryEvidenceProbeStep, 'required' | 'commandHint'>> = {}\n): ResolveIOAIManagerRecoveryEvidenceProbeStep {\n\treturn {\n\t\tid,\n\t\tkind,\n\t\tlabel,\n\t\tobjective: cleanText(objective, 1000),\n\t\trequired: options.required !== false,\n\t\t...(options.commandHint ? { commandHint: cleanText(options.commandHint, 500) } : {}),\n\t\tartifactExpectation: cleanText(artifactExpectation, 500),\n\t\tsuccessSignal: cleanText(successSignal, 500)\n\t};\n}\n\nfunction recoveryEvidenceProbeStepsFor(\n\tcheckpoint: ResolveIOAIManagerRecoveryCheckpoint\n): ResolveIOAIManagerRecoveryEvidenceProbeStep[] {\n\tconst base = [\n\t\tmakeRecoveryEvidenceProbeStep(\n\t\t\t'snapshot_current_blocker',\n\t\t\t'rerun_same_gate',\n\t\t\t'Snapshot Current Blocker',\n\t\t\t'Capture the current blocker, failure class, evidence hash, changed files, and artifact paths before any new repair.',\n\t\t\t'runner-evidence/current-blocker.json',\n\t\t\t'Snapshot includes the same checkpointId, blockerFingerprint, and evidenceHashBefore.'\n\t\t)\n\t];\n\tif (checkpoint.recoveryClass === 'diagnosis_only' || checkpoint.recoveryClass === 'diagnosis_revision') {\n\t\treturn [\n\t\t\t...base,\n\t\t\tmakeRecoveryEvidenceProbeStep(\n\t\t\t\t'collect_read_only_root_cause_evidence',\n\t\t\t\t'read_only_diagnosis',\n\t\t\t\t'Collect Read-Only Root-Cause Evidence',\n\t\t\t\tcheckpoint.recoveryClass === 'diagnosis_revision'\n\t\t\t\t\t? 'Collect new evidence that proves the current owner_files or failing_path is wrong before broadening scope.'\n\t\t\t\t\t: 'Reproduce or classify the issue and record the exact customer complaint, expected result, observed result, route/module, and account context.',\n\t\t\t\t'runner-evidence/diagnosis-readonly.md',\n\t\t\t\t'Evidence supports one falsifiable accepted hypothesis and at least one rejected alternative.'\n\t\t\t),\n\t\t\tmakeRecoveryEvidenceProbeStep(\n\t\t\t\t'validate_diagnosis_gate',\n\t\t\t\t'read_only_diagnosis',\n\t\t\t\t'Validate Diagnosis Gate',\n\t\t\t\t'Validate issue_case, accepted_hypothesis, rejected_alternatives, failing_path, owner_files, and before/action/after proof_plan.',\n\t\t\t\t'runner-evidence/diagnosis-gate.json',\n\t\t\t\t'Diagnosis gate validates before product-code repair is allowed.'\n\t\t\t)\n\t\t];\n\t}\n\tif (checkpoint.recoveryClass === 'infra_repair') {\n\t\treturn [\n\t\t\t...base,\n\t\t\tmakeRecoveryEvidenceProbeStep(\n\t\t\t\t'run_infra_preflight',\n\t\t\t\t'infra_preflight',\n\t\t\t\t'Run Infra Preflight',\n\t\t\t\t'Check Puppeteer/Chrome, ports, Mongo/settings, cache state, startup commands, and server/client process health.',\n\t\t\t\t'runner-evidence/infra-preflight.log',\n\t\t\t\t'The same infra gate either passes or returns a new infra blocker hash.',\n\t\t\t\t{ commandHint: 'runner preflight: puppeteer/chrome/mongo/ports/startup' }\n\t\t\t)\n\t\t];\n\t}\n\tif (checkpoint.recoveryClass === 'compile_repair') {\n\t\treturn [\n\t\t\t...base,\n\t\t\tmakeRecoveryEvidenceProbeStep(\n\t\t\t\t'rerun_compile_gate',\n\t\t\t\t'compile_check',\n\t\t\t\t'Rerun Compile Gate',\n\t\t\t\t'Rerun the same deterministic compile/build command and capture the first actionable error.',\n\t\t\t\t'runner-evidence/compile.log',\n\t\t\t\t'Compile passes or the first failing error changes.',\n\t\t\t\t{ commandHint: 'same finite build/compile command from the failed gate' }\n\t\t\t)\n\t\t];\n\t}\n\tif (checkpoint.recoveryClass === 'journey_contract_repair') {\n\t\treturn [\n\t\t\t...base,\n\t\t\tmakeRecoveryEvidenceProbeStep(\n\t\t\t\t'validate_journey_contract',\n\t\t\t\t'journey_validation',\n\t\t\t\t'Validate Journey Contract',\n\t\t\t\t'Validate docs/APP_JOURNEY_CONTRACT.md has first/next/last workflow, route/action/method mapping, seeded data story, completion states, and QA assertions.',\n\t\t\t\t'runner-evidence/journey-contract-validation.json',\n\t\t\t\t'Journey contract validates before build tasks continue.'\n\t\t\t),\n\t\t\tmakeRecoveryEvidenceProbeStep(\n\t\t\t\t'verify_hub_workflow_mapping',\n\t\t\t\t'journey_validation',\n\t\t\t\t'Verify Hub Workflow Mapping',\n\t\t\t\t'Confirm the hub CTA and screen sequence implement the journey contract instead of link-only navigation.',\n\t\t\t\t'runner-evidence/hub-workflow-map.json',\n\t\t\t\t'Primary hub action maps to a real route/action/method/calculation and next state.'\n\t\t\t)\n\t\t];\n\t}\n\tif (checkpoint.recoveryClass === 'business_proof_repair' || checkpoint.recoveryClass === 'product_code_repair') {\n\t\treturn [\n\t\t\t...base,\n\t\t\tmakeRecoveryEvidenceProbeStep(\n\t\t\t\t'rerun_business_assertion',\n\t\t\t\t'business_assertion',\n\t\t\t\t'Rerun Business Assertion',\n\t\t\t\t'Run the exact issue/app promise proof and capture before/action/after DOM/data evidence.',\n\t\t\t\t'runner-evidence/business-assertion.json',\n\t\t\t\t'Business assertion passes, or the observed failure changes with a new artifact path.'\n\t\t\t),\n\t\t\tmakeRecoveryEvidenceProbeStep(\n\t\t\t\t'check_diff_scope',\n\t\t\t\t'diff_scope_check',\n\t\t\t\t'Check Diff Scope',\n\t\t\t\t'Compare changed files against the current diagnosis/journey owner scope before another code repair.',\n\t\t\t\t'runner-evidence/diff-scope.json',\n\t\t\t\t'Changed files are in scope, or diagnosis/journey scope is revised with evidence.'\n\t\t\t)\n\t\t];\n\t}\n\tif (checkpoint.recoveryClass === 'release_repair') {\n\t\treturn [\n\t\t\t...base,\n\t\t\tmakeRecoveryEvidenceProbeStep(\n\t\t\t\t'collect_release_status',\n\t\t\t\t'release_status',\n\t\t\t\t'Collect Release Status',\n\t\t\t\t'Collect publish/deploy/build-instance/domain/CloudFront status and the last actionable deploy error.',\n\t\t\t\t'runner-evidence/release-status.json',\n\t\t\t\t'Release gate passes or returns a new release blocker hash without product-code repair.'\n\t\t\t)\n\t\t];\n\t}\n\tif (checkpoint.recoveryClass === 'manual_handoff') {\n\t\treturn [\n\t\t\t...base,\n\t\t\tmakeRecoveryEvidenceProbeStep(\n\t\t\t\t'operator_review_checkpoint',\n\t\t\t\t'operator_review',\n\t\t\t\t'Operator Review Checkpoint',\n\t\t\t\t'Expose budget, blocker, evidence hash, and the minimum policy/scope change needed before another expensive loop.',\n\t\t\t\t'runner-evidence/operator-review.json',\n\t\t\t\t'Operator approves a new scope/policy or provides new external evidence.'\n\t\t\t)\n\t\t];\n\t}\n\treturn [\n\t\t...base,\n\t\tmakeRecoveryEvidenceProbeStep(\n\t\t\t'rerun_same_deterministic_gate',\n\t\t\t'rerun_same_gate',\n\t\t\t'Rerun Same Deterministic Gate',\n\t\t\t'Rerun the exact failed check and capture new logs/artifacts without changing product code first.',\n\t\t\t'runner-evidence/retry-gate.log',\n\t\t\t'Gate passes, or evidenceHash/blockerFingerprint/artifactPaths change.'\n\t\t)\n\t];\n}\n\nexport function buildResolveIOAIManagerRecoveryEvidenceProbe(\n\tinput: ResolveIOAIManagerRecoveryEvidenceProbeInput\n): ResolveIOAIManagerRecoveryEvidenceProbe {\n\tconst checkpoint = input.checkpoint;\n\tconst now = isoNow(input.now);\n\tconst steps = recoveryEvidenceProbeStepsFor(checkpoint);\n\tconst requiredArtifacts = Array.from(new Set(steps\n\t\t.filter((step) => step.required)\n\t\t.map((step) => step.artifactExpectation)\n\t\t.filter(Boolean)));\n\treturn {\n\t\tprobeId: stableHash('mgr-probe', {\n\t\t\tcheckpointId: checkpoint.checkpointId,\n\t\t\trecoveryClass: checkpoint.recoveryClass,\n\t\t\tevidenceHash: checkpoint.evidenceHash,\n\t\t\tblockerFingerprint: checkpoint.blockerFingerprint\n\t\t}),\n\t\tcheckpointId: checkpoint.checkpointId,\n\t\trecoveryClass: checkpoint.recoveryClass,\n\t\tlane: checkpoint.lane,\n\t\tstepType: checkpoint.stepType,\n\t\tobjective: checkpoint.status === 'parked'\n\t\t\t? 'Collect new evidence before any additional expensive model/code repair.'\n\t\t\t: cleanText(checkpoint.objective, 1000),\n\t\tevidenceOnly: checkpoint.status === 'parked'\n\t\t\t|| checkpoint.recoveryClass === 'diagnosis_only'\n\t\t\t|| checkpoint.recoveryClass === 'diagnosis_revision'\n\t\t\t|| checkpoint.recoveryClass === 'infra_repair'\n\t\t\t|| checkpoint.recoveryClass === 'compile_repair'\n\t\t\t|| checkpoint.recoveryClass === 'release_repair',\n\t\tproductRepairAllowed: checkpoint.productRepairAllowed && checkpoint.status !== 'parked',\n\t\texpensiveModelAllowed: checkpoint.expensiveModelAllowed && checkpoint.status !== 'parked',\n\t\tevidenceHashBefore: checkpoint.evidenceHash,\n\t\tblockerFingerprint: checkpoint.blockerFingerprint,\n\t\tsteps,\n\t\trequiredArtifacts,\n\t\tacceptanceEvidence: Array.from(new Set([\n\t\t\t...checkpoint.requiredEvidence,\n\t\t\t...checkpoint.loopResetEvidence,\n\t\t\t...steps.map((step) => step.successSignal)\n\t\t].map((entry) => cleanText(entry, 500)).filter(Boolean))).slice(0, 30),\n\t\tstopConditions: Array.from(new Set([\n\t\t\t...checkpoint.forbiddenActions,\n\t\t\t'no new evidence hash',\n\t\t\t'no new artifact path',\n\t\t\t'product-code repair requested while evidenceOnly is true'\n\t\t].map((entry) => cleanText(entry, 500)).filter(Boolean))).slice(0, 30),\n\t\tloopResetEvidence: checkpoint.loopResetEvidence,\n\t\tcreatedAt: now\n\t};\n}\n\nfunction recoveryAutomationModeFor(\n\tcheckpoint: ResolveIOAIManagerRecoveryCheckpoint\n): ResolveIOAIManagerRecoveryAutomationMode {\n\tif (checkpoint.status === 'manual_handoff' || checkpoint.recoveryClass === 'manual_handoff') {\n\t\treturn 'manual_review';\n\t}\n\tif (checkpoint.status === 'complete' || checkpoint.recoveryClass === 'advance_after_proof') {\n\t\treturn 'advance';\n\t}\n\tif (checkpoint.status === 'parked' || checkpoint.recoveryClass === 'blocked_until_new_evidence') {\n\t\treturn 'collect_evidence';\n\t}\n\tif (checkpoint.recoveryClass === 'diagnosis_only' || checkpoint.recoveryClass === 'diagnosis_revision') {\n\t\treturn 'read_only_diagnosis';\n\t}\n\tif (checkpoint.recoveryClass === 'infra_repair') {\n\t\treturn 'repair_infra';\n\t}\n\tif (checkpoint.recoveryClass === 'compile_repair') {\n\t\treturn 'repair_compile';\n\t}\n\tif (checkpoint.recoveryClass === 'journey_contract_repair') {\n\t\treturn 'repair_journey_contract';\n\t}\n\tif (checkpoint.recoveryClass === 'business_proof_repair') {\n\t\treturn 'repair_business_assertion';\n\t}\n\tif (checkpoint.recoveryClass === 'release_repair') {\n\t\treturn 'repair_release';\n\t}\n\tif (checkpoint.recoveryClass === 'product_code_repair') {\n\t\treturn 'targeted_product_repair';\n\t}\n\treturn 'continue_gate';\n}\n\nfunction recoveryActionLabelFor(mode: ResolveIOAIManagerRecoveryAutomationMode, checkpoint: ResolveIOAIManagerRecoveryCheckpoint): string {\n\tconst explicit = cleanText(checkpoint.nextActionLabel, 120);\n\tif (explicit && mode !== 'collect_evidence') {\n\t\treturn explicit;\n\t}\n\tconst labels: Record<ResolveIOAIManagerRecoveryAutomationMode, string> = {\n\t\tadvance: 'Advance To Next Gate',\n\t\tcollect_evidence: 'Collect New Evidence',\n\t\tread_only_diagnosis: 'Run Diagnosis Evidence Pass',\n\t\trepair_infra: 'Repair Infra Gate',\n\t\trepair_compile: 'Repair Compile Gate',\n\t\trepair_journey_contract: 'Repair Journey Contract',\n\t\trepair_business_assertion: 'Repair Business Proof',\n\t\trepair_release: 'Repair Release Gate',\n\t\ttargeted_product_repair: 'Run Targeted Repair',\n\t\tmanual_review: 'Manual Review',\n\t\tcontinue_gate: 'Continue Current Gate'\n\t};\n\treturn labels[mode];\n}\n\nfunction recoveryActionAutoRunnable(\n\tmode: ResolveIOAIManagerRecoveryAutomationMode,\n\tprobe: ResolveIOAIManagerRecoveryEvidenceProbe\n): boolean {\n\tif (mode === 'manual_review') {\n\t\treturn false;\n\t}\n\tif (mode === 'advance' || mode === 'continue_gate') {\n\t\treturn true;\n\t}\n\tif (mode === 'targeted_product_repair' || mode === 'read_only_diagnosis' || mode === 'repair_journey_contract' || mode === 'repair_business_assertion') {\n\t\treturn true;\n\t}\n\treturn probe.steps.some((step) => step.commandHint || step.kind === 'rerun_same_gate' || step.kind === 'release_status' || step.kind === 'diff_scope_check');\n}\n\nfunction recoveryActionCostCeilingUsd(mode: ResolveIOAIManagerRecoveryAutomationMode): number {\n\tconst map: Record<ResolveIOAIManagerRecoveryAutomationMode, number> = {\n\t\tadvance: 0,\n\t\tcollect_evidence: 0.25,\n\t\tread_only_diagnosis: 1,\n\t\trepair_infra: 0.5,\n\t\trepair_compile: 1.5,\n\t\trepair_journey_contract: 2,\n\t\trepair_business_assertion: 1.5,\n\t\trepair_release: 0.75,\n\t\ttargeted_product_repair: 5,\n\t\tmanual_review: 0,\n\t\tcontinue_gate: 0\n\t};\n\treturn map[mode] ?? 1;\n}\n\nfunction recoveryActionRequiredStateTransition(mode: ResolveIOAIManagerRecoveryAutomationMode): string {\n\tconst map: Record<ResolveIOAIManagerRecoveryAutomationMode, string> = {\n\t\tadvance: 'current gate advances without repair after existing proof is accepted',\n\t\tcollect_evidence: 'blockerFingerprint or evidenceHash changes with material proof, or run remains parked',\n\t\tread_only_diagnosis: 'diagnosis gate becomes valid or records a blocked-reproduction reason',\n\t\trepair_infra: 'infra preflight changes from failed/blocked to passed, or records a new infra blocker',\n\t\trepair_compile: 'compile/startup status changes from failed to passed, or records a new compile blocker',\n\t\trepair_journey_contract: 'journey contract validates with first/next/last workflow proof',\n\t\trepair_business_assertion: 'business assertion changes from missing/failed to passed with artifact proof',\n\t\trepair_release: 'hotfix/release gate changes from blocked to passed, rerun_release_gate, or parked manual',\n\t\ttargeted_product_repair: 'owner-scoped diff is produced and deterministic proof advances to QA',\n\t\tmanual_review: 'operator records one explicit decision',\n\t\tcontinue_gate: 'current gate records accepted proof and advances'\n\t};\n\treturn map[mode] || 'runner records a validated state transition before continuing';\n}\n\nfunction recoveryActionProofRequiredBeforeContinuation(mode: ResolveIOAIManagerRecoveryAutomationMode): boolean {\n\treturn mode !== 'advance' && mode !== 'continue_gate' && mode !== 'manual_review';\n}\n\nfunction recoveryActionExitCriteria(input: {\n\tmode: ResolveIOAIManagerRecoveryAutomationMode;\n\tdispatchAction: ResolveIOAIManagerRecoveryActionDispatchAction;\n\trequiredStateTransition: string;\n\tstopWhen: string[];\n}): string[] {\n\treturn Array.from(new Set([\n\t\t`exact dispatch action ${input.dispatchAction} completed or was parked`,\n\t\tinput.requiredStateTransition,\n\t\t...(recoveryActionProofRequiredBeforeContinuation(input.mode) ? ['do not continue runner until required proof artifact is attached'] : []),\n\t\t...input.stopWhen\n\t].map((entry) => cleanText(entry, 500)).filter(Boolean))).slice(0, 30);\n}\n\nfunction recoveryReleaseHotfixCommands(policy: ResolveIOAIManagerHotfixFirstReleasePolicy | undefined): string[] {\n\tif (!policy) {\n\t\treturn [];\n\t}\n\treturn Array.from(new Set([\n\t\t...policy.allowedActions,\n\t\t...(policy.hotfixPreferred ? [\n\t\t\t'prepare_hotfix_patch_without_live_apply',\n\t\t\t'commit_and_push_hotfix_to_github',\n\t\t\t'record_github_commit_for_hotfix',\n\t\t\t'apply_live_hotfix_only_after_github_commit_proof'\n\t\t] : []),\n\t\t'run_failed_release_gate_once',\n\t\t'record_release_evidence'\n\t].map((entry) => cleanText(entry, 500)).filter(Boolean))).slice(0, 20);\n}\n\nfunction recoveryReleaseRequiredEvidence(policy: ResolveIOAIManagerHotfixFirstReleasePolicy | undefined): string[] {\n\tif (!policy) {\n\t\treturn [];\n\t}\n\tconst stepEvidence = (policy.hotfixPlan?.steps || []).flatMap((step) => step.requiredEvidence || []);\n\treturn Array.from(new Set([\n\t\t...policy.requiredEvidence,\n\t\t...stepEvidence,\n\t\t...(policy.hotfixPreferred ? [\n\t\t\t'full 40-character sourceCommitSha',\n\t\t\t'matching githubCommitUrl',\n\t\t\t'passed gitCommitStatus before any live hotfix is treated as durable',\n\t\t\t'passed gitPushStatus before any live hotfix is treated as durable'\n\t\t] : [])\n\t].map((entry) => cleanText(entry, 500)).filter(Boolean))).slice(0, 30);\n}\n\nfunction recoveryReleaseSuccessEvidence(policy: ResolveIOAIManagerHotfixFirstReleasePolicy | undefined): string[] {\n\tif (!policy) {\n\t\treturn [];\n\t}\n\tconst stepEvidence = (policy.hotfixPlan?.steps || []).flatMap((step) => step.successEvidence || []);\n\treturn Array.from(new Set([\n\t\t...(policy.hotfixPlan?.acceptanceEvidence || []),\n\t\t...stepEvidence,\n\t\t...(policy.hotfixPreferred ? ['GitHub commit and push proof validates before continuation'] : [])\n\t].map((entry) => cleanText(entry, 500)).filter(Boolean))).slice(0, 30);\n}\n\nexport function buildResolveIOAIManagerRecoveryActionPacket(\n\tinput: ResolveIOAIManagerRecoveryActionPacketInput\n): ResolveIOAIManagerRecoveryActionPacket {\n\tconst checkpoint = input.checkpoint;\n\tconst probe = input.probe || buildResolveIOAIManagerRecoveryEvidenceProbe({\n\t\tcheckpoint,\n\t\tcurrent: input.current,\n\t\tnow: input.now\n\t});\n\tconst mode = recoveryAutomationModeFor(checkpoint);\n\tconst primaryStep = probe.steps.find((step) => step.required && step.id !== 'snapshot_current_blocker')\n\t\t|| probe.steps.find((step) => step.required)\n\t\t|| probe.steps[0];\n\tconst evidenceOnly = probe.evidenceOnly || mode === 'collect_evidence' || mode === 'repair_infra' || mode === 'repair_compile' || mode === 'repair_release';\n\tconst requireNewEvidence = mode === 'collect_evidence'\n\t\t|| checkpoint.status === 'parked'\n\t\t|| checkpoint.attempts >= checkpoint.maxAttemptsBeforePark;\n\tconst stopWhen = Array.from(new Set([\n\t\t...probe.stopConditions,\n\t\t...(requireNewEvidence ? ['same blocker fingerprint and same evidence hash after probe'] : [])\n\t].map((entry) => cleanText(entry, 500)).filter(Boolean))).slice(0, 30);\n\tconst resetLoopWhen = Array.from(new Set([\n\t\t...checkpoint.loopResetEvidence,\n\t\t...probe.loopResetEvidence,\n\t\t...(requireNewEvidence ? [\n\t\t\t'new material evidence: changed blocker, validated diagnosis/journey, business proof, compile/infra/release proof, or new actionable trace',\n\t\t\t'weak hash-only evidence does not reset the loop'\n\t\t] : [])\n\t].map((entry) => cleanText(entry, 500)).filter(Boolean))).slice(0, 30);\n\tconst nextCommands = probe.steps\n\t\t.map((step) => cleanText(step.commandHint || `${step.kind}:${step.id}`, 500))\n\t\t.filter(Boolean)\n\t\t.slice(0, 12);\n\tconst releasePolicy = mode === 'repair_release'\n\t\t? buildResolveIOAIManagerHotfixFirstReleasePolicy({\n\t\t\tsurface: 'manager_recovery',\n\t\t\tdeployStatus: checkpoint.stepType,\n\t\t\tpublishStatus: checkpoint.lane\n\t\t})\n\t\t: undefined;\n\tconst releaseNextCommands = recoveryReleaseHotfixCommands(releasePolicy);\n\tconst releaseRequiredEvidence = recoveryReleaseRequiredEvidence(releasePolicy);\n\tconst releaseSuccessEvidence = recoveryReleaseSuccessEvidence(releasePolicy);\n\tconst allowedDispatchAction = dispatchActionForMode(mode);\n\tconst requiredStateTransition = recoveryActionRequiredStateTransition(mode);\n\tconst proofRequiredBeforeContinuation = recoveryActionProofRequiredBeforeContinuation(mode);\n\tconst exitCriteria = recoveryActionExitCriteria({\n\t\tmode,\n\t\tdispatchAction: allowedDispatchAction,\n\t\trequiredStateTransition,\n\t\tstopWhen\n\t});\n\tconst now = isoNow(input.now);\n\treturn {\n\t\tactionId: stableHash('mgr-action', {\n\t\t\tcheckpointId: checkpoint.checkpointId,\n\t\t\tprobeId: probe.probeId,\n\t\t\tmode,\n\t\t\tevidenceHash: checkpoint.evidenceHash,\n\t\t\tblockerFingerprint: checkpoint.blockerFingerprint\n\t\t}),\n\t\tcheckpointId: checkpoint.checkpointId,\n\t\tprobeId: probe.probeId,\n\t\trecoveryClass: checkpoint.recoveryClass,\n\t\tmode,\n\t\tsingleActionOnly: true,\n\t\tallowedDispatchAction,\n\t\tlabel: recoveryActionLabelFor(mode, checkpoint),\n\t\tlane: checkpoint.lane,\n\t\tstepType: checkpoint.stepType,\n\t\tprimaryStepKind: primaryStep?.kind || 'none',\n\t\tobjective: mode === 'collect_evidence'\n\t\t\t? probe.objective\n\t\t\t: cleanText(checkpoint.objective || probe.objective, 1000),\n\t\tevidenceOnly,\n\t\tautoRunnable: recoveryActionAutoRunnable(mode, probe),\n\t\tproductRepairAllowed: checkpoint.productRepairAllowed && !evidenceOnly && checkpoint.status !== 'parked',\n\t\texpensiveModelAllowed: checkpoint.expensiveModelAllowed && checkpoint.status !== 'parked',\n\t\tcostCeilingUsd: recoveryActionCostCeilingUsd(mode),\n\t\trequiredStateTransition,\n\t\tproofRequiredBeforeContinuation,\n\t\tcanResetLoopAfterEvidence: resetLoopWhen.length > 0,\n\t\tmaxAttemptsBeforePark: checkpoint.maxAttemptsBeforePark,\n\t\trequiredArtifacts: releasePolicy\n\t\t\t? Array.from(new Set([...probe.requiredArtifacts, ...releaseRequiredEvidence])).slice(0, 20)\n\t\t\t: probe.requiredArtifacts.slice(0, 20),\n\t\tnextCommands: releasePolicy\n\t\t\t? Array.from(new Set([...nextCommands, ...releaseNextCommands])).slice(0, 20)\n\t\t\t: nextCommands,\n\t\tsuccessCriteria: releasePolicy\n\t\t\t? Array.from(new Set([...probe.acceptanceEvidence, ...releaseSuccessEvidence])).slice(0, 20)\n\t\t\t: probe.acceptanceEvidence.slice(0, 20),\n\t\texitCriteria,\n\t\tretryPolicy: {\n\t\t\tallowImmediateRetry: checkpoint.status !== 'parked' && mode !== 'manual_review',\n\t\t\trequireNewEvidence,\n\t\t\tresetLoopWhen,\n\t\t\tstopWhen\n\t\t},\n\t\t...(releasePolicy ? { releasePolicy } : {}),\n\t\t...(mode === 'collect_evidence' ? { blockedReason: 'Manager parked this loop until the recovery action records new evidence.' } : {}),\n\t\tcreatedAt: now\n\t};\n}\n\nfunction dispatchActionForMode(mode: ResolveIOAIManagerRecoveryAutomationMode): ResolveIOAIManagerRecoveryActionDispatchAction {\n\tconst map: Record<ResolveIOAIManagerRecoveryAutomationMode, ResolveIOAIManagerRecoveryActionDispatchAction> = {\n\t\tadvance: 'advance',\n\t\tcollect_evidence: 'run_evidence_probe',\n\t\tread_only_diagnosis: 'run_read_only_diagnosis',\n\t\trepair_infra: 'run_infra_repair',\n\t\trepair_compile: 'run_compile_repair',\n\t\trepair_journey_contract: 'run_journey_contract_repair',\n\t\trepair_business_assertion: 'run_business_assertion_repair',\n\t\trepair_release: 'run_release_repair',\n\t\ttargeted_product_repair: 'run_targeted_product_repair',\n\t\tmanual_review: 'park_manual',\n\t\tcontinue_gate: 'continue_gate'\n\t};\n\treturn map[mode] || 'park_manual';\n}\n\nfunction buildRecoveryDispatchRecord(\n\taction: ResolveIOAIManagerRecoveryActionPacket,\n\tdispatchAction: ResolveIOAIManagerRecoveryActionDispatchAction,\n\tstatus: ResolveIOAIManagerRecoveryActionDispatchStatus,\n\treason: string,\n\tcurrent?: ResolveIOAIManagerFailureRecord,\n\tnow?: Date | string\n): ResolveIOAIManagerRecoveryActionDispatchRecord {\n\tconst evidenceHash = current?.evidenceHash || action.checkpointId || action.actionId;\n\tconst blockerFingerprint = resolveResolveIOAIManagerBlockerFingerprint(current, action.objective);\n\tconst artifactPaths = cleanList(current?.artifactPaths, 20, 500);\n\tconst createdAt = isoNow(now);\n\treturn {\n\t\tdispatchId: stableHash('mgr-dispatch', {\n\t\t\tactionId: action.actionId,\n\t\t\tdispatchAction,\n\t\t\tevidenceHash,\n\t\t\tblockerFingerprint,\n\t\t\tstatus\n\t\t}),\n\t\tactionId: action.actionId,\n\t\tcheckpointId: action.checkpointId,\n\t\tprobeId: action.probeId,\n\t\tmode: action.mode,\n\t\tdispatchAction,\n\t\tstatus,\n\t\tevidenceHash,\n\t\tblockerFingerprint,\n\t\tproductRepairAllowed: action.productRepairAllowed && dispatchAction === 'run_targeted_product_repair',\n\t\texpensiveModelAllowed: action.expensiveModelAllowed && dispatchAction !== 'run_evidence_probe',\n\t\treason,\n\t\tartifactPaths,\n\t\t...(status === 'started' ? { startedAt: createdAt } : {}),\n\t\t...(status === 'completed' ? { completedAt: createdAt } : {}),\n\t\tcreatedAt\n\t};\n}\n\nexport function decideResolveIOAIManagerRecoveryActionDispatch(\n\tinput: ResolveIOAIManagerRecoveryActionDispatchInput\n): ResolveIOAIManagerRecoveryActionDispatchDecision {\n\tconst action = input.action;\n\tconst history = Array.isArray(input.history) ? input.history.filter(Boolean).slice(-50) : [];\n\tconst current = input.current || {};\n\tif (!action) {\n\t\treturn {\n\t\t\tdispatchAction: 'park_manual',\n\t\t\tallowed: false,\n\t\t\treason: 'recovery_dispatch_missing_action',\n\t\t\tstatus: 'parked',\n\t\t\tcanRunProductRepair: false,\n\t\t\tcanRunExpensiveModel: false,\n\t\t\tshouldRecordDispatch: false,\n\t\t\trequiresNewEvidence: true,\n\t\t\tnewEvidence: false\n\t\t};\n\t}\n\tconst dispatchAction = dispatchActionForMode(action.mode);\n\tconst allowedDispatchAction = action.allowedDispatchAction || dispatchAction;\n\tconst evidenceHash = current.evidenceHash || action.checkpointId || action.actionId;\n\tconst blockerFingerprint = resolveResolveIOAIManagerBlockerFingerprint(current, action.objective);\n\tconst sameActionHistory = history.filter((entry) => entry.actionId === action.actionId);\n\tconst sameEvidenceHistory = sameActionHistory.filter((entry) => entry.evidenceHash === evidenceHash\n\t\t&& entry.blockerFingerprint === blockerFingerprint);\n\tconst activeDispatch = sameEvidenceHistory.find((entry) => entry.status === 'queued' || entry.status === 'started');\n\tconst completedDispatch = sameEvidenceHistory.find((entry) => entry.status === 'completed' || entry.status === 'failed');\n\tconst newEvidence = sameActionHistory.length > 0 && sameEvidenceHistory.length === 0;\n\tconst requiresNewEvidence = action.retryPolicy.requireNewEvidence === true;\n\tconst sameEvidenceAlreadyAttempted = !!completedDispatch && requiresNewEvidence && !newEvidence;\n\tconst manualOnly = action.mode === 'manual_review' || !action.autoRunnable;\n\tconst productDispatch = dispatchAction === 'run_targeted_product_repair';\n\tconst expensiveDispatch = !['run_evidence_probe', 'advance', 'continue_gate', 'park_manual'].includes(dispatchAction);\n\tconst evidenceAssessment = assessResolveIOAIManagerEvidenceChange(undefined, current, action.objective);\n\tconst autonomyPolicy = input.autonomyPolicy\n\t\t? decideResolveIOAIManagerAutonomyPolicy({\n\t\t\t...(input.autonomyPolicy || {}),\n\t\t\tdispatchAction,\n\t\t\tprojectedActionCostUsd: input.autonomyPolicy?.projectedActionCostUsd ?? action.costCeilingUsd,\n\t\t\tnewEvidence: input.autonomyPolicy?.newEvidence ?? newEvidence,\n\t\t\tmaterialEvidence: input.autonomyPolicy?.materialEvidence ?? evidenceAssessment.material,\n\t\t\tevidenceStrength: input.autonomyPolicy?.evidenceStrength ?? evidenceAssessment.strength,\n\t\t\tevidenceSignals: input.autonomyPolicy?.evidenceSignals ?? evidenceAssessment.signals,\n\t\t\tsameEvidenceAlreadyAttempted: input.autonomyPolicy?.sameEvidenceAlreadyAttempted ?? sameEvidenceAlreadyAttempted,\n\t\t\toperatorApproved: input.operatorApproved\n\t\t})\n\t\t: undefined;\n\tconst autonomyBlocksDispatch = !!autonomyPolicy && (\n\t\tautonomyPolicy.mode === 'monitor_only'\n\t\t|| (autonomyPolicy.requiresHumanApproval === true && input.operatorApproved !== true)\n\t\t|| (autonomyPolicy.canAutoDispatch !== true && input.operatorApproved !== true)\n\t\t|| (autonomyPolicy.blocked === true && autonomyPolicy.canManualDispatch !== true)\n\t);\n\tif (autonomyBlocksDispatch) {\n\t\tconst record = buildRecoveryDispatchRecord(action, 'park_manual', 'parked', `recovery_dispatch_blocked_by_autonomy_policy:${autonomyPolicy?.reason || 'unknown'}`, current, input.now);\n\t\treturn {\n\t\t\tdispatchAction: 'park_manual',\n\t\t\tallowed: false,\n\t\t\treason: record.reason,\n\t\t\tstatus: 'parked',\n\t\t\tcanRunProductRepair: false,\n\t\t\tcanRunExpensiveModel: false,\n\t\t\tshouldRecordDispatch: true,\n\t\t\trequiresNewEvidence,\n\t\t\tnewEvidence,\n\t\t\tautonomyPolicy,\n\t\t\tdispatchRecord: record\n\t\t};\n\t}\n\tif (action.singleActionOnly === true && allowedDispatchAction !== dispatchAction) {\n\t\tconst record = buildRecoveryDispatchRecord(action, 'park_manual', 'parked', 'recovery_dispatch_action_not_in_packet_contract', current, input.now);\n\t\treturn {\n\t\t\tdispatchAction: 'park_manual',\n\t\t\tallowed: false,\n\t\t\treason: record.reason,\n\t\t\tstatus: 'parked',\n\t\t\tcanRunProductRepair: false,\n\t\t\tcanRunExpensiveModel: false,\n\t\t\tshouldRecordDispatch: true,\n\t\t\trequiresNewEvidence: true,\n\t\t\tnewEvidence,\n\t\t\tautonomyPolicy,\n\t\t\tdispatchRecord: record\n\t\t};\n\t}\n\tif (manualOnly && input.operatorApproved !== true) {\n\t\tconst record = buildRecoveryDispatchRecord(action, 'park_manual', 'parked', 'recovery_dispatch_requires_manual_review', current, input.now);\n\t\treturn {\n\t\t\tdispatchAction: 'park_manual',\n\t\t\tallowed: false,\n\t\t\treason: record.reason,\n\t\t\tstatus: 'parked',\n\t\t\tcanRunProductRepair: false,\n\t\t\tcanRunExpensiveModel: false,\n\t\t\tshouldRecordDispatch: true,\n\t\t\trequiresNewEvidence,\n\t\t\tnewEvidence,\n\t\t\tautonomyPolicy,\n\t\t\tdispatchRecord: record\n\t\t};\n\t}\n\tif (productDispatch && action.productRepairAllowed !== true) {\n\t\tconst record = buildRecoveryDispatchRecord(action, 'park_manual', 'parked', 'recovery_dispatch_product_repair_not_allowed', current, input.now);\n\t\treturn {\n\t\t\tdispatchAction: 'park_manual',\n\t\t\tallowed: false,\n\t\t\treason: record.reason,\n\t\t\tstatus: 'parked',\n\t\t\tcanRunProductRepair: false,\n\t\t\tcanRunExpensiveModel: false,\n\t\t\tshouldRecordDispatch: true,\n\t\t\trequiresNewEvidence: true,\n\t\t\tnewEvidence,\n\t\t\tautonomyPolicy,\n\t\t\tdispatchRecord: record\n\t\t};\n\t}\n\tif (activeDispatch) {\n\t\treturn {\n\t\t\tdispatchAction: 'park_manual',\n\t\t\tallowed: false,\n\t\t\treason: 'recovery_dispatch_already_running_for_same_evidence',\n\t\t\tstatus: 'parked',\n\t\t\tcanRunProductRepair: false,\n\t\t\tcanRunExpensiveModel: false,\n\t\t\tshouldRecordDispatch: false,\n\t\t\trequiresNewEvidence: true,\n\t\t\tnewEvidence: false,\n\t\t\tautonomyPolicy\n\t\t};\n\t}\n\tif (sameEvidenceAlreadyAttempted) {\n\t\tconst record = buildRecoveryDispatchRecord(action, 'park_manual', 'parked', 'recovery_dispatch_same_evidence_already_attempted', current, input.now);\n\t\treturn {\n\t\t\tdispatchAction: 'park_manual',\n\t\t\tallowed: false,\n\t\t\treason: record.reason,\n\t\t\tstatus: 'parked',\n\t\t\tcanRunProductRepair: false,\n\t\t\tcanRunExpensiveModel: false,\n\t\t\tshouldRecordDispatch: true,\n\t\t\trequiresNewEvidence: true,\n\t\t\tnewEvidence: false,\n\t\t\tautonomyPolicy,\n\t\t\tdispatchRecord: record\n\t\t};\n\t}\n\tconst status: ResolveIOAIManagerRecoveryActionDispatchStatus = dispatchAction === 'advance' || dispatchAction === 'continue_gate'\n\t\t? 'completed'\n\t\t: 'started';\n\tconst record = buildRecoveryDispatchRecord(action, dispatchAction, status, 'recovery_dispatch_allowed', current, input.now);\n\treturn {\n\t\tdispatchAction,\n\t\tallowed: true,\n\t\treason: 'recovery_dispatch_allowed',\n\t\tstatus,\n\t\tcanRunProductRepair: productDispatch && action.productRepairAllowed === true,\n\t\tcanRunExpensiveModel: expensiveDispatch && action.expensiveModelAllowed === true,\n\t\tshouldRecordDispatch: true,\n\t\trequiresNewEvidence,\n\t\tnewEvidence,\n\t\tautonomyPolicy,\n\t\tdispatchRecord: record\n\t};\n}\n\nexport function appendResolveIOAIManagerRecoveryActionDispatch(\n\thistory: ResolveIOAIManagerRecoveryActionDispatchRecord[] | undefined,\n\trecord: ResolveIOAIManagerRecoveryActionDispatchRecord | undefined,\n\tlimit = 50\n): ResolveIOAIManagerRecoveryActionDispatchRecord[] {\n\tconst existing = Array.isArray(history) ? history.filter(Boolean) : [];\n\tif (!record) {\n\t\treturn existing.slice(-limit);\n\t}\n\tconst deduped = existing.filter((entry) => entry.dispatchId !== record.dispatchId);\n\treturn [...deduped, record].slice(-limit);\n}\n\nfunction recoveryExecutionPhaseForDispatch(\n\tdispatchAction: ResolveIOAIManagerRecoveryActionDispatchAction\n): ResolveIOAIManagerRecoveryExecutionPhase {\n\tconst map: Record<ResolveIOAIManagerRecoveryActionDispatchAction, ResolveIOAIManagerRecoveryExecutionPhase> = {\n\t\trun_evidence_probe: 'evidence',\n\t\trun_read_only_diagnosis: 'diagnosis',\n\t\trun_infra_repair: 'infra',\n\t\trun_compile_repair: 'compile',\n\t\trun_journey_contract_repair: 'journey',\n\t\trun_business_assertion_repair: 'business_proof',\n\t\trun_release_repair: 'release',\n\t\trun_targeted_product_repair: 'product_repair',\n\t\tadvance: 'advance',\n\t\tcontinue_gate: 'advance',\n\t\tpark_manual: 'manual'\n\t};\n\treturn map[dispatchAction] || 'manual';\n}\n\nfunction recoveryDirectiveReason(\n\taction: ResolveIOAIManagerRecoveryActionPacket | undefined,\n\tdecision: ResolveIOAIManagerRecoveryActionDispatchDecision,\n\tcurrent?: ResolveIOAIManagerFailureRecord\n): string {\n\tconst blocker = cleanText(current?.blocker || current?.summary || '', 260);\n\tconst label = cleanText(action?.label, 120) || decision.dispatchAction;\n\tconst objective = cleanText(action?.objective, 260);\n\treturn [\n\t\t`MANAGER_RECOVERY:${decision.dispatchAction}`,\n\t\t`label=${label}`,\n\t\tdecision.reason ? `reason=${decision.reason}` : '',\n\t\tblocker ? `blocker=${blocker}` : '',\n\t\tobjective ? `objective=${objective}` : ''\n\t].filter(Boolean).join(' | ');\n}\n\nexport function buildResolveIOAIManagerRecoveryExecutionDirective(\n\tinput: ResolveIOAIManagerRecoveryExecutionDirectiveInput\n): ResolveIOAIManagerRecoveryExecutionDirective {\n\tconst action = input.action;\n\tconst dispatchDecision = input.dispatchDecision || decideResolveIOAIManagerRecoveryActionDispatch({\n\t\taction,\n\t\tcurrent: input.current,\n\t\tautonomyPolicy: input.autonomyPolicy,\n\t\tnow: input.now\n\t});\n\tconst dispatchAction = dispatchDecision.dispatchAction;\n\tconst now = isoNow(input.now);\n\tconst phase = recoveryExecutionPhaseForDispatch(dispatchAction);\n\tconst lane = cleanText(action?.lane || input.current?.lane || '', 120);\n\tconst stepType = cleanText(action?.stepType || input.current?.stepType || '', 120);\n\tconst rerunReason = recoveryDirectiveReason(action, dispatchDecision, input.current);\n\tconst surface = cleanText(input.surface || 'runner', 120);\n\treturn {\n\t\tdirectiveId: stableHash('mgr-directive', {\n\t\t\tsurface,\n\t\t\tactionId: action?.actionId || '',\n\t\t\tdispatchAction,\n\t\t\treason: dispatchDecision.reason,\n\t\t\tevidenceHash: dispatchDecision.dispatchRecord?.evidenceHash || input.current?.evidenceHash || ''\n\t\t}),\n\t\tsurface,\n\t\tdispatchAction,\n\t\tphase,\n\t\tallowed: dispatchDecision.allowed,\n\t\tstatus: dispatchDecision.status,\n\t\treason: dispatchDecision.reason,\n\t\tsingleActionOnly: action?.singleActionOnly !== false,\n\t\tallowedDispatchAction: action?.allowedDispatchAction || dispatchAction,\n\t\tlane,\n\t\tstepType,\n\t\tnextActionLabel: cleanText(action?.label, 160) || dispatchAction,\n\t\trerunReason,\n\t\tevidenceOnly: action?.evidenceOnly !== false || dispatchAction === 'run_evidence_probe',\n\t\tautoRunnable: action?.autoRunnable === true,\n\t\tproductRepairAllowed: action?.productRepairAllowed === true,\n\t\texpensiveModelAllowed: action?.expensiveModelAllowed === true,\n\t\tcostCeilingUsd: Math.max(0, Number(action?.costCeilingUsd || 0) || 0),\n\t\trequiredStateTransition: cleanText(action?.requiredStateTransition, 500),\n\t\tproofRequiredBeforeContinuation: action?.proofRequiredBeforeContinuation === true,\n\t\tcanRunProductRepair: dispatchDecision.canRunProductRepair,\n\t\tcanRunExpensiveModel: dispatchDecision.canRunExpensiveModel,\n\t\tcanResetLoopAfterEvidence: action?.canResetLoopAfterEvidence === true,\n\t\trequiresNewEvidence: dispatchDecision.requiresNewEvidence,\n\t\tnewEvidence: dispatchDecision.newEvidence,\n\t\t...(dispatchDecision.autonomyPolicy ? { autonomyPolicy: dispatchDecision.autonomyPolicy } : {}),\n\t\tmaxAttemptsBeforePark: Math.max(1, Number(action?.maxAttemptsBeforePark || 1) || 1),\n\t\trequiredArtifacts: cleanList(action?.requiredArtifacts, 20, 500),\n\t\tnextCommands: cleanList(action?.nextCommands, 20, 500),\n\t\tsuccessCriteria: cleanList(action?.successCriteria, 20, 500),\n\t\texitCriteria: cleanList(action?.exitCriteria, 30, 500),\n\t\tforbiddenActions: action?.productRepairAllowed === true\n\t\t\t? []\n\t\t\t: Array.from(new Set([\n\t\t\t\t'Do not run product-code repair from this directive unless canRunProductRepair is true.',\n\t\t\t\t...(action?.releasePolicy?.forbiddenActions || [])\n\t\t\t])).slice(0, 20),\n\t\t...(dispatchDecision.dispatchRecord ? { dispatchRecord: dispatchDecision.dispatchRecord } : {}),\n\t\t...(action?.releasePolicy ? { releasePolicy: action.releasePolicy } : {}),\n\t\tcreatedAt: now\n\t\t};\n\t}\n\nfunction failureRecordFromDirectiveStart(\n\tdirective: ResolveIOAIManagerRecoveryExecutionDirective | undefined,\n\tprevious?: ResolveIOAIManagerFailureRecord\n): ResolveIOAIManagerFailureRecord {\n\tif (previous) {\n\t\treturn previous;\n\t}\n\tconst dispatchRecord = directive?.dispatchRecord;\n\treturn {\n\t\tlane: directive?.lane,\n\t\tstepType: directive?.stepType,\n\t\tfailureClass: '',\n\t\tblockerFingerprint: dispatchRecord?.blockerFingerprint,\n\t\tevidenceHash: dispatchRecord?.evidenceHash,\n\t\tartifactPaths: dispatchRecord?.artifactPaths || [],\n\t\trecordedAt: dispatchRecord?.createdAt || directive?.createdAt\n\t};\n}\n\nfunction recoveryExecutionProofStatus(input: {\n\tdirective?: ResolveIOAIManagerRecoveryExecutionDirective;\n\thasCurrent: boolean;\n\tassessment: ResolveIOAIManagerEvidenceAssessment;\n}): ResolveIOAIManagerRecoveryExecutionProofStatus {\n\tconst directive = input.directive;\n\tif (!directive || directive.allowed !== true || directive.dispatchAction === 'park_manual') {\n\t\treturn 'manual_handoff';\n\t}\n\tif (!input.hasCurrent) {\n\t\treturn 'waiting_for_execution';\n\t}\n\tif (directive.requiresNewEvidence === true && input.assessment.changed !== true) {\n\t\treturn 'blocked_same_evidence';\n\t}\n\tif (directive.proofRequiredBeforeContinuation === true && input.assessment.material !== true) {\n\t\treturn 'waiting_for_new_evidence';\n\t}\n\treturn 'proof_ready';\n}\n\nexport function buildResolveIOAIManagerRecoveryExecutionProofContract(\n\tinput: ResolveIOAIManagerRecoveryExecutionProofContractInput = {}\n): ResolveIOAIManagerRecoveryExecutionProofContract {\n\tconst directive = input.directive;\n\tconst previous = failureRecordFromDirectiveStart(directive, input.previous);\n\tconst current = input.current || {};\n\tconst hasCurrent = !!input.current;\n\tconst assessment = hasCurrent\n\t\t? assessResolveIOAIManagerEvidenceChange(previous, current, directive?.requiredStateTransition)\n\t\t: {\n\t\t\tchanged: false,\n\t\t\tmaterial: false,\n\t\t\tstrength: 'none' as ResolveIOAIManagerEvidenceStrength,\n\t\t\tsignals: [],\n\t\t\tevidenceHash: hashResolveIOAIManagerEvidence(previous),\n\t\t\tblockerFingerprint: resolveResolveIOAIManagerBlockerFingerprint(previous, directive?.requiredStateTransition)\n\t\t};\n\tconst status = recoveryExecutionProofStatus({ directive, hasCurrent, assessment });\n\tconst canContinueRun = status === 'proof_ready';\n\tconst requiredEvidence = Array.from(new Set([\n\t\t...cleanList(input.requiredEvidence, 30, 500),\n\t\t...cleanList(directive?.requiredArtifacts, 30, 500),\n\t\t...cleanList(directive?.successCriteria, 30, 500)\n\t].filter(Boolean)));\n\tconst missingEvidence = directive?.proofRequiredBeforeContinuation === true && status !== 'proof_ready'\n\t\t? (requiredEvidence.length ? requiredEvidence : ['new material evidence or passed proof artifact'])\n\t\t: [];\n\tconst artifactPaths = cleanList(current.artifactPaths || previous.artifactPaths, 80, 500);\n\tconst changedFiles = cleanList(current.changedFiles, 80, 500);\n\tconst startingFailureClass = normalizeResolveIOAIManagerFailureClass(previous.failureClass);\n\tconst latestFailureClass = normalizeResolveIOAIManagerFailureClass(current.failureClass || previous.failureClass);\n\tconst startingBlockerFingerprint = cleanText(previous.blockerFingerprint, 160)\n\t\t|| resolveResolveIOAIManagerBlockerFingerprint(previous, directive?.requiredStateTransition);\n\tconst startingEvidenceHash = cleanText(previous.evidenceHash, 160)\n\t\t|| hashResolveIOAIManagerEvidence(previous);\n\tconst blockers = [\n\t\tstatus === 'manual_handoff' ? (directive?.reason || 'recovery_execution_requires_manual_handoff') : '',\n\t\tstatus === 'waiting_for_execution' ? 'recovery_execution_waiting_for_current_evidence' : '',\n\t\tstatus === 'blocked_same_evidence' ? 'recovery_execution_same_evidence_after_dispatch' : '',\n\t\tstatus === 'waiting_for_new_evidence' ? 'recovery_execution_missing_material_evidence' : ''\n\t].filter(Boolean);\n\tconst createdAt = isoNow(input.now);\n\treturn {\n\t\tcontractId: stableHash('mgr-execution-proof', {\n\t\t\tdirectiveId: directive?.directiveId || '',\n\t\t\tdispatchAction: directive?.dispatchAction || 'park_manual',\n\t\t\tstatus,\n\t\t\tstartingEvidenceHash,\n\t\t\tlatestEvidenceHash: assessment.evidenceHash,\n\t\t\tcreatedAt: createdAt.slice(0, 16)\n\t\t}),\n\t\tdirectiveId: cleanText(directive?.directiveId, 180),\n\t\tsurface: cleanText(directive?.surface, 120) || 'runner',\n\t\tdispatchAction: directive?.dispatchAction || 'park_manual',\n\t\tphase: directive?.phase || 'manual',\n\t\tstatus,\n\t\tcanContinueRun,\n\t\tcanRunProductRepair: canContinueRun && directive?.canRunProductRepair === true,\n\t\tcanRunExpensiveModel: canContinueRun && directive?.canRunExpensiveModel === true,\n\t\tcanResetLoopBudget: canContinueRun && assessment.material === true,\n\t\tproofRequiredBeforeContinuation: directive?.proofRequiredBeforeContinuation === true,\n\t\trequiresNewEvidence: directive?.requiresNewEvidence === true,\n\t\tnewEvidence: assessment.changed,\n\t\tmaterialEvidence: assessment.material,\n\t\tevidenceStrength: assessment.strength,\n\t\tevidenceSignals: assessment.signals,\n\t\tstartingFailureClass,\n\t\tstartingBlockerFingerprint,\n\t\tstartingEvidenceHash,\n\t\tlatestFailureClass,\n\t\tlatestBlockerFingerprint: assessment.blockerFingerprint,\n\t\tlatestEvidenceHash: assessment.evidenceHash,\n\t\trequiredEvidence,\n\t\tmissingEvidence,\n\t\tartifactPaths,\n\t\tchangedFiles,\n\t\tblockers,\n\t\tnextAllowedAction: canContinueRun ? (directive?.nextCommands[0] || 'continue_gate') : 'collect_required_recovery_proof',\n\t\tforbiddenActions: Array.from(new Set([\n\t\t\t'Do not continue product-code repair until recovery execution proof is proof_ready.',\n\t\t\t...cleanList(directive?.forbiddenActions, 30, 500)\n\t\t])),\n\t\tcreatedAt\n\t};\n}\n\nexport function validateResolveIOAIManagerRecoveryExecutionProofContract(value: any): {\n\tvalid: boolean;\n\tstatus: ResolveIOAIManagerRecoveryExecutionProofStatus | 'blocked';\n\tblockers: string[];\n\tnormalized: ResolveIOAIManagerRecoveryExecutionProofContract;\n} {\n\tconst source = value || {};\n\tconst validStatuses: ResolveIOAIManagerRecoveryExecutionProofStatus[] = [\n\t\t'proof_ready',\n\t\t'waiting_for_execution',\n\t\t'waiting_for_new_evidence',\n\t\t'blocked_same_evidence',\n\t\t'manual_handoff'\n\t];\n\tconst status = cleanText(source.status, 120) as ResolveIOAIManagerRecoveryExecutionProofStatus;\n\tconst normalized: ResolveIOAIManagerRecoveryExecutionProofContract = {\n\t\tcontractId: cleanText(source.contractId || source.contract_id, 180),\n\t\tdirectiveId: cleanText(source.directiveId || source.directive_id, 180),\n\t\tsurface: cleanText(source.surface, 120),\n\t\tdispatchAction: cleanText(source.dispatchAction || source.dispatch_action, 120) as ResolveIOAIManagerRecoveryActionDispatchAction,\n\t\tphase: cleanText(source.phase, 120) as ResolveIOAIManagerRecoveryExecutionPhase,\n\t\tstatus: validStatuses.includes(status) ? status : 'manual_handoff',\n\t\tcanContinueRun: source.canContinueRun === true || source.can_continue_run === true,\n\t\tcanRunProductRepair: source.canRunProductRepair === true || source.can_run_product_repair === true,\n\t\tcanRunExpensiveModel: source.canRunExpensiveModel === true || source.can_run_expensive_model === true,\n\t\tcanResetLoopBudget: source.canResetLoopBudget === true || source.can_reset_loop_budget === true,\n\t\tproofRequiredBeforeContinuation: source.proofRequiredBeforeContinuation === true || source.proof_required_before_continuation === true,\n\t\trequiresNewEvidence: source.requiresNewEvidence === true || source.requires_new_evidence === true,\n\t\tnewEvidence: source.newEvidence === true || source.new_evidence === true,\n\t\tmaterialEvidence: source.materialEvidence === true || source.material_evidence === true,\n\t\tevidenceStrength: cleanText(source.evidenceStrength || source.evidence_strength, 120) as ResolveIOAIManagerEvidenceStrength,\n\t\tevidenceSignals: cleanList(source.evidenceSignals || source.evidence_signals, 30, 200),\n\t\tstartingFailureClass: cleanText(source.startingFailureClass || source.starting_failure_class, 120),\n\t\tstartingBlockerFingerprint: cleanText(source.startingBlockerFingerprint || source.starting_blocker_fingerprint, 180),\n\t\tstartingEvidenceHash: cleanText(source.startingEvidenceHash || source.starting_evidence_hash, 180),\n\t\tlatestFailureClass: cleanText(source.latestFailureClass || source.latest_failure_class, 120),\n\t\tlatestBlockerFingerprint: cleanText(source.latestBlockerFingerprint || source.latest_blocker_fingerprint, 180),\n\t\tlatestEvidenceHash: cleanText(source.latestEvidenceHash || source.latest_evidence_hash, 180),\n\t\trequiredEvidence: cleanList(source.requiredEvidence || source.required_evidence, 30, 500),\n\t\tmissingEvidence: cleanList(source.missingEvidence || source.missing_evidence, 30, 500),\n\t\tartifactPaths: cleanList(source.artifactPaths || source.artifact_paths, 80, 500),\n\t\tchangedFiles: cleanList(source.changedFiles || source.changed_files, 80, 500),\n\t\tblockers: cleanList(source.blockers, 30, 500),\n\t\tnextAllowedAction: cleanText(source.nextAllowedAction || source.next_allowed_action, 180),\n\t\tforbiddenActions: cleanList(source.forbiddenActions || source.forbidden_actions, 30, 500),\n\t\tcreatedAt: cleanText(source.createdAt || source.created_at, 120)\n\t};\n\tconst blockers = [\n\t\tnormalized.contractId ? '' : 'Recovery execution proof is missing contractId.',\n\t\tnormalized.directiveId || normalized.status === 'manual_handoff' ? '' : 'Recovery execution proof is missing directiveId.',\n\t\tnormalized.dispatchAction ? '' : 'Recovery execution proof is missing dispatchAction.',\n\t\tvalidStatuses.includes(status) ? '' : 'Recovery execution proof has an invalid status.',\n\t\tnormalized.canContinueRun && normalized.status !== 'proof_ready' ? 'Recovery execution cannot continue unless status=proof_ready.' : '',\n\t\tnormalized.status === 'proof_ready' && normalized.proofRequiredBeforeContinuation && !normalized.materialEvidence ? 'Proof-ready recovery requires materialEvidence=true when proof is required.' : '',\n\t\tnormalized.status === 'proof_ready' && normalized.requiresNewEvidence && !normalized.newEvidence ? 'Proof-ready recovery requires newEvidence=true when new evidence is required.' : '',\n\t\tnormalized.canRunProductRepair && !normalized.canContinueRun ? 'Product repair cannot run before recovery proof can continue.' : '',\n\t\tnormalized.canRunExpensiveModel && !normalized.canContinueRun ? 'Expensive model cannot run before recovery proof can continue.' : '',\n\t\tnormalized.status !== 'proof_ready' && normalized.missingEvidence.length === 0 && normalized.proofRequiredBeforeContinuation ? 'Blocked recovery proof must list missingEvidence.' : '',\n\t\tnormalized.forbiddenActions.length ? '' : 'Recovery execution proof must include forbiddenActions.'\n\t].filter(Boolean);\n\treturn {\n\t\tvalid: blockers.length === 0,\n\t\tstatus: blockers.length ? 'blocked' : normalized.status,\n\t\tblockers,\n\t\tnormalized\n\t};\n}\n\nfunction newListEntries(current: string[], previous: string[]): string[] {\n\tconst existing = new Set(previous.map((entry) => cleanText(entry, 500)).filter(Boolean));\n\treturn current\n\t\t.map((entry) => cleanText(entry, 500))\n\t\t.filter((entry) => entry && !existing.has(entry));\n}\n\nfunction recordLane(value: any): string {\n\treturn cleanText(value?.lane, 80);\n}\n\nfunction recordStepType(value: any): string {\n\treturn cleanText(value?.stepType, 80);\n}\n\nfunction recordFailureClass(value: any): string {\n\tconst valueText = cleanText(value?.failureClass, 80);\n\treturn valueText ? normalizeResolveIOAIManagerFailureClass(valueText) : '';\n}\n\nfunction materialEvidenceText(record: ResolveIOAIManagerFailureRecord | undefined, paths: string[] = []): string {\n\treturn [\n\t\tcleanText(record?.blocker, 1200),\n\t\tcleanText(record?.summary, 1200),\n\t\t...paths.map((path) => cleanText(path, 500))\n\t].filter(Boolean).join(' ').toLowerCase();\n}\n\nfunction hasMaterialEvidenceLanguage(text: string): boolean {\n\treturn /(business|assertion|proof|before|after|dom|trace|stack|network|mongo|query|diff|scope|diagnosis|journey|contract|workflow|compile|build|preflight|infra|chrome|puppeteer|release|publish|deploy|sample|seed|route|auth|hydration|performance|slow|owner|root.?cause|repro|pdf|export|upload|import|filter|invoice|saved|calculated|comparison|report)/i.test(text);\n}\n\nexport function assessResolveIOAIManagerEvidenceChange(\n\tprevious: (ResolveIOAIManagerFailureRecord | ResolveIOAIManagerRecoveryCheckpoint | undefined),\n\tcurrent: ResolveIOAIManagerFailureRecord | undefined,\n\tfallbackObjective?: string\n): ResolveIOAIManagerEvidenceAssessment {\n\tconst currentRecord = current || {};\n\tconst previousRecord = previous as any;\n\tconst previousEvidenceHash = previousRecord ? cleanText(previousRecord.evidenceHash, 160) || hashResolveIOAIManagerEvidence(previousRecord) : '';\n\tconst currentEvidenceHash = hashResolveIOAIManagerEvidence(currentRecord);\n\tconst previousBlockerFingerprint = previousRecord\n\t\t? cleanText(previousRecord.blockerFingerprint, 160) || resolveResolveIOAIManagerBlockerFingerprint(previousRecord, fallbackObjective)\n\t\t: '';\n\tconst currentBlockerFingerprint = resolveResolveIOAIManagerBlockerFingerprint(currentRecord, fallbackObjective);\n\tconst previousChangedFiles = cleanList(previousRecord?.changedFiles, 80, 500);\n\tconst currentChangedFiles = cleanList(currentRecord.changedFiles, 80, 500);\n\tconst previousArtifactPaths = cleanList(previousRecord?.artifactPaths, 80, 500);\n\tconst currentArtifactPaths = cleanList(currentRecord.artifactPaths, 80, 500);\n\tconst addedChangedFiles = newListEntries(currentChangedFiles, previousChangedFiles);\n\tconst addedArtifactPaths = newListEntries(currentArtifactPaths, previousArtifactPaths);\n\tconst signals: string[] = [];\n\tif (previousEvidenceHash && currentEvidenceHash !== previousEvidenceHash) {\n\t\tsignals.push('evidence_hash_changed');\n\t}\n\tif (previousBlockerFingerprint && currentBlockerFingerprint !== previousBlockerFingerprint) {\n\t\tsignals.push('blocker_fingerprint_changed');\n\t}\n\tif (recordLane(previousRecord) && recordLane(previousRecord) !== recordLane(currentRecord)) {\n\t\tsignals.push('lane_changed');\n\t}\n\tif (recordStepType(previousRecord) && recordStepType(previousRecord) !== recordStepType(currentRecord)) {\n\t\tsignals.push('step_type_changed');\n\t}\n\tif (recordFailureClass(previousRecord) && recordFailureClass(previousRecord) !== recordFailureClass(currentRecord)) {\n\t\tsignals.push('failure_class_changed');\n\t}\n\tif (addedChangedFiles.length) {\n\t\tsignals.push('changed_files_added');\n\t}\n\tif (addedArtifactPaths.length) {\n\t\tsignals.push('artifact_paths_added');\n\t}\n\tif (isPassingOutcome(currentRecord)) {\n\t\tsignals.push('passing_outcome');\n\t}\n\tconst changed = signals.length > 0;\n\tconst evidenceText = materialEvidenceText(currentRecord, addedArtifactPaths);\n\tconst pathOrSummaryHasMaterialSignal = hasMaterialEvidenceLanguage(evidenceText);\n\tconst proof = signals.includes('passing_outcome');\n\tconst structuralChange = signals.some((signal) => /blocker_fingerprint_changed|lane_changed|step_type_changed|failure_class_changed/.test(signal));\n\tconst materialArtifact = addedArtifactPaths.length > 0 && pathOrSummaryHasMaterialSignal;\n\tconst materialChangedFiles = addedChangedFiles.length > 0\n\t\t&& /diagnosis|owner|scope|diff|root.?cause|failing path|stack|trace|business|proof|compile|release|deploy|workflow|journey/i.test(evidenceText);\n\tconst material = proof || structuralChange || materialArtifact || materialChangedFiles;\n\tconst strength: ResolveIOAIManagerEvidenceStrength = proof\n\t\t? 'proof'\n\t\t: material\n\t\t\t? 'material'\n\t\t\t: changed\n\t\t\t\t? 'weak'\n\t\t\t\t: 'none';\n\treturn {\n\t\tchanged,\n\t\tmaterial,\n\t\tstrength,\n\t\tsignals,\n\t\tevidenceHash: currentEvidenceHash,\n\t\tblockerFingerprint: currentBlockerFingerprint\n\t};\n}\n\nfunction proposedActionIsProductRepair(value: any): boolean {\n\tconst normalized = cleanText(value, 120);\n\treturn /product|code|repair|build|business|journey|workflow/i.test(normalized)\n\t\t&& !/infra|compile|diagnosis|manual|evidence|release|publish/i.test(normalized);\n}\n\nexport function decideResolveIOAIManagerRecoveryGate(\n\tinput: ResolveIOAIManagerRecoveryGateInput\n): ResolveIOAIManagerRecoveryGateDecision {\n\tconst checkpoint = input.checkpoint;\n\tconst hasCurrent = !!input.current;\n\tconst current = input.current || {};\n\tconst assessment = hasCurrent\n\t\t? assessResolveIOAIManagerEvidenceChange(checkpoint, current, checkpoint.objective)\n\t\t: {\n\t\t\tchanged: false,\n\t\t\tmaterial: false,\n\t\t\tstrength: 'none' as ResolveIOAIManagerEvidenceStrength,\n\t\t\tsignals: [],\n\t\t\tevidenceHash: checkpoint.evidenceHash,\n\t\t\tblockerFingerprint: checkpoint.blockerFingerprint\n\t\t};\n\tconst blockerFingerprint = assessment.blockerFingerprint;\n\tconst evidenceHash = assessment.evidenceHash;\n\tconst changedFiles = hasCurrent ? cleanList(current.changedFiles, 80, 500) : checkpoint.changedFiles;\n\tconst artifactPaths = hasCurrent ? cleanList(current.artifactPaths, 80, 500) : checkpoint.artifactPaths;\n\tconst evidenceChanged = assessment.changed;\n\tconst proposedAction = cleanText(input.proposedAction || checkpoint.allowedAction, 120);\n\tconst productRepairRequested = proposedActionIsProductRepair(proposedAction);\n\tconst missingEvidence = checkpoint.requiredEvidence.filter((required) => {\n\t\tconst normalized = cleanText(required, 120).toLowerCase();\n\t\tif (!normalized) {\n\t\t\treturn false;\n\t\t}\n\t\tif (/artifact|log|proof|gate|evidence/.test(normalized)) {\n\t\t\treturn !artifactPaths.length && !current.evidenceHash;\n\t\t}\n\t\tif (/diff|changed files|owner|scope|file/.test(normalized)) {\n\t\t\treturn !changedFiles.length;\n\t\t}\n\t\treturn false;\n\t});\n\tconst makeDecision = (\n\t\taction: ResolveIOAIManagerRecoveryGateAction,\n\t\treason: string,\n\t\toverrides: Partial<ResolveIOAIManagerRecoveryGateDecision> = {}\n\t): ResolveIOAIManagerRecoveryGateDecision => ({\n\t\taction,\n\t\treason,\n\t\tcanRunProductRepair: checkpoint.productRepairAllowed,\n\t\tcanRunExpensiveModel: checkpoint.expensiveModelAllowed,\n\t\tshouldResetLoopBudget: false,\n\t\tshouldIncrementAttempt: action === 'allow',\n\t\tnewEvidence: evidenceChanged,\n\t\tmaterialEvidence: assessment.material,\n\t\tevidenceStrength: assessment.strength,\n\t\tevidenceSignals: assessment.signals,\n\t\tblockerFingerprint,\n\t\tevidenceHash,\n\t\tmissingEvidence,\n\t\tcheckpoint: {\n\t\t\t...checkpoint,\n\t\t\tupdatedAt: isoNow(input.now)\n\t\t},\n\t\t...overrides\n\t});\n\n\tif (checkpoint.status === 'complete') {\n\t\treturn makeDecision('complete', 'recovery_gate_checkpoint_already_complete', {\n\t\t\tcanRunProductRepair: false,\n\t\t\tcanRunExpensiveModel: false,\n\t\t\tshouldIncrementAttempt: false\n\t\t});\n\t}\n\tif (checkpoint.status === 'manual_handoff' && input.operatorApproved !== true) {\n\t\treturn makeDecision('manual_handoff', 'recovery_gate_manual_handoff_requires_operator_approval', {\n\t\t\tcanRunProductRepair: false,\n\t\t\tcanRunExpensiveModel: false,\n\t\t\tshouldIncrementAttempt: false\n\t\t});\n\t}\n\tif (productRepairRequested && !checkpoint.productRepairAllowed) {\n\t\treturn makeDecision('reject_action', 'recovery_gate_product_repair_not_allowed_for_checkpoint', {\n\t\t\tcanRunProductRepair: false,\n\t\t\tcanRunExpensiveModel: false,\n\t\t\tshouldIncrementAttempt: false\n\t\t});\n\t}\n\tif (checkpoint.status === 'parked' && !evidenceChanged) {\n\t\treturn makeDecision('collect_new_evidence', 'recovery_gate_parked_until_new_evidence', {\n\t\t\tcanRunProductRepair: false,\n\t\t\tcanRunExpensiveModel: false,\n\t\t\tshouldIncrementAttempt: false\n\t\t});\n\t}\n\tif (checkpoint.status === 'parked' && evidenceChanged && !assessment.material) {\n\t\treturn makeDecision('collect_new_evidence', 'recovery_gate_weak_evidence_requires_material_signal', {\n\t\t\tcanRunProductRepair: false,\n\t\t\tcanRunExpensiveModel: false,\n\t\t\tshouldIncrementAttempt: false\n\t\t});\n\t}\n\tif (checkpoint.attempts >= checkpoint.maxAttemptsBeforePark && !evidenceChanged) {\n\t\treturn makeDecision('collect_new_evidence', 'recovery_gate_attempt_limit_requires_new_evidence', {\n\t\t\tcanRunProductRepair: false,\n\t\t\tcanRunExpensiveModel: false,\n\t\t\tshouldIncrementAttempt: false\n\t\t});\n\t}\n\tif (checkpoint.attempts >= checkpoint.maxAttemptsBeforePark && evidenceChanged && !assessment.material) {\n\t\treturn makeDecision('collect_new_evidence', 'recovery_gate_attempt_limit_requires_material_evidence', {\n\t\t\tcanRunProductRepair: false,\n\t\t\tcanRunExpensiveModel: false,\n\t\t\tshouldIncrementAttempt: false\n\t\t});\n\t}\n\tif (evidenceChanged) {\n\t\tconst currentFailureClass = normalizeResolveIOAIManagerFailureClass(current.failureClass);\n\t\tconst currentCanRunProductRepair = checkpoint.productRepairAllowed\n\t\t\t|| !/^(infra|compile|diagnosis|release)$/i.test(currentFailureClass);\n\t\treturn makeDecision('allow', 'recovery_gate_new_material_evidence_unblocks_retry', {\n\t\t\tcanRunProductRepair: currentCanRunProductRepair,\n\t\t\tcanRunExpensiveModel: checkpoint.expensiveModelAllowed || currentCanRunProductRepair,\n\t\t\tshouldResetLoopBudget: true\n\t\t});\n\t}\n\treturn makeDecision('allow', 'recovery_gate_action_allowed');\n}\n\nfunction failureKey(record: ResolveIOAIManagerFailureRecord | undefined): string {\n\tif (!record) {\n\t\treturn '';\n\t}\n\tconst failureClass = normalizeResolveIOAIManagerFailureClass(record.failureClass);\n\tconst blockerFingerprint = resolveResolveIOAIManagerBlockerFingerprint(record);\n\treturn `${cleanText(record.lane, 80)}:${cleanText(record.stepType, 80)}:${failureClass}:${blockerFingerprint}`;\n}\n\nfunction failureEvidenceKey(record: ResolveIOAIManagerFailureRecord | undefined): string {\n\treturn `${failureKey(record)}:${hashResolveIOAIManagerEvidence(record)}`;\n}\n\nfunction isPassingOutcome(record: ResolveIOAIManagerFailureRecord | undefined): boolean {\n\treturn /^(pass|accepted|ready_to_publish|published|ready_for_merge|complete|completed)$/i.test(cleanText(record?.outcome, 80));\n}\n\nfunction isManualOutcome(record: ResolveIOAIManagerFailureRecord | undefined): boolean {\n\treturn /^(manual_handoff|park_manual|stopped)$/i.test(cleanText(record?.outcome, 80));\n}\n\nexport function buildResolveIOAIManagerRecoveryPlan(input: ResolveIOAIManagerRecoveryPlanInput = {}): ResolveIOAIManagerRecoveryPlan {\n\tconst action = cleanText(input.action, 80) || 'continue';\n\tconst reason = cleanText(input.reason, 240);\n\tconst failureClass = normalizeResolveIOAIManagerFailureClass(input.failureClass);\n\tconst lane = cleanText(input.lane, 80) || 'supervisor';\n\tconst stepType = cleanText(input.stepType, 80) || 'unknown';\n\tconst blocker = cleanText(input.blocker, 700);\n\tconst changedFiles = cleanList(input.changedFiles, 12, 240);\n\tconst artifactPaths = cleanList(input.artifactPaths, 12, 240);\n\tconst maxAttemptsBeforePark = Math.max(1, Number(input.maxSameFailureRepeats || 3) || 3);\n\tconst commonNotes = [\n\t\treason ? `policy_reason=${reason}` : '',\n\t\tblocker ? `blocker=${blocker}` : '',\n\t\tchangedFiles.length ? `changed_files=${changedFiles.join(', ')}` : '',\n\t\tartifactPaths.length ? `artifacts=${artifactPaths.join(', ')}` : ''\n\t].filter(Boolean);\n\tconst base: Omit<ResolveIOAIManagerRecoveryPlan, 'recoveryClass' | 'nextActionLabel' | 'objective' | 'allowedAction' | 'productRepairAllowed' | 'expensiveModelAllowed' | 'finiteSteps' | 'requiredEvidence' | 'loopResetEvidence' | 'forbiddenActions'> = {\n\t\tlane,\n\t\tstepType,\n\t\tmaxAttemptsBeforePark,\n\t\tnotes: commonNotes\n\t};\n\tconst makePlan = (\n\t\trecoveryClass: ResolveIOAIManagerRecoveryClass,\n\t\tnextActionLabel: string,\n\t\tobjective: string,\n\t\tallowedAction: string,\n\t\tproductRepairAllowed: boolean,\n\t\texpensiveModelAllowed: boolean,\n\t\tfiniteSteps: string[],\n\t\trequiredEvidence: string[],\n\t\tloopResetEvidence: string[],\n\t\tforbiddenActions: string[]\n\t): ResolveIOAIManagerRecoveryPlan => ({\n\t\t...base,\n\t\trecoveryClass,\n\t\tnextActionLabel,\n\t\tobjective,\n\t\tallowedAction,\n\t\tproductRepairAllowed,\n\t\texpensiveModelAllowed,\n\t\tfiniteSteps,\n\t\trequiredEvidence,\n\t\tloopResetEvidence,\n\t\tforbiddenActions\n\t});\n\tif (action === 'reset_loop_budget') {\n\t\treturn makePlan(\n\t\t\t'advance_after_proof',\n\t\t\t'Advance After Proof',\n\t\t\t'Checkpoint the passing evidence and move to the next required gate.',\n\t\t\t'advance_to_next_gate',\n\t\t\tfalse,\n\t\t\tfalse,\n\t\t\t[\n\t\t\t\t'Record the passing artifact, changed files, and gate result.',\n\t\t\t\t'Reset the loop counter because a real gate passed.',\n\t\t\t\t'Select the next unmet deterministic gate instead of repeating the previous repair.'\n\t\t\t],\n\t\t\t['passing gate record', 'artifact or log proving the passed check'],\n\t\t\t['new passing gate result', 'new business proof artifact'],\n\t\t\t['rerun the same repair after a pass', 'mark accepted without the required downstream gate']\n\t\t);\n\t}\n\tif (action === 'manual_handoff') {\n\t\treturn makePlan(\n\t\t\t'manual_handoff',\n\t\t\t'Manual Review',\n\t\t\t'Stop autonomous repair and expose the blocker, evidence, and last safe state.',\n\t\t\t'manual_review_only',\n\t\t\tfalse,\n\t\t\tfalse,\n\t\t\t[\n\t\t\t\t'Freeze further product-code edits.',\n\t\t\t\t'Show the blocker fingerprint, evidence hash, and prior attempts.',\n\t\t\t\t'Require a human edit to classification, scope, or retry policy before another model/code loop.'\n\t\t\t],\n\t\t\t['blocker fingerprint', 'evidence hash', 'attempt history'],\n\t\t\t['manual policy change', 'new external evidence'],\n\t\t\t['start another automatic model repair', 'hide the failed evidence']\n\t\t);\n\t}\n\tif (action === 'budget_stop') {\n\t\treturn makePlan(\n\t\t\t'manual_handoff',\n\t\t\t'Budget Stop Review',\n\t\t\t'Stop autonomous model/code loops until a cheaper scoped next action is selected.',\n\t\t\t'budget_review_only',\n\t\t\tfalse,\n\t\t\tfalse,\n\t\t\t[\n\t\t\t\t'Freeze further model repair loops.',\n\t\t\t\t'Show the prompt/token/runtime budget that tripped the guard.',\n\t\t\t\t'Select a cheaper deterministic gate, infra repair, diagnosis revision, or manual scope edit before resuming.'\n\t\t\t],\n\t\t\t['budget guard reason', 'latest prompt estimate', 'last blocker/evidence hash'],\n\t\t\t['manual scope reduction', 'new deterministic evidence', 'approved budget policy change'],\n\t\t\t['start another broad model prompt', 'reset budget without new evidence', 'hide cost context']\n\t\t);\n\t}\n\tif (failureClass === 'diagnosis' || stepType === 'diagnosis_gate') {\n\t\treturn makePlan(\n\t\t\t'diagnosis_only',\n\t\t\t'Run Diagnosis Gate',\n\t\t\t'Produce a falsifiable root-cause diagnosis before any repair.',\n\t\t\t'read_only_diagnosis',\n\t\t\tfalse,\n\t\t\ttrue,\n\t\t\t[\n\t\t\t\t'Reproduce or explicitly classify the customer issue.',\n\t\t\t\t'Accept one falsifiable hypothesis and record rejected alternatives.',\n\t\t\t\t'Identify the frontend/backend/shared failing path.',\n\t\t\t\t'Select a small owner_files set.',\n\t\t\t\t'Define exact before/action/after business proof.'\n\t\t\t],\n\t\t\t['issue_case', 'accepted_hypothesis', 'rejected_alternatives', 'failing_path', 'owner_files', 'proof_plan'],\n\t\t\t['new reproduction artifact', 'new query/log/code evidence', 'validated diagnosis gate'],\n\t\t\t['edit product code', 'run broad repo repair', 'accept route-load evidence as success']\n\t\t);\n\t}\n\tif (failureClass === 'owner_scope' || failureClass === 'out_of_scope' || /out.?of.?scope|owner_files/i.test(reason)) {\n\t\treturn makePlan(\n\t\t\t'diagnosis_revision',\n\t\t\t'Revise Diagnosis Scope',\n\t\t\t'Revise owner_files only when new evidence proves the current scope is wrong.',\n\t\t\t'diagnosis_revision_only',\n\t\t\tfalse,\n\t\t\ttrue,\n\t\t\t[\n\t\t\t\t'Compare changed files against the diagnosis owner_files.',\n\t\t\t\t'Collect evidence proving why the new file is in the failing path.',\n\t\t\t\t'Update accepted_hypothesis, failing_path, owner_files, and proof_plan together.',\n\t\t\t\t'Resume repair only after the revised gate validates.'\n\t\t\t],\n\t\t\t['out-of-scope file list', 'new failing-path evidence', 'revalidated diagnosis gate'],\n\t\t\t['revised owner_files with evidence', 'new business proof requirement'],\n\t\t\t['keep broad edits without diagnosis', 'add convenience refactors', 'continue repair outside owner_files']\n\t\t);\n\t}\n\tif (action === 'retry_infra') {\n\t\tconst isCompile = failureClass === 'compile';\n\t\treturn makePlan(\n\t\t\tisCompile ? 'compile_repair' : 'infra_repair',\n\t\t\tisCompile ? 'Repair Compile Gate' : 'Repair Infra Gate',\n\t\t\tisCompile\n\t\t\t\t? 'Fix the deterministic compile/build blocker before spending another product repair loop.'\n\t\t\t\t: 'Fix the deterministic harness/browser/server/Mongo blocker before product repair.',\n\t\t\tisCompile ? 'compile_repair_only' : 'infra_repair_only',\n\t\t\tfalse,\n\t\t\tfalse,\n\t\t\tisCompile\n\t\t\t\t? [\n\t\t\t\t\t'Read the exact compile/build log and identify the first actionable error.',\n\t\t\t\t\t'Fix missing dependency, stale artifact, command, cache, or type wiring required by the compile gate.',\n\t\t\t\t\t'Rerun the same finite compile command.',\n\t\t\t\t\t'Return the compile log artifact and status.'\n\t\t\t\t]\n\t\t\t\t: [\n\t\t\t\t\t'Run preflight for Puppeteer, Chrome executable, ports, Mongo/settings, and startup command.',\n\t\t\t\t\t'Repair only the failing harness/environment item.',\n\t\t\t\t\t'Rerun the same infra check.',\n\t\t\t\t\t'Return the infra log and pass/fail status.'\n\t\t\t\t],\n\t\t\tisCompile\n\t\t\t\t? ['compile command', 'compile log artifact', 'first failing error fixed or still failing']\n\t\t\t\t: ['preflight command', 'infra log artifact', 'specific repaired environment item'],\n\t\t\t['same check now passes', 'new infra/compile blocker hash'],\n\t\t\t['run product-code model repair', 'count this as product failure', 'accept route/business success without the compile/infra gate']\n\t\t);\n\t}\n\tif (action === 'park_repeated_failure' || action === 'park_ping_pong') {\n\t\treturn makePlan(\n\t\t\t'blocked_until_new_evidence',\n\t\t\taction === 'park_ping_pong' ? 'Park Ping-Pong Loop' : 'Park Repeated Failure',\n\t\t\t'Stop the current loop until new evidence changes the diagnosis, route, or repair target.',\n\t\t\t'collect_new_evidence_only',\n\t\t\tfalse,\n\t\t\tfalse,\n\t\t\t[\n\t\t\t\t'Do not rerun the same prompt or same repair.',\n\t\t\t\t'Show the repeated blocker and evidence hash.',\n\t\t\t\t'Collect a new artifact: failing DOM state, stack trace, network response, Mongo delta, compile log, or revised diagnosis.',\n\t\t\t\t'Reset the loop only after material evidence changes the blocker, proof, diagnosis, journey, or actionable trace.'\n\t\t\t],\n\t\t\t['same failure count', 'blocker fingerprint', 'evidence hash'],\n\t\t\t['changed blocker fingerprint', 'changed evidence hash', 'new artifact path', 'business/compile/infra/release proof artifact', 'revised diagnosis or journey contract', 'new actionable trace or data delta'],\n\t\t\t['alternate between two failed patches', 'increase loop budget without evidence', 'hide the park reason']\n\t\t);\n\t}\n\tif (failureClass === 'journey') {\n\t\treturn makePlan(\n\t\t\t'journey_contract_repair',\n\t\t\t'Repair Journey Contract',\n\t\t\t'Fix the first/next/last workflow contract before app code work continues.',\n\t\t\t'journey_contract_repair',\n\t\t\tfalse,\n\t\t\ttrue,\n\t\t\t[\n\t\t\t\t'Open docs/APP_JOURNEY_CONTRACT.md.',\n\t\t\t\t'Define first_screen, north_star_workflow, screen_sequence, data_story, completion_states, and qa_assertions.',\n\t\t\t\t'Give every north_star_workflow step a stable id and map each screen_sequence row with workflow_step_id or exact route/CTA.',\n\t\t\t\t'Map every qa_assertions row to workflow_step_id or covers_workflow_step_ids so QA can walk first/next/last deterministically.',\n\t\t\t\t'Ensure each CTA maps to an action, route, method, calculation, or state transition.',\n\t\t\t\t'Validate that sample data can drive the promised workflow.'\n\t\t\t],\n\t\t\t['validated journey_contract JSON', 'CTA-to-action mapping', 'screen-to-workflow mapping', 'workflow QA assertions mapped to step ids'],\n\t\t\t['journey validation passes', 'new workflow QA rows generated'],\n\t\t\t['build empty routes', 'add link-only dashboard actions', 'defer workflow design to wow pass']\n\t\t);\n\t}\n\tif (failureClass === 'release') {\n\t\treturn makePlan(\n\t\t\t'release_repair',\n\t\t\t'Repair Release Gate',\n\t\t\t'Repair deploy/publish/sample-data release evidence with a hotfix-first path before any repeated full deploy.',\n\t\t\t'release_repair_only',\n\t\t\tfalse,\n\t\t\tfalse,\n\t\t\t[\n\t\t\t\t'Read the deploy/publish/sample-data log.',\n\t\t\t\t'Identify whether the blocker is domain, asset, seed data, route, permission, or CDN.',\n\t\t\t\t'Prefer backend hotfix, release config, domain, cache, or seed-data repair when the product artifact already has business proof.',\n\t\t\t\t'Rerun only the failed release gate.'\n\t\t\t],\n\t\t\t['deploy or publish log', 'sample-data status', 'failed release gate rerun'],\n\t\t\t['release gate passes', 'new release blocker hash'],\n\t\t\t['change core workflow after business QA passed', 'mark accepted from scorecard only', 'rerun full builder loop', 'repeat deploy of same artifact without force_deploy evidence']\n\t\t);\n\t}\n\tif (failureClass === 'business' || failureClass === 'qa_evidence' || failureClass === 'route') {\n\t\treturn makePlan(\n\t\t\t'business_proof_repair',\n\t\t\t'Repair Business Proof',\n\t\t\t'Fix the exact failing workflow assertion and prove before/action/after behavior.',\n\t\t\t'business_repair',\n\t\t\ttrue,\n\t\t\ttrue,\n\t\t\t[\n\t\t\t\t'Open the failing QA row or proof_plan.',\n\t\t\t\t'Trace the UI action to method/publication/query/calculation.',\n\t\t\t\t'Patch the smallest owner or workflow files.',\n\t\t\t\t'Rerun only the failed business assertion.',\n\t\t\t\t'Record DOM/data/Mongo/artifact proof.'\n\t\t\t],\n\t\t\t['failing assertion', 'action trace', 'business proof artifact'],\n\t\t\t['business assertion passes', 'new failed assertion with new evidence'],\n\t\t\t['treat route load as success', 'rerun unrelated QA rows first', 'accept scorecard-only evidence']\n\t\t);\n\t}\n\tif (input.productRepairFailure !== false || failureClass === 'product_code') {\n\t\treturn makePlan(\n\t\t\t'product_code_repair',\n\t\t\t'Run Targeted Product Repair',\n\t\t\t'Repair the current product-code blocker with the smallest scoped edit and immediate proof.',\n\t\t\t'targeted_product_repair',\n\t\t\ttrue,\n\t\t\ttrue,\n\t\t\t[\n\t\t\t\t'Inspect the current blocker, artifacts, changed files, and owner/workflow scope.',\n\t\t\t\t'Form one small repair hypothesis.',\n\t\t\t\t'Patch only files justified by the active diagnosis or journey contract.',\n\t\t\t\t'Rerun the smallest failed gate.',\n\t\t\t\t'Record new evidence before any additional loop.'\n\t\t\t],\n\t\t\t['owner/workflow scope', 'repair diff', 'failed gate rerun artifact'],\n\t\t\t['new evidence hash', 'same gate passes'],\n\t\t\t['broad repo search-and-edit', 'rerun the same prompt without inspecting artifacts', 'change unrelated UI polish']\n\t\t);\n\t}\n\treturn makePlan(\n\t\t'continue',\n\t\t'Continue Current Gate',\n\t\t'Continue the current lane because no blocking loop or infra condition was detected.',\n\t\t'continue',\n\t\tfalse,\n\t\tfalse,\n\t\t[\n\t\t\t'Use the active lane memory.',\n\t\t\t'Run the next finite gate.',\n\t\t\t'Record artifacts and evidence hash.'\n\t\t],\n\t\t['active lane memory', 'finite gate artifact'],\n\t\t['new gate result', 'new artifact path'],\n\t\t['spawn duplicate runners', 'advance without evidence']\n\t);\n}\n\nfunction collectOpenTail(records: ResolveIOAIManagerFailureRecord[]): ResolveIOAIManagerFailureRecord[] {\n\tconst tail: ResolveIOAIManagerFailureRecord[] = [];\n\tfor (let index = records.length - 1; index >= 0; index -= 1) {\n\t\tconst record = records[index];\n\t\tif (isPassingOutcome(record)) {\n\t\t\tbreak;\n\t\t}\n\t\ttail.unshift(record);\n\t}\n\treturn tail;\n}\n\nfunction countSameFailure(records: ResolveIOAIManagerFailureRecord[], current: ResolveIOAIManagerFailureRecord): number {\n\tconst currentKey = failureKey(current);\n\tlet count = 0;\n\tfor (let index = records.length - 1; index >= 0; index -= 1) {\n\t\tconst record = records[index];\n\t\tif (isPassingOutcome(record)) {\n\t\t\tbreak;\n\t\t}\n\t\tif (failureKey(record) !== currentKey) {\n\t\t\tbreak;\n\t\t}\n\t\tcount += 1;\n\t}\n\treturn count;\n}\n\nfunction previousRecordForPolicy(\n\thistory: ResolveIOAIManagerFailureRecord[],\n\tcurrent: ResolveIOAIManagerFailureRecord,\n\tcurrentWasExplicit: boolean\n): ResolveIOAIManagerFailureRecord | undefined {\n\tif (!history.length) {\n\t\treturn undefined;\n\t}\n\tif (!currentWasExplicit) {\n\t\treturn history.length > 1 ? history[history.length - 2] : undefined;\n\t}\n\tconst last = history[history.length - 1];\n\tif (failureEvidenceKey(last) === failureEvidenceKey(current)) {\n\t\treturn history.length > 1 ? history[history.length - 2] : undefined;\n\t}\n\treturn last;\n}\n\nfunction countPingPong(records: ResolveIOAIManagerFailureRecord[], current: ResolveIOAIManagerFailureRecord): number {\n\tconst tail = collectOpenTail(records).filter((record) => {\n\t\treturn cleanText(record.lane, 80) === cleanText(current.lane, 80)\n\t\t\t&& cleanText(record.stepType, 80) === cleanText(current.stepType, 80);\n\t});\n\tif (tail.length < 4) {\n\t\treturn 0;\n\t}\n\tconst keys = tail.map(failureKey).filter(Boolean);\n\tconst last = keys.slice(-6);\n\tif (last.length < 4) {\n\t\treturn 0;\n\t}\n\tconst distinct = Array.from(new Set(last));\n\tif (distinct.length !== 2) {\n\t\treturn 0;\n\t}\n\tfor (let index = 2; index < last.length; index += 1) {\n\t\tif (last[index] !== last[index - 2]) {\n\t\t\treturn 0;\n\t\t}\n\t}\n\treturn last.length - 1;\n}\n\nexport function decideResolveIOAIManagerPolicy(input: ResolveIOAIManagerPolicyInput): ResolveIOAIManagerPolicyDecision {\n\tconst history = Array.isArray(input.history) ? input.history : [];\n\tconst currentWasExplicit = !!input.current;\n\tconst current = input.current || history[history.length - 1] || {};\n\tconst failureClass = normalizeResolveIOAIManagerFailureClass(current.failureClass);\n\tconst blockerFingerprint = resolveResolveIOAIManagerBlockerFingerprint(current);\n\tconst evidenceHash = hashResolveIOAIManagerEvidence(current);\n\tconst previous = previousRecordForPolicy(history, current, currentWasExplicit);\n\tconst previousSameFailure = previous && failureKey(previous) === failureKey(current);\n\tconst evidenceAssessment = previousSameFailure\n\t\t? assessResolveIOAIManagerEvidenceChange(previous, current)\n\t\t: {\n\t\t\tchanged: false,\n\t\t\tmaterial: false,\n\t\t\tstrength: 'none' as ResolveIOAIManagerEvidenceStrength,\n\t\t\tsignals: [],\n\t\t\tevidenceHash,\n\t\t\tblockerFingerprint\n\t\t};\n\tconst newEvidence = !!previousSameFailure && evidenceAssessment.changed;\n\tconst sameFailureCount = countSameFailure(history, current);\n\tconst pingPongCount = countPingPong(history, current);\n\tconst maxSameFailureRepeats = Math.max(1, Number(input.maxSameFailureRepeats || 3) || 3);\n\tconst maxPingPongTransitions = Math.max(3, Number(input.maxPingPongTransitions || 3) || 3);\n\tconst infraClasses = new Set((input.infraFailureClasses || ['infra', 'compile']).map(normalizeResolveIOAIManagerFailureClass));\n\tconst ignoredClasses = new Set((input.ignoredFailureClasses || []).map(normalizeResolveIOAIManagerFailureClass));\n\tconst base = {\n\t\tfailureClass,\n\t\tblockerFingerprint,\n\t\tevidenceHash,\n\t\tsameFailureCount,\n\t\tpingPongCount,\n\t\tnewEvidence,\n\t\tmaterialEvidence: evidenceAssessment.material,\n\t\tevidenceStrength: evidenceAssessment.strength,\n\t\tevidenceSignals: evidenceAssessment.signals,\n\t\tloopBudgetShouldReset: false,\n\t\tproductRepairFailure: !infraClasses.has(failureClass) && !ignoredClasses.has(failureClass)\n\t};\n\tconst withPlan = (\n\t\taction: ResolveIOAIManagerAction,\n\t\treason: string,\n\t\toverrides: Partial<Omit<ResolveIOAIManagerPolicyDecision, 'action' | 'reason' | 'recoveryPlan' | 'recoveryCheckpoint'>> = {}\n\t): ResolveIOAIManagerPolicyDecision => {\n\t\tconst merged = {\n\t\t\t...base,\n\t\t\t...overrides\n\t\t};\n\t\tconst recoveryPlan = buildResolveIOAIManagerRecoveryPlan({\n\t\t\taction,\n\t\t\treason,\n\t\t\tfailureClass: merged.failureClass,\n\t\t\tlane: current.lane,\n\t\t\tstepType: current.stepType,\n\t\t\tblocker: current.blocker || current.summary,\n\t\t\tsameFailureCount: merged.sameFailureCount,\n\t\t\tpingPongCount: merged.pingPongCount,\n\t\t\tnewEvidence: merged.newEvidence,\n\t\t\tproductRepairFailure: merged.productRepairFailure,\n\t\t\tchangedFiles: current.changedFiles,\n\t\t\tartifactPaths: current.artifactPaths,\n\t\t\tmaxSameFailureRepeats\n\t\t});\n\t\tconst recoveryCheckpoint = buildResolveIOAIManagerRecoveryCheckpoint({\n\t\t\tplan: recoveryPlan,\n\t\t\tcurrent\n\t\t});\n\t\tconst recoveryEvidenceProbe = buildResolveIOAIManagerRecoveryEvidenceProbe({\n\t\t\tcheckpoint: recoveryCheckpoint,\n\t\t\tcurrent\n\t\t});\n\t\treturn {\n\t\t\t...merged,\n\t\t\taction,\n\t\t\treason,\n\t\t\trecoveryPlan,\n\t\t\trecoveryCheckpoint,\n\t\t\trecoveryEvidenceProbe,\n\t\t\trecoveryAction: buildResolveIOAIManagerRecoveryActionPacket({\n\t\t\t\tplan: recoveryPlan,\n\t\t\t\tcheckpoint: recoveryCheckpoint,\n\t\t\t\tprobe: recoveryEvidenceProbe,\n\t\t\t\tcurrent\n\t\t\t})\n\t\t};\n\t};\n\tif (isPassingOutcome(current)) {\n\t\treturn withPlan('reset_loop_budget', 'manager_policy_progress_passed', {\n\t\t\tloopBudgetShouldReset: true,\n\t\t\tproductRepairFailure: false\n\t\t});\n\t}\n\tif (isManualOutcome(current)) {\n\t\treturn withPlan('manual_handoff', 'manager_policy_manual_or_stopped');\n\t}\n\tif (pingPongCount >= maxPingPongTransitions) {\n\t\treturn withPlan('park_ping_pong', 'manager_policy_ping_pong_failure_loop');\n\t}\n\tif (sameFailureCount >= maxSameFailureRepeats && !evidenceAssessment.material) {\n\t\treturn withPlan('park_repeated_failure', newEvidence\n\t\t\t? 'manager_policy_same_failure_with_weak_evidence'\n\t\t\t: 'manager_policy_same_failure_without_new_evidence');\n\t}\n\tif (infraClasses.has(failureClass)) {\n\t\treturn withPlan('retry_infra', 'manager_policy_infra_failure_routes_to_infra_repair', {\n\t\t\tproductRepairFailure: false\n\t\t});\n\t}\n\tif (newEvidence || !previousSameFailure) {\n\t\tif (newEvidence && !evidenceAssessment.material) {\n\t\t\treturn withPlan('continue', 'manager_policy_weak_evidence_does_not_reset_loop_budget');\n\t\t}\n\t\treturn withPlan('continue', newEvidence\n\t\t\t\t? 'manager_policy_new_material_evidence_resets_loop_budget'\n\t\t\t\t: 'manager_policy_new_failure_or_lane', {\n\t\t\tloopBudgetShouldReset: true,\n\t\t\tmaterialEvidence: newEvidence ? true : base.materialEvidence,\n\t\t\tevidenceStrength: newEvidence ? evidenceAssessment.strength : base.evidenceStrength\n\t\t});\n\t}\n\treturn withPlan('continue', 'manager_policy_retry_below_repeat_limit');\n}\n\nfunction buildReplayDirectiveFromPlan(input: {\n\tsurface: string;\n\tplan: ResolveIOAIManagerRecoveryPlan;\n\tcurrent: ResolveIOAIManagerFailureRecord;\n\tnow?: Date | string;\n}): ResolveIOAIManagerRecoveryExecutionDirective {\n\tconst checkpoint = buildResolveIOAIManagerRecoveryCheckpoint({\n\t\tplan: input.plan,\n\t\tcurrent: input.current,\n\t\tnow: input.now\n\t});\n\tconst probe = buildResolveIOAIManagerRecoveryEvidenceProbe({\n\t\tcheckpoint,\n\t\tcurrent: input.current,\n\t\tnow: input.now\n\t});\n\tconst action = buildResolveIOAIManagerRecoveryActionPacket({\n\t\tplan: input.plan,\n\t\tcheckpoint,\n\t\tprobe,\n\t\tcurrent: input.current,\n\t\tnow: input.now\n\t});\n\tconst dispatch = decideResolveIOAIManagerRecoveryActionDispatch({\n\t\taction,\n\t\tcurrent: input.current,\n\t\tnow: input.now\n\t});\n\treturn buildResolveIOAIManagerRecoveryExecutionDirective({\n\t\taction,\n\t\tdispatchDecision: dispatch,\n\t\tcurrent: input.current,\n\t\tsurface: input.surface,\n\t\tnow: input.now\n\t});\n}\n\nfunction replayCaseFromDirective(input: {\n\tcaseId: string;\n\tsurface: string;\n\taction: string;\n\treason: string;\n\tdirective: ResolveIOAIManagerRecoveryExecutionDirective;\n\texpectedSafeAutoDispatch: boolean;\n\tpass: boolean;\n\tloopBudgetShouldReset?: boolean;\n\tmaterialEvidence?: boolean;\n\tevidenceStrength?: ResolveIOAIManagerEvidenceStrength;\n\tdetails?: Record<string, any>;\n}): ResolveIOAIManagerRecoveryReplayCase {\n\tconst directive = input.directive;\n\tconst safeAutoDispatch = isResolveIOAIManagerSafeAutoDispatch({\n\t\tdispatchAction: directive.dispatchAction,\n\t\tdirective,\n\t\tincludeJourneyContractRepair: input.expectedSafeAutoDispatch && directive.dispatchAction === 'run_journey_contract_repair',\n\t\tincludeReleaseRepair: input.expectedSafeAutoDispatch && directive.dispatchAction === 'run_release_repair',\n\t\tincludeProductRepair: false\n\t});\n\treturn {\n\t\tcaseId: input.caseId,\n\t\tsurface: input.surface,\n\t\tpass: input.pass && safeAutoDispatch === input.expectedSafeAutoDispatch,\n\t\taction: input.action,\n\t\treason: input.reason,\n\t\trecoveryClass: cleanText(directive.dispatchRecord?.mode || directive.phase, 120),\n\t\tdispatchAction: directive.dispatchAction,\n\t\tsafeAutoDispatch,\n\t\texpectedSafeAutoDispatch: input.expectedSafeAutoDispatch,\n\t\tproductRepairAllowed: directive.canRunProductRepair === true,\n\t\tloopBudgetShouldReset: input.loopBudgetShouldReset === true,\n\t\tmaterialEvidence: input.materialEvidence === true,\n\t\tevidenceStrength: input.evidenceStrength || 'none',\n\t\t...(directive.releasePolicy ? {\n\t\t\thotfixFirst: directive.releasePolicy.policy === 'hotfix_first',\n\t\t\tfullDeployAllowed: directive.releasePolicy.fullDeployAllowed\n\t\t} : {}),\n\t\tdetails: {\n\t\t\tphase: directive.phase,\n\t\t\tallowed: directive.allowed,\n\t\t\treason: directive.reason,\n\t\t\treleasePolicy: directive.releasePolicy,\n\t\t\t...(input.details || {})\n\t\t}\n\t};\n}\n\nexport function buildResolveIOAIManagerRecoveryReplayMatrix(\n\tinput: ResolveIOAIManagerRecoveryReplayMatrixInput = {}\n): ResolveIOAIManagerRecoveryReplayCase[] {\n\tconst surface = cleanText(input.surface || 'runner', 120);\n\tconst maxSameFailureRepeats = Math.max(1, Number(input.maxSameFailureRepeats || 2) || 2);\n\tconst includeReleaseRepair = input.includeReleaseRepair !== false;\n\tconst includeJourneyContractRepair = input.includeJourneyContractRepair !== false;\n\tconst cases: ResolveIOAIManagerRecoveryReplayCase[] = [];\n\tconst infraPolicy = decideResolveIOAIManagerPolicy({\n\t\thistory: [\n\t\t\t{ lane: 'qa', stepType: 'workflow_qa', outcome: 'needs_repair', failureClass: 'infra', blocker: 'Chrome executable missing.', evidenceHash: 'chrome-missing' }\n\t\t],\n\t\tcurrent: { lane: 'qa', stepType: 'workflow_qa', outcome: 'needs_repair', failureClass: 'infra', blocker: 'Chrome executable missing.', evidenceHash: 'chrome-missing' },\n\t\tmaxSameFailureRepeats\n\t});\n\tconst infraDirective = buildResolveIOAIManagerRecoveryExecutionDirective({\n\t\taction: infraPolicy.recoveryAction,\n\t\tcurrent: { lane: 'qa', stepType: 'workflow_qa', outcome: 'needs_repair', failureClass: 'infra', blocker: 'Chrome executable missing.', evidenceHash: 'chrome-missing' },\n\t\tsurface\n\t});\n\tcases.push(replayCaseFromDirective({\n\t\tcaseId: 'infra_routes_to_infra_repair',\n\t\tsurface,\n\t\taction: infraPolicy.action,\n\t\treason: infraPolicy.reason,\n\t\tdirective: infraDirective,\n\t\texpectedSafeAutoDispatch: true,\n\t\tpass: infraPolicy.action === 'retry_infra'\n\t\t\t&& infraPolicy.recoveryPlan.recoveryClass === 'infra_repair'\n\t\t\t&& infraDirective.dispatchAction === 'run_infra_repair'\n\t\t\t&& infraDirective.canRunProductRepair === false,\n\t\tdetails: { recoveryClass: infraPolicy.recoveryPlan.recoveryClass }\n\t}));\n\tconst releasePlan = buildResolveIOAIManagerRecoveryPlan({\n\t\taction: 'continue',\n\t\treason: 'publish failed after business proof',\n\t\tfailureClass: 'release',\n\t\tlane: 'publish',\n\t\tstepType: 'test_deploy',\n\t\tblocker: 'Domain publish failed for the current artifact.'\n\t});\n\tconst releaseCurrent = {\n\t\tlane: 'publish',\n\t\tstepType: 'test_deploy',\n\t\toutcome: 'needs_repair',\n\t\tfailureClass: 'release',\n\t\tblocker: 'Domain publish failed for the current artifact.',\n\t\tevidenceHash: 'release-domain-publish-failed',\n\t\tartifactPaths: ['runner-evidence/release-status.json']\n\t};\n\tconst releaseDirective = buildReplayDirectiveFromPlan({\n\t\tsurface,\n\t\tplan: releasePlan,\n\t\tcurrent: releaseCurrent\n\t});\n\tcases.push(replayCaseFromDirective({\n\t\tcaseId: 'release_uses_hotfix_first_repair',\n\t\tsurface,\n\t\taction: 'continue',\n\t\treason: 'publish failed after business proof',\n\t\tdirective: releaseDirective,\n\t\texpectedSafeAutoDispatch: includeReleaseRepair,\n\t\tpass: releasePlan.recoveryClass === 'release_repair'\n\t\t\t&& releaseDirective.dispatchAction === 'run_release_repair'\n\t\t\t&& releaseDirective.releasePolicy?.policy === 'hotfix_first'\n\t\t\t&& releaseDirective.releasePolicy?.fullDeployAllowed === false\n\t\t\t&& releaseDirective.canRunProductRepair === false,\n\t\tdetails: { recoveryClass: releasePlan.recoveryClass }\n\t}));\n\tconst journeyPlan = buildResolveIOAIManagerRecoveryPlan({\n\t\taction: 'continue',\n\t\treason: 'journey contract missing first next last',\n\t\tfailureClass: 'journey',\n\t\tlane: 'plan',\n\t\tstepType: 'journey_contract',\n\t\tblocker: 'Journey contract does not map the hub CTA to an action.'\n\t});\n\tconst journeyDirective = buildReplayDirectiveFromPlan({\n\t\tsurface,\n\t\tplan: journeyPlan,\n\t\tcurrent: {\n\t\t\tlane: 'plan',\n\t\t\tstepType: 'journey_contract',\n\t\t\toutcome: 'needs_repair',\n\t\t\tfailureClass: 'journey',\n\t\t\tblocker: 'Journey contract does not map the hub CTA to an action.',\n\t\t\tevidenceHash: 'journey-contract-invalid'\n\t\t}\n\t});\n\tcases.push(replayCaseFromDirective({\n\t\tcaseId: 'journey_repair_is_safe_only_for_aicoder_surfaces',\n\t\tsurface,\n\t\taction: 'continue',\n\t\treason: 'journey contract missing first next last',\n\t\tdirective: journeyDirective,\n\t\texpectedSafeAutoDispatch: includeJourneyContractRepair,\n\t\tpass: journeyPlan.recoveryClass === 'journey_contract_repair'\n\t\t\t&& journeyDirective.dispatchAction === 'run_journey_contract_repair'\n\t\t\t&& journeyDirective.canRunProductRepair === false,\n\t\tdetails: { recoveryClass: journeyPlan.recoveryClass }\n\t}));\n\tconst weakPolicy = decideResolveIOAIManagerPolicy({\n\t\thistory: [\n\t\t\t{ lane: 'repair', stepType: 'repair', outcome: 'needs_repair', failureClass: 'product_code', blocker: 'Save action still throws TypeError.', evidenceHash: 'save-before' },\n\t\t\t{ lane: 'repair', stepType: 'repair', outcome: 'needs_repair', failureClass: 'product_code', blocker: 'Save action still throws TypeError.', evidenceHash: 'renamed-hash-only' }\n\t\t],\n\t\tcurrent: { lane: 'repair', stepType: 'repair', outcome: 'needs_repair', failureClass: 'product_code', blocker: 'Save action still throws TypeError.', evidenceHash: 'renamed-hash-only' },\n\t\tmaxSameFailureRepeats\n\t});\n\tconst weakDirective = buildResolveIOAIManagerRecoveryExecutionDirective({\n\t\taction: weakPolicy.recoveryAction,\n\t\tcurrent: { lane: 'repair', stepType: 'repair', outcome: 'needs_repair', failureClass: 'product_code', blocker: 'Save action still throws TypeError.', evidenceHash: 'renamed-hash-only' },\n\t\tsurface\n\t});\n\tcases.push(replayCaseFromDirective({\n\t\tcaseId: 'weak_hash_only_evidence_stays_parked',\n\t\tsurface,\n\t\taction: weakPolicy.action,\n\t\treason: weakPolicy.reason,\n\t\tdirective: weakDirective,\n\t\texpectedSafeAutoDispatch: true,\n\t\tpass: weakPolicy.action === 'park_repeated_failure'\n\t\t\t&& weakPolicy.materialEvidence === false\n\t\t\t&& weakPolicy.loopBudgetShouldReset === false\n\t\t\t&& weakDirective.dispatchAction === 'run_evidence_probe',\n\t\tloopBudgetShouldReset: weakPolicy.loopBudgetShouldReset,\n\t\tmaterialEvidence: weakPolicy.materialEvidence,\n\t\tevidenceStrength: weakPolicy.evidenceStrength,\n\t\tdetails: { evidenceSignals: weakPolicy.evidenceSignals }\n\t}));\n\tconst materialPolicy = decideResolveIOAIManagerPolicy({\n\t\thistory: [\n\t\t\t{ lane: 'repair', stepType: 'repair', outcome: 'needs_repair', failureClass: 'product_code', blocker: 'Save action still throws TypeError.', evidenceHash: 'save-before', artifactPaths: ['qa/save-before.log'] },\n\t\t\t{\n\t\t\t\tlane: 'repair',\n\t\t\t\tstepType: 'repair',\n\t\t\t\toutcome: 'needs_repair',\n\t\t\t\tfailureClass: 'product_code',\n\t\t\t\tblocker: 'Save action still throws TypeError.',\n\t\t\t\tsummary: 'New DOM trace proves the click reaches the method with an undefined id.',\n\t\t\t\tevidenceHash: 'save-dom-trace',\n\t\t\t\tartifactPaths: ['qa/save-before.log', 'qa/save-dom-trace.json']\n\t\t\t}\n\t\t],\n\t\tcurrent: {\n\t\t\tlane: 'repair',\n\t\t\tstepType: 'repair',\n\t\t\toutcome: 'needs_repair',\n\t\t\tfailureClass: 'product_code',\n\t\t\tblocker: 'Save action still throws TypeError.',\n\t\t\tsummary: 'New DOM trace proves the click reaches the method with an undefined id.',\n\t\t\tevidenceHash: 'save-dom-trace',\n\t\t\tartifactPaths: ['qa/save-before.log', 'qa/save-dom-trace.json']\n\t\t},\n\t\tmaxSameFailureRepeats\n\t});\n\tcases.push({\n\t\tcaseId: 'material_evidence_resets_loop_budget',\n\t\tsurface,\n\t\tpass: materialPolicy.action === 'continue'\n\t\t\t&& materialPolicy.materialEvidence === true\n\t\t\t&& materialPolicy.loopBudgetShouldReset === true,\n\t\taction: materialPolicy.action,\n\t\treason: materialPolicy.reason,\n\t\trecoveryClass: materialPolicy.recoveryPlan.recoveryClass,\n\t\tdispatchAction: materialPolicy.recoveryAction.mode,\n\t\tsafeAutoDispatch: false,\n\t\texpectedSafeAutoDispatch: false,\n\t\tproductRepairAllowed: materialPolicy.recoveryAction.productRepairAllowed,\n\t\tloopBudgetShouldReset: materialPolicy.loopBudgetShouldReset,\n\t\tmaterialEvidence: materialPolicy.materialEvidence,\n\t\tevidenceStrength: materialPolicy.evidenceStrength,\n\t\tdetails: { evidenceSignals: materialPolicy.evidenceSignals }\n\t});\n\tconst productPlan = buildResolveIOAIManagerRecoveryPlan({\n\t\taction: 'continue',\n\t\treason: 'business proof still failing',\n\t\tfailureClass: 'product_code',\n\t\tlane: 'repair',\n\t\tstepType: 'repair',\n\t\tblocker: 'Save action still throws TypeError.',\n\t\tproductRepairFailure: true\n\t});\n\tconst productDirective = buildReplayDirectiveFromPlan({\n\t\tsurface,\n\t\tplan: productPlan,\n\t\tcurrent: {\n\t\t\tlane: 'repair',\n\t\t\tstepType: 'repair',\n\t\t\toutcome: 'needs_repair',\n\t\t\tfailureClass: 'product_code',\n\t\t\tblocker: 'Save action still throws TypeError.',\n\t\t\tevidenceHash: 'save-product-repair'\n\t\t}\n\t});\n\tconst productSafe = isResolveIOAIManagerSafeAutoDispatch({\n\t\tdispatchAction: productDirective.dispatchAction,\n\t\tdirective: productDirective,\n\t\tincludeProductRepair: input.includeProductRepair === true\n\t});\n\tcases.push({\n\t\tcaseId: 'product_repair_requires_explicit_operator_policy',\n\t\tsurface,\n\t\tpass: productPlan.recoveryClass === 'product_code_repair'\n\t\t\t&& productDirective.dispatchAction === 'run_targeted_product_repair'\n\t\t\t&& productSafe === false,\n\t\taction: 'continue',\n\t\treason: 'business proof still failing',\n\t\trecoveryClass: productPlan.recoveryClass,\n\t\tdispatchAction: productDirective.dispatchAction,\n\t\tsafeAutoDispatch: productSafe,\n\t\texpectedSafeAutoDispatch: false,\n\t\tproductRepairAllowed: productDirective.canRunProductRepair,\n\t\tloopBudgetShouldReset: false,\n\t\tmaterialEvidence: false,\n\t\tevidenceStrength: 'none',\n\t\tdetails: { phase: productDirective.phase, allowed: productDirective.allowed }\n\t});\n\tconst duplicateReleasePolicy = buildResolveIOAIManagerHotfixFirstReleasePolicy({\n\t\tsurface,\n\t\tdeployFingerprint: `${surface}-artifact-sha`,\n\t\tlastDeployFingerprint: `${surface}-artifact-sha`,\n\t\tdeployStatus: 'completed',\n\t\tpublishStatus: 'published'\n\t});\n\tcases.push({\n\t\tcaseId: 'duplicate_release_fingerprint_blocks_full_deploy',\n\t\tsurface,\n\t\tpass: duplicateReleasePolicy.recommendedAction === 'block_duplicate_deploy'\n\t\t\t&& duplicateReleasePolicy.duplicateDeployBlocked === true\n\t\t\t&& duplicateReleasePolicy.fullDeployAllowed === false,\n\t\taction: duplicateReleasePolicy.recommendedAction,\n\t\treason: duplicateReleasePolicy.reason,\n\t\trecoveryClass: 'release_repair',\n\t\tdispatchAction: 'run_release_repair',\n\t\tsafeAutoDispatch: includeReleaseRepair,\n\t\texpectedSafeAutoDispatch: includeReleaseRepair,\n\t\tproductRepairAllowed: false,\n\t\tloopBudgetShouldReset: false,\n\t\tmaterialEvidence: false,\n\t\tevidenceStrength: 'none',\n\t\thotfixFirst: true,\n\t\tfullDeployAllowed: duplicateReleasePolicy.fullDeployAllowed,\n\t\tdetails: { releasePolicy: duplicateReleasePolicy }\n\t});\n\treturn cases;\n}\n"]}