borgmcp 2.2.0 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-cmd.js","sourceRoot":"","sources":["../src/update-cmd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,MAAM,cAAc,GAAG,SAAS,CAAC;AACjC,MAAM,cAAc,GAAG,gBAAgB,CAAC;AACxC,MAAM,cAAc,GAAG,gBAAgB,CAAC;AACxC,MAAM,sBAAsB,GAAG,6BAA6B,CAAC;AAC7D,MAAM,WAAW,GAAG,qBAAqB,CAAC;AAC1C,MAAM,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAAC;AACtC,MAAM,YAAY,GAAG,iLAAiL,CAAC;AA4FvM,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,KAAK,YAAY,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;AACrE,CAAC;AAED,SAAS,YAAY,CAAC,KAAc,EAAE,QAAgB;IACpD,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC3D,CAAC;AAED,SAAS,6BAA6B,CAAC,KAAc,EAAE,MAAoB;IACzE,OAAO,CACL,GAAG,YAAY,CAAC,KAAK,EAAE,yBAAyB,CAAC,IAAI;QACrD,0BAA0B;QAC1B,aAAa,cAAc,IAAI,MAAM,CAAC,aAAa,2CAA2C;QAC9F,yDAAyD;QACzD,qCAAqC;QACrC,oCAAoC;QACpC,sCAAsC;QACtC,iCAAiC,CAClC,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,MAAwB,EACxB,MAAwB,EACxB,MAA2B,EAC3B,MAAiC;IAEjC,MAAM,UAAU,GAAG,MAAM,KAAK,IAAI;QAChC,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ;YAC1B,CAAC,CAAC,UAAU,MAAM,CAAC,SAAS,KAAK,MAAM,CAAC,QAAQ,GAAG;YACnD,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,iBAAiB,GAAG,CAAC;IAC1E,OAAO,CACL,0BAA0B;QAC1B,6BAA6B,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,KAAK,cAAc,IAAI,MAAM,CAAC,aAAa,KAAK;QAC1G,wCAAwC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,KAAK,cAAc,IAAI,MAAM,CAAC,aAAa,KAAK;QACrH,uBAAuB,MAAM,EAAE,eAAe,IAAI,aAAa,IAAI;QACnE,yBAAyB,MAAM,EAAE,iBAAiB,IAAI,aAAa,IAAI;QACvE,sBAAsB,MAAM,EAAE,cAAc,IAAI,aAAa,IAAI;QACjE,wBAAwB,MAAM,EAAE,gBAAgB,IAAI,aAAa,IAAI;QACrE,oBAAoB,UAAU,IAAI,CACnC,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAa;IAC/C,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACtE,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC9C,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC7C,OAAO,KAAK,CAAC,MAAM,KAAK,EAAE,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,OAAO,CAAC;IACrE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3B,OAAO,CACL,GAAG,CAAC,QAAQ,KAAK,QAAQ;YACzB,GAAG,CAAC,MAAM,KAAK,KAAK;YACpB,GAAG,CAAC,QAAQ,KAAK,EAAE;YACnB,GAAG,CAAC,QAAQ,KAAK,EAAE;YACnB,GAAG,CAAC,QAAQ,KAAK,GAAG;YACpB,GAAG,CAAC,MAAM,KAAK,EAAE;YACjB,GAAG,CAAC,IAAI,KAAK,EAAE,CAChB,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,IAAuB,EACvB,iBAAiB,GAAG,KAAK;IAEzB,IAAI,GAAG,GAAG,KAAK,CAAC;IAChB,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,IAAI,aAAiC,CAAC;IACtC,IAAI,aAAiC,CAAC;IACtC,IAAI,aAAkC,CAAC;IACvC,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAE9B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACpC,GAAG,GAAG,IAAI,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC5C,IAAI,GAAG,IAAI,CAAC;QACd,CAAC;aAAM,IAAI,GAAG,KAAK,iBAAiB,IAAI,GAAG,KAAK,iBAAiB,IAAI,GAAG,KAAK,kBAAkB,EAAE,CAAC;YAChG,iBAAiB,GAAG,IAAI,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,KAAK;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,GAAG,mBAAmB,EAAE,CAAC;YACnE,KAAK,IAAI,CAAC,CAAC;YACX,IAAI,GAAG,KAAK,iBAAiB;gBAAE,aAAa,GAAG,KAAK,CAAC;YACrD,IAAI,GAAG,KAAK,iBAAiB;gBAAE,aAAa,GAAG,KAAK,CAAC;YACrD,IAAI,GAAG,KAAK,kBAAkB,EAAE,CAAC;gBAC/B,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBACtC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,qCAAqC,EAAE,CAAC;gBACrE,CAAC;gBACD,aAAa,GAAG,KAAK,KAAK,KAAK,CAAC;YAClC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,GAAG,EAAE,EAAE,CAAC;QACxD,CAAC;IACH,CAAC;IAED,IAAI,iBAAiB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC5C,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,6CAA6C,EAAE,CAAC;IAC7E,CAAC;IACD,IAAI,iBAAiB,EAAE,CAAC;QACtB,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YACpE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,gFAAgF,EAAE,CAAC;QAChH,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,CAAC;YACnE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,sDAAsD,EAAE,CAAC;QACtF,CAAC;QACD,OAAO;YACL,EAAE,EAAE,IAAI;YACR,GAAG;YACH,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/B,MAAM,EAAE,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE;SACxD,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAC5D,CAAC;AAED,SAAS,wBAAwB,CAC/B,KAAuB,EACvB,YAA2D;IAE3D,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CAAC,gCAAgC,YAAY,oBAAoB,CAAC,CAAC;IACpF,CAAC;IACD,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,6BAA6B,YAAY,oBAAoB,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,iCAAiC,YAAY,IAAI,cAAc,aAAa,CAAC,CAAC;IAChG,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,MAAgC,EAChC,IAAgB;IAEhB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACzC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,IAAI,QAAQ,CAAC;QACxE,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,IAAI,QAAQ,CAAC;KACzE,CAAC,CAAC;IACH,wBAAwB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACjD,wBAAwB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACjD,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;QACnG,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,MAAM,CAAC,aAAa,KAAK,MAAM,CAAC,aAAa,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CACb,mCAAmC,cAAc,IAAI,MAAM,CAAC,OAAO,SAAS,cAAc,IAAI,MAAM,CAAC,aAAa,IAAI;YACtH,GAAG,cAAc,IAAI,MAAM,CAAC,OAAO,SAAS,cAAc,IAAI,MAAM,CAAC,aAAa,IAAI;YACtF,6DAA6D,CAC9D,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC5B,CAAC;AAED,SAAS,eAAe,CACtB,SAA2B,EAC3B,SAA2B;IAE3B,IACE,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI;QACjC,SAAS,CAAC,OAAO,KAAK,SAAS,CAAC,OAAO;QACvC,SAAS,CAAC,aAAa,KAAK,SAAS,CAAC,aAAa,EACnD,CAAC;QACD,MAAM,IAAI,KAAK,CACb,GAAG,SAAS,CAAC,IAAI,+CAA+C,SAAS,CAAC,OAAO,QAAQ;YACzF,GAAG,cAAc,IAAI,SAAS,CAAC,aAAa,EAAE,CAC/C,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAe;IAC1C,OAAO,GAAG,cAAc,IAAI,OAAO,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,wBAAwB,IAAI,CAC7D,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,CAAC,UAAU,CAAC,sCAAsC,CAAC;QACxD,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,sCAAsC,CAAC,MAAM,CAAC,CAAC,CAC1E,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC;QACtB,QAAQ;QACR,sBAAsB;QACtB,kBAAkB;QAClB,oBAAoB;QACpB,iBAAiB;QACjB,mBAAmB;QACnB,gBAAgB;QAChB,UAAU;QACV,MAAM;QACN,iBAAiB;QACjB,eAAe;QACf,aAAa;KACd,CAAC,CAAC;IACH,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,GAAG,EAAE,CAAC,CAAC;IACxF,CAAC;IACD,IACE,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC;QAC5D,OAAO,MAAM,CAAC,oBAAoB,KAAK,QAAQ;QAC/C,CAAC,MAAM,CAAC,gBAAgB,KAAK,IAAI,IAAI,OAAO,MAAM,CAAC,gBAAgB,KAAK,QAAQ,CAAC;QACjF,CAAC,MAAM,CAAC,kBAAkB,KAAK,IAAI,IAAI,OAAO,MAAM,CAAC,kBAAkB,KAAK,QAAQ,CAAC;QACrF,CAAC,MAAM,CAAC,eAAe,KAAK,IAAI,IAAI,OAAO,MAAM,CAAC,eAAe,KAAK,QAAQ,CAAC;QAC/E,CAAC,MAAM,CAAC,iBAAiB,KAAK,IAAI,IAAI,OAAO,MAAM,CAAC,iBAAiB,KAAK,QAAQ,CAAC;QACnF,CAAC,MAAM,CAAC,cAAc,KAAK,IAAI,IAAI,OAAO,MAAM,CAAC,cAAc,KAAK,QAAQ,CAAC;QAC7E,CAAC,MAAM,CAAC,QAAQ,KAAK,IAAI,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC;QACjE,CAAC,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAc,CAAC;QAC/E,CAAC,MAAM,CAAC,eAAe,KAAK,IAAI,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,CAAC;QACjH,CAAC,MAAM,CAAC,aAAa,KAAK,WAAW,IAAI,MAAM,CAAC,aAAa,KAAK,aAAa,CAAC;QAChF,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,EACjC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IACD,IACE,CAAC,MAAM,CAAC,kBAAkB,KAAK,IAAI,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9F,CAAC,MAAM,CAAC,iBAAiB,KAAK,IAAI,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAC5F,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IACD,IACE,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,CAC9B,MAAM,CAAC,eAAe,KAAK,IAAI;QAC/B,MAAM,CAAC,iBAAiB,KAAK,IAAI;QACjC,MAAM,CAAC,cAAc,KAAK,IAAI;QAC9B,MAAM,CAAC,QAAQ,KAAK,IAAI;QACxB,MAAM,CAAC,IAAI,KAAK,SAAS;QACzB,MAAM,CAAC,eAAe,KAAK,IAAI,CAChC,CAAC;QACF,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,EAC1D,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,MAAM;QACpB,mBAAmB,EAAE,MAAM,CAAC,oBAAoB;QAChD,eAAe,EAAE,MAAM,CAAC,gBAAgB;QACxC,iBAAiB,EAAE,MAAM,CAAC,kBAAkB;QAC5C,cAAc,EAAE,MAAM,CAAC,eAAe;QACtC,gBAAgB,EAAE,MAAM,CAAC,iBAAiB;QAC1C,aAAa,EAAE,MAAM,CAAC,cAAc;QACpC,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,IAAI,EAAE,MAAM,CAAC,IAA4B;QACzC,cAAc,EAAE,MAAM,CAAC,eAAe;QACtC,YAAY,EAAE,MAAM,CAAC,aAAa;QAClC,UAAU,EAAE,MAAM,CAAC,WAAW;KAC/B,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IACD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxC,IACE,WAAW,CAAC,MAAM,KAAK,CAAC;YACxB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAChG,CAAC,MAAM,CAAC,UAAU,KAAK,8BAA8B,IAAI,MAAM,CAAC,UAAU,KAAK,mBAAmB,CAAC;YACnG,CAAC,CAAC,qBAAqB,EAAE,UAAU,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAkB,CAAC;YACtG,MAAM,CAAC,aAAa,KAAK,WAAW;YACpC,CAAC,MAAM,CAAC,UAAU,KAAK,8BAA8B,IAAI,MAAM,CAAC,QAAQ,KAAK,qBAAqB,CAAC;YACnG,CAAC,MAAM,CAAC,UAAU,KAAK,mBAAmB,IAAI,MAAM,CAAC,QAAQ,KAAK,qBAAqB,CAAC,EACxF,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QACD,OAAO;YACL,MAAM,EAAE,QAAQ;YAChB,SAAS,EAAE,MAAM,CAAC,UAAU;YAC5B,QAAQ,EAAE,MAAM,CAAC,QAA2C;SAC7D,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC;QACtB,QAAQ;QACR,sBAAsB;QACtB,UAAU;QACV,oBAAoB;QACpB,iBAAiB;QACjB,gBAAgB;QAChB,MAAM;QACN,eAAe;QACf,aAAa;KACd,CAAC,CAAC;IACH,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,GAAG,EAAE,CAAC,CAAC;IACxF,CAAC;IACD,IACE,CAAC,MAAM,CAAC,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC;QAC7D,OAAO,MAAM,CAAC,oBAAoB,KAAK,QAAQ;QAC/C,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;QACnC,OAAO,MAAM,CAAC,kBAAkB,KAAK,QAAQ;QAC7C,CAAC,MAAM,CAAC,eAAe,KAAK,IAAI,IAAI,OAAO,MAAM,CAAC,eAAe,KAAK,QAAQ,CAAC;QAC/E,CAAC,MAAM,CAAC,cAAc,KAAK,IAAI,IAAI,OAAO,MAAM,CAAC,cAAc,KAAK,QAAQ,CAAC;QAC7E,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC;QACxD,MAAM,CAAC,aAAa,KAAK,WAAW;QACpC,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC;QACjC,CAAC,0BAA0B,CAAC,MAAM,CAAC,kBAAkB,CAAC,EACtD,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IACD,IACE,CAAC,MAAM,CAAC,MAAM,KAAK,UAAU,IAAI,CAAC,MAAM,CAAC,eAAe,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAChG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,OAAO,MAAM,CAAC,eAAe,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,EAC1G,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IACD,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,mBAAmB,EAAE,MAAM,CAAC,oBAAoB;QAChD,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,iBAAiB,EAAE,MAAM,CAAC,kBAAkB;QAC5C,cAAc,EAAE,MAAM,CAAC,eAAe;QACtC,aAAa,EAAE,MAAM,CAAC,cAAc;QACpC,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,UAAU,EAAE,MAAM,CAAC,WAAW;KAC/B,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAoB,EAAE,MAAwB;IACxE,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACrD,IACE,MAAM,CAAC,mBAAmB,KAAK,QAAQ;QACvC,MAAM,CAAC,eAAe,KAAK,QAAQ;QACnC,MAAM,CAAC,iBAAiB,KAAK,MAAM,CAAC,SAAS;QAC7C,MAAM,CAAC,UAAU,KAAK,IAAI,EAC1B,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,sGAAsG,CAAC,CAAC;IAC1H,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,IACE,MAAM,CAAC,cAAc,KAAK,IAAI;YAC9B,MAAM,CAAC,gBAAgB,KAAK,IAAI;YAChC,MAAM,CAAC,aAAa,KAAK,IAAI;YAC7B,MAAM,CAAC,QAAQ,KAAK,IAAI;YACxB,MAAM,CAAC,IAAI,KAAK,SAAS;YACzB,MAAM,CAAC,cAAc,KAAK,IAAI;YAC9B,MAAM,CAAC,YAAY,KAAK,WAAW,EACnC,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;QACjG,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IACE,MAAM,CAAC,cAAc,KAAK,QAAQ;QAClC,MAAM,CAAC,gBAAgB,KAAK,MAAM,CAAC,SAAS;QAC5C,MAAM,CAAC,IAAI,KAAK,SAAS;QACzB,MAAM,CAAC,YAAY,KAAK,WAAW;QACnC,MAAM,CAAC,QAAQ,KAAK,IAAI;QACxB,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,EAC/B,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAsB,EAAE,IAAgB;IACtE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;QAChC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,IAA4D,CAAC;IACjE,IAAI,MAAwB,CAAC;IAC7B,IAAI,gBAAyC,CAAC;IAC9C,IAAI,CAAC;QACH,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACnD,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;YACnC,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,CAAC,aAAa,EAAE;SACrB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM;YACxB,CAAC,CAAC,6BAA6B,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC;YACtD,CAAC,CAAC,CACA,GAAG,YAAY,CAAC,KAAK,EAAE,yBAAyB,CAAC,IAAI;gBACrD,0BAA0B;gBAC1B,gDAAgD;gBAChD,2DAA2D;gBAC3D,qCAAqC;gBACrC,oCAAoC;gBACpC,8BAA8B,CAC/B,CAAC,CAAC;QACL,OAAO,WAAW,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,EAAE,aAAa,IAAI,gBAAgB,KAAK,IAAI,CAAC;IACpF,IAAI,OAAO,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;QACxE,IAAI,CAAC,MAAM,CACT,2DAA2D;YAC3D,0BAA0B;YAC1B,aAAa,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,KAAK,cAAc,IAAI,MAAM,CAAC,aAAa,KAAK;YAC1F,oCAAoC;YACpC,qCAAqC;YACrC,oCAAoC;YACpC,sCAAsC;YACtC,iCAAiC,CAClC,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,CAAC,MAAM,CACT,yCAAyC;QACzC,aAAa,cAAc,IAAI,MAAM,CAAC,OAAO,OAAO,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI;QAC7F,yBAAyB,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI;QAClD,aAAa,gBAAgB,CAAC,CAAC,CAAC,GAAG,cAAc,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,eAAe,OAAO,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI;QACjJ,yBAAyB,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI;QAClD,iBAAiB,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI;QAChE,mBAAmB,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,sBAAsB,IAAI,CAC5E,CAAC;IAEF,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,CAAC,kGAAkG,CAAC,CAAC;YAChH,OAAO,CAAC,CAAC;QACX,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAC/B,UAAU,cAAc,IAAI,MAAM,CAAC,OAAO,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;YACtE,GAAG,gBAAgB,CAAC,CAAC,CAAC,QAAQ,cAAc,IAAI,gBAAgB,EAAE,OAAO,IAAI,SAAS,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;YACzH,SAAS,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,UAAU,CAC/D,CAAC;QACF,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,2CAA2C,CAAC,CAAC;YACzD,OAAO,CAAC,CAAC;QACX,CAAC;QACD,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,4EAA4E,CAAC,CAAC;YAC1F,OAAO,CAAC,CAAC;QACX,CAAC;QACD,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,qDAAqD,CAAC,CAAC;YACnE,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,aAAa,KAAK,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;QACjG,IAAI,eAAe,GAA4B,IAAI,CAAC;QACpD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC9D,eAAe,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAC7C,eAAe,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9C,MAAM,IAAI,GAAG;gBACX,QAAQ;gBACR,OAAO;gBACP,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;gBACtC,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;gBACtC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;aACpD,CAAC;YACF,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YAC1C,IAAI,CAAC,MAAM,CACT,qCAAqC,YAAY,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK;gBAChF,0BAA0B;gBAC1B,aAAa,eAAe;oBAC1B,CAAC,CAAC,GAAG,eAAe,CAAC,IAAI,IAAI,eAAe,CAAC,OAAO,yBAAyB;oBAC7E,CAAC,CAAC,yCAAyC,IAAI;gBACjD,6CAA6C,gBAAgB;oBAC3D,CAAC,CAAC,GAAG,gBAAgB,CAAC,IAAI,IAAI,gBAAgB,CAAC,OAAO,EAAE;oBACxD,CAAC,CAAC,eAAe,IAAI;gBACvB,qCAAqC;gBACrC,oCAAoC;gBACpC,sCAAsC;gBACtC,iCAAiC,CAClC,CAAC;YACF,OAAO,WAAW,IAAI,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,CACT,GAAG,YAAY,CAAC,KAAK,EAAE,4BAA4B,CAAC,IAAI;YACxD,0BAA0B;YAC1B,iCAAiC;YACjC,wBAAwB,gBAAgB;gBACtC,CAAC,CAAC,GAAG,gBAAgB,CAAC,IAAI,IAAI,gBAAgB,CAAC,OAAO,EAAE;gBACxD,CAAC,CAAC,eAAe,IAAI;YACvB,qCAAqC;YACrC,oCAAoC;YACpC,sCAAsC,CACvC,CAAC;QACF,OAAO,WAAW,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,IAAI,CAAC,MAAM,CACT,WAAW,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,4CAA4C;YAC5F,6DAA6D,CAC9D,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,MAAwB,CAAC;IAC7B,IAAI,CAAC;QACH,IAAI,CAAC,gBAAgB;YAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QACrF,IACE,gBAAgB,CAAC,OAAO,KAAK,IAAI,CAAC,MAAM,CAAC,OAAO;YAChD,gBAAgB,CAAC,aAAa,KAAK,IAAI,CAAC,MAAM,CAAC,aAAa,EAC5D,CAAC;YACD,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC5C,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACnF,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,GAAG,QAAQ,CAAC;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,CACT,wDAAwD,YAAY,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK;YACnG,0BAA0B;YAC1B,aAAa,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,KAAK,cAAc,IAAI,MAAM,CAAC,aAAa,KAAK;YAC1F,6DAA6D;YAC7D,qCAAqC;YACrC,oCAAoC;YACpC,8CAA8C;YAC9C,iCAAiC,CAClC,CAAC;QACF,OAAO,WAAW,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,cAAc,GAAwB,IAAI,CAAC;IAC/C,IAAI,cAAc,GAA8B,IAAI,CAAC;IACrD,IAAI,CAAC;QACH,IAAI,MAAM,GAAG,kBAAkB,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;QACjF,cAAc,GAAG,MAAM,CAAC;QACxB,IAAI,MAAM,CAAC,mBAAmB,KAAK,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5E,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACjF,CAAC;QACD,IAAI,CAAC;YACH,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC;QAAC,MAAM,CAAC;YACP,cAAc,GAAG,IAAI,CAAC;YACtB,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;YACnF,cAAc,GAAG,MAAM,CAAC;YACxB,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,CAAC,SAAS,KAAK,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC;YACpF,CAAC;YACD,MAAM,cAAc,GAAG,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAChE,IACE,MAAM,CAAC,mBAAmB,KAAK,cAAc;gBAC7C,MAAM,CAAC,QAAQ,KAAK,cAAc;gBAClC,MAAM,CAAC,iBAAiB,KAAK,IAAI,CAAC,MAAM,CAAC,SAAS;gBAClD,MAAM,CAAC,UAAU,KAAK,IAAI;gBAC1B,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,cAAc,KAAK,cAAc,CAAC,EACzE,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;YAC5E,CAAC;YACD,MAAM,GAAG,kBAAkB,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC7E,cAAc,GAAG,MAAM,CAAC;QAC1B,CAAC;QACD,MAAM,KAAK,GAAG,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACnD,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,CAAC,aAAa,EAAE;SACrB,CAAC,CAAC;QACH,eAAe,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,WAAW;YAAE,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC7F,eAAe,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAS,CAAC,CAAC;QAC5E,IAAI,CAAC,MAAM,CACT,KAAK,KAAK,SAAS;YACjB,CAAC,CAAC,WAAW,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,QAAQ,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,8BAA8B;YAC7H,CAAC,CAAC,WAAW,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,QAAQ,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,+CAA+C,CACjJ,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,6DAA6D,CAAC,CAAC;QAC3E,OAAO,CAAC,CAAC;IACX,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,CACT,+CAA+C,YAAY,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK;YAC1F,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,CAAC;YACjE,iCAAiC,CAClC,CAAC;QACF,OAAO,WAAW,IAAI,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC;AAQD,MAAM,kBAAmB,SAAQ,KAAK;IAC3B,QAAQ,CAAS;IAE1B,YAAY,MAAsB;QAChC,KAAK,CAAC,sBAAsB,MAAM,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACzD,CAAC;CACF;AAED,SAAS,UAAU,CACjB,OAAe,EACf,IAAuB,EACvB,UAA0D,EAAE;IAE5D,OAAO,IAAI,OAAO,CAAC,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE;QAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE;YACtC,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;YAC/D,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG;SAChC,CAAC,CAAC;QACH,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,IAAI,GAAG,CAAC,KAAY,EAAE,EAAE;YAC5B,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC;QACF,MAAM,MAAM,GAAG,CAAC,OAAe,EAAE,KAAa,EAAU,EAAE;YACxD,MAAM,IAAI,GAAG,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC9C,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,iBAAiB,EAAE,CAAC;gBAChD,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACtB,IAAI,CAAC,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC,CAAC;YAC9D,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QACF,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjF,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjF,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YAClC,IAAI,OAAO;gBAAE,OAAO;YACpB,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;gBACrC,OAAO;YACT,CAAC;YACD,OAAO,GAAG,IAAI,CAAC;YACf,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,IAAY;IAClC,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACjE,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,MAAiC,CAAC;AAC3C,CAAC;AAED,SAAS,UAAU,CAAC,IAAY,EAAE,KAAa;IAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC1B,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,WAAmB,EAAE,IAAuB,EAAE,KAAa;IAChF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACnD,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,gBAAgB,CAAC,CAAC;IACrE,OAAO,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAa;IAC7C,IAAI,UAAkB,CAAC;IACvB,IAAI,CAAC;QACH,UAAU,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,UAAU,KAAK,sBAAsB,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CACb,mDAAmD,sBAAsB,IAAI;YAC7E,kGAAkG,CACnG,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB;IAC9B,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC;IACvF,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IACnC,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,eAAe,CAAC,CAAC;IACvF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,aAAa,CAAC,CAAC;IACjF,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC5C,IAAI,YAAY,KAAK,EAAE,IAAI,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACrF,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AACxD,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,OAAmB;IACjD,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,MAAM,QAAQ,CAAC,aAAa,CAAC,KAAK,OAAO,CAAC,eAAe,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC;IAC/F,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC;IAC3G,IAAI,MAAM,KAAK,OAAO,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC1F,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC;IACrG,IAAI,IAAI,KAAK,OAAO,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IACpF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,UAAU,CAAC,QAAiC,EAAE,OAAe;IACpE,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;IACzB,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IACxC,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1D,MAAM,KAAK,GAAI,GAA+B,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;IAC9C,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,qCAAqC,OAAO,EAAE,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,KAMzC;IACC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9D,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACvD,IAAI,eAAe,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,6CAA6C,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;IACnE,IAAI,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7G,MAAM,IAAI,KAAK,CAAC,aAAa,KAAK,CAAC,IAAI,+BAA+B,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;IACtE,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACvD,IAAI,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,CAAC,OAAO,yCAAyC,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,CAAC,OAAO,oCAAoC,CAAC,CAAC;IACxE,CAAC;IACD,IAAI,MAAM,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,WAAW,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,CAAC,OAAO,8CAA8C,CAAC,CAAC;IAClF,CAAC;IACD,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAClD,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC;IACjG,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3G,MAAM,IAAI,KAAK,CAAC,aAAa,KAAK,CAAC,IAAI,IAAI,cAAc,sBAAsB,CAAC,CAAC;IACnF,CAAC;IACD,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,aAAa,EAAE,MAAM,CAAC,OAAO;QAC7B,WAAW;QACX,OAAO,EAAE,WAAW;KACrB,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,IAAmD,EACnD,OAAmC,EACnC,QAAiB,EACjB,OAAmB;IAEnB,IAAI,WAAmB,CAAC;IACxB,IAAI,CAAC;QACH,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,2BAA2B,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,mBAAmB,CAAC;QACzB,IAAI;QACJ,OAAO;QACP,OAAO,EAAE,OAAO,CAAC,IAAI;QACrB,WAAW;QACX,GAAG,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACrE,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,IAAmD,EACnD,OAAe,EACf,OAAmB;IAEnB,IAAI,OAAO,KAAK,QAAQ,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACxG,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE;QACnD,MAAM;QACN,GAAG,IAAI,IAAI,OAAO,EAAE;QACpB,MAAM;QACN,SAAS;QACT,gBAAgB;QAChB,gBAAgB,cAAc,EAAE;QAChC,cAAc,sBAAsB,EAAE;QACtC,QAAQ;KACT,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC;IACxF,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAA4B,CAAC;IACtE,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,IAAgC;QAC/C,OAAO,EAAE,QAAQ,CAAC,OAAiB;QACnC,SAAS,EAAE,QAAQ,CAAC,gBAAgB,CAAW;QAC/C,aAAa,EAAE,QAAQ,CAAC,gBAAgB,cAAc,EAAE,CAAW;KACpE,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,OAAe;IAC3C,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7E,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;QACrB,WAAW,GAAG,IAAI,CAAC;QACnB,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC,CAAC,CAAC;IACH,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACjE,OAAO,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,WAAW;YAAE,OAAO,aAAa,CAAC;QACtC,IAAK,KAA+B,CAAC,IAAI,KAAK,qBAAqB;YAAE,OAAO,KAAK,CAAC;QAClF,MAAM,KAAK,CAAC;IACd,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,IAAI,cAA+C,CAAC;IACpD,MAAM,OAAO,GAAG,KAAK,IAAyB,EAAE;QAC9C,cAAc,KAAK,iBAAiB,EAAE,CAAC;QACvC,OAAO,gBAAgB,CAAC,MAAM,cAAc,CAAC,CAAC;IAChD,CAAC,CAAC;IACF,OAAO;QACL,aAAa,EAAE,KAAK,IAAI,EAAE;YACxB,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,OAAO,EAAE,CAAC,CAAC;YACrF,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YACxD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,aAAa,EAAE,KAAK,IAAI,EAAE,CAAC,iBAAiB,CAC1C,cAAc,EACd,iBAAiB,EACjB,KAAK,EACL,MAAM,OAAO,EAAE,CAChB;QACD,gBAAgB,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,uBAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,OAAO,EAAE,CAAC;QAClG,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;YACrC,MAAM,GAAG,GAAG,MAAM,OAAO,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE;gBAC/C,SAAS;gBACT,UAAU;gBACV,YAAY,GAAG,CAAC,MAAM,EAAE;gBACxB,cAAc,sBAAsB,EAAE;gBACtC,GAAG,IAAI,IAAI,OAAO,EAAE;aACrB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACtB,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,wBAAwB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACvF,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;YAC/B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,EAAE;gBACpE,OAAO,EAAE,IAAI;gBACb,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE;aAC5C,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC;QACD,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;YACrC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;YAChF,IAAI,MAAe,CAAC;YACpB,IAAI,CAAC;gBACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACrC,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,IAAI,KAAK,CAAC,UAAU,OAAO,wBAAwB,CAAC,CAAC;YAC7D,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC9C,MAAM,IAAI,KAAK,CAAC,UAAU,OAAO,WAAW,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7D,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,qBAAqB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACtC,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAC;YAChD,MAAM,sBAAsB,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,EAAE,cAAc;QACvB,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI;QAC1E,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;QAC5C,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;KAC7C,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAAuB,EACvB,OAAmB,sBAAsB,EAAE;IAE3C,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACtC,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,GAAG,CAAC,CAAC;IAChF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,2CAA2C,CAAC,CAAC;QACxE,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;QAChC,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACjC,CAAC"}
@@ -22,7 +22,7 @@ The extraction copied the monorepo's `client/src/` production boundary and top-l
22
22
  recovery, `2.0.2`, `2.0.3`, `2.0.4`, `2.0.5`, and `2.0.6` successors were
