@cbnventures/nova 0.12.0 → 0.13.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 (183) hide show
  1. package/build/eslint.config.d.ts +32 -1
  2. package/build/eslint.config.d.ts.map +1 -1
  3. package/build/eslint.config.js +9 -1
  4. package/build/eslint.config.js.map +1 -1
  5. package/build/package.json +63 -59
  6. package/build/src/api/node-releases.d.ts +7 -0
  7. package/build/src/api/node-releases.d.ts.map +1 -0
  8. package/build/src/api/node-releases.js +67 -0
  9. package/build/src/api/node-releases.js.map +1 -0
  10. package/build/src/api/spdx-licenses.d.ts +7 -0
  11. package/build/src/api/spdx-licenses.d.ts.map +1 -0
  12. package/build/src/api/spdx-licenses.js +43 -0
  13. package/build/src/api/spdx-licenses.js.map +1 -0
  14. package/build/src/cli/index.js +60 -18
  15. package/build/src/cli/index.js.map +1 -1
  16. package/build/src/cli/recipe/pin-versions.d.ts +7 -0
  17. package/build/src/cli/recipe/pin-versions.d.ts.map +1 -0
  18. package/build/src/cli/recipe/pin-versions.js +145 -0
  19. package/build/src/cli/recipe/pin-versions.js.map +1 -0
  20. package/build/src/cli/recipe/sync-lts-engines.d.ts +6 -0
  21. package/build/src/cli/recipe/sync-lts-engines.d.ts.map +1 -0
  22. package/build/src/cli/recipe/sync-lts-engines.js +118 -0
  23. package/build/src/cli/recipe/sync-lts-engines.js.map +1 -0
  24. package/build/src/cli/recipe/sync-packages.d.ts +18 -0
  25. package/build/src/cli/recipe/sync-packages.d.ts.map +1 -0
  26. package/build/src/cli/recipe/sync-packages.js +1212 -0
  27. package/build/src/cli/recipe/sync-packages.js.map +1 -0
  28. package/build/src/cli/utility/changelog.d.ts +11 -0
  29. package/build/src/cli/utility/changelog.d.ts.map +1 -0
  30. package/build/src/cli/utility/changelog.js +670 -0
  31. package/build/src/cli/utility/changelog.js.map +1 -0
  32. package/build/src/cli/utility/initialize.d.ts +9 -5
  33. package/build/src/cli/utility/initialize.d.ts.map +1 -1
  34. package/build/src/cli/utility/initialize.js +478 -210
  35. package/build/src/cli/utility/initialize.js.map +1 -1
  36. package/build/src/cli/utility/type-check.d.ts +9 -0
  37. package/build/src/cli/utility/type-check.d.ts.map +1 -0
  38. package/build/src/cli/utility/type-check.js +59 -0
  39. package/build/src/cli/utility/type-check.js.map +1 -0
  40. package/build/src/cli/utility/version.d.ts +2 -2
  41. package/build/src/cli/utility/version.d.ts.map +1 -1
  42. package/build/src/cli/utility/version.js +107 -68
  43. package/build/src/cli/utility/version.js.map +1 -1
  44. package/build/src/lib/item.d.ts +23 -5
  45. package/build/src/lib/item.d.ts.map +1 -1
  46. package/build/src/lib/item.js +329 -4
  47. package/build/src/lib/item.js.map +1 -1
  48. package/build/src/lib/nova-config.d.ts +4 -4
  49. package/build/src/lib/nova-config.d.ts.map +1 -1
  50. package/build/src/lib/nova-config.js +76 -88
  51. package/build/src/lib/nova-config.js.map +1 -1
  52. package/build/src/lib/regex.d.ts +9 -1
  53. package/build/src/lib/regex.d.ts.map +1 -1
  54. package/build/src/lib/regex.js +9 -1
  55. package/build/src/lib/regex.js.map +1 -1
  56. package/build/src/lib/schema.d.ts +18 -0
  57. package/build/src/lib/schema.d.ts.map +1 -0
  58. package/build/src/lib/schema.js +13 -0
  59. package/build/src/lib/schema.js.map +1 -0
  60. package/build/src/lib/utility.d.ts +9 -1
  61. package/build/src/lib/utility.d.ts.map +1 -1
  62. package/build/src/lib/utility.js +219 -40
  63. package/build/src/lib/utility.js.map +1 -1
  64. package/build/src/presets/eslint/dx-code-style.d.mts.map +1 -1
  65. package/build/src/presets/eslint/dx-code-style.mjs +0 -20
  66. package/build/src/presets/eslint/dx-code-style.mjs.map +1 -1
  67. package/build/src/presets/eslint/lang-mdx.d.mts.map +1 -1
  68. package/build/src/presets/eslint/lang-mdx.mjs +0 -21
  69. package/build/src/presets/eslint/lang-mdx.mjs.map +1 -1
  70. package/build/src/presets/tsconfig/dx-strict.json +2 -1
  71. package/build/src/rules/eslint/index.d.ts +4 -0
  72. package/build/src/rules/eslint/index.d.ts.map +1 -1
  73. package/build/src/rules/eslint/index.js +4 -0
  74. package/build/src/rules/eslint/index.js.map +1 -1
  75. package/build/src/rules/eslint/no-logger-dev.d.ts +3 -1
  76. package/build/src/rules/eslint/no-logger-dev.d.ts.map +1 -1
  77. package/build/src/rules/eslint/no-logger-dev.js +4 -4
  78. package/build/src/rules/eslint/no-logger-dev.js.map +1 -1
  79. package/build/src/rules/eslint/no-raw-text-in-code.d.ts +6 -0
  80. package/build/src/rules/eslint/no-raw-text-in-code.d.ts.map +1 -0
  81. package/build/src/rules/eslint/no-raw-text-in-code.js +34 -0
  82. package/build/src/rules/eslint/no-raw-text-in-code.js.map +1 -0
  83. package/build/src/rules/eslint/no-regex-literal-flags.d.ts +6 -0
  84. package/build/src/rules/eslint/no-regex-literal-flags.d.ts.map +1 -0
  85. package/build/src/rules/eslint/no-regex-literal-flags.js +30 -0
  86. package/build/src/rules/eslint/no-regex-literal-flags.js.map +1 -0
  87. package/build/src/rules/eslint/no-regex-literals.d.ts +9 -0
  88. package/build/src/rules/eslint/no-regex-literals.d.ts.map +1 -0
  89. package/build/src/rules/eslint/no-regex-literals.js +55 -0
  90. package/build/src/rules/eslint/no-regex-literals.js.map +1 -0
  91. package/build/src/rules/eslint/switch-case-blocks.d.ts +6 -0
  92. package/build/src/rules/eslint/switch-case-blocks.d.ts.map +1 -0
  93. package/build/src/rules/eslint/switch-case-blocks.js +36 -0
  94. package/build/src/rules/eslint/switch-case-blocks.js.map +1 -0
  95. package/build/src/tests/api/node-releases.test.d.ts +2 -0
  96. package/build/src/tests/api/node-releases.test.d.ts.map +1 -0
  97. package/build/src/tests/api/node-releases.test.js +193 -0
  98. package/build/src/tests/api/node-releases.test.js.map +1 -0
  99. package/build/src/tests/api/spdx-licenses.test.d.ts +2 -0
  100. package/build/src/tests/api/spdx-licenses.test.d.ts.map +1 -0
  101. package/build/src/tests/api/spdx-licenses.test.js +91 -0
  102. package/build/src/tests/api/spdx-licenses.test.js.map +1 -0
  103. package/build/src/tests/cli/recipe/pin-versions.test.d.ts +2 -0
  104. package/build/src/tests/cli/recipe/pin-versions.test.d.ts.map +1 -0
  105. package/build/src/tests/cli/recipe/pin-versions.test.js +197 -0
  106. package/build/src/tests/cli/recipe/pin-versions.test.js.map +1 -0
  107. package/build/src/tests/cli/recipe/sync-lts-engines.test.d.ts +2 -0
  108. package/build/src/tests/cli/recipe/sync-lts-engines.test.d.ts.map +1 -0
  109. package/build/src/tests/cli/recipe/sync-lts-engines.test.js +131 -0
  110. package/build/src/tests/cli/recipe/sync-lts-engines.test.js.map +1 -0
  111. package/build/src/tests/lib/item.test.d.ts +2 -0
  112. package/build/src/tests/lib/item.test.d.ts.map +1 -0
  113. package/build/src/tests/lib/item.test.js +142 -0
  114. package/build/src/tests/lib/item.test.js.map +1 -0
  115. package/build/src/tests/lib/nova-config.test.d.ts +2 -0
  116. package/build/src/tests/lib/nova-config.test.d.ts.map +1 -0
  117. package/build/src/tests/lib/nova-config.test.js +489 -0
  118. package/build/src/tests/lib/nova-config.test.js.map +1 -0
  119. package/build/src/tests/lib/regex.test.d.ts +2 -0
  120. package/build/src/tests/lib/regex.test.d.ts.map +1 -0
  121. package/build/src/tests/lib/regex.test.js +342 -0
  122. package/build/src/tests/lib/regex.test.js.map +1 -0
  123. package/build/src/tests/lib/schema.test.d.ts +2 -0
  124. package/build/src/tests/lib/schema.test.d.ts.map +1 -0
  125. package/build/src/tests/lib/schema.test.js +260 -0
  126. package/build/src/tests/lib/schema.test.js.map +1 -0
  127. package/build/src/tests/lib/utility.test.js +704 -44
  128. package/build/src/tests/lib/utility.test.js.map +1 -1
  129. package/build/src/tests/rules/eslint/no-logger-dev.test.d.ts +2 -0
  130. package/build/src/tests/rules/eslint/no-logger-dev.test.d.ts.map +1 -0
  131. package/build/src/tests/rules/eslint/no-logger-dev.test.js +55 -0
  132. package/build/src/tests/rules/eslint/no-logger-dev.test.js.map +1 -0
  133. package/build/src/tests/rules/eslint/no-raw-text-in-code.test.d.ts +2 -0
  134. package/build/src/tests/rules/eslint/no-raw-text-in-code.test.d.ts.map +1 -0
  135. package/build/src/tests/rules/eslint/no-raw-text-in-code.test.js +47 -0
  136. package/build/src/tests/rules/eslint/no-raw-text-in-code.test.js.map +1 -0
  137. package/build/src/tests/rules/eslint/no-regex-literal-flags.test.d.ts +2 -0
  138. package/build/src/tests/rules/eslint/no-regex-literal-flags.test.d.ts.map +1 -0
  139. package/build/src/tests/rules/eslint/no-regex-literal-flags.test.js +47 -0
  140. package/build/src/tests/rules/eslint/no-regex-literal-flags.test.js.map +1 -0
  141. package/build/src/tests/rules/eslint/no-regex-literals.test.d.ts +2 -0
  142. package/build/src/tests/rules/eslint/no-regex-literals.test.d.ts.map +1 -0
  143. package/build/src/tests/rules/eslint/no-regex-literals.test.js +49 -0
  144. package/build/src/tests/rules/eslint/no-regex-literals.test.js.map +1 -0
  145. package/build/src/tests/rules/eslint/switch-case-blocks.test.d.ts +2 -0
  146. package/build/src/tests/rules/eslint/switch-case-blocks.test.d.ts.map +1 -0
  147. package/build/src/tests/rules/eslint/switch-case-blocks.test.js +43 -0
  148. package/build/src/tests/rules/eslint/switch-case-blocks.test.js.map +1 -0
  149. package/build/src/tests/toolkit/cli-header.test.d.ts +2 -0
  150. package/build/src/tests/toolkit/cli-header.test.d.ts.map +1 -0
  151. package/build/src/tests/toolkit/cli-header.test.js +143 -0
  152. package/build/src/tests/toolkit/cli-header.test.js.map +1 -0
  153. package/build/src/tests/toolkit/logger.test.d.ts +2 -0
  154. package/build/src/tests/toolkit/logger.test.d.ts.map +1 -0
  155. package/build/src/tests/toolkit/logger.test.js +96 -0
  156. package/build/src/tests/toolkit/logger.test.js.map +1 -0
  157. package/build/src/tests/toolkit/markdown-table.test.d.ts +2 -0
  158. package/build/src/tests/toolkit/markdown-table.test.d.ts.map +1 -0
  159. package/build/src/tests/toolkit/markdown-table.test.js +138 -0
  160. package/build/src/tests/toolkit/markdown-table.test.js.map +1 -0
  161. package/build/src/toolkit/cli-header.d.ts +1 -0
  162. package/build/src/toolkit/cli-header.d.ts.map +1 -1
  163. package/build/src/toolkit/cli-header.js +24 -13
  164. package/build/src/toolkit/cli-header.js.map +1 -1
  165. package/build/src/toolkit/index.d.ts +1 -1
  166. package/build/src/toolkit/index.d.ts.map +1 -1
  167. package/build/src/toolkit/index.js +1 -1
  168. package/build/src/toolkit/index.js.map +1 -1
  169. package/build/src/toolkit/logger.d.ts.map +1 -1
  170. package/build/src/toolkit/logger.js +25 -10
  171. package/build/src/toolkit/logger.js.map +1 -1
  172. package/build/src/toolkit/markdown-table.d.ts.map +1 -1
  173. package/build/src/toolkit/markdown-table.js +3 -3
  174. package/build/src/toolkit/markdown-table.js.map +1 -1
  175. package/package.json +63 -59
  176. package/build/src/cli/recipe/sync-metadata.d.ts +0 -5
  177. package/build/src/cli/recipe/sync-metadata.d.ts.map +0 -1
  178. package/build/src/cli/recipe/sync-metadata.js +0 -7
  179. package/build/src/cli/recipe/sync-metadata.js.map +0 -1
  180. package/build/src/cli/recipe/sync-versions.d.ts +0 -5
  181. package/build/src/cli/recipe/sync-versions.d.ts.map +0 -1
  182. package/build/src/cli/recipe/sync-versions.js +0 -7
  183. package/build/src/cli/recipe/sync-versions.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../../src/cli/utility/initialize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../../src/cli/utility/initialize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAErC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAChG,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAkG5C,MAAM,OAAO,oBAAoB;IAUxB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAuC;QAC7D,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QACvC,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAE7E,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;YAC3B,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YAErB,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC;QACzC,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW,KAAK,IAAI,CAAC;QAEnD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,MAAM,CAAC,SAAS,CAAC;gBACf,IAAI,EAAE,0BAA0B;gBAChC,OAAO,EAAE,SAAS;aACnB,CAAC,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;QAC7E,CAAC;QAED,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;YAC3B,MAAM,iBAAiB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,qDAAqD,CAAC,CAAC,CAAC,kCAAkC,CAAC;YAElI,MAAM,CAAC,SAAS,CAAC;gBACf,IAAI,EAAE,0BAA0B;gBAChC,OAAO,EAAE,SAAS;aACnB,CAAC,CAAC,IAAI,CAAC,yBAAyB,iBAAiB,EAAE,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QACpC,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;QAC5C,MAAM,gBAAgB,GAAG,MAAM,oBAAoB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAE5E,IAAI,gBAAgB,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,CAAC,SAAS,CAAC;gBACf,IAAI,EAAE,0BAA0B;gBAChC,OAAO,EAAE,YAAY;aACtB,CAAC,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;YAE/C,OAAO;QACT,CAAC;QAED,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAE5B,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,MAAM,CAAC,SAAS,CAAC;gBACf,IAAI,EAAE,0BAA0B;gBAChC,OAAO,EAAE,YAAY;aACtB,CAAC,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAEtD,OAAO;QACT,CAAC;QAED,MAAM,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACvC,CAAC;IAaO,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAA4C;QAC1E,MAAM,QAAQ,GAA2C;YACvD,OAAO,EAAE;gBACP,KAAK,EAAE,SAAS;gBAChB,WAAW,EAAE,2DAA2D;gBACxE,OAAO,EAAE,oBAAoB,CAAC,aAAa;aAC5C;YACD,QAAQ,EAAE;gBACR,KAAK,EAAE,UAAU;gBACjB,WAAW,EAAE,wDAAwD;gBACrE,OAAO,EAAE,oBAAoB,CAAC,cAAc;aAC7C;YACD,MAAM,EAAE;gBACN,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,wCAAwC;gBACrD,OAAO,EAAE,oBAAoB,CAAC,YAAY;aAC3C;YACD,IAAI,EAAE;gBACJ,KAAK,EAAE,MAAM;gBACb,WAAW,EAAE,oEAAoE;gBACjF,OAAO,EAAE,oBAAoB,CAAC,UAAU;aACzC;YACD,UAAU,EAAE;gBACV,KAAK,EAAE,YAAY;gBACnB,WAAW,EAAE,0DAA0D;gBACvE,OAAO,EAAE,oBAAoB,CAAC,gBAAgB;aAC/C;SACF,CAAC;QAEF,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAA8B,CAAC;YACxE,MAAM,OAAO,GAA0C,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;gBACxF,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK;gBAClC,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,WAAW;gBAC9C,KAAK,EAAE,WAAW;aACnB,CAAC,CAAC,CAAC;YAEJ,OAAO,CAAC,IAAI,CAAC;gBACX,KAAK,EAAE,aAAa;gBACpB,WAAW,EAAE,+CAA+C;gBAC5D,KAAK,EAAE,MAAM;aACd,CAAC,CAAC;YAEH,OAAO,CAAC,IAAI,CAAC;gBACX,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,sCAAsC;gBACnD,KAAK,EAAE,QAAQ;aAChB,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,gBAAgB,CAA2G;gBACvK,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,+CAA+C;gBACxD,OAAO;aACR,CAAC,CAAC;YAEH,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;gBACzB,OAAO,QAAQ,CAAC;YAClB,CAAC;YAED,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAC;YAE3C,IACE,gBAAgB,CAAC,MAAM,KAAK,SAAS;mBAClC,gBAAgB,CAAC,MAAM,KAAK,QAAQ,EACvC,CAAC;gBACD,OAAO,QAAQ,CAAC;YAClB,CAAC;YAED,IAAI,gBAAgB,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBACvC,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC;YAC5C,MAAM,eAAe,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC;YAEtD,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAaO,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,MAA+C;QAChF,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC;QACvC,MAAM,mBAAmB,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/F,MAAM,0BAA0B,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7G,MAAM,uBAAuB,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QAEvG,MAAM,OAAO,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,MAAM,WAAW,GAAG,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1F,MAAM,kBAAkB,GAAG,CAAC,0BAA0B,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,0BAA0B,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/G,MAAM,eAAe,GAAG,CAAC,uBAAuB,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEpG,MAAM,eAAe,GAAG,MAAM,oBAAoB,CAAC,gBAAgB,CAA+G;YAChL;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EAAE,8BAA8B;gBACvC,OAAO,EAAE,WAAW,CAAC,KAAK,IAAI,EAAE;gBAChC,QAAQ,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,oBAAoB,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,MAAM;aACzF;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,6BAA6B;gBACtC,OAAO,EAAE,WAAW,CAAC,IAAI,IAAI,EAAE;gBAC/B,QAAQ,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,MAAM;aACtF;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,yBAAyB;gBAC/B,OAAO,EAAE,mBAAmB;gBAC5B,OAAO,EAAE,kBAAkB,CAAC,KAAK,IAAI,EAAE;gBACvC,QAAQ,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,oBAAoB,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,MAAM;aACzF;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,wBAAwB;gBAC9B,OAAO,EAAE,kBAAkB;gBAC3B,OAAO,EAAE,kBAAkB,CAAC,IAAI,IAAI,EAAE;gBACtC,QAAQ,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,oBAAoB,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,MAAM;aACzF;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,4BAA4B;gBACrC,OAAO,EAAE,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;gBACvE,QAAQ,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM;aACxF;SACF,CAAC,CAAC;QAEH,IAAI,eAAe,CAAC,SAAS,EAAE,CAAC;YAC9B,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,qBAAqB,GAAG,eAAe,CAAC,MAAM,CAAC;QAErD,MAAM,qBAAqB,GAAG,oBAAoB,CAAC,aAAa,CAAC,qBAAqB,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC;QAC7H,MAAM,oBAAoB,GAAG,oBAAoB,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC;QACxH,MAAM,4BAA4B,GAAG,oBAAoB,CAAC,aAAa,CAAC,qBAAqB,CAAC,uBAAuB,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC;QAC3I,MAAM,2BAA2B,GAAG,oBAAoB,CAAC,aAAa,CAAC,qBAAqB,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC;QACzI,MAAM,oBAAoB,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC;QAG1H,IAAI,qBAAqB,KAAK,SAAS,EAAE,CAAC;YACxC,WAAW,CAAC,KAAK,GAAG,qBAAqB,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC/C,CAAC;QAGD,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;YACvC,WAAW,CAAC,IAAI,GAAG,oBAAoB,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC9C,CAAC;QAGD,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,OAAO,CAAC,IAAI,GAAG,WAAW,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1C,CAAC;QAGD,IAAI,4BAA4B,KAAK,SAAS,EAAE,CAAC;YAC/C,kBAAkB,CAAC,KAAK,GAAG,4BAA4B,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,cAAc,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC;QAGD,IAAI,2BAA2B,KAAK,SAAS,EAAE,CAAC;YAC9C,kBAAkB,CAAC,IAAI,GAAG,2BAA2B,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,cAAc,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;QACrD,CAAC;QAGD,IAAI,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/C,OAAO,CAAC,WAAW,GAAG,kBAAkB,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QACjD,CAAC;QAGD,IAAI,oBAAoB,KAAK,SAAS,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1E,OAAO,CAAC,QAAQ,GAAG,oBAAoB,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC9C,CAAC;QAGD,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,YAAY,GAAG,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/F,MAAM,WAAW,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9H,MAAM,WAAW,GAAG,YAAY,KAAK,WAAW,CAAC;QAGjD,IAAI,WAAW,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACnD,MAAM,WAAW,GAAiD,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YAC/G,MAAM,UAAU,GAAG,IAAI,MAAM,CAAC,IAAI,YAAY,GAAG,CAAC,CAAC;YAEnD,MAAM,CAAC,SAAS,CAAC;gBACf,IAAI,EAAE,oCAAoC;gBAC1C,OAAO,EAAE,SAAS;gBAClB,MAAM,EAAE,CAAC;aACV,CAAC,CAAC,IAAI,CAAC,8BAA8B,YAAY,IAAI,SAAS,SAAS,WAAW,IAAI,SAAS,IAAI,CAAC,CAAC;YAEtG,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;gBACzD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1C,SAAS;gBACX,CAAC;gBAED,MAAM,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC;gBAG3B,IAAI,YAAY,KAAK,EAAE,IAAI,WAAW,KAAK,EAAE,EAAE,CAAC;oBAC9C,SAAS,CAAC,IAAI,GAAG,GAAG,WAAW,IAAI,IAAI,EAAE,CAAC;gBAC5C,CAAC;qBAAM,IAAI,YAAY,KAAK,EAAE,IAAI,WAAW,KAAK,EAAE,EAAE,CAAC;oBACrD,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;gBAChD,CAAC;qBAAM,CAAC;oBACN,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,WAAW,GAAG,CAAC,CAAC;gBAC/D,CAAC;gBAED,MAAM,CAAC,SAAS,CAAC;oBACf,IAAI,EAAE,oCAAoC;oBAC1C,OAAO,EAAE,SAAS;iBACnB,CAAC,CAAC,IAAI,CAAC,gCAAgC,IAAI,SAAS,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;QAED,MAAM,CAAC,SAAS,CAAC;YACf,IAAI,EAAE,oCAAoC;YAC1C,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,CAAC,WAAW,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE,SAAS,EAAE,CAAC;SACb,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAEpC,OAAO,MAAM,CAAC;IAChB,CAAC;IAaO,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,MAAgD;QAClF,MAAM,QAAQ,GAA+C,EAAE,CAAC;QAGhE,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAC3C,MAAM,YAAY,GAAG,EAAE,GAAG,YAAY,EAAE,CAAC;gBAGzC,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;oBACtC,YAAY,CAAC,KAAK,GAAG,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;gBAC/C,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;gBAChD,CAAC;gBAED,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QASD,MAAM,IAAI,GAAG,GAAkD,EAAE;YAC/D,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAExB,MAAM,kBAAkB,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;oBACjD,MAAM,gBAAgB,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;oBAGvC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC3D,gBAAgB,CAAC,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC7C,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,cAAc,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;oBACpD,CAAC;oBAED,OAAO,gBAAgB,CAAC;gBAC1B,CAAC,CAAC,CAAC;gBAEH,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC1D,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC,CAAC;QAEF,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,OAAO,GAA8C,EAAE,CAAC;YAG9D,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBACjC,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzE,MAAM,WAAW,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5E,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAE3G,MAAM,KAAK,GAAG,UAAU,IAAI,WAAW,IAAI,UAAU,KAAK,GAAG,CAAC,EAAE,CAAC;gBACjE,MAAM,gBAAgB,GAAuD,EAAE,CAAC;gBAGhF,IAAI,WAAW,KAAK,EAAE,EAAE,CAAC;oBACvB,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACrC,CAAC;gBAGD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3B,MAAM,eAAe,GAAG,WAAW;yBAChC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;yBACtC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;yBAC7C,MAAM,CAA0D,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE;wBACtF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;4BACjC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;wBAC1B,CAAC;wBACD,OAAO,MAAM,CAAC;oBAChB,CAAC,EAAE,EAAE,CAAC,CAAC;oBAET,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC/B,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;oBACpD,CAAC;gBACH,CAAC;gBAED,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAEjD,OAAO,CAAC,IAAI,CAAC;oBACX,KAAK,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,EAAE;oBAChD,WAAW,EAAE,CAAC,WAAW,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,qBAAqB;oBACvE,KAAK,EAAE;wBACL,IAAI,EAAE,MAAM;wBACZ,KAAK;qBACN;iBACF,CAAC,CAAC;gBAEH,OAAO,CAAC,IAAI,CAAC;oBACX,KAAK,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,EAAE;oBAC/C,WAAW,EAAE,qBAAqB;oBAClC,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,KAAK;qBACN;iBACF,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,OAAO,CAAC,IAAI,CAAC;gBACX,KAAK,EAAE,gBAAgB;gBACvB,WAAW,EAAE,sBAAsB;gBACnC,KAAK,EAAE;oBACL,IAAI,EAAE,KAAK;iBACZ;aACF,CAAC,CAAC;YAEH,OAAO,CAAC,IAAI,CAAC;gBACX,KAAK,EAAE,MAAM;gBACb,WAAW,EAAE,mCAAmC;gBAChD,KAAK,EAAE;oBACL,IAAI,EAAE,MAAM;iBACb;aACF,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,gBAAgB,CAAuG;gBACnK,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,sCAAsC;gBACvG,OAAO;aACR,CAAC,CAAC;YAEH,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;gBACzB,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAC;YAG3C,IACE,gBAAgB,CAAC,MAAM,KAAK,SAAS;mBAClC,gBAAgB,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,EAC1C,CAAC;gBAED,IAAI,EAAE,CAAC;gBAEP,OAAO,MAAM,CAAC;YAChB,CAAC;YAGD,IAAI,gBAAgB,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBAC3C,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,kBAAkB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAElF,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;oBAC7B,SAAS;gBACX,CAAC;gBAGD,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAG7B,IAAI,EAAE,CAAC;gBAEP,MAAM,CAAC,SAAS,CAAC;oBACf,IAAI,EAAE,qCAAqC;oBAC3C,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,CAAC;oBACT,SAAS,EAAE,CAAC;iBACb,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBAE7B,SAAS;YACX,CAAC;YAGD,IAAI,gBAAgB,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC5C,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC;gBAGlD,IAAI,WAAW,GAAG,CAAC,IAAI,WAAW,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACtD,SAAS;gBACX,CAAC;gBAED,MAAM,YAAY,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAC3C,MAAM,YAAY,GAAG,MAAM,oBAAoB,CAAC,kBAAkB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;gBAE3F,IAAI,YAAY,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;oBACnC,SAAS;gBACX,CAAC;gBAGD,QAAQ,CAAC,WAAW,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC;gBAG5C,IAAI,EAAE,CAAC;gBAEP,MAAM,CAAC,SAAS,CAAC;oBACf,IAAI,EAAE,qCAAqC;oBAC3C,OAAO,EAAE,MAAM;oBACf,MAAM,EAAE,CAAC;oBACT,SAAS,EAAE,CAAC;iBACb,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBAE3B,SAAS;YACX,CAAC;YAGD,IAAI,gBAAgB,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC9C,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC;gBAGlD,IAAI,WAAW,GAAG,CAAC,IAAI,WAAW,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACtD,SAAS;gBACX,CAAC;gBAED,MAAM,cAAc,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAG7C,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;oBACjC,SAAS;gBACX,CAAC;gBAED,MAAM,UAAU,GAAG,CAAC,OAAO,cAAc,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/F,MAAM,WAAW,GAAG,CAAC,OAAO,cAAc,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClG,MAAM,WAAW,GAAG,UAAU,IAAI,WAAW,IAAI,UAAU,WAAW,GAAG,CAAC,EAAE,CAAC;gBAE7E,MAAM,YAAY,GAAG,MAAM,oBAAoB,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;gBAEtF,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;oBAC1B,SAAS;gBACX,CAAC;gBAGD,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;gBAGhC,IAAI,EAAE,CAAC;gBAEP,MAAM,CAAC,SAAS,CAAC;oBACf,IAAI,EAAE,qCAAqC;oBAC3C,OAAO,EAAE,QAAQ;oBACjB,MAAM,EAAE,CAAC;oBACT,SAAS,EAAE,CAAC;iBACb,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAcO,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAoD,EAAE,IAAgD;QAC5I,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,aAAa,EAAE,WAAW,CAAqD,CAAC;QAE9G,MAAM,YAAY,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAClG,MAAM,aAAa,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACrG,MAAM,WAAW,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAE/F,IAAI,aAAa,GAAwD,EAAE,CAAC;QAG5E,IAAI,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACxD,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,eAAe,GAAG,MAAM,oBAAoB,CAAC,gBAAgB,CAAiL;YAClP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,aAAa;gBACtB,OAAO,EAAE,YAAY;gBACrB,QAAQ,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,oBAAoB,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,MAAM;aACzF;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,sBAAsB;gBAC/B,OAAO,EAAE,aAAa;gBACtB,QAAQ,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,oBAAoB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,MAAM;aAChF;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,gBAAgB;gBACzB,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,oBAAoB,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,MAAM;aACzF;YACD;gBACE,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,cAAc;gBACvB,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;oBACtC,KAAK,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;oBAClE,KAAK,EAAE,SAAS;oBAChB,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC;iBAC5C,CAAC,CAAC;aACJ;SACF,CAAC,CAAC;QAEH,IAAI,eAAe,CAAC,SAAS,EAAE,CAAC;YAC9B,OAAO;gBACL,MAAM,EAAE,MAAM;aACf,CAAC;QACJ,CAAC;QAED,MAAM,qBAAqB,GAAG,eAAe,CAAC,MAAM,CAAC;QAErD,MAAM,eAAe,GAAG,oBAAoB,CAAC,aAAa,CAAC,qBAAqB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC;QACjH,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,cAAc,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC;QAC1G,MAAM,cAAc,GAAG,oBAAoB,CAAC,YAAY,CAAC,qBAAqB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,SAAS,CAAC;QAC/G,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAExH,MAAM,cAAc,GAAyD,EAAE,CAAC;QAGhF,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;YAClC,cAAc,CAAC,IAAI,GAAG,eAAe,CAAC;QACxC,CAAC;QAGD,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,cAAc,CAAC,KAAK,GAAG,gBAAgB,CAAC;QAC1C,CAAC;QAGD,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACjC,cAAc,CAAC,GAAG,GAAG,cAAc,CAAC;QACtC,CAAC;QAGD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,cAAc,CAAC,KAAK,GAAG,gBAAgB,CAAC;QAC1C,CAAC;QAGD,IAAI,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChE,OAAO;gBACL,MAAM,EAAE,MAAM;aACf,CAAC;QACJ,CAAC;QAED,OAAO;YACL,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,cAAc;SACvB,CAAC;IACJ,CAAC;IAaO,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,KAAwD;QACpG,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC,gBAAgB,CAA+H;YAC9L,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,kBAAkB,KAAK,IAAI;YACpC,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QAEH,IAAI,aAAa,CAAC,SAAS,EAAE,CAAC;YAC5B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,mBAAmB,GAAG,aAAa,CAAC,MAAM,CAAC;QAEjD,OAAO,mBAAmB,CAAC,OAAO,CAAC;IACrC,CAAC;IAaO,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,MAA8C;QAC9E,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;QAErC,MAAM,MAAM,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAE3E,MAAM,eAAe,GAAG,MAAM,oBAAoB,CAAC,gBAAgB,CAA2G;YAC5K;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,qBAAqB;gBAC9B,OAAO,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE;gBAC1B,QAAQ,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,oBAAoB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,MAAM;aAChF;SACF,CAAC,CAAC;QAEH,IAAI,eAAe,CAAC,SAAS,EAAE,CAAC;YAC9B,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,qBAAqB,GAAG,eAAe,CAAC,MAAM,CAAC;QAErD,MAAM,eAAe,GAAG,oBAAoB,CAAC,cAAc,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC;QAGxG,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,GAAG,eAAe,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACzC,CAAC;QAGD,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,CAAC,SAAS,CAAC;YACf,IAAI,EAAE,mCAAmC;YACzC,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,CAAC;SACb,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAErC,OAAO,MAAM,CAAC;IAChB,CAAC;IAaO,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAA4C;QAC1E,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;QAEjC,MAAM,IAAI,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAErE,MAAM,eAAe,GAAG,MAAM,oBAAoB,CAAC,gBAAgB,CAAuG;YACxK;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,cAAc;gBACvB,OAAO,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;gBAC5B,QAAQ,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,oBAAoB,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,MAAM;aACzF;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,gBAAgB;gBACzB,OAAO,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE;gBAC9B,QAAQ,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,oBAAoB,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,MAAM;aAC5F;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,mBAAmB;gBAC5B,OAAO,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;gBACxB,QAAQ,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,oBAAoB,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,MAAM;aACzF;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,aAAa;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;gBAC3B,QAAQ,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,oBAAoB,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,MAAM;aACzF;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,UAAU;gBACnB,OAAO,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;gBACxB,QAAQ,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,oBAAoB,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,MAAM;aACzF;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EAAE,mBAAmB;gBAC5B,OAAO,EAAE,IAAI,CAAC,aAAa,IAAI,EAAE;gBACjC,QAAQ,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,oBAAoB,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,MAAM;aACzF;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,YAAY;gBACrB,OAAO,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;gBAC1B,QAAQ,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,oBAAoB,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,MAAM;aACzF;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,iBAAiB;gBAC1B,OAAO,EAAE,IAAI,CAAC,GAAG,IAAI,EAAE;gBACvB,QAAQ,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,oBAAoB,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,MAAM;aACzF;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,gCAAgC;gBACzC,OAAO,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC7E,QAAQ,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,MAAM;aAC9F;SACF,CAAC,CAAC;QAEH,IAAI,eAAe,CAAC,SAAS,EAAE,CAAC;YAC9B,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,qBAAqB,GAAG,eAAe,CAAC,MAAM,CAAC;QAErD,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,YAAY,CAAC,qBAAqB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,SAAS,CAAC;QACrH,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,YAAY,CAAC,qBAAqB,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC,SAAS,CAAC;QAC5H,MAAM,aAAa,GAAG,oBAAoB,CAAC,YAAY,CAAC,qBAAqB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,SAAS,CAAC;QAC7G,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,YAAY,CAAC,qBAAqB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,SAAS,CAAC;QACnH,MAAM,aAAa,GAAG,oBAAoB,CAAC,YAAY,CAAC,qBAAqB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,SAAS,CAAC;QAC7G,MAAM,sBAAsB,GAAG,oBAAoB,CAAC,YAAY,CAAC,qBAAqB,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC,SAAS,CAAC;QAC/H,MAAM,eAAe,GAAG,oBAAoB,CAAC,YAAY,CAAC,qBAAqB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,SAAS,CAAC;QACjH,MAAM,YAAY,GAAG,oBAAoB,CAAC,YAAY,CAAC,qBAAqB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,SAAS,CAAC;QAC3G,MAAM,oBAAoB,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC,SAAS,CAAC;QAGhI,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACpC,IAAI,CAAC,QAAQ,GAAG,iBAAiB,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC3C,CAAC;QAGD,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC,UAAU,GAAG,mBAAmB,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC7C,CAAC;QAGD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC;QAGD,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,IAAI,CAAC,OAAO,GAAG,gBAAgB,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC1C,CAAC;QAGD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC;QAGD,IAAI,sBAAsB,KAAK,SAAS,EAAE,CAAC;YACzC,IAAI,CAAC,aAAa,GAAG,sBAAsB,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QAChD,CAAC;QAGD,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;YAClC,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACzC,CAAC;QAGD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,IAAI,CAAC,GAAG,GAAG,YAAY,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;QAGD,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;YACvC,IAAI,CAAC,WAAW,GAAG,oBAAoB,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAC9C,CAAC;QAGD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,CAAC,SAAS,CAAC;YACf,IAAI,EAAE,iCAAiC;YACvC,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,CAAC;SACb,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAEnC,OAAO,MAAM,CAAC;IAChB,CAAC;IAaO,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAkD;QACtF,MAAM,UAAU,GAAyC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAG/G,MAAM,iBAAiB,GAAG,MAAM,qBAAqB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;QACjF,MAAM,cAAc,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,gBAAgB,EAAE,EAAE;YAChE,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,gBAAgB,CAAC,CAAC;YAE/D,IAAI,YAAY,KAAK,EAAE,EAAE,CAAC;gBACxB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,KAAK,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,SAAS,CAAC;YACf,IAAI,EAAE,uCAAuC;YAC7C,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAEzB,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,EAAE;gBACnD,MAAM,SAAS,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;gBAC5C,MAAM,YAAY,GAAqD,EAAE,CAAC;gBAE1E,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC5D,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACpC,CAAC;gBAED,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC5D,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACpC,CAAC;gBAED,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC9D,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBACtC,CAAC;gBAED,OAAO;oBACL,KAAK,EAAE,aAAa;oBACpB,WAAW,EAAE,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,qBAAqB;oBACzF,KAAK,EAAE,aAAa;iBACrB,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,OAAO,CAAC,IAAI,CAAC;gBACX,KAAK,EAAE,MAAM;gBACb,WAAW,EAAE,mCAAmC;gBAChD,KAAK,EAAE,MAAM;aACd,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,gBAAgB,CAAyG;gBACrK,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,kCAAkC;gBAC3C,OAAO;aACR,CAAC,CAAC;YAEH,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;gBACzB,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAC;YAE3C,IACE,gBAAgB,CAAC,aAAa,KAAK,SAAS;mBACzC,gBAAgB,CAAC,aAAa,KAAK,MAAM,EAC5C,CAAC;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,MAAM,aAAa,GAAG,gBAAgB,CAAC,aAAa,CAAC;YACrD,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,oBAAoB,CAAC;gBACjE,aAAa;gBACb,iBAAiB,EAAE,UAAU,CAAC,aAAa,CAAC;gBAC5C,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;aACxH,CAAC,CAAC;YAEH,IAAI,UAAU,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBACjC,SAAS;YACX,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,aAAa,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;YAE7D,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;YAEtC,MAAM,CAAC,SAAS,CAAC;gBACf,IAAI,EAAE,uCAAuC;gBAC7C,OAAO,EAAE,SAAS;gBAClB,MAAM,EAAE,CAAC;gBACT,SAAS,EAAE,CAAC;aACb,CAAC,CAAC,IAAI,CAAC,sBAAsB,aAAa,OAAO,UAAU,CAAC,SAAS,CAAC,IAAI,MAAM,UAAU,CAAC,SAAS,CAAC,IAAI,MAAM,UAAU,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QACjJ,CAAC;IACH,CAAC;IAaO,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,OAAwD;QAChG,MAAM,YAAY,GAAyD;YACzE;gBACE,KAAK,EAAE,cAAc;gBACrB,WAAW,EAAE,mDAAmD;gBAChE,KAAK,EAAE,SAAS;aACjB;YACD;gBACE,KAAK,EAAE,eAAe;gBACtB,WAAW,EAAE,yDAAyD;gBACtE,KAAK,EAAE,QAAQ;aAChB;YACD;gBACE,KAAK,EAAE,eAAe;gBACtB,WAAW,EAAE,qDAAqD;gBAClE,KAAK,EAAE,MAAM;aACd;YACD;gBACE,KAAK,EAAE,aAAa;gBACpB,WAAW,EAAE,6DAA6D;gBAC1E,KAAK,EAAE,KAAK;aACb;YACD;gBACE,KAAK,EAAE,SAAS;gBAChB,WAAW,EAAE,yDAAyD;gBACtE,KAAK,EAAE,SAAS;aACjB;YACD;gBACE,KAAK,EAAE,MAAM;gBACb,WAAW,EAAE,sDAAsD;gBACnE,KAAK,EAAE,MAAM;aACd;YACD;gBACE,KAAK,EAAE,UAAU;gBACjB,WAAW,EAAE,6EAA6E;gBAC1F,KAAK,EAAE,UAAU;aAClB;SACF,CAAC;QACF,MAAM,MAAM,GAAmD;YAC7D,SAAS,EAAE;gBACT,KAAK,EAAE,WAAW;gBAClB,WAAW,EAAE,2DAA2D;aACzE;YACD,SAAS,EAAE;gBACT,KAAK,EAAE,WAAW;gBAClB,WAAW,EAAE,yDAAyD;aACvE;YACD,aAAa,EAAE;gBACb,KAAK,EAAE,eAAe;gBACtB,WAAW,EAAE,oDAAoD;aAClE;SACF,CAAC;QAWF,MAAM,WAAW,GAAG,KAAK,EAAE,IAA6D,EAA8D,EAAE;YAEtJ,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC1C,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;oBACtC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;gBACnD,CAAC;gBAED,OAAO,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;YAC1C,CAAC;YAED,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAG3F,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,gBAAgB,CAA0B;gBACtF,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,wBAAwB;gBACjC,OAAO,EAAE,CAAC,OAAO,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;gBAC9F,QAAQ,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,MAAM;aACpG,CAAC,CAAC;YAEH,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;gBACzB,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,OAAO,oBAAoB,CAAC,sBAAsB,CAAC,UAAU,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC;QAC5G,CAAC,CAAC;QAGF,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,gBAAgB,CAAiH;YAC7K,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,sBAAsB,OAAO,CAAC,aAAa,GAAG;YACvD,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACnC,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC,CAAC;YACH,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,iBAAiB,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACjJ,CAAC,CAAC;QAEH,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;YACzB,OAAO;gBACL,MAAM,EAAE,MAAM;aACf,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC;QACrD,MAAM,eAAe,GAAG,yBAAyB,CAAC,YAAY,CAAC,CAAC;QAGhE,MAAM,YAAY,GAAG,MAAM,oBAAoB,CAAC,gBAAgB,CAAqH;YACnL,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE,iBAAiB;YAC1B,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;gBAC/C,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK;gBAClC,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,WAAW;gBAC9C,KAAK,EAAE,aAAa;aACrB,CAAC,CAAC;YACH,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,iBAAiB,KAAK,SAAS,IAAI,MAAM,KAAK,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;SACpJ,CAAC,CAAC;QAEH,IAAI,YAAY,CAAC,SAAS,EAAE,CAAC;YAC3B,OAAO;gBACL,MAAM,EAAE,MAAM;aACf,CAAC;QACJ,CAAC;QAED,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,CAAC,eAAe,CAAC;QAC3D,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,YAAY,CAAC,CAAC;QAErD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO;gBACL,MAAM,EAAE,MAAM;aACf,CAAC;QACJ,CAAC;QAED,IAAI,cAAc,CAAC;QAGnB,IAAI,cAAc,KAAK,eAAe,EAAE,CAAC;YACvC,MAAM,oBAAoB,GAAG,MAAM,oBAAoB,CAAC,gBAAgB,CAAqI;gBAC3M,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,yBAAyB;gBAC/B,OAAO,EAAE,oCAAoC;gBAC7C,OAAO,EAAE,yBAAyB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;oBACpD,KAAK,EAAE,QAAQ;oBACf,KAAK,EAAE,QAAQ;oBACf,QAAQ,EAAE,CAAC,OAAO,CAAC,iBAAiB,KAAK,SAAS,IAAI,OAAO,CAAC,iBAAiB,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;iBACpL,CAAC,CAAC;aACJ,CAAC,CAAC;YAEH,IAAI,oBAAoB,CAAC,SAAS,EAAE,CAAC;gBACnC,OAAO;oBACL,MAAM,EAAE,MAAM;iBACf,CAAC;YACJ,CAAC;YAED,MAAM,sBAAsB,GAAG,oBAAoB,CAAC,MAAM,CAAC,uBAAuB,CAAC;YAEnF,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtC,cAAc,GAAG,sBAAsB,CAAC;YAC1C,CAAC;QACH,CAAC;QAED,MAAM,iBAAiB,GAAG,MAAM,oBAAoB,CAAC,gBAAgB,CAA+H;YAClM,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,sBAAsB;YAC5B,OAAO,EAAE,0BAA0B;YACnC,OAAO,EAAE,OAAO,CAAC,iBAAiB,KAAK,SAAS,IAAI,OAAO,CAAC,iBAAiB,CAAC,WAAW,KAAK,IAAI;SACnG,CAAC,CAAC;QAEH,IAAI,iBAAiB,CAAC,SAAS,EAAE,CAAC;YAChC,OAAO;gBACL,MAAM,EAAE,MAAM;aACf,CAAC;QACJ,CAAC;QAED,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,MAAM,CAAC,oBAAoB,CAAC;QAE1E,MAAM,oBAAoB,GAAG,MAAM,oBAAoB,CAAC,gBAAgB,CAAqI;YAC3M,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,yBAAyB;YAC/B,OAAO,EAAE,qCAAqC;YAC9C,OAAO,EAAE,OAAO,CAAC,iBAAiB,KAAK,SAAS,IAAI,OAAO,CAAC,iBAAiB,CAAC,cAAc,KAAK,IAAI;SACtG,CAAC,CAAC;QAEH,IAAI,oBAAoB,CAAC,SAAS,EAAE,CAAC;YACnC,OAAO;gBACL,MAAM,EAAE,MAAM;aACf,CAAC;QACJ,CAAC;QAED,MAAM,sBAAsB,GAAG,oBAAoB,CAAC,MAAM,CAAC,uBAAuB,CAAC;QAEnF,OAAO;YACL,MAAM,EAAE,OAAO;YACf,SAAS,EAAE;gBACT,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,YAAY;gBAClB,MAAM,EAAE,cAAc;gBACtB,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE;gBAC3D,GAAG,CAAC,mBAAmB,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE;gBAC7E,GAAG,CAAC,sBAAsB,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,sBAAsB,EAAE,CAAC,CAAC,CAAC,EAAE;aACvF;SACF,CAAC;IACJ,CAAC;IAaO,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAA8B,SAA8D;QAC/H,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAO,SAAS,EAAE;YAC5C,QAAQ,EAAE,GAAG,EAAE;gBACb,SAAS,GAAG,IAAI,CAAC;gBAEjB,OAAO,KAAK,CAAC;YACf,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,SAAS,EAAE,CAAC;YACd,OAAO;gBACL,SAAS,EAAE,IAAI;aAChB,CAAC;QACJ,CAAC;QAED,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,MAAM;SACP,CAAC;IACJ,CAAC;IAaO,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,gBAA+D;QAC5F,MAAM,SAAS,GAAG,MAAM,qBAAqB,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAE1E,MAAM,CAAC,SAAS,CAAC;YACf,IAAI,EAAE,gCAAgC;YACtC,OAAO,EAAE,mBAAmB;SAC7B,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAGpB,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,SAAS,CAAC;gBACf,IAAI,EAAE,gCAAgC;gBACtC,OAAO,EAAE,aAAa;aACvB,CAAC,CAAC,KAAK,CAAC;gBACP,4FAA4F;gBAC5F,yBAAyB,gBAAgB,GAAG;aAC7C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAEd,OAAO,KAAK,CAAC;QACf,CAAC;QAGD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,SAAS,CAAC;gBACf,IAAI,EAAE,gCAAgC;gBACtC,OAAO,EAAE,gBAAgB;aAC1B,CAAC,CAAC,KAAK,CAAC;gBACP,kGAAkG;gBAClG,yBAAyB,gBAAgB,GAAG;aAC7C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAEd,OAAO,KAAK,CAAC;QACf,CAAC;QAGD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,gBAAgB,EAAE,CAAC;YAChE,MAAM,CAAC,SAAS,CAAC;gBACf,IAAI,EAAE,gCAAgC;gBACtC,OAAO,EAAE,mBAAmB;aAC7B,CAAC,CAAC,KAAK,CAAC;gBACP,gDAAgD;gBAChD,yBAAyB,gBAAgB,GAAG;aAC7C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAEd,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAaO,MAAM,CAAC,cAAc,CAAC,KAA8C;QAC1E,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO;gBACL,MAAM,EAAE,2DAA2D,OAAO,KAAK,IAAI;gBACnF,SAAS,EAAE,SAAS;aACrB,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAGlC,IAAI,YAAY,KAAK,EAAE,EAAE,CAAC;YACxB,OAAO;gBACL,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE,SAAS;aACrB,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7C,OAAO;gBACL,MAAM,EAAE,6CAA6C;gBACrD,SAAS,EAAE,SAAS;aACrB,CAAC;QACJ,CAAC;QAED,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,YAAY;SACxB,CAAC;IACJ,CAAC;IAaO,MAAM,CAAC,oBAAoB,CAAC,KAAoD;QACtF,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO;gBACL,MAAM,EAAE,2DAA2D,OAAO,KAAK,IAAI;gBACnF,SAAS,EAAE,SAAS;aACrB,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAGlC,IAAI,YAAY,KAAK,EAAE,EAAE,CAAC;YACxB,OAAO;gBACL,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE,SAAS;aACrB,CAAC;QACJ,CAAC;QAED,IACE,YAAY,CAAC,MAAM,GAAG,GAAG;eACtB,CAAC,IAAI,MAAM,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,EAC3D,CAAC;YACD,OAAO;gBACL,MAAM,EAAE,6FAA6F;gBACrG,SAAS,EAAE,SAAS;aACrB,CAAC;QACJ,CAAC;QAED,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,YAAY;SACxB,CAAC;IACJ,CAAC;IAcO,MAAM,CAAC,aAAa,CAAC,KAA6C,EAAE,SAAqD;QAC/H,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO;gBACL,MAAM,EAAE,2DAA2D,OAAO,KAAK,IAAI;gBACnF,SAAS,EAAE,SAAS;aACrB,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAGlC,IAAI,YAAY,KAAK,EAAE,EAAE,CAAC;YACxB,OAAO;gBACL,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE,SAAS;aACrB,CAAC;QACJ,CAAC;QAED,IAAI,YAAY,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;YACpC,OAAO;gBACL,MAAM,EAAE,uBAAuB,SAAS,+BAA+B;gBACvE,SAAS,EAAE,SAAS;aACrB,CAAC;QACJ,CAAC;QAED,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,YAAY;SACxB,CAAC;IACJ,CAAC;IAcO,MAAM,CAAC,kBAAkB,CAAC,KAAkD,EAAE,gBAAwE;QAC5J,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO;gBACL,MAAM,EAAE,2DAA2D,OAAO,KAAK,IAAI;gBACnF,SAAS,EAAE,SAAS;aACrB,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAGlC,IAAI,YAAY,KAAK,EAAE,EAAE,CAAC;YACxB,OAAO;gBACL,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE,SAAS;aACrB,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,YAAY;aACvB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;QAEjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACzC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,oBAAoB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;YAE7F,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,OAAO;oBACL,MAAM,EAAE,kBAAkB,KAAK,CAAC,CAAC,CAAC,0BAA0B,gBAAgB,gCAAgC;oBAC5G,SAAS,EAAE,SAAS;iBACrB,CAAC;YACJ,CAAC;YAED,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;YACvB,CAAC;QACH,CAAC;QAED,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,KAAK;SACjB,CAAC;IACJ,CAAC;IAcO,MAAM,CAAC,YAAY,CAAC,KAA4C,EAAE,QAAkD;QAC1H,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO;gBACL,MAAM,EAAE,2DAA2D,OAAO,KAAK,IAAI;gBACnF,SAAS,EAAE,SAAS;aACrB,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAGlC,IAAI,YAAY,KAAK,EAAE,EAAE,CAAC;YACxB,OAAO;gBACL,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE,SAAS;aACrB,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG;YACZ,OAAO,EAAE;gBACP,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;gBAC5B,OAAO,EAAE,4DAA4D;aACtE;YACD,UAAU,EAAE;gBACV,OAAO,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC;gBAC3E,OAAO,EAAE,mEAAmE;aAC7E;SACF,CAAC;QAEF,MAAM,OAAO,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAC/F,MAAM,YAAY,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAEpG,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;YAElC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnC,OAAO;oBACL,MAAM,EAAE,IAAI;oBACZ,SAAS,EAAE,GAAG,CAAC,QAAQ,EAAE;iBAC1B,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;QAED,OAAO;YACL,MAAM,EAAE,YAAY;YACpB,SAAS,EAAE,SAAS;SACrB,CAAC;IACJ,CAAC;IAcO,MAAM,CAAC,iBAAiB,CAAC,KAAiD,EAAE,QAAuD;QACzI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO;gBACL,MAAM,EAAE,2DAA2D,OAAO,KAAK,IAAI;gBACnF,SAAS,EAAE,SAAS;aACrB,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAGlC,IAAI,YAAY,KAAK,EAAE,EAAE,CAAC;YACxB,OAAO;gBACL,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE,SAAS;aACrB,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,YAAY;aACvB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;QAEjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACzC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,oBAAoB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;YAEpF,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,MAAM,aAAa,GAAG;oBACpB,OAAO,EAAE,6DAA6D;oBACtE,UAAU,EAAE,oEAAoE;iBACjF,CAAC;gBACF,MAAM,YAAY,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC;gBAEpG,OAAO;oBACL,MAAM,EAAE,gBAAgB,KAAK,CAAC,CAAC,CAAC,MAAM,YAAY,EAAE;oBACpD,SAAS,EAAE,SAAS;iBACrB,CAAC;YACJ,CAAC;YAED,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;YACvB,CAAC;QACH,CAAC;QAED,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,KAAK;SACjB,CAAC;IACJ,CAAC;IAeO,MAAM,CAAC,sBAAsB,CAAC,KAAsD,EAAE,IAAoD,EAAE,IAAoD;QACtM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO;gBACL,MAAM,EAAE,2DAA2D,OAAO,KAAK,IAAI;gBACnF,SAAS,EAAE,SAAS;aACrB,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAElC,IAAI,YAAY,KAAK,EAAE,EAAE,CAAC;YACxB,OAAO;gBACL,MAAM,EAAE,uBAAuB;gBAC/B,SAAS,EAAE,SAAS;aACrB,CAAC;QACJ,CAAC;QAED,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,QAAQ,CAAC;YACd,KAAK,KAAK,CAAC;YACX,KAAK,MAAM,CAAC,CAAC,CAAC;gBAEZ,MAAM,cAAc,GAAG,GAAG,IAAI,GAAG,CAAC;gBAElC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;oBAC7C,OAAO;wBACL,MAAM,EAAE,eAAe,cAAc,8BAA8B;wBACnE,SAAS,EAAE,SAAS;qBACrB,CAAC;gBACJ,CAAC;gBAED,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;gBAE7D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC5B,OAAO;wBACL,MAAM,EAAE,oCAAoC;wBAC5C,SAAS,EAAE,SAAS;qBACrB,CAAC;gBACJ,CAAC;gBAED,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC1C,OAAO;wBACL,MAAM,EAAE,4FAA4F;wBACpG,SAAS,EAAE,SAAS;qBACrB,CAAC;gBACJ,CAAC;gBAED,OAAO;oBACL,MAAM,EAAE,IAAI;oBACZ,SAAS,EAAE,YAAY;iBACxB,CAAC;YACJ,CAAC;YACD,KAAK,UAAU,CAAC;YAChB,KAAK,SAAS,CAAC;YACf,OAAO,CAAC,CAAC,CAAC;gBACR,IAAI,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;oBACrF,OAAO;wBACL,MAAM,EAAE,IAAI;wBACZ,SAAS,EAAE,YAAY;qBACxB,CAAC;gBACJ,CAAC;gBAED,OAAO;oBACL,MAAM,EAAE,qEAAqE;oBAC7E,SAAS,EAAE,SAAS;iBACrB,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,9 @@
