codex-multi-auth 2.1.13-beta.2 → 2.2.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.
Files changed (179) hide show
  1. package/README.md +3 -3
  2. package/dist/lib/accounts.d.ts.map +1 -1
  3. package/dist/lib/accounts.js +30 -1
  4. package/dist/lib/accounts.js.map +1 -1
  5. package/dist/lib/auth/org-override.d.ts +19 -0
  6. package/dist/lib/auth/org-override.d.ts.map +1 -0
  7. package/dist/lib/auth/org-override.js +23 -0
  8. package/dist/lib/auth/org-override.js.map +1 -0
  9. package/dist/lib/circuit-breaker.d.ts +6 -0
  10. package/dist/lib/circuit-breaker.d.ts.map +1 -1
  11. package/dist/lib/circuit-breaker.js +8 -0
  12. package/dist/lib/circuit-breaker.js.map +1 -1
  13. package/dist/lib/codex-manager/account-manager-commands.d.ts +14 -0
  14. package/dist/lib/codex-manager/account-manager-commands.d.ts.map +1 -0
  15. package/dist/lib/codex-manager/account-manager-commands.js +43 -0
  16. package/dist/lib/codex-manager/account-manager-commands.js.map +1 -0
  17. package/dist/lib/codex-manager/commands/best.d.ts +1 -1
  18. package/dist/lib/codex-manager/commands/best.d.ts.map +1 -1
  19. package/dist/lib/codex-manager/commands/best.js +2 -1
  20. package/dist/lib/codex-manager/commands/best.js.map +1 -1
  21. package/dist/lib/codex-manager/commands/debug-bundle.d.ts +16 -0
  22. package/dist/lib/codex-manager/commands/debug-bundle.d.ts.map +1 -1
  23. package/dist/lib/codex-manager/commands/debug-bundle.js +80 -5
  24. package/dist/lib/codex-manager/commands/debug-bundle.js.map +1 -1
  25. package/dist/lib/codex-manager/commands/forecast.d.ts +1 -1
  26. package/dist/lib/codex-manager/commands/forecast.d.ts.map +1 -1
  27. package/dist/lib/codex-manager/commands/forecast.js +2 -1
  28. package/dist/lib/codex-manager/commands/forecast.js.map +1 -1
  29. package/dist/lib/codex-manager/commands/report.d.ts.map +1 -1
  30. package/dist/lib/codex-manager/commands/report.js +2 -2
  31. package/dist/lib/codex-manager/commands/report.js.map +1 -1
  32. package/dist/lib/codex-manager/commands/status.d.ts +2 -0
  33. package/dist/lib/codex-manager/commands/status.d.ts.map +1 -1
  34. package/dist/lib/codex-manager/commands/status.js +84 -25
  35. package/dist/lib/codex-manager/commands/status.js.map +1 -1
  36. package/dist/lib/codex-manager/commands/switch.d.ts.map +1 -1
  37. package/dist/lib/codex-manager/commands/switch.js +7 -0
  38. package/dist/lib/codex-manager/commands/switch.js.map +1 -1
  39. package/dist/lib/codex-manager/experimental-settings-prompt.d.ts.map +1 -1
  40. package/dist/lib/codex-manager/experimental-settings-prompt.js +13 -3
  41. package/dist/lib/codex-manager/experimental-settings-prompt.js.map +1 -1
  42. package/dist/lib/codex-manager/forecast-report-commands.d.ts.map +1 -1
  43. package/dist/lib/codex-manager/forecast-report-commands.js +3 -3
  44. package/dist/lib/codex-manager/forecast-report-commands.js.map +1 -1
  45. package/dist/lib/codex-manager/repair-commands.d.ts.map +1 -1
  46. package/dist/lib/codex-manager/repair-commands.js +11 -1
  47. package/dist/lib/codex-manager/repair-commands.js.map +1 -1
  48. package/dist/lib/codex-manager/settings-hub/experimental.d.ts.map +1 -1
  49. package/dist/lib/codex-manager/settings-hub/experimental.js +8 -0
  50. package/dist/lib/codex-manager/settings-hub/experimental.js.map +1 -1
  51. package/dist/lib/codex-manager.d.ts +3 -0
  52. package/dist/lib/codex-manager.d.ts.map +1 -1
  53. package/dist/lib/codex-manager.js +53 -65
  54. package/dist/lib/codex-manager.js.map +1 -1
  55. package/dist/lib/config.d.ts.map +1 -1
  56. package/dist/lib/config.js +110 -5
  57. package/dist/lib/config.js.map +1 -1
  58. package/dist/lib/context-overflow.d.ts +7 -2
  59. package/dist/lib/context-overflow.d.ts.map +1 -1
  60. package/dist/lib/context-overflow.js +55 -37
  61. package/dist/lib/context-overflow.js.map +1 -1
  62. package/dist/lib/errors.d.ts +16 -0
  63. package/dist/lib/errors.d.ts.map +1 -1
  64. package/dist/lib/errors.js +23 -0
  65. package/dist/lib/errors.js.map +1 -1
  66. package/dist/lib/local-bridge.d.ts +8 -0
  67. package/dist/lib/local-bridge.d.ts.map +1 -1
  68. package/dist/lib/local-bridge.js +81 -7
  69. package/dist/lib/local-bridge.js.map +1 -1
  70. package/dist/lib/logger.d.ts +9 -1
  71. package/dist/lib/logger.d.ts.map +1 -1
  72. package/dist/lib/logger.js +104 -19
  73. package/dist/lib/logger.js.map +1 -1
  74. package/dist/lib/oc-chatgpt-orchestrator.d.ts +7 -1
  75. package/dist/lib/oc-chatgpt-orchestrator.d.ts.map +1 -1
  76. package/dist/lib/oc-chatgpt-orchestrator.js +68 -9
  77. package/dist/lib/oc-chatgpt-orchestrator.js.map +1 -1
  78. package/dist/lib/policy/runtime-policy.d.ts.map +1 -1
  79. package/dist/lib/policy/runtime-policy.js +15 -1
  80. package/dist/lib/policy/runtime-policy.js.map +1 -1
  81. package/dist/lib/prompts/codex.d.ts.map +1 -1
  82. package/dist/lib/prompts/codex.js +124 -29
  83. package/dist/lib/prompts/codex.js.map +1 -1
  84. package/dist/lib/prompts/fetch-utils.d.ts +72 -0
  85. package/dist/lib/prompts/fetch-utils.d.ts.map +1 -0
  86. package/dist/lib/prompts/fetch-utils.js +165 -0
  87. package/dist/lib/prompts/fetch-utils.js.map +1 -0
  88. package/dist/lib/prompts/host-codex-prompt.d.ts.map +1 -1
  89. package/dist/lib/prompts/host-codex-prompt.js +24 -10
  90. package/dist/lib/prompts/host-codex-prompt.js.map +1 -1
  91. package/dist/lib/quota-cache.d.ts.map +1 -1
  92. package/dist/lib/quota-cache.js +10 -1
  93. package/dist/lib/quota-cache.js.map +1 -1
  94. package/dist/lib/quota-probe.d.ts +21 -0
  95. package/dist/lib/quota-probe.d.ts.map +1 -1
  96. package/dist/lib/quota-probe.js +39 -0
  97. package/dist/lib/quota-probe.js.map +1 -1
  98. package/dist/lib/quota-readiness.d.ts +3 -1
  99. package/dist/lib/quota-readiness.d.ts.map +1 -1
  100. package/dist/lib/quota-readiness.js +16 -3
  101. package/dist/lib/quota-readiness.js.map +1 -1
  102. package/dist/lib/recovery/storage.d.ts +7 -0
  103. package/dist/lib/recovery/storage.d.ts.map +1 -1
  104. package/dist/lib/recovery/storage.js +178 -10
  105. package/dist/lib/recovery/storage.js.map +1 -1
  106. package/dist/lib/refresh-lease.d.ts +1 -1
  107. package/dist/lib/refresh-lease.d.ts.map +1 -1
  108. package/dist/lib/refresh-lease.js +25 -3
  109. package/dist/lib/refresh-lease.js.map +1 -1
  110. package/dist/lib/refresh-queue.d.ts.map +1 -1
  111. package/dist/lib/refresh-queue.js +31 -17
  112. package/dist/lib/refresh-queue.js.map +1 -1
  113. package/dist/lib/request/fetch-helpers.d.ts +0 -5
  114. package/dist/lib/request/fetch-helpers.d.ts.map +1 -1
  115. package/dist/lib/request/fetch-helpers.js +36 -7
  116. package/dist/lib/request/fetch-helpers.js.map +1 -1
  117. package/dist/lib/rotation.d.ts +12 -0
  118. package/dist/lib/rotation.d.ts.map +1 -1
  119. package/dist/lib/rotation.js +36 -0
  120. package/dist/lib/rotation.js.map +1 -1
  121. package/dist/lib/runtime/account-check-types.d.ts +1 -0
  122. package/dist/lib/runtime/account-check-types.d.ts.map +1 -1
  123. package/dist/lib/runtime/account-check-types.js +1 -0
  124. package/dist/lib/runtime/account-check-types.js.map +1 -1
  125. package/dist/lib/runtime/account-check.d.ts.map +1 -1
  126. package/dist/lib/runtime/account-check.js +15 -4
  127. package/dist/lib/runtime/account-check.js.map +1 -1
  128. package/dist/lib/runtime/runtime-observability.d.ts.map +1 -1
  129. package/dist/lib/runtime/runtime-observability.js +24 -2
  130. package/dist/lib/runtime/runtime-observability.js.map +1 -1
  131. package/dist/lib/runtime-rotation-proxy.d.ts +1 -0
  132. package/dist/lib/runtime-rotation-proxy.d.ts.map +1 -1
  133. package/dist/lib/runtime-rotation-proxy.js +163 -16
  134. package/dist/lib/runtime-rotation-proxy.js.map +1 -1
  135. package/dist/lib/storage/account-clear.d.ts.map +1 -1
  136. package/dist/lib/storage/account-clear.js +4 -2
  137. package/dist/lib/storage/account-clear.js.map +1 -1
  138. package/dist/lib/storage/flagged-storage-io.d.ts.map +1 -1
  139. package/dist/lib/storage/flagged-storage-io.js +4 -1
  140. package/dist/lib/storage/flagged-storage-io.js.map +1 -1
  141. package/dist/lib/storage/import-export.d.ts.map +1 -1
  142. package/dist/lib/storage/import-export.js +29 -9
  143. package/dist/lib/storage/import-export.js.map +1 -1
  144. package/dist/lib/storage/paths.d.ts.map +1 -1
  145. package/dist/lib/storage/paths.js +93 -0
  146. package/dist/lib/storage/paths.js.map +1 -1
  147. package/dist/lib/storage/storage-parser.d.ts.map +1 -1
  148. package/dist/lib/storage/storage-parser.js +7 -1
  149. package/dist/lib/storage/storage-parser.js.map +1 -1
  150. package/dist/lib/storage.d.ts.map +1 -1
  151. package/dist/lib/storage.js +13 -9
  152. package/dist/lib/storage.js.map +1 -1
  153. package/dist/lib/table-formatter.d.ts.map +1 -1
  154. package/dist/lib/table-formatter.js +20 -2
  155. package/dist/lib/table-formatter.js.map +1 -1
  156. package/dist/lib/types.d.ts +7 -0
  157. package/dist/lib/types.d.ts.map +1 -1
  158. package/dist/lib/ui/auth-menu.d.ts.map +1 -1
  159. package/dist/lib/ui/auth-menu.js +8 -2
  160. package/dist/lib/ui/auth-menu.js.map +1 -1
  161. package/dist/lib/ui/display-width.d.ts +27 -0
  162. package/dist/lib/ui/display-width.d.ts.map +1 -0
  163. package/dist/lib/ui/display-width.js +194 -0
  164. package/dist/lib/ui/display-width.js.map +1 -0
  165. package/dist/lib/ui/select.d.ts +23 -0
  166. package/dist/lib/ui/select.d.ts.map +1 -1
  167. package/dist/lib/ui/select.js +64 -16
  168. package/dist/lib/ui/select.js.map +1 -1
  169. package/dist/lib/ui/theme.d.ts +13 -0
  170. package/dist/lib/ui/theme.d.ts.map +1 -1
  171. package/dist/lib/ui/theme.js +34 -1
  172. package/dist/lib/ui/theme.js.map +1 -1
  173. package/node_modules/@codex-ai/sdk/dist/index.d.ts +4 -0
  174. package/node_modules/@codex-ai/sdk/dist/index.js +2 -0
  175. package/node_modules/@codex-ai/sdk/package.json +8 -0
  176. package/package.json +9 -6
  177. package/scripts/codex-routing.js +3 -0
  178. package/scripts/codex.js +508 -1
  179. package/scripts/mcodex +117 -0