23
23
  published and registry-verified. The immutable `2.0.7` workflow failed before
24
24
  package creation or npm publication. The `2.0.8`, `2.0.9`, `2.0.10`, `2.0.11`,
25
- `2.1.0`, and `2.1.1` successors were published, so the next candidate identity is `2.2.0`. Extraction and
25
+ `2.1.0`, and `2.1.1` successors were published, and `2.2.0` was subsequently published, so the next candidate identity is `2.3.0`. Extraction and
26
26
  versioning do not authorize publication.
27
27
 
28
28
  ## Review Holds
@@ -42,7 +42,7 @@ resolves to the audited registry `borgmcp-shared@0.6.4` with integrity
42
42
  `sha512-Wm4b0uoOAw9JCz5OTHD0Q2uXKkeWYdkVksdeZvRG8l62XGMY+G8GkNEsZT9L533LbVbQ29GhgF0htjDenQThDg==`.
43
43
  The matching `borgmcp-server@0.1.21` release is published with integrity
44
44
  `sha512-g0QH4cKcsKuDyZs1MvBmvCoCLaZ4wVI04yHCGSvcAeWghWxSBH0IIF8Q5OFi1pLB7TZXOVP6D3QAabUQ2eJTFg==`
45
- and pins the same `borgmcp-shared@0.6.4` contract. Client `borgmcp@2.1.1` is published. The immutable `v2.0.7`
45
+ and pins the same `borgmcp-shared@0.6.4` contract. Client `borgmcp@2.2.0` is published. The immutable `v2.0.7`
46
46
  attempt failed before publication and remains preserved. Publication of the next