1
+ import type { CLIUtilityTypeCheckRunOptions, CLIUtilityTypeCheckRunReturns } from '@/types/cli/utility/type-check.d.ts';
2
+ export declare class CLIUtilityTypeCheck {
3
+ static run(options: CLIUtilityTypeCheckRunOptions): CLIUtilityTypeCheckRunReturns;
4
+ private static getConfigPath;
5
+ private static getDiagnostics;
6
+ private static filterDiagnostics;
7
+ private static printDiagnostics;
8
+ }
9
+ //# sourceMappingURL=type-check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-check.d.ts","sourceRoot":"","sources":["../../../../src/cli/utility/type-check.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAUV,6BAA6B,EAC7B,6BAA6B,EAC9B,MAAM,qCAAqC,CAAC;AAO7C,qBAAa,mBAAmB;WAUhB,GAAG,CAAC,OAAO,EAAE,6BAA6B,GAAG,6BAA6B;IAgCxF,OAAO,CAAC,MAAM,CAAC,aAAa;IAoB5B,OAAO,CAAC,MAAM,CAAC,cAAc;IAgB7B,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAkBhC,OAAO,CAAC,MAAM,CAAC,gBAAgB;CAuBhC"}
@@ -0,0 +1,59 @@
1
+ import { dirname, resolve } from 'path';
2
+ import { createProgram, findConfigFile, flattenDiagnosticMessageText, getPreEmitDiagnostics, parseJsonConfigFileContent, readConfigFile, sys, } from 'typescript';
3
+ import { Logger } from '../../toolkit/index.js';
4
+ export class CLIUtilityTypeCheck {
5
+ static run(options) {
6
+ const configPath = CLIUtilityTypeCheck.getConfigPath(options.project);
7
+ if (configPath === undefined) {
8
+ Logger.error('No tsconfig.json found. Use --project to specify a path.');
9
+ return;
10
+ }
11
+ const { config } = readConfigFile(configPath, sys.readFile);
12
+ const parsed = parseJsonConfigFileContent(config, sys, dirname(configPath));
13
+ const diagnostics = CLIUtilityTypeCheck.getDiagnostics(parsed);
14
+ const filtered = CLIUtilityTypeCheck.filterDiagnostics(diagnostics);
15
+ CLIUtilityTypeCheck.printDiagnostics(filtered);
16
+ if (filtered.length > 0) {
17
+ process.exitCode = 1;
18
+ }
19
+ }
20
+ static getConfigPath(project) {
21
+ if (project !== undefined) {
22
+ const resolved = resolve(process.cwd(), project);
23
+ return (sys.fileExists(resolved)) ? resolved : undefined;
24
+ }
25
+ return findConfigFile(process.cwd(), sys.fileExists, 'tsconfig.json');
26
+ }
27
+ static getDiagnostics(parsed) {
28
+ const program = createProgram(parsed.fileNames, parsed.options);
29
+ return getPreEmitDiagnostics(program);
30
+ }
31
+ static filterDiagnostics(diagnostics) {
32
+ return diagnostics.filter((diagnostic) => {
33
+ const fileName = (diagnostic.file !== undefined) ? diagnostic.file.fileName : '';
34
+ return fileName.startsWith(process.cwd()) && !fileName.includes('node_modules');
35
+ });
36
+ }
37
+ static printDiagnostics(filtered) {
38
+ const fileSet = new Set();
39
+ for (const diagnostic of filtered) {
40
+ const fileName = (diagnostic.file !== undefined) ? diagnostic.file.fileName : 'unknown';
41
+ const message = flattenDiagnosticMessageText(diagnostic.messageText, '\n');
42
+ fileSet.add(fileName);
43
+ if (diagnostic.file !== undefined && diagnostic.start !== undefined) {
44
+ const { line, character } = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start);
45
+ Logger.error(`${fileName}:${line + 1}:${character + 1} - ${message}`);
46
+ }
47
+ else {
48
+ Logger.error(message);
49
+ }
50
+ }
51
+ if (filtered.length > 0) {
52
+ Logger.info(`Found ${filtered.length} error(s) in ${fileSet.size} file(s).`);
53
+ }
54
+ else {
55
+ Logger.info('No type errors found.');
56
+ }
57
+ }
58
+ }
59
+ //# sourceMappingURL=type-check.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-check.js","sourceRoot":"","sources":["../../../../src/cli/utility/type-check.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
- import type { CLIUtilityVersionRunOptions, CLIUtilityVersionRunReturns } from '@/types/cli/utility.d.ts';
1
+ import type { CLIUtilityVersionRunOptions, CLIUtilityVersionRunReturns } from '@/types/cli/utility/version.d.ts';
2
2
  export declare class CLIUtilityVersion {
3
3
  static run(options: CLIUtilityVersionRunOptions): CLIUtilityVersionRunReturns;
4
- private static print;
5
4
  private static getNodeVersion;
6
5
  private static getEnvironmentManagerVersion;
7
6
  private static getOsVersion;
8
7
  private static getBrowserVersion;
9
8
  private static getInterpreterVersion;
9
+ private static print;
10
10
  }