@@ -1 +1 @@
1
- {"version":3,"file":"auth-menu.js","sourceRoot":"","sources":["../../../lib/ui/auth-menu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,KAAK,IAAI,KAAK,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,MAAM,EAAiB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACnF,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AAuE7D,SAAS,sBAAsB;IAC9B,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACpE,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;AAC9C,CAAC;AAED,SAAS,wBAAwB;IAChC,MAAM,YAAY,GAAG,sBAAsB,EAAE,CAAC;IAC9C,IAAI,CAAC,YAAY;QAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;IACjD,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,KAAK,YAAY,GAAG,CAAC;AACtD,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAyB;IACtD,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,OAAO,KAAK;SACV,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC;SACvC,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAAC;SACrC,IAAI,EAAE,CAAC;AACV,CAAC;AAED,SAAS,kBAAkB,CAAC,SAA6B;IACxD,IAAI,CAAC,SAAS;QAAE,OAAO,OAAO,CAAC;IAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,UAAU,CAAC,CAAC;IAC/D,IAAI,IAAI,IAAI,CAAC;QAAE,OAAO,OAAO,CAAC;IAC9B,IAAI,IAAI,KAAK,CAAC;QAAE,OAAO,WAAW,CAAC;IACnC,IAAI,IAAI,GAAG,CAAC;QAAE,OAAO,GAAG,IAAI,OAAO,CAAC;IACpC,IAAI,IAAI,GAAG,EAAE;QAAE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC;IACrD,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,kBAAkB,EAAE,CAAC;AACjD,CAAC;AAED,SAAS,UAAU,CAAC,SAA6B;IAChD,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IACjC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,kBAAkB,EAAE,CAAC;AACjD,CAAC;AAED,SAAS,WAAW,CAAC,MAAiC;IACrD,MAAM,EAAE,GAAG,mBAAmB,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,CAChB,KAAa,EACb,IAA2D,EAClD,EAAE;QACX,IAAI,EAAE,CAAC,SAAS;YAAE,OAAO,aAAa,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACxD,IAAI,IAAI,KAAK,QAAQ;YAAE,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACpF,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACrF,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACtF,IAAI,IAAI,KAAK,QAAQ;YAAE,OAAO,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAClF,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;IACjD,CAAC,CAAC;IAEF,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC;QAClB,QAAQ,MAAM,EAAE,CAAC;YAChB,KAAK,QAAQ;gBACZ,OAAO,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YACtC,KAAK,IAAI;gBACR,OAAO,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAClC,KAAK,iBAAiB;gBACrB,OAAO,QAAQ,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;YAC/C,KAAK,cAAc;gBAClB,OAAO,QAAQ,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;YAC5C,KAAK,UAAU;gBACd,OAAO,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YACxC,KAAK,SAAS;gBACb,OAAO,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YACtC,KAAK,UAAU;gBACd,OAAO,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YACvC,KAAK,OAAO;gBACX,OAAO,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACpC;gBACC,OAAO,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACtC,CAAC;IACF,CAAC;IAED,QAAQ,MAAM,EAAE,CAAC;QAChB,KAAK,QAAQ;YACZ,OAAO,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACtC,KAAK,IAAI;YACR,OAAO,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAClC,KAAK,iBAAiB;YACrB,OAAO,QAAQ,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;QAC/C,KAAK,cAAc;YAClB,OAAO,QAAQ,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;QAC5C,KAAK,UAAU;YACd,OAAO,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACxC,KAAK,SAAS;YACb,OAAO,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACtC,KAAK,UAAU;YACd,OAAO,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACvC,KAAK,OAAO;YACX,OAAO,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACpC;YACC,OAAO,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;AACF,CAAC;AAED,SAAS,YAAY,CAAC,OAAoB;IACzC,MAAM,aAAa,GAAG,OAAO,CAAC,iBAAiB,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IACvE,MAAM,IAAI,GACT,oBAAoB,CAAC,OAAO,CAAC,KAAK,CAAC;QACnC,oBAAoB,CAAC,OAAO,CAAC,YAAY,CAAC;QAC1C,oBAAoB,CAAC,OAAO,CAAC,SAAS,CAAC;QACvC,WAAW,aAAa,EAAE,CAAC;IAC5B,OAAO,GAAG,aAAa,KAAK,IAAI,EAAE,CAAC;AACpC,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAoB;IAC9C,OAAO;QACN,oBAAoB,CAAC,OAAO,CAAC,KAAK,CAAC;QACnC,oBAAoB,CAAC,OAAO,CAAC,YAAY,CAAC;QAC1C,oBAAoB,CAAC,OAAO,CAAC,SAAS,CAAC;QACvC,MAAM,CAAC,OAAO,CAAC,iBAAiB,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;KACxD;SACC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;SACxF,IAAI,CAAC,GAAG,CAAC;SACT,WAAW,EAAE,CAAC;AACjB,CAAC;AAED,SAAS,eAAe,CAAC,OAAoB;IAC5C,IAAI,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,mBAAmB,KAAK,KAAK;QAAE,OAAO,OAAO,CAAC;IACtF,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;QACxB,KAAK,QAAQ,CAAC;QACd,KAAK,IAAI;YACR,OAAO,OAAO,CAAC;QAChB,KAAK,iBAAiB,CAAC;QACvB,KAAK,cAAc,CAAC;QACpB,KAAK,UAAU;YACd,OAAO,QAAQ,CAAC;QACjB,KAAK,UAAU,CAAC;QAChB,KAAK,OAAO,CAAC;QACb,KAAK,SAAS;YACb,OAAO,KAAK,CAAC;QACd;YACC,OAAO,QAAQ,CAAC;IAClB,CAAC;AACF,CAAC;AAED,SAAS,UAAU,CAAC,MAAiC;IACpD,QAAQ,MAAM,EAAE,CAAC;QAChB,KAAK,QAAQ,CAAC;QACd,KAAK,IAAI;YACR,OAAO,SAAS,CAAC;QAClB,KAAK,iBAAiB,CAAC;QACvB,KAAK,cAAc,CAAC;QACpB,KAAK,UAAU;YACd,OAAO,SAAS,CAAC;QAClB,KAAK,UAAU,CAAC;QAChB,KAAK,OAAO,CAAC;QACb,KAAK,SAAS;YACb,OAAO,QAAQ,CAAC;QACjB;YACC,OAAO,OAAO,CAAC;IACjB,CAAC;AACF,CAAC;AAED,SAAS,UAAU,CAAC,MAAiC;IACpD,OAAO,MAAM,IAAI,SAAS,CAAC;AAC5B,CAAC;AAED,SAAS,kBAAkB,CAAC,MAA4B;IACvD,IAAI,MAAM,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IACzC,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAyB;IACvD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACtE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,2BAA2B,CAAC,OAAe,EAAE,WAAwB;IAC7E,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC7C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,WAAW,GAAG,CAAC;YAAE,SAAS;QACrD,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACpF,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,SAAS;QACvC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAS,qBAAqB,CAAC,YAAoB;IAClD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC;IAClE,IAAI,YAAY,GAAG,EAAE;QAAE,OAAO,GAAG,YAAY,GAAG,CAAC;IACjD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC;IACnD,IAAI,YAAY,GAAG,EAAE,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,YAAY,GAAG,EAAE,CAAC;QAClC,OAAO,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,KAAK,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,YAAY,GAAG,CAAC;IAC1E,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC;IACjD,IAAI,UAAU,GAAG,EAAE,EAAE,CAAC;QACrB,MAAM,OAAO,GAAG,YAAY,GAAG,EAAE,CAAC;QAClC,OAAO,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,KAAK,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC;IACtE,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,UAAU,GAAG,EAAE,CAAC;IAC9B,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC;AACtD,CAAC;AAED,SAAS,mBAAmB,CAAC,SAA6B;IACzD,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9E,MAAM,SAAS,GAAG,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzC,IAAI,SAAS,IAAI,CAAC;QAAE,OAAO,aAAa,CAAC;IACzC,OAAO,SAAS,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC;AACpD,CAAC;AAED,SAAS,cAAc,CACtB,WAA0B,EAC1B,EAA0C;IAE1C,MAAM,KAAK,GAAG,EAAE,CAAC;IACjB,MAAM,KAAK,GAAG,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,GAAG,CAAC;IAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACvE,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC;IAC7C,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC;QAClB,MAAM,IAAI,GAAG,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;QACpF,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,OAAO,GAAG,aAAa,GAAG,YAAY,EAAE,CAAC;IAC1C,CAAC;IACD,IAAI,WAAW,KAAK,IAAI;QAAE,OAAO,GAAG,IAAI,CAAC,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;IACxE,MAAM,KAAK,GAAG,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IAC1F,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACxF,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACxF,OAAO,GAAG,aAAa,GAAG,YAAY,EAAE,CAAC;AAC1C,CAAC;AAED,SAAS,kBAAkB,CAC1B,WAA0B,EAC1B,EAA0C;IAE1C,IAAI,WAAW,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACtC,MAAM,WAAW,GAAG,GAAG,WAAW,GAAG,CAAC;IACtC,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC;QACnB,MAAM,KAAK,GAAG,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QAC1F,OAAO,GAAG,KAAK,GAAG,WAAW,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;IAC9C,CAAC;IACD,MAAM,IAAI,GAAG,wBAAwB,CAAC,WAAW,CAAC,CAAC;IACnD,OAAO,WAAW,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,iBAAiB,CACzB,KAAkB,EAClB,WAA0B,EAC1B,SAA6B,EAC7B,YAAqB,EACrB,EAA0C;IAE1C,MAAM,SAAS,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACzE,MAAM,GAAG,GAAG,cAAc,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,kBAAkB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACpD,IAAI,CAAC,YAAY,EAAE,CAAC;QACnB,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,GAAG,EAAE,CAAC;IAC3E,CAAC;IACD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,GAAG,EAAE,CAAC;IAC3E,CAAC;IACD,MAAM,YAAY,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAClF,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,GAAG,SAAS,IAAI,GAAG,IAAI,YAAY,EAAE,CAAC;IAC9C,CAAC;IACD,OAAO,GAAG,SAAS,IAAI,GAAG,IAAI,OAAO,IAAI,YAAY,EAAE,CAAC;AACzD,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAoB,EAAE,EAA0C;IAC3F,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC;IAC3C,MAAM,YAAY,GAAG,OAAO,CAAC,iBAAiB,KAAK,KAAK,CAAC;IACzD,MAAM,MAAM,GAAG,qBAAqB,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,2BAA2B,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC/G,MAAM,MAAM,GAAG,qBAAqB,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,2BAA2B,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC/G,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,OAAO,CAAC,gBAAgB,KAAK,QAAQ,EAAE,CAAC;QACrE,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,gBAAgB,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC;IAC5F,CAAC;IACD,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,OAAO,CAAC,gBAAgB,KAAK,QAAQ,EAAE,CAAC;QACrE,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,gBAAgB,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC;IAC5F,CAAC;IACD,IAAI,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QAChF,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,eAAe,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAClH,CAAC;IACD,IAAI,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACjF,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,iBAAiB,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,kBAAkB,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACxH,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IACnE,CAAC;IAED,MAAM,SAAS,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;IAC9E,OAAO,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAoB,EAAE,EAA0C;IAC1F,MAAM,OAAO,GAAG,CACf,GAAW,EACX,KAAa,EACb,IAAuE,EACtE,EAAE;QACH,IAAI,CAAC,EAAE,CAAC,SAAS;YAAE,OAAO,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;QAC5C,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,OAAO,GAAG,WAAW,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC;QACpD,CAAC;QACD,OAAO,GAAG,WAAW,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;IAC3E,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC7C,IAAI,OAAO,CAAC,eAAe,KAAK,KAAK,EAAE,CAAC;QACvC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACtG,CAAC;IACD,IAAI,OAAO,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;QACpC,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,YAAY,EAAE,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;IACrG,CAAC;IACD,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACzD,IAAI,gBAAgB,EAAE,CAAC;QACtB,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;QAC7E,CAAC,CAAC,OAAO,CAAC,gBAAgB;QAC1B,CAAC,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACrC,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,IAAI;YAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAE,CAAC;IACX,CAAC;IAED,MAAM,SAAS,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;IAC9E,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACzD,OAAO,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACzE,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,OAAe;IAC/C,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACnC,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9C,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,MAAM,mBAAmB,CAAC,CAAC;QACrE,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACpC,CAAC;YAAS,CAAC;QACV,EAAE,CAAC,KAAK,EAAE,CAAC;IACZ,CAAC;AACF,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAsB;IAC/C,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,gBAAgB,CAAC;QACtB,KAAK,qBAAqB,CAAC;QAC3B,KAAK,iBAAiB,CAAC;QACvB,KAAK,gBAAgB,CAAC;QACtB,KAAK,gBAAgB;YACpB,OAAO,WAAW,MAAM,CAAC,OAAO,CAAC,WAAW,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACxE,KAAK,KAAK,CAAC;QACX,KAAK,UAAU,CAAC;QAChB,KAAK,KAAK,CAAC;QACX,KAAK,UAAU,CAAC;QAChB,KAAK,OAAO,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,YAAY,CAAC;QAClB,KAAK,gBAAgB,CAAC;QACtB,KAAK,QAAQ,CAAC;QACd,KAAK,YAAY,CAAC;QAClB,KAAK,QAAQ;YACZ,OAAO,UAAU,MAAM,CAAC,IAAI,EAAE,CAAC;IACjC,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CACjC,QAAuB,EACvB,UAA2B,EAAE;IAE7B,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,uBAAuB,CAAC,YAAY,CAAC,CAAC;IAC1D,MAAM,EAAE,GAAG,mBAAmB,EAAE,CAAC;IACjC,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,QAAQ,GAAG,YAAY,CAAC;IAC5B,OAAO,IAAI,EAAE,CAAC;QACb,MAAM,gBAAgB,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC1D,MAAM,eAAe,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC;YAClD,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YACrF,CAAC,CAAC,QAAQ,CAAC;QACZ,MAAM,eAAe,GAAG,IAAI,GAAG,EAAuB,CAAC;QACvD,MAAM,2BAA2B,GAAG,IAAI,GAAG,EAAU,CAAC;QACtD,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;YACvC,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC3E,IAAI,eAAe,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAC5C,2BAA2B,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;gBACnD,SAAS;YACV,CAAC;YACD,eAAe,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,KAAK,GAA+B;YACzC,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAClF,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;YAC9E,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;YACnF,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;YACpF,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;YAC7E,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;YACjF,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YACzD,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAClF,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;YACxF,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,KAAK,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE;YACrG,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YACzD,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;SAChF,CAAC;QAEF,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC;gBACV,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,eAAe;gBACvC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,QAAQ,EAAE,IAAI;aACd,CAAC,CAAC;QACJ,CAAC;aAAM,CAAC;YACP,KAAK,CAAC,IAAI,CACT,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;gBAClC,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc;oBAC5C,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACxD,MAAM,YAAY,GAAG,OAAO,CAAC,gBAAgB,KAAK,KAAK;oBACtD,CAAC,CAAC,cAAc;yBACb,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACf,EAAE,CAAC,SAAS;wBACX,CAAC,CAAC,IAAI,aAAa,CAAC,EAAE,EAAE,kBAAkB,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;wBAChG,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,kBAAkB,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAC9D;yBACA,IAAI,CAAC,EAAE,CAAC;oBACX,CAAC,CAAC,EAAE,CAAC;gBACN,MAAM,KAAK,GAAG,OAAO,CAAC,eAAe,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACnF,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9C,MAAM,KAAK,GAAG,EAAE,CAAC,SAAS;oBACzB,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;oBACzF,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;gBACzB,MAAM,KAAK,GAAG,GAAG,KAAK,GAAG,YAAY,GAAG,YAAY,EAAE,CAAC;gBACvD,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAChC,MAAM,QAAQ,GAAG,EAAE,CAAC,SAAS;oBAC5B,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;oBAC9B,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBAChC,OAAO;oBACN,KAAK;oBACL,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC;oBAC/B,KAAK,EAAE,EAAE,IAAI,EAAE,gBAAyB,EAAE,OAAO,EAAE;iBACnD,CAAC;YACH,CAAC,CAAC,CACF,CAAC;QACH,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtE,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/F,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAEvG,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;QACjD,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;QACnD,MAAM,0BAA0B,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,0BAA0B;YAChF,QAAQ,CAAC,CAAC,CAAC,EAAE,0BAA0B;YACvC,KAAK,CAAC;QACP,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,UAAU;YAChD,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU;YACvB,YAAY,CAAC;QACd,MAAM,oBAAoB,GAAG,GAAuB,EAAE;YACrD,MAAM,GAAG,GAAG,OAAO,OAAO,CAAC,aAAa,KAAK,UAAU;gBACtD,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE;gBACzB,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;YACzB,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAClF,CAAC,CAAC;QACF,MAAM,aAAa,GAAG,GAAuB,EAAE;YAC9C,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,oBAAoB,IAAI,gBAAgB,EAAE,CAAC,CAAC;YAC5E,CAAC;YACD,MAAM,UAAU,GAAG,oBAAoB,EAAE,CAAC;YAC1C,IAAI,UAAU,EAAE,CAAC;gBAChB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACxB,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,SAAS,CAAC;YACzC,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC,CAAC;QACF,MAAM,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC9C,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAC;YAC7E,OAAO,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE;YAClC,OAAO,EAAE,wBAAwB,EAAE;YACnC,QAAQ,EAAE,aAAa,EAAE;YACzB,eAAe,EAAE,aAAa;YAC9B,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW;YACnD,WAAW,EAAE,IAAI;YACjB,gBAAgB,EAAE,SAAS;YAC3B,UAAU;YACV,sBAAsB,EAAE,0BAA0B;YAClD,iBAAiB,EAAE,GAAG;YACtB,aAAa,EAAE,aAAa,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;YAC7D,KAAK,EAAE,EAAE,CAAC,KAAK;YACf,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;gBAClC,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;oBACnB,gBAAgB,GAAG,CAAC,gBAAgB,CAAC;oBACrC,OAAO,CAAC,eAAe,EAAE,CAAC;oBAC1B,OAAO,SAAS,CAAC;gBAClB,CAAC;gBACD,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;oBACnB,OAAO,EAAE,IAAI,EAAE,QAAiB,EAAE,CAAC;gBACpC,CAAC;gBACD,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;oBACnB,OAAO,EAAE,IAAI,EAAE,QAAiB,EAAE,CAAC;gBACpC,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC1C,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;oBAC3D,IAAI,2BAA2B,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC7C,OAAO,SAAS,CAAC;oBAClB,CAAC;oBACD,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBAC3C,IAAI,MAAM,EAAE,CAAC;wBACZ,OAAO,EAAE,IAAI,EAAE,qBAA8B,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;oBAClE,CAAC;gBACF,CAAC;gBAED,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC/C,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBACzF,OAAO,SAAS,CAAC;gBAClB,CAAC;gBACD,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,gBAAgB;oBAAE,OAAO,SAAS,CAAC;gBAC/D,OAAO,SAAS,CAAC;YAClB,CAAC;YACD,cAAc,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;gBAC9B,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC/B,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS;oBAAE,OAAO;gBAChG,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC7C,CAAC;SACD,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACvC,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9B,WAAW,GAAG,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC;YACnD,QAAQ,GAAG,eAAe,CAAC;YAC3B,SAAS;QACV,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,sBAAsB,CAAC,CAAC;YACxD,IAAI,CAAC,SAAS;gBAAE,SAAS;QAC1B,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YACtC,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,UAAU,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC3E,IAAI,CAAC,SAAS;gBAAE,SAAS;QAC1B,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YACvC,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,mBAAmB,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACpF,IAAI,CAAC,SAAS;gBAAE,SAAS;QAC1B,CAAC;QACD,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACpC,OAAO,MAAM,CAAC;IACf,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAAoB;IAC5D,MAAM,EAAE,GAAG,mBAAmB,EAAE,CAAC;IACjC,MAAM,MAAM,GACX,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QACzD,CAAC,OAAO,CAAC,OAAO,KAAK,KAAK;YACzB,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS;gBACd,CAAC,CAAC,IAAI,aAAa,CAAC,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE;gBAC/C,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,aAAa,IAAI,CAAC,KAAK,EAAE,CAAC;YACzC,CAAC,CAAC,EAAE,CAAC,CAAC;IACR,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC;IAChD,MAAM,QAAQ,GAAG,UAAU,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,WAAW,EAAE,CAAC;IAClI,IAAI,WAAW,GAAkB,MAAM,CAAC;IAExC,OAAO,IAAI,EAAE,CAAC;QACb,MAAM,KAAK,GAA8B;YACxC,EAAE,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE;YACrD;gBACC,KAAK,EAAE,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO;gBACjG,KAAK,EAAE,QAAQ;gBACf,KAAK,EAAE,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ;aACrD;YACD;gBACC,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC,UAAU;gBACxC,KAAK,EAAE,aAAa;gBACpB,KAAK,EAAE,OAAO;aACd;YACD,EAAE,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;YAC3E,EAAE,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;SACvE,CAAC;QACF,MAAM,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC;QAC5E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAgB,KAAK,EAAE;YACjD,OAAO,EAAE,MAAM;YACf,QAAQ;YACR,IAAI,EAAE,OAAO,CAAC,cAAc,CAAC,IAAI;YACjC,WAAW,EAAE,IAAI;YACjB,gBAAgB,EAAE,SAAS;YAC3B,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,YAAY;YAC9C,aAAa,EAAE,aAAa,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;YAC7D,KAAK,EAAE,EAAE,CAAC,KAAK;YACf,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBAClB,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;gBAClC,IAAI,KAAK,KAAK,GAAG;oBAAE,OAAO,QAAQ,CAAC;gBACnC,IAAI,KAAK,KAAK,GAAG;oBAAE,OAAO,aAAa,CAAC;gBACxC,IAAI,KAAK,KAAK,GAAG;oBAAE,OAAO,SAAS,CAAC;gBACpC,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG;oBAAE,OAAO,QAAQ,CAAC;gBACrE,IAAI,KAAK,KAAK,GAAG;oBAAE,OAAO,QAAQ,CAAC;gBACnC,OAAO,SAAS,CAAC;YAClB,CAAC;YACD,cAAc,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;gBAC9B,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC/B,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS;oBAAE,OAAO;gBAChG,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC;YAC9B,CAAC;SACD,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM;YAAE,OAAO,QAAQ,CAAC;QAC7B,WAAW,GAAG,MAAM,CAAC;QACrB,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACzB,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,UAAU,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACpE,IAAI,CAAC,SAAS;gBAAE,SAAS;QAC1B,CAAC;QACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,mBAAmB,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC7E,IAAI,CAAC,SAAS;gBAAE,SAAS;QAC1B,CAAC;QACD,OAAO,MAAM,CAAC;IACf,CAAC;AACF,CAAC;AAED,OAAO,EAAE,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"auth-menu.js","sourceRoot":"","sources":["../../../lib/ui/auth-menu.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Display-width helpers for terminal layout (ui-02).
3
+ *
4
+ * Terminal alignment math must count *display columns*, not UTF-16 code units.
5
+ * `"漢".length` is 1 but it occupies 2 columns; an emoji like "😀" is 2 columns
6
+ * but length 2 (surrogate pair) — coincidentally right — while a combining mark
7
+ * occupies 0 columns. Using `.length` for padding/truncation therefore misaligns
8
+ * CJK/emoji content.
9
+ *
10
+ * This is a focused, dependency-free implementation covering the common cases:
11
+ * wide East-Asian ranges, zero-width combining marks across Latin/Cyrillic/
12
+ * Hebrew/Arabic/Syriac/Thai/Lao scripts, variation selectors, and grapheme
13
+ * clustering for ZWJ emoji sequences, emoji skin-tone modifiers, and
14
+ * regional-indicator flag pairs. It is not a full ICU east-asian-width table.
15
+ */
16
+ /** Display width of a string in terminal columns (ignores ANSI; pass stripped text). */
17
+ export declare function displayWidth(text: string): number;
18
+ /**
19
+ * Truncate `text` so its display width does not exceed `maxWidth`, returning the
20
+ * kept prefix and its actual display width. Never splits a wide glyph or a
21
+ * grapheme cluster (ZWJ sequence / flag / emoji+modifier) across the boundary.
22
+ */
23
+ export declare function truncateToWidth(text: string, maxWidth: number): {
24
+ text: string;
25
+ width: number;
26
+ };
27
+ //# sourceMappingURL=display-width.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"display-width.d.ts","sourceRoot":"","sources":["../../../lib/ui/display-width.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAqJH,wFAAwF;AACxF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAcjD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC9B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACd;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAejC"}
@@ -0,0 +1,194 @@
1
+ /**
2
+ * Display-width helpers for terminal layout (ui-02).
3
+ *
4
+ * Terminal alignment math must count *display columns*, not UTF-16 code units.
5
+ * `"漢".length` is 1 but it occupies 2 columns; an emoji like "😀" is 2 columns
6
+ * but length 2 (surrogate pair) — coincidentally right — while a combining mark
7
+ * occupies 0 columns. Using `.length` for padding/truncation therefore misaligns
8
+ * CJK/emoji content.
9
+ *
10
+ * This is a focused, dependency-free implementation covering the common cases:
11
+ * wide East-Asian ranges, zero-width combining marks across Latin/Cyrillic/
12
+ * Hebrew/Arabic/Syriac/Thai/Lao scripts, variation selectors, and grapheme
13
+ * clustering for ZWJ emoji sequences, emoji skin-tone modifiers, and
14
+ * regional-indicator flag pairs. It is not a full ICU east-asian-width table.
15
+ */
16
+ /** Zero-width: combining marks, joiners, variation selectors across scripts. */
17
+ function isZeroWidthCodePoint(cp) {
18
+ return (cp === 0x200b || // zero-width space
19
+ cp === 0x200c || // zero-width non-joiner
20
+ cp === 0x200d || // zero-width joiner
21
+ cp === 0xfeff || // zero-width no-break space (BOM)
22
+ (cp >= 0x0300 && cp <= 0x036f) || // combining diacritical marks
23
+ (cp >= 0x0483 && cp <= 0x0489) || // Cyrillic combining
24
+ (cp >= 0x0591 && cp <= 0x05bd) || // Hebrew points
25
+ cp === 0x05bf ||
26
+ cp === 0x05c1 ||
27
+ cp === 0x05c2 ||
28
+ cp === 0x05c4 ||
29
+ cp === 0x05c5 ||
30
+ cp === 0x05c7 ||
31
+ (cp >= 0x0610 && cp <= 0x061a) || // Arabic
32
+ (cp >= 0x064b && cp <= 0x065f) ||
33
+ cp === 0x0670 ||
34
+ (cp >= 0x06d6 && cp <= 0x06dc) ||
35
+ (cp >= 0x06df && cp <= 0x06e4) ||
36
+ (cp >= 0x06e7 && cp <= 0x06e8) ||
37
+ (cp >= 0x06ea && cp <= 0x06ed) ||
38
+ cp === 0x0711 || // Syriac
39
+ (cp >= 0x0730 && cp <= 0x074a) ||
40
+ cp === 0x0e31 || // Thai
41
+ (cp >= 0x0e34 && cp <= 0x0e3a) ||
42
+ (cp >= 0x0e47 && cp <= 0x0e4e) ||
43
+ (cp >= 0x0eb1 && cp <= 0x0ebc) || // Lao (subset)
44
+ (cp >= 0x1ab0 && cp <= 0x1aff) || // combining diacritical marks extended
45
+ (cp >= 0x1dc0 && cp <= 0x1dff) || // combining diacritical marks supplement
46
+ (cp >= 0x20d0 && cp <= 0x20ff) || // combining marks for symbols
47
+ (cp >= 0xfe00 && cp <= 0xfe0f) || // variation selectors
48
+ (cp >= 0xfe20 && cp <= 0xfe2f) || // combining half marks
49
+ (cp >= 0xe0100 && cp <= 0xe01ef) // variation selectors supplement
50
+ );
51
+ }
52
+ /** Emoji skin-tone modifiers attach to the preceding base emoji (zero added width). */
53
+ function isEmojiModifier(cp) {
54
+ return cp >= 0x1f3fb && cp <= 0x1f3ff;
55
+ }
56
+ /** Regional indicator symbols (U+1F1E6–U+1F1FF) pair into a single 2-wide flag. */
57
+ function isRegionalIndicator(cp) {
58
+ return cp >= 0x1f1e6 && cp <= 0x1f1ff;
59
+ }
60
+ /**
61
+ * Emoji / pictographic code points that participate in ZWJ sequences. This is
62
+ * deliberately the emoji blocks only (NOT every 2-wide code point): a ZWJ
63
+ * between wide CJK text (e.g. 漢‍字) must NOT collapse — those are two
64
+ * separate 2-wide glyphs, so gating on emoji-ness keeps that width at 4.
65
+ */
66
+ function isEmojiBase(cp) {
67
+ return ((cp >= 0x1f300 && cp <= 0x1faff) || // misc pictographs, emoji, symbols & pictographs ext
68
+ (cp >= 0x2600 && cp <= 0x27bf) || // misc symbols + dingbats
69
+ (cp >= 0x1f000 && cp <= 0x1f0ff) || // mahjong/domino/playing cards
70
+ cp === 0x2764 // heavy black heart (common ZWJ component)
71
+ );
72
+ }
73
+ /** Returns the number of terminal columns a single code point occupies (0, 1, or 2). */
74
+ function codePointWidth(cp) {
75
+ if (isZeroWidthCodePoint(cp)) {
76
+ return 0;
77
+ }
78
+ // Wide (2-column) ranges: the common CJK + fullwidth + emoji blocks.
79
+ if ((cp >= 0x1100 && cp <= 0x115f) || // Hangul Jamo
80
+ (cp >= 0x2e80 && cp <= 0x303e) || // CJK radicals, Kangxi
81
+ (cp >= 0x3041 && cp <= 0x33ff) || // Hiragana, Katakana, CJK symbols
82
+ (cp >= 0x3400 && cp <= 0x4dbf) || // CJK Ext A
83
+ (cp >= 0x4e00 && cp <= 0x9fff) || // CJK Unified Ideographs
84
+ (cp >= 0xa000 && cp <= 0xa4cf) || // Yi
85
+ (cp >= 0xac00 && cp <= 0xd7a3) || // Hangul syllables
86
+ (cp >= 0xf900 && cp <= 0xfaff) || // CJK compatibility ideographs
87
+ (cp >= 0xfe30 && cp <= 0xfe4f) || // CJK compatibility forms
88
+ (cp >= 0xff00 && cp <= 0xff60) || // Fullwidth forms
89
+ (cp >= 0xffe0 && cp <= 0xffe6) || // Fullwidth signs
90
+ (cp >= 0x1f300 && cp <= 0x1faff) || // emoji & pictographs
91
+ (cp >= 0x20000 && cp <= 0x3fffd) // CJK Ext B+
92
+ ) {
93
+ return 2;
94
+ }
95
+ return 1;
96
+ }
97
+ /**
98
+ * Advance through a grapheme cluster starting at code-point index `i` in `cps`,
99
+ * returning [clusterWidth, nextIndex]. This collapses the three cluster shapes
100
+ * that a naive per-code-point sum overcounts:
101
+ * - ZWJ sequences (e.g. 👨‍👩‍👧): the whole join is one 2-wide glyph.
102
+ * - emoji + skin-tone modifier / variation selector: the modifier adds 0.
103
+ * - regional-indicator pairs (flags): two RIs render as one 2-wide glyph.
104
+ */
105
+ function clusterWidthAt(cps, i) {
106
+ const cp = cps[i];
107
+ if (cp === undefined)
108
+ return [0, i + 1];
109
+ // Regional-indicator flag: consume a pair as a single width-2 glyph.
110
+ if (isRegionalIndicator(cp)) {
111
+ const next = cps[i + 1];
112
+ if (next !== undefined && isRegionalIndicator(next)) {
113
+ return [2, i + 2];
114
+ }
115
+ return [2, i + 1];
116
+ }
117
+ let width = codePointWidth(cp);
118
+ let j = i + 1;
119
+ // Absorb trailing modifiers / combining marks / ZWJ-joined code points so the
120
+ // whole cluster counts as the width of its leading glyph.
121
+ for (; j < cps.length; j += 1) {
122
+ const nxt = cps[j];
123
+ if (nxt === undefined)
124
+ break;
125
+ if (nxt === 0x200d) {
126
+ // ZWJ only forms a single rendered glyph when it joins emoji (e.g.
127
+ // 👨‍👩‍👧). For a ZWJ between non-emoji it is just a zero-width control and
128
+ // the following code point is its own cluster, so only absorb the joined
129
+ // code point when BOTH the leading glyph and the joined one are wide
130
+ // (emoji/pictographic). Otherwise stop and let the joiner count as 0 and
131
+ // the next char count on its own.
132
+ const joined = cps[j + 1];
133
+ if (isEmojiBase(cp) && joined !== undefined && isEmojiBase(joined)) {
134
+ j += 1; // consume the ZWJ and the joined emoji (adds no extra width)
135
+ continue;
136
+ }
137
+ break;
138
+ }
139
+ // U+FE0F (variation selector-16) requests EMOJI presentation, which renders
140
+ // at full width 2 even for bases that are otherwise text-width 1 (e.g. ☀️
141
+ // U+2600, ❤️ U+2764). U+20E3 (combining enclosing keycap) forms keycap
142
+ // emoji like 1️⃣ / #️⃣, also width 2. Promote the cluster accordingly.
143
+ if (nxt === 0xfe0f || nxt === 0x20e3) {
144
+ width = 2;
145
+ continue;
146
+ }
147
+ if (isZeroWidthCodePoint(nxt) || isEmojiModifier(nxt)) {
148
+ continue;
149
+ }
150
+ break;
151
+ }
152
+ return [width, j];
153
+ }
154
+ /** Display width of a string in terminal columns (ignores ANSI; pass stripped text). */
155
+ export function displayWidth(text) {
156
+ const cps = [];
157
+ for (const ch of text) {
158
+ const cp = ch.codePointAt(0);
159
+ if (cp !== undefined)
160
+ cps.push(cp);
161
+ }
162
+ let width = 0;
163
+ let i = 0;
164
+ while (i < cps.length) {
165
+ const [w, next] = clusterWidthAt(cps, i);
166
+ width += w;
167
+ i = next;
168
+ }
169
+ return width;
170
+ }
171
+ /**
172
+ * Truncate `text` so its display width does not exceed `maxWidth`, returning the
173
+ * kept prefix and its actual display width. Never splits a wide glyph or a
174
+ * grapheme cluster (ZWJ sequence / flag / emoji+modifier) across the boundary.
175
+ */
176
+ export function truncateToWidth(text, maxWidth) {
177
+ if (maxWidth <= 0)
178
+ return { text: "", width: 0 };
179
+ const chars = [...text];
180
+ const cps = chars.map((ch) => ch.codePointAt(0) ?? 0);
181
+ let width = 0;
182
+ let out = "";
183
+ let i = 0;
184
+ while (i < cps.length) {
185
+ const [w, next] = clusterWidthAt(cps, i);
186
+ if (width + w > maxWidth)
187
+ break;
188
+ out += chars.slice(i, next).join("");
189
+ width += w;
190
+ i = next;
191
+ }
192
+ return { text: out, width };
193
+ }
194
+ //# sourceMappingURL=display-width.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"display-width.js","sourceRoot":"","sources":["../../../lib/ui/display-width.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,29 @@ export interface SelectOptions<T = string> {
34
34
  requestRerender: () => void;
35
35
  }) => T | null | undefined;