47
- candidate remains gated by reviewed `v2.2.0` source, a fresh annotated tag, and
47
+ candidate remains gated by reviewed `v2.3.0` source, a fresh annotated tag, and
48
48
  the exact-artifact and protected-publication gates.
@@ -129,6 +129,45 @@ create distinct bounded cubes. An ordinary enrolled client is denied before a
129
129
  create request is sent. Cloud-only capabilities fail explicitly rather than
130
130
  being redirected.
131
131
 
132
+ ## Updating Borg
133
+
134
+ For an npm-global installation, use the whole-product command:
135
+
136
+ ```bash
137
+ borg update
138
+ ```
139
+
140
+ The command performs a zero-mutation registry preflight for the exact proposed
141
+ `borgmcp` and `borgmcp-server` versions, their SHA-512 integrity values, and an
142
+ identical exact `borgmcp-shared` dependency pin. Lookup and installation are
143
+ bound to the canonical `https://registry.npmjs.org/` authority and one proven npm
144
+ executable, global prefix, and global root. An alternate configured registry,
145
+ changed npm context, registry failure, malformed manifest, mismatched or ranged
146
+ shared pin, unsupported package manager, or ambiguous binary fails before
147
+ confirmation and mutation with manual-update guidance.
148
+
149
+ The client is installed first. Borg then verifies and re-enters through the new
150
+ client binary before any server mutation. If that install, verification, or
151
+ re-entry fails, the server controller and runtime are untouched. When a server
152
+ was already installed, the new client installs the target controller before
153
+ invoking `borg-mcp-server update --json`; this ensures the runtime phase uses the
154
+ current structured contract rather than the stale controller being replaced.
155
+ The client strictly decodes server update and status JSON and never executes a
156
+ rendered `next_action` string.
157
+
158
+ Final verification requires the installed client and server manifests, their
159
+ installed shared packages, controller identity, prepared artifact and integrity,
160
+ and any running artifact and pinned-TLS protocol identity to agree. A previously
161
+ stopped server remains stopped; matching controller and prepared runtime are
162
+ reported as `prepared; still stopped` without inventing a live protocol check.
163
+ An absent server is skipped rather than installed. Partial completion prints the
164
+ safe retry command `borg update --yes`. Borg never starts a stopped server,
165
+ daemonizes, or restarts agent processes.
166
+
167
+ `borg server update` remains the server-runtime-only command. It verifies and
168
+ activates the server artifact but deliberately does not rewrite the global
169
+ controller executable that is running it.
170
+
132
171
  After the first attach, the launched agent should run `borg_whoami` and