11
11
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../../src/cli/utility/version.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAkBV,2BAA2B,EAC3B,2BAA2B,EAE5B,MAAM,0BAA0B,CAAC;AAOlC,qBAAa,iBAAiB;WAUR,GAAG,CAAC,OAAO,EAAE,2BAA2B,GAAG,2BAA2B;IA+C1F,OAAO,CAAC,MAAM,CAAC,KAAK;mBAwCC,cAAc;mBAyFd,4BAA4B;mBAwD5B,YAAY;mBA4DZ,iBAAiB;mBA6JjB,qBAAqB;CAyC3C"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../../src/cli/utility/version.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAoBV,2BAA2B,EAC3B,2BAA2B,EAE5B,MAAM,kCAAkC,CAAC;AAO1C,qBAAa,iBAAiB;WAUR,GAAG,CAAC,OAAO,EAAE,2BAA2B,GAAG,2BAA2B;mBA6CrE,cAAc;mBA8Fd,4BAA4B;mBA2D5B,YAAY;mBAqFZ,iBAAiB;mBAoKjB,qBAAqB;IAuD1C,OAAO,CAAC,MAAM,CAAC,KAAK;CA8BrB"}
@@ -1,53 +1,31 @@
1
- import * as os from 'os';
1
+ import { arch, platform, release, version, } from 'os';
2
2
  import chalk from 'chalk';