36
36
  }
37
+ /**
38
+ * Truncates a string to at most a given number of visible characters while preserving ANSI SGR sequences.
39
+ *
40
+ * Preserves ANSI color/formatting codes in the returned string and appends "..." (or "." / shorter sequences)
41
+ * as a visible truncation suffix when the visible length exceeds `maxVisibleChars`.
42
+ *
43
+ * Concurrency: function is pure and safe for concurrent use. Filesystem: behavior is independent of OS (including Windows).
44
+ * Token handling: this function does not redact or interpret token semantics; it only preserves ANSI escape sequences.
45
+ *
46
+ * @param input - The input string which may contain ANSI SGR escape sequences.
47
+ * @param maxVisibleChars - Maximum number of visible terminal columns to keep
48
+ * (CJK/emoji count as 2, combining marks as 0); values <= 0 yield an empty
49
+ * string. Measured by display width, not UTF-16 code units, so a wide-glyph
50
+ * label cannot overflow the column budget and wrap to an extra physical row
51
+ * (which would desync the render's up-cursor line accounting).
52
+ * @returns The input string truncated so its visible display width does not
53
+ * exceed `maxVisibleChars`, with ANSI codes preserved and a truncation suffix
54
+ * appended when truncation occurred.
55
+ *
56
+ * @internal Exported for unit testing of ANSI reset placement (ui-01); not part
57
+ * of the public UI surface.
58
+ */
59
+ export declare function truncateAnsi(input: string, maxVisibleChars: number): string;
37
60
  /**
38
61
  * Present an interactive TTY menu, let the user navigate and choose an item.
39
62
  *
@@ -1 +1 @@
1
- {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../lib/ui/select.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,WAAW,QAAQ,CAAC,CAAC,GAAG,MAAM;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,CAAC,CAAC;IACT,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;CAC5C;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,MAAM;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,UAAU,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC;IACnC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,CAChB,OAAO,EAAE;QACR,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACrB,eAAe,EAAE,MAAM,IAAI,CAAC;KAC5B,KACG,IAAI,CAAC;IACV,OAAO,CAAC,EAAE,CACT,KAAK,EAAE,MAAM,EACb,OAAO,EAAE;QACR,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACrB,eAAe,EAAE,MAAM,IAAI,CAAC;KAC5B,KACG,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;CAC1B;AAiHD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAqXlG"}
1
+ {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../lib/ui/select.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,WAAW,QAAQ,CAAC,CAAC,GAAG,MAAM;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,CAAC,CAAC;IACT,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;CAC5C;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,MAAM;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,UAAU,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC;IACnC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,CAChB,OAAO,EAAE;QACR,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACrB,eAAe,EAAE,MAAM,IAAI,CAAC;KAC5B,KACG,IAAI,CAAC;IACV,OAAO,CAAC,EAAE,CACT,KAAK,EAAE,MAAM,EACb,OAAO,EAAE;QACR,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACrB,eAAe,EAAE,MAAM,IAAI,CAAC;KAC5B,KACG,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;CAC1B;AAUD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,CAsC3E;AAgED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CA2YlG"}
@@ -1,4 +1,5 @@
1
1
  import { ANSI, isTTY, parseKey } from "./ansi.js";
2
+ import { displayWidth } from "./display-width.js";
2
3
  const ESCAPE_TIMEOUT_MS = 50;
3
4
  const ANSI_REGEX = /\x1b\[[0-9;]*m/g;
4
5
  const ANSI_LEADING_REGEX = /^\x1b\[[0-9;]*m/;
@@ -15,21 +16,31 @@ function stripAnsi(input) {
15
16
  * Token handling: this function does not redact or interpret token semantics; it only preserves ANSI escape sequences.
16
17
  *
17
18
  * @param input - The input string which may contain ANSI SGR escape sequences.
18
- * @param maxVisibleChars - Maximum number of visible (non-ANSI) characters to keep; values <= 0 yield an empty string.
19
- * @returns The input string truncated so its visible character count does not exceed `maxVisibleChars`, with ANSI codes preserved and a truncation suffix appended when truncation occurred.
19
+ * @param maxVisibleChars - Maximum number of visible terminal columns to keep
20
+ * (CJK/emoji count as 2, combining marks as 0); values <= 0 yield an empty
21
+ * string. Measured by display width, not UTF-16 code units, so a wide-glyph
22
+ * label cannot overflow the column budget and wrap to an extra physical row
23
+ * (which would desync the render's up-cursor line accounting).
24
+ * @returns The input string truncated so its visible display width does not
25
+ * exceed `maxVisibleChars`, with ANSI codes preserved and a truncation suffix
26
+ * appended when truncation occurred.
27
+ *
28
+ * @internal Exported for unit testing of ANSI reset placement (ui-01); not part
29
+ * of the public UI surface.
20
30
  */