133
172
  `borg_roster` to verify its seat and begin coordinating. To create a second seat,
134
173
  the operator runs the explicit local assimilation command from the intended
package/docs/RELEASING.md CHANGED
@@ -118,8 +118,13 @@ The annotated `v2.1.1` tag object
118
118
  `db0a6a76744928e0067eb03b8a236076c56ae758`. Workflow run `30174878044`, attempt 1,
119
119
  successfully published that exact source as `borgmcp@2.1.1`; the same-run artifact report records integrity
120
120
  `sha512-nZJ3i6LBIj/4743mqVRJTUH3YGmC8HfC/NuQb7eOv+/K/dyBogDnwZ3opiZiZSe4LE5CXuG72Sip7cPRoCoZrA==`.
121
+ Never move, replace, reuse, or rerun that tag or workflow. The annotated `v2.2.0` tag object
122
+ `edf12fcd4c56eb0ad59917269aaeee223b36bd53` peels to protected-main commit
123
+ `db4f374e88c24dadee47d5400537890cad1e5f40`. Workflow run `30195666955`, attempt 1,
124
+ successfully published that exact source as `borgmcp@2.2.0`; the same-run artifact report records integrity
125
+ `sha512-Pi3rpQH6f+V67OPoRIwyKjOFrCJ5y/39knCayExBmnMC5Urb8m+m9UQVNV7cWMuhd3S3WMM6JOkgcIYOVhWnxg==`.
121
126
  Never move, replace, reuse, or rerun that tag or workflow. The next candidate