3
- import { itemBrandPrettyNames, itemCategoryPrettyNames, itemColumnTitlePrettyNames, itemTypePrettyNames, } from '../../lib/item.js';
4
- import { MarkdownTable } from '../../toolkit/index.js';
3
+ import { itemPrettyNamesBrand, itemPrettyNamesCategory, itemPrettyNamesColumnTitle, itemPrettyNamesType, } from '../../lib/item.js';
5
4
  import { PATTERN_DOUBLE_QUOTED_STRING_CAPTURE, PATTERN_JAVA_VERSION_LINE, PATTERN_LEADING_NON_DIGITS, PATTERN_RUSTC_VERSION_LINE, PATTERN_SEMVER, } from '../../lib/regex.js';
6
5
  import { executeShell, parseLinuxOsReleaseFile, parseWindowsRegistryQuery, pathExists, } from '../../lib/utility.js';
6
+ import { MarkdownTable } from '../../toolkit/index.js';
7
7
  export class CLIUtilityVersion {
8
8
  static async run(options) {
9
9
  const tasks = [];
10
- if (options.node || options.all || Object.keys(options).length === 0) {
10
+ if (options.node === true || options.all === true || Object.keys(options).length === 0) {
11
11
  tasks.push(CLIUtilityVersion.getNodeVersion().then((response) => ['node', response]));
12
12
  }
13
- if (options.env || options.all || Object.keys(options).length === 0) {
13
+ if (options.env === true || options.all === true || Object.keys(options).length === 0) {
14
14
  tasks.push(CLIUtilityVersion.getEnvironmentManagerVersion().then((response) => ['env', response]));
15
15
  }
16
- if (options.os || options.all || Object.keys(options).length === 0) {
16
+ if (options.os === true || options.all === true || Object.keys(options).length === 0) {
17
17
  tasks.push(CLIUtilityVersion.getOsVersion().then((response) => ['os', response]));
18
18
  }
19
- if (options.browser || options.all || Object.keys(options).length === 0) {
19
+ if (options.browser === true || options.all === true || Object.keys(options).length === 0) {
20
20
  tasks.push(CLIUtilityVersion.getBrowserVersion().then((response) => ['browsers', response]));
21
21
  }
22
- if (options.interpreter || options.all || Object.keys(options).length === 0) {
22
+ if (options.interpreter === true || options.all === true || Object.keys(options).length === 0) {
23
23
  tasks.push(CLIUtilityVersion.getInterpreterVersion().then((response) => ['interpreters', response]));
24
24
  }
25
25
  const results = await Promise.all(tasks);
26
26
  const list = Object.fromEntries(results);
27
27
  CLIUtilityVersion.print(list);
28
28
  }
29
- static print(list) {
30
- for (const [category, rowsByKey] of Object.entries(list)) {
31
- if (Object.keys(rowsByKey).length === 0) {
32
- continue;
33
- }
34
- const table = new MarkdownTable([
35
- chalk.bold.yellow(itemColumnTitlePrettyNames[`key-${category}`] ?? 'Key'),
36
- chalk.bold.yellow(itemColumnTitlePrettyNames[`value-${category}`] ?? 'Value'),
37
- ], {
38
- padDelimiterRow: false,
39
- minimumColumnWidth: 10,
40
- });
41
- for (const [rowKey, rowValue] of Object.entries(rowsByKey)) {
42
- table.addRow([
43
- itemBrandPrettyNames[rowKey] ?? itemTypePrettyNames[rowKey] ?? chalk.grey(rowKey),
44
- rowValue,
45
- ]);
46
- }
47
- process.stdout.write(`${itemCategoryPrettyNames[category] ?? chalk.grey(category)}\n`);
48
- process.stdout.write(`${table.render()}\n\n`);
49
- }
50
- }
51
29
  static async getNodeVersion() {
52
30
  const [nodeJsVersion, npmVersion, yarnVersion, pnpmVersion, bunVersion,] = await Promise.all([
53
31
  executeShell('node --version'),
@@ -58,7 +36,8 @@ export class CLIUtilityVersion {
58
36
  ]);
59
37
  let tools = {};
60
38
  if (nodeJsVersion.code === 0) {
61
- const match = nodeJsVersion.textOut.match(PATTERN_SEMVER)?.[1];
39
+ const matchResult = nodeJsVersion.textOut.match(PATTERN_SEMVER);
40
+ const match = (matchResult !== null) ? matchResult[1] : undefined;
62
41
  if (match !== undefined) {
63
42
  tools = {
64
43
  ...tools,
@@ -67,7 +46,8 @@ export class CLIUtilityVersion {
67
46
  }
68
47
  }
69
48
  if (npmVersion.code === 0) {
70
- const match = npmVersion.textOut.match(PATTERN_SEMVER)?.[1];
49
+ const matchResult = npmVersion.textOut.match(PATTERN_SEMVER);
50
+ const match = (matchResult !== null) ? matchResult[1] : undefined;
71
51
  if (match !== undefined) {
72
52
  tools = {
73
53
  ...tools,
@@ -76,7 +56,8 @@ export class CLIUtilityVersion {
76
56
  }
77
57
  }
78
58
  if (yarnVersion.code === 0) {
79
- const match = yarnVersion.textOut.match(PATTERN_SEMVER)?.[1];
59
+ const matchResult = yarnVersion.textOut.match(PATTERN_SEMVER);
60
+ const match = (matchResult !== null) ? matchResult[1] : undefined;
80
61
  if (match !== undefined) {
81
62
  tools = {
82
63
  ...tools,
@@ -85,7 +66,8 @@ export class CLIUtilityVersion {
85
66
  }
86
67
  }
87
68
  if (pnpmVersion.code === 0) {
88
- const match = pnpmVersion.textOut.match(PATTERN_SEMVER)?.[1];
69
+ const matchResult = pnpmVersion.textOut.match(PATTERN_SEMVER);
70
+ const match = (matchResult !== null) ? matchResult[1] : undefined;
89
71
  if (match !== undefined) {
90
72
  tools = {
91
73
  ...tools,
@@ -94,7 +76,8 @@ export class CLIUtilityVersion {
94
76
  }
95
77
  }
96
78
  if (bunVersion.code === 0) {
97
- const match = bunVersion.textOut.match(PATTERN_SEMVER)?.[1];
79
+ const matchResult = bunVersion.textOut.match(PATTERN_SEMVER);
80
+ const match = (matchResult !== null) ? matchResult[1] : undefined;
98
81
  if (match !== undefined) {
99
82
  tools = {
100
83
  ...tools,
@@ -110,8 +93,9 @@ export class CLIUtilityVersion {
110
93
  executeShell('volta --version'),
111
94
  ]);
112
95
  let managers = {};
113
- if (os.platform() !== 'win32' && nvmVersion.code === 0) {
114
- const match = nvmVersion.textOut.match(PATTERN_SEMVER)?.[1];
96
+ if (platform() !== 'win32' && nvmVersion.code === 0) {
97
+ const matchResult = nvmVersion.textOut.match(PATTERN_SEMVER);
98
+ const match = (matchResult !== null) ? matchResult[1] : undefined;
115
99
  if (match !== undefined) {
116
100
  managers = {
117
101
  ...managers,
@@ -119,8 +103,9 @@ export class CLIUtilityVersion {
119
103
  };
120
104
  }
121
105
  }
122
- if (os.platform() === 'win32' && nvmVersion.code === 0) {
123
- const match = nvmVersion.textOut.match(PATTERN_SEMVER)?.[1];
106
+ if (platform() === 'win32' && nvmVersion.code === 0) {
107
+ const matchResult = nvmVersion.textOut.match(PATTERN_SEMVER);
108
+ const match = (matchResult !== null) ? matchResult[1] : undefined;
124
109
  if (match !== undefined) {
125
110
  managers = {
126
111
  ...managers,
@@ -129,7 +114,8 @@ export class CLIUtilityVersion {
129
114
  }
130
115
  }
131
116
  if (voltaVersion.code === 0) {
132
- const match = voltaVersion.textOut.match(PATTERN_SEMVER)?.[1];
117
+ const matchResult = voltaVersion.textOut.match(PATTERN_SEMVER);
118
+ const match = (matchResult !== null) ? matchResult[1] : undefined;
133
119
  if (match !== undefined) {
134
120
  managers = {
135
121
  ...managers,
@@ -140,48 +126,73 @@ export class CLIUtilityVersion {
140
126
  return managers;
141
127
  }
142
128
  static async getOsVersion() {
143
- const platform = os.platform();
144
- const architecture = os.arch();
145
- const kernel = os.release();
146
- let name = platform;
147
- let version = os.version();
129
+ const currentPlatform = platform();
130
+ const architecture = arch();
131
+ const kernel = release();
132
+ let name = currentPlatform;
133
+ let currentVersion = version();
148
134
  let build = '—';
149
- if (platform === 'darwin') {
135
+ if (currentPlatform === 'darwin') {
150
136
  const [productName, productVersion, buildVersion] = await Promise.all([
151
137
  executeShell('sw_vers -productName'),
152
138
  executeShell('sw_vers -productVersion'),
153
139
  executeShell('sw_vers -buildVersion'),
154
140
  ]);
155
141
  name = productName.textOut ?? 'macOS';
156
- version = productVersion.textOut ?? version;
142
+ currentVersion = productVersion.textOut ?? currentVersion;
157
143
  build = buildVersion.textOut ?? '—';
158
144
  }
159
- if (platform === 'win32') {
145
+ if (currentPlatform === 'win32') {
160
146
  const registryQuery = await parseWindowsRegistryQuery('HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion');
161
- const currentBuild = registryQuery['CurrentBuild']?.data ?? registryQuery['CurrentBuildNumber']?.data;
162
- const updateBuildRevision = registryQuery['UBR']?.data;
163
- name = registryQuery['ProductName']?.data ?? 'Windows';
164
- version = registryQuery['DisplayVersion']?.data ?? registryQuery['ReleaseId']?.data ?? version;
165
- build = (currentBuild) ? ((updateBuildRevision) ? `${currentBuild}.${updateBuildRevision}` : currentBuild) : '';
147
+ const currentBuildEntry = registryQuery['CurrentBuild'];
148
+ const currentBuildNumberEntry = registryQuery['CurrentBuildNumber'];
149
+ const updateBuildRevisionEntry = registryQuery['UBR'];
150
+ const productNameEntry = registryQuery['ProductName'];
151
+ const displayVersionEntry = registryQuery['DisplayVersion'];
152
+ const releaseIdEntry = registryQuery['ReleaseId'];
153
+ let currentBuild;
154
+ if (currentBuildEntry !== undefined) {
155
+ currentBuild = currentBuildEntry.data;
156
+ }
157
+ else if (currentBuildNumberEntry !== undefined) {
158
+ currentBuild = currentBuildNumberEntry.data;
159
+ }
160
+ const updateBuildRevision = (updateBuildRevisionEntry !== undefined) ? updateBuildRevisionEntry.data : undefined;
161
+ name = (productNameEntry !== undefined) ? productNameEntry.data : 'Windows';
162
+ if (displayVersionEntry !== undefined) {
163
+ currentVersion = displayVersionEntry.data;
164
+ }
165
+ else if (releaseIdEntry !== undefined) {
166
+ currentVersion = releaseIdEntry.data;
167
+ }
168
+ if (currentBuild !== undefined && updateBuildRevision !== undefined) {
169
+ build = `${currentBuild}.${updateBuildRevision}`;
170
+ }
171
+ else if (currentBuild !== undefined) {
172
+ build = currentBuild;
173
+ }
174
+ else {
175
+ build = '—';
176
+ }
166
177
  }
167
- if (platform === 'linux') {
178
+ if (currentPlatform === 'linux') {
168
179
  const osRelease = await parseLinuxOsReleaseFile();
169
180
  name = osRelease['NAME'] ?? 'Linux';
170
- version = osRelease['VERSION'] ?? '—';
181
+ currentVersion = osRelease['VERSION'] ?? '—';
171
182
  build = osRelease['BUILD_ID'] ?? '—';
172
183
  }
173
184
  return {
174
185
  name,
175
- version,
186
+ version: currentVersion,
176
187
  architecture,
177
188
  build,
178
189
  kernel,
179
190
  };
180
191
  }
181
192
  static async getBrowserVersion() {
182
- const platform = os.platform();
193
+ const currentPlatform = platform();
183
194
  let browsers = {};
184
- if (platform === 'darwin') {
195
+ if (currentPlatform === 'darwin') {
185
196
  const supportedBrowsers = {
186
197
  chrome: 'Google Chrome.app',
187
198
  safari: 'Safari.app',
@@ -198,7 +209,13 @@ export class CLIUtilityVersion {
198
209
  const system = `/Applications/${appName}`;
199
210
  const user = `${process.env['HOME'] ?? ''}/Applications/${appName}`;
200
211
  const [hasSystem, hasUser] = await Promise.all([pathExists(system), pathExists(user)]);
201
- const appPath = (hasSystem) ? system : (hasUser) ? user : null;
212
+ let appPath = null;
213
+ if (hasSystem === true) {
214
+ appPath = system;
215
+ }
216
+ else if (hasUser === true) {
217
+ appPath = user;
218
+ }
202
219
  if (appPath === null) {
203
220
  return null;
204
221
  }
@@ -218,7 +235,7 @@ export class CLIUtilityVersion {
218
235
  ...Object.fromEntries(entries),
219
236
  };
220
237
  }
221
- if (platform === 'win32') {
238
+ if (currentPlatform === 'win32') {
222
239
  const supportedBrowsers = {
223
240
  chrome: 'chrome.exe',
224
241
  edge: 'msedge.exe',
@@ -252,7 +269,7 @@ export class CLIUtilityVersion {
252
269
  ...Object.fromEntries(entries),
253
270
  };
254
271
  }
255
- if (platform === 'linux') {
272
+ if (currentPlatform === 'linux') {
256
273
  const supportedBrowsers = {
257
274
  'chrome': 'google-chrome',
258
275
  'firefox': 'firefox',
@@ -295,10 +312,10 @@ export class CLIUtilityVersion {
295
312
  let interpreters = {};
296
313
  if (javaVersion.code === 0) {
297
314
  const match = javaVersion.textOut.match(new RegExp(PATTERN_JAVA_VERSION_LINE, 'mi'));
298
- const matchVersion = match?.[1] ?? 'N/A';
299
- const matchDistribution = match?.[2] ?? 'N/A';
300
- const matchBuild = match?.[4] ?? 'N/A';
301
315
  if (match !== null) {
316
+ const matchVersion = match[1] ?? 'N/A';
317
+ const matchDistribution = match[2] ?? 'N/A';
318
+ const matchBuild = match[4] ?? 'N/A';
302
319
  interpreters = {
303
320
  ...interpreters,
304
321
  java: `${matchVersion} (distro: ${matchDistribution}, build: ${matchBuild})`,
@@ -307,11 +324,11 @@ export class CLIUtilityVersion {
307
324
  }
308
325
  if (rustVersion.code === 0) {
309
326
  const match = rustVersion.textOut.match(PATTERN_RUSTC_VERSION_LINE);
310
- const matchVersion = match?.[1] ?? 'N/A';
311
- const matchBuildHash = match?.[2] ?? 'N/A';
312
- const matchBuildDate = match?.[3] ?? 'N/A';
313
- const matchSource = match?.[4] ?? 'rustup';
314
327
  if (match !== null) {
328
+ const matchVersion = match[1] ?? 'N/A';
329
+ const matchBuildHash = match[2] ?? 'N/A';
330
+ const matchBuildDate = match[3] ?? 'N/A';
331
+ const matchSource = match[4] ?? 'rustup';
315
332
  interpreters = {
316
333
  ...interpreters,
317
334
  rust: `${matchVersion} (build hash: ${matchBuildHash}, build date: ${matchBuildDate}, source: ${matchSource})`,
@@ -320,5 +337,27 @@ export class CLIUtilityVersion {
320
337
  }
321
338
  return interpreters;
322
339
  }
340
+ static print(list) {
341
+ for (const [category, rowsByKey] of Object.entries(list)) {
342
+ if (Object.keys(rowsByKey).length === 0) {
343
+ continue;
344
+ }
345
+ const table = new MarkdownTable([
346
+ chalk.bold.yellow(itemPrettyNamesColumnTitle[`key-${category}`] ?? 'Key'),
347
+ chalk.bold.yellow(itemPrettyNamesColumnTitle[`value-${category}`] ?? 'Value'),
348
+ ], {
349
+ padDelimiterRow: false,
350
+ minimumColumnWidth: 10,
351
+ });
352
+ for (const [rowKey, rowValue] of Object.entries(rowsByKey)) {
353
+ table.addRow([
354
+ itemPrettyNamesBrand[rowKey] ?? itemPrettyNamesType[rowKey] ?? chalk.grey(rowKey),
355
+ rowValue,
356
+ ]);
357
+ }
358
+ process.stdout.write(`${itemPrettyNamesCategory[category] ?? chalk.grey(category)}\n`);
359
+ process.stdout.write(`${table.render()}\n\n`);
360
+ }
361
+ }
323
362
  }
324
363
  //# sourceMappingURL=version.js.map