21
- function truncateAnsi(input, maxVisibleChars) {
31
+ export function truncateAnsi(input, maxVisibleChars) {
22
32
  if (maxVisibleChars <= 0)
23
33
  return "";
24
34
  const visible = stripAnsi(input);
25
- if (visible.length <= maxVisibleChars)
35
+ if (displayWidth(visible) <= maxVisibleChars)
26
36
  return input;
37
+ // Reserve room for the suffix in display columns ("..." is 3 columns).
27
38
  const suffix = maxVisibleChars >= 3 ? "..." : ".".repeat(maxVisibleChars);
28
- const keep = Math.max(0, maxVisibleChars - suffix.length);
29
- let kept = 0;
39
+ const keep = Math.max(0, maxVisibleChars - displayWidth(suffix));
40
+ let keptWidth = 0;
30
41
  let index = 0;
31
42
  let output = "";
32
- while (index < input.length && kept < keep) {
43
+ while (index < input.length && keptWidth < keep) {
33
44
  if (input[index] === "\x1b") {
34
45
  const match = input.slice(index).match(ANSI_LEADING_REGEX);
35
46
  if (match) {
@@ -38,11 +49,24 @@ function truncateAnsi(input, maxVisibleChars) {
38
49
  continue;
39
50
  }
40
51
  }
41
- output += input[index];
42
- index += 1;
43
- kept += 1;
52
+ // Advance one full code point (surrogate-pair aware) and budget by its
53
+ // display width so a 2-column glyph is never split or allowed to overflow.
54
+ const cp = input.codePointAt(index);
55
+ const ch = cp !== undefined ? String.fromCodePoint(cp) : (input[index] ?? "");
56
+ if (ch === "")
57
+ break;
58
+ const w = displayWidth(ch);
59
+ if (keptWidth + w > keep)
60
+ break;
61
+ output += ch;
62
+ index += ch.length;
63
+ keptWidth += w;
44
64
  }
45
- return output + suffix;
65
+ // ui-01: if the kept portion contains any ANSI escape (e.g. a color that the
66
+ // truncated tail would have closed), append a reset so the color does not bleed
67
+ // past the truncation point into the rest of the terminal line.
68
+ const reset = output.includes("\x1b") ? "\x1b[0m" : "";
69
+ return output + suffix + reset;
46
70
  }
47
71
  /**
48
72
  * Map a MenuItem color to its ANSI SGR color code.
@@ -334,18 +358,42 @@ export async function select(items, options) {
334
358
  clearTimeout(escapeTimeout);
335
359
  escapeTimeout = null;
336
360
  }
361
+ // Tear down the render interval and data listener BEFORE the fragile
362
+ // setRawMode call. setRawMode can throw depending on stream/terminal
363
+ // state; if it did, the old ordering jumped to the empty catch and left
364
+ // the setInterval firing forever — corrupting the terminal and keeping
365
+ // the process alive so the CLI never exits.
366
+ if (refreshTimer) {
367
+ clearInterval(refreshTimer);
368
+ refreshTimer = null;
369
+ }
337
370
  try {
338
371
  stdin.removeListener("data", onKey);
372
+ }
373
+ catch {
374
+ // best effort
375
+ }
376
+ // Each teardown step runs in its own try so a throw in one (setRawMode is
377
+ // notoriously fragile) cannot skip the others. Cursor restoration in
378
+ // particular must always run, or a thrown setRawMode would leave the
379
+ // terminal cursor hidden after the prompt exits.
380
+ try {
339
381
  stdin.setRawMode(wasRaw);
382
+ }
383
+ catch {
384
+ // best effort
385
+ }
386
+ try {
340
387
  stdin.pause();
341
- if (refreshTimer) {
342
- clearInterval(refreshTimer);
343
- refreshTimer = null;
344
- }
388
+ }
389
+ catch {
390
+ // best effort
391
+ }
392
+ try {
345
393
  stdout.write(ANSI.show);
346
394
  }
347
395
  catch {
348
- // best effort cleanup
396
+ // best effort
349
397
  }
350
398
  process.removeListener("SIGINT", onSignal);
351
399
  process.removeListener("SIGTERM", onSignal);
@@ -1 +1 @@
1
- {"version":3,"file":"select.js","sourceRoot":"","sources":["../../../lib/ui/select.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"select.js","sourceRoot":"","sources":["../../../lib/ui/select.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,17 @@ export interface UiTheme {
32
32
  glyphs: UiGlyphSet;
33
33
  colors: UiThemeColors;
34
34
  }
35
+ /**
36
+ * Decide whether ANSI color output should be suppressed (ui-04).
37
+ *
38
+ * Honors the de-facto conventions:
39
+ * - NO_COLOR set (to anything) disables color (https://no-color.org)
40
+ * - FORCE_COLOR overrides: "0"/"false" forces off, any other value forces on
41
+ * - otherwise, color is off when stdout is not a TTY (piped/redirected)
42
+ *
43
+ * Injectable env/isTTY keep this unit-testable.
44
+ */
45
+ export declare function shouldDisableColor(env?: NodeJS.ProcessEnv, isTTY?: boolean): boolean;
35
46
  /**
36
47
  * Create a UI theme object for terminal rendering.
37
48
  *
@@ -40,6 +51,7 @@ export interface UiTheme {
40
51
  * - glyphMode: glyph rendering mode; defaults to `"ascii"`.
41
52
  * - palette: overall palette variant; defaults to `"green"`.
42
53
  * - accent: accent color selection; defaults to `"green"`.
54
+ * - disableColor: force the color-stripped theme regardless of env/TTY.
43
55
  * @returns The constructed UiTheme object containing `profile`, `glyphMode`, `glyphs`, and `colors`.
44
56
  *
45
57
  * @remarks
@@ -52,5 +64,6 @@ export declare function createUiTheme(options?: {
52
64
  glyphMode?: UiGlyphMode;
53
65
  palette?: UiPalette;
54
66
  accent?: UiAccent;
67
+ disableColor?: boolean;
55
68
  }): UiTheme;
56
69
  //# sourceMappingURL=theme.d.ts.map