122
- uses the unused `v2.2.0` identity from a fresh reviewed protected-main commit
127
+ uses the unused `v2.3.0` identity from a fresh reviewed protected-main commit
123
128
  and requires the complete release gate again.
124
129
 
125
130
  ## Release Prerequisites
@@ -149,6 +154,55 @@ Before creating the release tag, independently verify all of these conditions:
149
154
  machine-checkable. A release tag created before they are resolved fails before
150
155
  dependency installation or publication.
151
156
 
157
+ ### Release identity preparation
158
+
159
+ Prepare the next stable identity only from a clean protected-main checkout. The
160
+ command requires evidence for the version being superseded because a workflow
161
+ run and artifact integrity cannot be derived from the repository tree:
162
+
163
+ ```sh
164
+ npm run release:prepare -- 2.3.0 \
165
+ --workflow-run-id 30195666955 \
166
+ --workflow-run-attempt 1 \
167
+ --artifact-integrity 'sha512-...'
168
+ ```
169
+
170
+ The command independently verifies the annotated tag, its peeled commit, the
171
+ exact successful tag-workflow attempt, and npm artifact integrity before writing
172
+ anything. It then deterministically updates only the manifest version, the two
173
+ root lockfile version fields, the extraction ledger, this document's immutable
174
+ release record, and the release-lane current-version/evidence assertions.
175
+
176
+ Release branches use the `release/` prefix and enter protected `main` through a
177
+ pull request. A direct push only updates the staging branch; it does
178
+ not produce a release-identity verdict and grants no review skip, merge
179
+ authority, or release authority.
180
+
181
+ For a pull request from a same-repository `release/` branch, the dedicated
182
+ release-identity workflow is loaded from the exact protected base commit. It
183
+ checks out that base, fetches the exact candidate commit into the Git object
184
+ database without checking it out, and invokes the base commit's verifier with
185
+ explicit base and candidate SHAs. It does not install or execute candidate
186
+ dependencies, package scripts, workflow code, actions, or verifier code. The
187
+ candidate is treated only as Git tree and blob data.
188
+
189
+ To reproduce the classification locally, resolve and pass exact commit SHAs:
190
+
191
+ ```sh
192
+ base_sha=$(git rev-parse origin/main)
193
+ candidate_sha=$(git rev-parse HEAD)
194
+ npm run verify:release-identity -- --base "$base_sha" --candidate "$candidate_sha"
195
+ ```
196
+
197
+ The verifier rechecks the recorded provenance against GitHub, npm, and Git. It
198
+ reconstructs the expected tree in a temporary Git index and requires exact tree
199
+ equality, exact changed paths, and exact per-file shapes. The release-identity
200
+ allowlist must remain byte-identical. The generated no-cloud occurrence allowlist
201
+ must also remain byte-identical; any source-line renumbering makes the commit a
202
+ code change rather than a release-identity change. A commit the classifier
203
+ rejects follows the full code review chain and must never be manually declared
204
+ identity-only.
205
+
152
206
  ## Repository Controls
153
207
 
154
208
  Repository settings are operator-owned and are not changed by this workflow.
@@ -172,6 +226,74 @@ Before preparing a candidate, independently verify:
172
226
 
173
227
  ## Release Workflow
174
228
 
229
+ ### Pre-tag composed exercise
230
+
231
+ Before creating a release tag, exercise the packed client against the selected
232
+ server artifact:
233
+
234
+ ```sh
235
+ npm run release:exercise -- \
236
+ --server /absolute/path/to/borgmcp-server.tgz \
237
+ --server-integrity 'sha512-...'
238
+ ```
239
+
240
+ The server integrity must come from the reviewed producer of that artifact. Run
241
+ the command once with the published counterpart. When the client and server are
242
+ being released together, run it again with the co-releasing server candidate.
243
+ The default path builds and packs the current client; `--client-tarball` exists
244
+ only for reproducing a reviewed packed client or running a negative control.
245
+
246
+ This harness exercises reviewed release candidates and their published
247
+ counterparts. It is not a containment sandbox for hostile or otherwise untrusted
248
+ packages and must not be used as one. The temporary install and data directories
249
+ isolate the reviewed exercise from normal product state; they are not an
250
+ operating-system security boundary.
251
+
252
+ The harness requires Node.js 22, npm 11.18.0, Python 3, and macOS or Linux. It
253
+ installs both tarballs into a private temporary project, bootstraps isolated
254
+ server data, and starts the installed server directly. It never uses
255
+ `borg server setup`, because registry-backed activation would select the
256
+ previously published server instead of a candidate.
257
+
258
+ Both composed terminal journeys run under a real PTY:
259
+
260
+ - `borg server dashboard` must render the attached-viewer footer, exit cleanly
261
+ on Ctrl-C, restore the cursor and alternate screen, and leave the server's
262
+ pinned-TLS process healthy at `GET /healthz` (204, empty body).
263
+ - `borg server start` must render the foreground-server footer, exit cleanly on
264
+ Ctrl-C, restore the terminal, stop the server, and release its health endpoint.
265
+
266
+ The client facade resolves `borg-mcp-server` by bare name. The harness therefore
267
+ uses a controlled shim only to arrange resolution, then verifies the outcome:
268
+ before trusting a frame, it reads the live process command and requires the
269
+ absolute installed server entry. Every client or server executable must resolve
270
+ inside the installed package root covered by the SRI cited for that role. Its
271
+ JSON report records the absolute path, version, and independently supplied
272
+ integrity for the client, dashboard listener, dashboard viewer, and foreground
273
+ listener/viewer roles. PATH ordering alone is never accepted as identity evidence.
274
+
275
+ The harness is a fail-closed release gate. A missing frame, non-PTY execution,
276
+ wrong journey footer, substituted artifact, nonzero exit, absent terminal
277
+ restore sequence, failed post-exit health assertion, timeout, or oversized
278
+ transcript fails the command. Its controls must remain demonstrably bidirectional:
279
+ the current client/server pairing passes; and a deliberately wrong server
280
+ integrity fails before either journey starts.
281
+
282
+ The terminal-restore negative control is specifically the packed pre-#146 client
283
+ from commit `81da7b970ffb4e76a35c7bc551c419fec702a3b6` composed with published
284
+ `borgmcp-server@0.2.0`, registry integrity
285
+ `sha512-squb0+vdy0q7l/4FeV7OTvSm7OiFWGsAjGhcVEXYrQc9K/8jJYduqPS90VBwaJRT6z221Gxf3xQ5SeZe/Qoncw==`.
286
+ That composition must fail on the missing cursor-restore sequence. A newer server
287
+ candidate can mask the old client's defect and is not a valid counterpart for
288
+ this negative control.
289
+
290
+ ```sh
291
+ npm run release:exercise -- \
292
+ --server borgmcp-server@0.2.0 \
293
+ --server-integrity 'sha512-squb0+vdy0q7l/4FeV7OTvSm7OiFWGsAjGhcVEXYrQc9K/8jJYduqPS90VBwaJRT6z221Gxf3xQ5SeZe/Qoncw==' \
294
+ --client-tarball /absolute/path/to/pre-146-borgmcp-2.1.1.tgz
295
+ ```
296
+
175
297
  The only trigger is a protected annotated `v<package version>` tag. Manual
176
298
  dispatch is intentionally absent so a second run cannot rebuild or publish an
177
299
  existing tag. The workflow rejects reruns, root `.npmrc`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "borgmcp",
3
- "version": "2.2.0",
3
+ "version": "2.3.0",
4
4
  "description": "Coordinate AI coding agents in shared cubes. Works with Claude Code, Codex, and OpenCode.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -29,14 +29,17 @@
29
29
  "start": "node dist/index.js",
30
30
  "test": "npm run test:unit && npm run test:release",
31
31
  "test:unit": "vitest run --config vitest.config.ts",
32
- "test:release": "node --test test/release-lane.test.mjs",
32
+ "test:release": "node --test test/release-lane.test.mjs test/release-identity.test.mjs",
33
33
  "onboarding:smoke": "node scripts/onboarding-smoke.mjs",
34
+ "release:prepare": "node scripts/release-identity.mjs prepare",
35
+ "release:exercise": "npm run build && node scripts/release-exercise.mjs",
34
36
  "release:check": "npm run verify:public-source && npm run verify:release && npm run verify:lock && npm run check && npm test && npm run build && npm run onboarding:smoke && npm run verify:package",
35
37
  "verify:artifact": "node scripts/verify-packed-artifact.mjs",
36
38
  "verify:public-source": "node scripts/verify-public-source.mjs",
37
39
  "verify:package": "node scripts/verify-local-package.mjs",
38
40
  "verify:release": "node scripts/verify-release-readiness.mjs",
39
- "verify:lock": "node scripts/verify-lock-registry.mjs"
41
+ "verify:lock": "node scripts/verify-lock-registry.mjs",
42
+ "verify:release-identity": "node scripts/release-identity.mjs verify"
40
43
  },
41
44
  "files": [
42
45
  "dist",
package/src/claude.ts CHANGED
@@ -82,6 +82,7 @@ import { installBorgPlugin } from './opencode-plugin.js';
82
82
  import { connectOpenCodeDrone, computeOpenCodePort, createOpenCodeLaunchKickoff, injectInitialKickoff } from './opencode-drone.js';
83
83
  import { buildOpenCodeLaunchArgs, defaultApprovalIo, resolveLaunchBorgApprovals } from './cli-tool-approval.js';
84
84
  import { runEarlyServerFacade } from './server-facade.js';
85
+ import { runEarlyUpdate } from './update-cmd.js';
85
86
 
86
87
  export type AssimilateDepsBuilder = typeof buildDefaultAssimilateDeps;
87
88
 
@@ -101,6 +102,9 @@ export async function runAssimilateEntry(
101
102
  }
102
103
 
103
104
  async function main() {
105
+ const updateExitCode = await runEarlyUpdate(process.argv);
106
+ if (updateExitCode !== null) process.exit(updateExitCode);
107
+
104
108
  const serverExitCode = await runEarlyServerFacade(process.argv);
105
109
  if (serverExitCode !== null) process.exit(serverExitCode);
106
110
 
package/src/cli-help.ts CHANGED
@@ -27,6 +27,7 @@ export function topLevelHelpText(version: string): string {
27
27
  `Usage:\n` +
28
28
  ` borg Launch your agent CLI; in a TTY, bare borg may show the launch menu\n` +
29
29
  ` borg setup Set up borg MCP server + agent CLI integration\n` +
30
+ ` borg update Update the client and installed local server together\n` +
30
31
  ` borg assimilate [role] Join or create a cube\n` +
31
32
  ` borg assimilate --host <host> Join or create on an explicit server\n` +
32
33
  ` borg assimilate --worktree <name> Spawn a worktree drone (in ~/.borg/worktrees/<repo>/<name>)\n` +
@@ -44,6 +45,25 @@ export function topLevelHelpText(version: string): string {
44
45
  );
45
46
  }
46
47
 
48
+ /** Help for the whole-product, npm-owned update journey. */
49
+ export function updateHelpText(version: string): string {
50
+ return (
51
+ `borg update${version ? ` (borgmcp ${version})` : ''} — update Borg's client and local server together\n\n` +
52
+ `Usage:\n` +
53
+ ` borg update Confirm interactively, then update\n` +
54
+ ` borg update --yes Update without prompting (required outside a TTY)\n` +
55
+ ` borg update --help Show this help\n\n` +
56
+ `Before changing anything, Borg reads the exact published client and server manifests,\n` +
57
+ `requires matching exact borgmcp-shared pins, and verifies canonical npm ownership. The client is\n` +
58
+ `installed first and the update continues under that new client before the server controller\n` +
59
+ `and runtime are updated. Alternate registries and unsupported or ambiguous package-manager\n` +
60
+ `provenance fail closed with manual-update guidance.\n\n` +
61
+ `If no local server is installed, the server phase is skipped. A failure after the client\n` +
62
+ `succeeds is reported as partial completion with the safe retry command. Borg never starts a\n` +
63
+ `stopped server and never restarts agent processes; restart active agent sessions yourself.\n`
64
+ );
65
+ }
66
+
47
67
  /** Product Design-approved client-owned copy for `borg server --help`. */
48
68
  export function serverHelpText(): string {
49
69
  return (
@@ -14,6 +14,7 @@
14
14
  /** The subcommands the claude.ts router dispatches on (lines 107-176). */
15
15
  export const KNOWN_SUBCOMMANDS = [
16
16
  'setup',
17
+ 'update',
17
18
  'assimilate',
18
19
  'reset-local-seat',
19
20
  'spawn',