@msn-control/liftoff 0.11.1 → 0.11.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/DEVELOPER.md +29 -10
- package/README.md +11 -6
- package/dist/adapters/filesystem/project-transaction.d.ts +2 -1
- package/dist/adapters/filesystem/project-transaction.js +25 -6
- package/dist/adapters/filesystem/project-transaction.js.map +1 -1
- package/dist/adapters/filesystem/reviewed-update-transaction.d.ts +53 -0
- package/dist/adapters/filesystem/reviewed-update-transaction.js +864 -0
- package/dist/adapters/filesystem/reviewed-update-transaction.js.map +1 -0
- package/dist/adapters/filesystem/update-previews.d.ts +50 -0
- package/dist/adapters/filesystem/update-previews.js +612 -0
- package/dist/adapters/filesystem/update-previews.js.map +1 -0
- package/dist/adapters/process/shell-command.d.ts +2 -0
- package/dist/adapters/process/shell-command.js +10 -1
- package/dist/adapters/process/shell-command.js.map +1 -1
- package/dist/application/context.d.ts +5 -0
- package/dist/application/diagnose/doctor.js +9 -15
- package/dist/application/diagnose/doctor.js.map +1 -1
- package/dist/application/update/approval.d.ts +39 -0
- package/dist/application/update/approval.js +54 -0
- package/dist/application/update/approval.js.map +1 -0
- package/dist/application/update/command-guidance.d.ts +19 -0
- package/dist/application/update/command-guidance.js +28 -0
- package/dist/application/update/command-guidance.js.map +1 -0
- package/dist/application/update/guidance-context.d.ts +2 -0
- package/dist/application/update/guidance-context.js +35 -0
- package/dist/application/update/guidance-context.js.map +1 -0
- package/dist/application/update/inspection.d.ts +40 -0
- package/dist/application/update/inspection.js +241 -0
- package/dist/application/update/inspection.js.map +1 -0
- package/dist/application/update/migration-runtime.d.ts +14 -0
- package/dist/application/update/migration-runtime.js +177 -0
- package/dist/application/update/migration-runtime.js.map +1 -0
- package/dist/application/update/output.d.ts +135 -0
- package/dist/application/update/output.js +182 -0
- package/dist/application/update/output.js.map +1 -0
- package/dist/application/update/preview.d.ts +58 -0
- package/dist/application/update/preview.js +242 -0
- package/dist/application/update/preview.js.map +1 -0
- package/dist/application/update/protected-source.d.ts +25 -0
- package/dist/application/update/protected-source.js +81 -0
- package/dist/application/update/protected-source.js.map +1 -0
- package/dist/application/update/reporting.d.ts +4 -4
- package/dist/application/update/reporting.js +14 -13
- package/dist/application/update/reporting.js.map +1 -1
- package/dist/application/update/revalidation-plan.d.ts +22 -0
- package/dist/application/update/revalidation-plan.js +107 -0
- package/dist/application/update/revalidation-plan.js.map +1 -0
- package/dist/application/update/revalidation.d.ts +70 -0
- package/dist/application/update/revalidation.js +337 -0
- package/dist/application/update/revalidation.js.map +1 -0
- package/dist/application/update/review-plan.d.ts +25 -0
- package/dist/application/update/review-plan.js +89 -0
- package/dist/application/update/review-plan.js.map +1 -0
- package/dist/application/update/transaction-approval.d.ts +29 -0
- package/dist/application/update/transaction-approval.js +82 -0
- package/dist/application/update/transaction-approval.js.map +1 -0
- package/dist/application/update/use-case.d.ts +1 -0
- package/dist/application/update/use-case.js +252 -568
- package/dist/application/update/use-case.js.map +1 -1
- package/dist/application/update/write-plan.d.ts +15 -0
- package/dist/application/update/write-plan.js +115 -0
- package/dist/application/update/write-plan.js.map +1 -0
- package/dist/cli/args/definitions.js +5 -4
- package/dist/cli/args/definitions.js.map +1 -1
- package/dist/cli/args/help.js +13 -1
- package/dist/cli/args/help.js.map +1 -1
- package/dist/cli/args/parser.js +22 -7
- package/dist/cli/args/parser.js.map +1 -1
- package/dist/cli/commands/update.js +1 -0
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/domain/governance/policy/identity.d.ts +1 -1
- package/dist/domain/governance/policy/identity.js +2 -2
- package/dist/domain/governance/policy/identity.js.map +1 -1
- package/dist/domain/project/infrastructure-layout.d.ts +1 -1
- package/dist/domain/project/infrastructure-layout.js +3 -1
- package/dist/domain/project/infrastructure-layout.js.map +1 -1
- package/dist/domain/project/reviewed-update-artifacts.d.ts +2 -0
- package/dist/domain/project/reviewed-update-artifacts.js +3 -0
- package/dist/domain/project/reviewed-update-artifacts.js.map +1 -0
- package/dist/generators/common/base.js +5 -1
- package/dist/generators/common/base.js.map +1 -1
- package/dist/governance-activation/activation-state.js +4 -1
- package/dist/governance-activation/activation-state.js.map +1 -1
- package/dist/governance-activation/commands.d.ts +5 -0
- package/dist/governance-activation/commands.js +65 -3
- package/dist/governance-activation/commands.js.map +1 -1
- package/dist/governance-activation/compatibility.d.ts +21 -4
- package/dist/governance-activation/compatibility.js +47 -8
- package/dist/governance-activation/compatibility.js.map +1 -1
- package/dist/governance-activation/doctor.js +32 -5
- package/dist/governance-activation/doctor.js.map +1 -1
- package/dist/governance-activation/historical-state.d.ts +81 -0
- package/dist/governance-activation/historical-state.js +817 -0
- package/dist/governance-activation/historical-state.js.map +1 -0
- package/dist/governance-activation/history-contracts.d.ts +109 -0
- package/dist/governance-activation/history-contracts.js +303 -0
- package/dist/governance-activation/history-contracts.js.map +1 -0
- package/dist/governance-activation/inputs.d.ts +2 -0
- package/dist/governance-activation/inputs.js +13 -1
- package/dist/governance-activation/inputs.js.map +1 -1
- package/dist/governance-activation/migration-history.d.ts +97 -0
- package/dist/governance-activation/migration-history.js +388 -0
- package/dist/governance-activation/migration-history.js.map +1 -0
- package/dist/governance-activation/migration.js +1 -1
- package/dist/governance-activation/migration.js.map +1 -1
- package/dist/governance-activation/proof-records.d.ts +3 -0
- package/dist/governance-activation/proof-records.js +78 -0
- package/dist/governance-activation/proof-records.js.map +1 -0
- package/dist/governance-activation/read-only.d.ts +4 -4
- package/dist/governance-activation/read-only.js +9 -69
- package/dist/governance-activation/read-only.js.map +1 -1
- package/dist/governance-activation/seed-lifecycle.d.ts +28 -6
- package/dist/governance-activation/seed-lifecycle.js +258 -25
- package/dist/governance-activation/seed-lifecycle.js.map +1 -1
- package/dist/governance-activation/transition-planning.d.ts +2 -0
- package/dist/governance-activation/transition-planning.js +12 -3
- package/dist/governance-activation/transition-planning.js.map +1 -1
- package/dist/governance-activation/transitions.d.ts +8 -2
- package/dist/governance-activation/transitions.js +36 -11
- package/dist/governance-activation/transitions.js.map +1 -1
- package/dist/governance-assessment/engine.js +30 -3
- package/dist/governance-assessment/engine.js.map +1 -1
- package/dist/governance-assessment/project.d.ts +7 -0
- package/dist/governance-assessment/project.js +44 -4
- package/dist/governance-assessment/project.js.map +1 -1
- package/dist/repository-governance.js +25 -12
- package/dist/repository-governance.js.map +1 -1
- package/docs/cli-reference.md +134 -28
- package/docs/configuration-and-manifests.md +27 -15
- package/docs/existing-repositories.md +19 -10
- package/docs/repository-governance.md +9 -5
- package/docs/safety-and-consent.md +27 -18
- package/docs/troubleshooting.md +37 -7
- package/docs/workloads.md +5 -4
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-previews.js","sourceRoot":"","sources":["../../../src/adapters/filesystem/update-previews.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,0BAA0B,EAC1B,iCAAiC,EACjC,2BAA2B,EAC3B,uBAAuB,EACvB,kBAAkB,EAClB,4BAA4B,EAC7B,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EACL,mCAAmC,EACnC,4BAA4B,EAC5B,8BAA8B,EAC9B,wCAAwC,EACxC,qCAAqC,EACtC,MAAM,kDAAkD,CAAC;AAM1D,OAAO,EAAE,aAAa,EAAE,MAAM,sDAAsD,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAqDtD,MAAM,CAAC,MAAM,2BAA2B,GAA4B;IAClE,KAAK;IACL,QAAQ;IACR,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,GAAG,MAAM,KAAK,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACvF,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;QACzC,MAAM,QAAQ,GAAG,SAAS,CAAC,UAAU,IAAI,CAAC,CAAC;QAC3C,MAAM,KAAK,GAAG,MAAM,KAAK,MAAM;YAC7B,CAAC,CAAC,SAAS,CAAC,QAAQ,GAAG,QAAQ;YAC/B,CAAC,CAAC,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,MAAM,GAAG,QAAQ,CAAC;QACzE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACjD,OAAO;YACL,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE;YACzB,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE;gBAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;gBAC7C,IAAI,MAAM,GAAG,CAAC,CAAC;gBACf,OAAO,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;oBAC7B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC;oBAC/E,IAAI,CAAC,MAAM,CAAC,SAAS;wBAAE,MAAM;oBAC7B,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC;gBAC7B,CAAC;gBACD,IAAI,MAAM,GAAG,YAAY;oBAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;gBACtF,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACpD,CAAC;YACD,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;YACzD,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;YACnC,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE;YACzB,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE;SAC5B,CAAC;IACJ,CAAC;IACD,WAAW,EAAE,MAAM;IACnB,UAAU,EAAE,MAAM;IAClB,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE;QACrC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,QAAQ,GAAG,CAAC,SAAS,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC;YAC1H,MAAM,WAAW,CAAC,KAAK,IAAI,EAAE;gBAC3B,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE;oBAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;gBACtG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YACtB,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,gFAAgF;YAChF,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;gBAC5B,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBAAE,MAAM,KAAK,CAAC;QACxG,CAAC;IACH,CAAC;CACF,CAAC;AAaF,MAAM,mBAAmB,GAAG,EAAE,GAAG,IAAI,CAAC;AAEtC,SAAS,YAAY,CAAC,OAAe,EAAE,KAAe;IACpD,OAAO,IAAI,kBAAkB,CAAC,iBAAiB,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;AACvE,CAAC;AAED,KAAK,UAAU,EAAE,CAAI,SAAiB,EAAE,QAAgB,EAAE,MAAwB;IAChF,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,EAAE,CAAC;IACxB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,kBAAkB;YAAE,MAAM,KAAK,CAAC;QACrD,MAAM,YAAY,CAAC,aAAa,SAAS,uBAAuB,QAAQ,KAAK,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC7G,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,QAAyB;IAC5C,OAAO,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;AACxD,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa,EAAE,KAAiB,EAAE,KAAa,EAAE,YAAY,GAAG,KAAK;IAC/F,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,YAAY,IAAI,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;QACzC,IAAI,SAAS,CAAC,UAAU,CAAC,cAAc,CAAC;YAAE,SAAS,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7E,IAAI,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC;YAAE,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,CAAC,SAAS,IAAI,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACrF,MAAM,YAAY,CAAC,GAAG,KAAK,mCAAmC,CAAC,CAAC;IAClE,CAAC;IACD,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;IAC1C,IAAI,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACxE,MAAM,YAAY,CAAC,GAAG,KAAK,uDAAuD,CAAC,CAAC;QACtF,CAAC;QACD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACnG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;YACnE,wDAAwD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACzE,MAAM,YAAY,CAAC,GAAG,KAAK,6CAA6C,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IACD,OAAO,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;AAC5G,CAAC;AAED,SAAS,SAAS,CAAC,OAAiC;IAClD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;IACtD,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IACpC,IAAI,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QAC7D,OAAO,kBAAkB,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QAC3D,OAAO,kBAAkB,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAC1F,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAC;IACrF,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACtE,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACrE,MAAM,YAAY,CAAC,oDAAoD,QAAQ,GAAG,CAAC,CAAC;AACtF,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,OAAO,GAA6B,EAAE;IAC9E,OAAO,WAAW,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,GAAG,2BAA2B,CAAC,CAAC;AACpH,CAAC;AAED,SAAS,UAAU,CAAC,KAAa,EAAE,QAAyB;IAC1D,OAAO,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AACtG,CAAC;AAED,SAAS,MAAM,CAAC,IAAY,EAAE,SAAiB,EAAE,KAAiB,EAAE,QAAyB;IAC3F,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC7F,OAAO,QAAQ,KAAK,EAAE,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AACvH,CAAC;AAED,SAAS,oBAAoB,CAAC,SAAiB,EAAE,UAA6B,EAAE,KAAiB,EAAE,QAAyB;IAC1H,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;QAChF,MAAM,YAAY,CAAC,mFAAmF,SAAS,EAAE,CAAC,CAAC;IACrH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,EAA2B,EAAE,QAAgB;IAClE,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QACpD,MAAM,YAAY,CAAC,0CAA0C,QAAQ,KAAK,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC1G,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,OAA8B,EAAE,QAAgB;IACxE,IAAI,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;QACvD,MAAM,YAAY,CAAC,0FAA0F,QAAQ,EAAE,CAAC,CAAC;IAC3H,CAAC;AACH,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,EAA2B,EAAE,KAAiB,EAAE,SAAiB;IACjG,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IAC7C,IAAI,CAAC,OAAO;QAAE,MAAM,YAAY,CAAC,+CAA+C,SAAS,EAAE,CAAC,CAAC;IAC7F,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,kBAAkB,CACjC,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,IAAI,CACjG,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC9C,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;QAC3F,MAAM,YAAY,CAAC,4DAA4D,SAAS,EAAE,CAAC,CAAC;IAC9F,CAAC;IACD,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACrC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACtC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,EAA2B,EAAE,KAAiB,EAAE,IAAY;IAC5F,IAAI,SAAS,GAAG,IAAI,CAAC;IACrB,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAC1C,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC5E,MAAM,YAAY,CAAC,8CAA8C,MAAM,EAAE,CAAC,CAAC;YAC7E,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC3C,SAAS,GAAG,MAAM,CAAC;IACrB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,EAA2B,EAAE,KAAiB,EAAE,IAAY;IAC5F,IAAI,QAAQ,GAAG,IAAI,CAAC;IACpB,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC5C,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;gBAAE,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACxF,kGAAkG;YAClG,MAAM,IAAI,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,sBAAsB,EAAE,IAAI,CAAC,CAAC;YACjI,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YAC5C,IAAI,CAAC,WAAW;gBAAE,MAAM,YAAY,CAAC,yCAAyC,IAAI,EAAE,CAAC,CAAC;YACtF,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACpC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,MAAM,KAAK,QAAQ;YAAE,MAAM,YAAY,CAAC,uDAAuD,IAAI,EAAE,CAAC,CAAC;QAC3G,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC1C,QAAQ,GAAG,MAAM,CAAC;IACpB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,WAAmB,EAAE,OAA6B;IAC1E,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,IAAI,2BAA2B,CAAC;IAC7D,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;IACtD,IAAI,QAAQ,KAAK,OAAO,CAAC,QAAQ,IAAI,EAAE,KAAK,2BAA2B,EAAE,CAAC;QACxE,MAAM,YAAY,CAAC,gEAAgE,CAAC,CAAC;IACvF,CAAC;IACD,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IACpC,MAAM,aAAa,GAAG,kBAAkB,CAAC,WAAW,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;IAC7E,MAAM,IAAI,GAAG,iCAAiC,CAAC,MAAM,kBAAkB,CAAC,EAAE,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;IACnG,MAAM,mBAAmB,GAAG,OAAO,CAAC,cAAc,KAAK,SAAS;QAC9D,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC;IACrF,MAAM,cAAc,GAAG,mBAAmB,KAAK,SAAS;QACtD,CAAC,CAAC,MAAM,kBAAkB,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC;QAC3C,CAAC,CAAC,MAAM,kBAAkB,CAAC,EAAE,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC;IAC7D,IAAI,cAAc,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;QACnF,MAAM,YAAY,CAAC,yDAAyD,cAAc,EAAE,CAAC,CAAC;IAChG,CAAC;IACD,MAAM,UAAU,GAAG,CAAC,aAAa,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE;QAChF,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACvD,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAChC,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,2BAA2B,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IACpG,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,kBAAkB,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,GAAG,2BAA2B,CAAC,CAAC;IACxG,oBAAoB,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACjD,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;YACtB,WAAW,EAAE,IAAI;YACjB,UAAU;YACV,GAAG,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE;YACzD,SAAS;YACT,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,UAAU,OAAO,CAAC;SACzD,CAAC;QACF,EAAE;QACF,KAAK;QACL,QAAQ;QACR,GAAG,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;KACzC,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,IAA2B,EAAE,KAA4B;IACzE,OAAO,IAAI,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,CAAC;AAC1D,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,OAAgB,EAAE,QAA2B;IAC5E,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACtE,KAAK,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;YACjG,MAAM,YAAY,CAAC,2DAA2D,SAAS,EAAE,CAAC,CAAC;QAC7F,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC;YAC/F,CAAC,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,YAAY,CAAC,+DAA+D,SAAS,EAAE,CAAC,CAAC;QACjG,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,OAAgB,EAAE,MAAe;IAC1D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;IAC3C,OAAO,IAAI,EAAE,CAAC;QACZ,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACzB,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,MAAM,KAAK,SAAS;YAAE,MAAM;QAChC,SAAS,GAAG,MAAM,CAAC;IACrB,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAiC,CAAC;IAC1D,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACtE,KAAK,MAAM,SAAS,IAAI,KAAK,EAAE,CAAC;QAC9B,IAAI,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,MAAM;gBAAE,OAAO,SAAS,CAAC;YAC9B,MAAM,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC3C,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YACnD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE,CAAC;oBAClC,MAAM,YAAY,CAAC,sCAAsC,SAAS,KAAK,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBACvG,CAAC;YACH,CAAC;YACD,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;YAC/C,IAAI,CAAC,OAAO;gBAAE,MAAM,YAAY,CAAC,yCAAyC,SAAS,EAAE,CAAC,CAAC;YACvF,MAAM,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAChD,MAAM,EAAE,CAAC,sCAAsC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;QACnG,CAAC;QACD,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACrC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC;YAC/F,CAAC,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,YAAY,CAAC,2DAA2D,SAAS,EAAE,CAAC,CAAC;QAC7F,CAAC;QACD,MAAM,IAAI,GAAG,kBAAkB,CAC7B,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,EAAE,mBAAmB,EAAE,IAAI,CAC/G,CAAC;QACF,IAAI,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnF,MAAM,YAAY,CAAC,uDAAuD,SAAS,EAAE,CAAC,CAAC;QACzF,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,WAAmB,EACnB,OAAO,GAAyB,EAAE;IAElC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACvD,MAAM,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAClC,OAAO,OAAO,CAAC,QAAQ,CAAC;AAC1B,CAAC;AAED,SAAS,WAAW,CAAC,OAAgB,EAAE,OAA8B,EAAE,QAAgB;IACrF,IAAI,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,OAAO,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;QACzE,MAAM,YAAY,CAAC,iGAAiG,QAAQ,EAAE,CAAC,CAAC;IAClI,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QACjE,MAAM,YAAY,CAAC,qDAAqD,QAAQ,EAAE,CAAC,CAAC;IACtF,CAAC;AACH,CAAC;AAED,KAAK,UAAU,WAAW,CAAI,MAAwB,EAAE,OAA4B;IAClF,IAAI,MAAS,CAAC;IACd,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,MAAM,EAAE,CAAC;IAC1B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC;YAAC,MAAM,OAAO,EAAE,CAAC;QAAC,CAAC;QACxB,OAAO,YAAY,EAAE,CAAC;YACpB,MAAM,YAAY,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,yBAAyB,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACzG,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IACD,MAAM,OAAO,EAAE,CAAC;IAChB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,OAAgB,EAAE,QAAgB,EAAE,QAA2B;IACrF,MAAM,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IACnD,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACvC,IAAI,MAAM,CAAC,IAAI,GAAG,mBAAmB;QAAE,MAAM,YAAY,CAAC,2CAA2C,QAAQ,EAAE,CAAC,CAAC;IACjH,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,kBAAkB,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IAC1G,OAAO,WAAW,CAAC,KAAK,IAAI,EAAE;QAC5B,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,qBAAqB,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9E,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;YAAE,MAAM,YAAY,CAAC,uCAAuC,QAAQ,EAAE,CAAC,CAAC;QACrG,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC;QACvF,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;YAChE,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;YACzE,MAAM,YAAY,CAAC,uCAAuC,QAAQ,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QACtC,MAAM,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC3C,OAAO,OAAO,CAAC;IACjB,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,YAAY,CAAC,OAAe,EAAE,OAAgB;IACrD,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAAC,CAAC;IACpC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,IAAI,kBAAkB,CAAC,iBAAiB,EAAE,mCAAmC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACvI,CAAC;IACD,OAAO,4BAA4B,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AAChH,CAAC;AAED,SAAS,OAAO,CAAC,OAAgB;IAC/B,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAC7B,MAAM,IAAI,kBAAkB,CAC1B,iBAAiB,EACjB,iDAAiD,QAAQ,CAAC,WAAW,uBAAuB,QAAQ,CAAC,WAAW,GAAG,EACnH,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAClE,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,WAAmB,EACnB,OAAO,GAAyB,EAAE;IAElC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACnD,IAAI,CAAC,QAAQ;QAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAChF,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5C,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;AACjF,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,OAAgB,EAAE,QAAgB,EAAE,KAA4B;IAC7F,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IACpD,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;QAAE,MAAM,YAAY,CAAC,6DAA6D,QAAQ,EAAE,CAAC,CAAC;IACvI,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC1C,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,OAAgB,EAChB,QAAgB,EAChB,QAA2B,EAC3B,MAAiH,EACjH,MAAM,GAAG,KAAK;IAEd,MAAM,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC3C,IAAI,MAA+B,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,EAAE,CAAC,uBAAuB,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,EAAE,KAAK,CAAC,CAAC,CAAC;IACvH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,MAAM,IAAI,KAAK,YAAY,kBAAkB,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE,CAAC;YACzF,MAAM,IAAI,kBAAkB,CAAC,cAAc,EAAE,oDAAoD,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACjI,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IACD,IAAI,KAAwC,CAAC;IAC7C,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,MAAM,KAAK,GAAG,KAAK,IAAmB,EAAE;QACtC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAClD,MAAM,GAAG,IAAI,CAAC;QAChB,CAAC;IACH,CAAC,CAAC;IACF,OAAO,WAAW,CAAC,KAAK,IAAI,EAAE;QAC5B,KAAK,GAAG,MAAM,EAAE,CAAC,0BAA0B,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5E,MAAM,EAAE,CAAC,yBAAyB,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QACzE,OAAO,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC,EAAE,KAAK,IAAI,EAAE;QACZ,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,IAAI,CAAC;YAAC,MAAM,KAAK,EAAE,CAAC;QAAC,CAAC;QACtB,OAAO,KAAK,EAAE,CAAC;YAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;QAAC,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC3C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YACpD,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,KAAK;oBAAE,MAAM,YAAY,CAAC,sEAAsE,QAAQ,EAAE,CAAC,CAAC;gBACjH,MAAM,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAChD,MAAM,EAAE,CAAC,mBAAmB,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjF,CAAC;YACD,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAC3C,MAAM,EAAE,CAAC,6BAA6B,EAAE,OAAO,CAAC,QAAQ,CAAC,SAAS,EAChE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;QAAC,CAAC;QACvD,IAAI,QAAQ,CAAC,MAAM;YAAE,MAAM,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,aAAa,CAAI,OAAgB,EAAE,QAA2B,EAAE,SAA2B;IACxG,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,OAAO,CAAC,CAAC;IACvG,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IACrD,IAAI,QAAQ,EAAE,CAAC;QACb,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACzC,MAAM,IAAI,kBAAkB,CAAC,cAAc,EAAE,oDAAoD,QAAQ,EAAE,CAAC,CAAC;IAC/G,CAAC;IACD,OAAO,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QACzE,MAAM,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;QACjC,MAAM,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QAChD,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,IAAI,CAAC,CAAC;AACX,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,OAAgB,EAChB,QAA2B,EAC3B,QAAgB,EAChB,OAAe,EACf,MAA0B,EAC1B,OAAO,GAAG,KAAK;IAEf,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,mBAAmB;QAAE,MAAM,YAAY,CAAC,oDAAoD,CAAC,CAAC;IAC/H,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,UAAU,EAAE,MAAM,CAAC,CAAC;IACjI,MAAM,aAAa,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACnF,MAAM,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QAClE,MAAM,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACtD,MAAM,KAAK,EAAE,CAAC;QACd,MAAM,eAAe,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;QACrD,IAAI,MAAM,QAAQ,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,CAAC,KAAK,OAAO,EAAE,CAAC;YACjE,MAAM,YAAY,CAAC,oEAAoE,aAAa,EAAE,CAAC,CAAC;QAC1G,CAAC;QACD,IAAI,MAAM,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,MAAM,EAAE,CAAC;YAC3D,MAAM,YAAY,CAAC,0DAA0D,QAAQ,EAAE,CAAC,CAAC;QAC3F,CAAC;QACD,MAAM,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC3C,MAAM,EAAE,CAAC,oCAAoC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;QAChH,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC3C,MAAM,EAAE,CAAC,+BAA+B,EAAE,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;QACpI,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,WAAmB,EACnB,WAA+C,EAC/C,OAAO,GAAyB,EAAE;IAElC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACvD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QAAE,MAAM,IAAI,kBAAkB,CAAC,iBAAiB,EAAE,+BAA+B,CAAC,CAAC;IACtH,MAAM,OAAO,GAAG,4BAA4B,CAAC,0BAA0B,CAAC,WAAW,EAAE;QACnF,SAAS,EAAE,UAAU,EAAE;QACvB,QAAQ,EAAE,GAAG,CAAC,WAAW,EAAE;KAC5B,CAAC,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClD,IAAI,CAAC,QAAQ;QAAE,MAAM,YAAY,CAAC,qCAAqC,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;IACrG,OAAO,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC/E,IAAI,MAAM,KAAK,SAAS;YAAE,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACxD,MAAM,mBAAmB,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;QAC3G,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,OAAgB,EAAE,OAAyC;IAC/E,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,YAAY,4BAA4B,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAClH,CAAC;AAED,SAAS,aAAa,CACpB,OAAe,EACf,OAAgB,EAChB,OAAyC,EACzC,QAAgB;IAEhB,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAAC,CAAC;IACpC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,IAAI,8BAA8B,CAAC,6CAA6C,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACtH,CAAC;IACD,OAAO,qCAAqC,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,oCAAoC,CAClD,WAAmB,EACnB,OAAO,GAAyB,EAAE;IAElC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACvC,MAAM,eAAe,GAAyB;QAC5C,GAAG,OAAO;QACV,GAAG,EAAE,EAAE,cAAc,EAAE,GAAG,CAAC,cAAc,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE;QAC3E,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ;QAC9C,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,OAAO,EAAE;KACzC,CAAC;IACF,IAAI,aAAgD,CAAC;IACrD,MAAM,cAAc,GAAG,KAAK,EAAE,eAAuB,EAAE,iBAAyB,EAAE,EAAE;QAClF,wCAAwC,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;QAC7E,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QAC/D,IAAI,aAAa,IAAI,aAAa,CAAC,aAAa,CAAC,KAAK,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtF,MAAM,IAAI,8BAA8B,CAAC,0EAA0E,CAAC,CAAC;QACvH,CAAC;QACD,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,MAAM,OAAO,GAAqC,EAAE,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,eAAe,EAAE,iBAAiB,EAAE,CAAC;QACpI,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;IACxE,CAAC,CAAC;IACF,OAAO;QACL,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,EAAE;YAClD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,cAAc,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;YAChG,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;gBAAE,MAAM,IAAI,8BAA8B,CAAC,4CAA4C,CAAC,CAAC;YAC5H,MAAM,IAAI,GAAG,mCAAmC,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACvH,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAClD,IAAI,CAAC,QAAQ;gBAAE,MAAM,YAAY,CAAC,kDAAkD,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;YAClH,MAAM,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE;gBAChD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAC3D,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACzB,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;oBAClD,MAAM,EAAE,CAAC,wCAAwC,EAAE,OAAO,CAAC,QAAQ,CAAC,SAAS,EAC3E,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;oBAC9D,OAAO;gBACT,CAAC;gBACD,MAAM,mBAAmB,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC;QACL,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,EAAE;YACnD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,cAAc,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;YAChG,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACnD,IAAI,CAAC,QAAQ;gBAAE,OAAO,KAAK,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC5D,IAAI,OAAO,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAC;YACxC,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YACnD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,EAAE;YACnD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,cAAc,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;YAChG,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACnD,IAAI,CAAC,QAAQ;gBAAE,OAAO;YACtB,MAAM,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE;gBAChD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAC5D,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC1B,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;oBACnD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;oBAClD,IAAI,CAAC,KAAK,IAAI,MAAM,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,OAAO,EAAE,CAAC;wBACtE,MAAM,YAAY,CAAC,qDAAqD,QAAQ,EAAE,CAAC,CAAC;oBACtF,CAAC;oBACD,MAAM,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;oBAC3C,MAAM,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAChD,MAAM,EAAE,CAAC,kCAAkC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAChG,CAAC;gBACD,MAAM,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAC3C,MAAM,EAAE,CAAC,uCAAuC,EAAE,OAAO,CAAC,QAAQ,CAAC,SAAS,EAC1E,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;YAChE,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,WAAmB,EACnB,eAAqC,EACrC,OAAO,GAAyB,EAAE;IAElC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,4BAA4B,CAAC,eAAe,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAClI,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACnD,IAAI,CAAC,QAAQ;QAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,MAAM,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAChF,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC/C,IAAI,aAAa,CAAC,OAAO,CAAC,KAAK,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvD,MAAM,IAAI,kBAAkB,CAAC,kBAAkB,EAAE,mEAAmE,CAAC,CAAC;QACxH,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACtE,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,MAAM,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,KAAK,OAAO,EAAE,CAAC;YAChF,MAAM,YAAY,CAAC,2CAA2C,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;QAChG,CAAC;QACD,MAAM,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC3C,MAAM,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QACpE,MAAM,EAAE,CAAC,iBAAiB,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IACvH,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -3,3 +3,5 @@ export type CommandShell = 'posix' | 'powershell';
|
|
|
3
3
|
export declare function commandShellForPlatform(platform: NodeJS.Platform): CommandShell;
|
|
4
4
|
export declare function formatShellCommand(command: ExternalCommand, shell: CommandShell): string;
|
|
5
5
|
export declare function formatShellDirectoryCommand(command: ExternalCommand, cwd: string, shell: CommandShell): string;
|
|
6
|
+
export declare function formatShellCommands(commands: readonly [ExternalCommand, ...ExternalCommand[]], shell: CommandShell): string;
|
|
7
|
+
export declare function formatShellDirectoryCommands(commands: readonly [ExternalCommand, ...ExternalCommand[]], cwd: string, shell: CommandShell): string;
|
|
@@ -13,7 +13,16 @@ export function formatShellCommand(command, shell) {
|
|
|
13
13
|
return `${shell === 'powershell' ? '& ' : ''}${tokens.join(' ')}`;
|
|
14
14
|
}
|
|
15
15
|
export function formatShellDirectoryCommand(command, cwd, shell) {
|
|
16
|
-
|
|
16
|
+
return formatShellDirectoryCommands([command], cwd, shell);
|
|
17
|
+
}
|
|
18
|
+
export function formatShellCommands(commands, shell) {
|
|
19
|
+
return commands.map((command) => formatShellCommand(command, shell))
|
|
20
|
+
.reduceRight((next, current) => shell === 'powershell'
|
|
21
|
+
? `${current}; if ($?) { ${next} }`
|
|
22
|
+
: `${current} && ${next}`);
|
|
23
|
+
}
|
|
24
|
+
export function formatShellDirectoryCommands(commands, cwd, shell) {
|
|
25
|
+
const invocation = formatShellCommands(commands, shell);
|
|
17
26
|
return shell === 'powershell'
|
|
18
27
|
? `Set-Location -LiteralPath ${literal(cwd, shell)}; if ($?) { ${invocation} }`
|
|
19
28
|
: `cd -- ${literal(cwd, shell)} && ${invocation}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell-command.js","sourceRoot":"","sources":["../../../src/adapters/process/shell-command.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,uBAAuB,CAAC,QAAyB;IAC/D,OAAO,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC;AACvD,CAAC;AAED,SAAS,OAAO,CAAC,KAAa,EAAE,KAAmB;IACjD,OAAO,KAAK,KAAK,YAAY;QAC3B,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG;QAClC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAwB,EAAE,KAAmB;IAC9E,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACjE,KAAK,KAAK,OAAO,IAAI,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC;QACtD,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAC1B,CAAC;IACF,OAAO,GAAG,KAAK,KAAK,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,OAAwB,EACxB,GAAW,EACX,KAAmB;IAEnB,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"shell-command.js","sourceRoot":"","sources":["../../../src/adapters/process/shell-command.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,uBAAuB,CAAC,QAAyB;IAC/D,OAAO,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC;AACvD,CAAC;AAED,SAAS,OAAO,CAAC,KAAa,EAAE,KAAmB;IACjD,OAAO,KAAK,KAAK,YAAY;QAC3B,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG;QAClC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAwB,EAAE,KAAmB;IAC9E,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACjE,KAAK,KAAK,OAAO,IAAI,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC;QACtD,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAC1B,CAAC;IACF,OAAO,GAAG,KAAK,KAAK,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,OAAwB,EACxB,GAAW,EACX,KAAmB;IAEnB,OAAO,4BAA4B,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,QAA0D,EAC1D,KAAmB;IAEnB,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SACjE,WAAW,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,KAAK,KAAK,YAAY;QACpD,CAAC,CAAC,GAAG,OAAO,eAAe,IAAI,IAAI;QACnC,CAAC,CAAC,GAAG,OAAO,OAAO,IAAI,EAAE,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,QAA0D,EAC1D,GAAW,EACX,KAAmB;IAEnB,MAAM,UAAU,GAAG,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACxD,OAAO,KAAK,KAAK,YAAY;QAC3B,CAAC,CAAC,6BAA6B,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,eAAe,UAAU,IAAI;QAC/E,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,UAAU,EAAE,CAAC;AACtD,CAAC"}
|
|
@@ -3,6 +3,8 @@ import type { CommandRunner } from '../process-runner.js';
|
|
|
3
3
|
import type { ConfiguredRegistryTargetLookup, SelfUpgradeExecutor } from '../self-upgrade.js';
|
|
4
4
|
import type { StableRelease } from '../stable-release.js';
|
|
5
5
|
import type { PresentationSession, PresentationSessionOptions } from '../terminal.js';
|
|
6
|
+
import type { UpdateApprovalPrompt } from './update/approval.js';
|
|
7
|
+
import type { resolveUpdatePreviewLocation } from '../adapters/filesystem/update-previews.js';
|
|
6
8
|
export interface CommandContext {
|
|
7
9
|
cwd: string;
|
|
8
10
|
stdout: NodeJS.WritableStream;
|
|
@@ -13,6 +15,9 @@ export interface CommandContext {
|
|
|
13
15
|
selfUpgrade?: SelfUpgradeExecutor;
|
|
14
16
|
stableReleaseLookup?: () => Promise<StableRelease>;
|
|
15
17
|
configuredRegistryTargetLookup?: ConfiguredRegistryTargetLookup;
|
|
18
|
+
updatePreview?: Parameters<typeof resolveUpdatePreviewLocation>[1];
|
|
19
|
+
approveUpdatePlan?: UpdateApprovalPrompt;
|
|
20
|
+
updateNow?: () => Date;
|
|
16
21
|
terminal?: Pick<PresentationSessionOptions, 'columns' | 'color' | 'snapshot' | 'env' | 'layout' | 'normalize'>;
|
|
17
22
|
}
|
|
18
23
|
export interface ExecutionContext extends CommandContext {
|
|
@@ -5,20 +5,17 @@ import { validateFrameworkInstallation } from '../../framework-validation.js';
|
|
|
5
5
|
import { findProjectRoot } from '../../adapters/filesystem/project-discovery.js';
|
|
6
6
|
import { loadManifest } from '../project/manifest.js';
|
|
7
7
|
import { validateGeneratedProject } from './generated-project.js';
|
|
8
|
-
import { buildProjectPlan, loadConfigOptions } from '../project/planning.js';
|
|
9
8
|
import { NodeCommandRunner } from '../../process-runner.js';
|
|
10
|
-
import { reconcileProject } from '../../reconcile.js';
|
|
11
9
|
import { compareSemver } from '../../semver.js';
|
|
12
10
|
import { checkConfiguredRegistryTarget } from '../../self-upgrade.js';
|
|
13
11
|
import { canonicalManualInstallCommand, canonicalNpmRegistry } from '../../package-identity.js';
|
|
14
12
|
import { lookupStableRelease } from '../../stable-release.js';
|
|
15
13
|
import { packagedSupportedStack as supportedStack } from '../../adapters/packaged-assets/supported-stack.js';
|
|
16
|
-
import { buildArtifacts } from '../../templates.js';
|
|
17
14
|
import { governanceDoctorChecks } from '../../governance-activation/doctor.js';
|
|
18
15
|
import { liftoffVersion } from '../../version.js';
|
|
19
16
|
import { isRetiredPowerAppsError } from '../../domain/project/retired-workload.js';
|
|
20
17
|
import { probeWorkstation, selectLiftoffRuntimeRequirements, selectWorkstationRequirements } from '../../workstation.js';
|
|
21
|
-
import {
|
|
18
|
+
import { inspectProjectUpdate, UpdatePlanError } from '../update/inspection.js';
|
|
22
19
|
const doctorProbeTimeoutMs = 15_000;
|
|
23
20
|
async function versionedBinaryCheck(label, command, args, minimum, remedy, runner) {
|
|
24
21
|
const result = await runner.run({ executable: command, args }, { timeoutMs: doctorProbeTimeoutMs });
|
|
@@ -410,11 +407,8 @@ async function projectLayer(projectRoot, manifest, runner) {
|
|
|
410
407
|
checks.push(...await frameworkDoctorChecks(projectRoot, manifest));
|
|
411
408
|
checks.push(await stackProjectCheck(projectRoot, manifest.project.workload.apiStack, runner));
|
|
412
409
|
try {
|
|
413
|
-
const
|
|
414
|
-
const
|
|
415
|
-
const render = buildArtifacts(plan);
|
|
416
|
-
const entries = await reconcileProject(manifest, render, projectRoot);
|
|
417
|
-
const provisioningPlans = await inspectProvisioningGroups(projectRoot, render, requestedProvisioningGroups(manifest, plan));
|
|
410
|
+
const inspection = await inspectProjectUpdate(projectRoot, { runner });
|
|
411
|
+
const { entries, provisioningPlans } = inspection;
|
|
418
412
|
for (const group of provisioningPlans.filter((candidate) => candidate.blocked && candidate.reason)) {
|
|
419
413
|
checks.push({
|
|
420
414
|
id: `project-component:${group.group}`,
|
|
@@ -422,18 +416,18 @@ async function projectLayer(projectRoot, manifest, runner) {
|
|
|
422
416
|
severity: 'fail',
|
|
423
417
|
state: 'migration-required',
|
|
424
418
|
detail: group.reason,
|
|
425
|
-
remedy: '
|
|
419
|
+
remedy: 'Run liftoff update --check and follow its migration guidance; --force cannot relocate state or overwrite project-owned files.'
|
|
426
420
|
});
|
|
427
421
|
}
|
|
428
422
|
const driftCount = entries.filter((entry) => entry.status !== 'unchanged' || entry.refreshHash).length +
|
|
429
423
|
provisioningPlans.length +
|
|
430
|
-
(
|
|
424
|
+
(inspection.ownershipMigrationPending ? 1 : 0);
|
|
431
425
|
if (driftCount > 0) {
|
|
432
426
|
checks.push({
|
|
433
427
|
label: 'managed core',
|
|
434
428
|
severity: 'warn',
|
|
435
429
|
detail: `${driftCount} core maintenance action(s) available`,
|
|
436
|
-
remedy: 'run liftoff update'
|
|
430
|
+
remedy: 'run liftoff update --check'
|
|
437
431
|
});
|
|
438
432
|
}
|
|
439
433
|
else {
|
|
@@ -447,9 +441,9 @@ async function projectLayer(projectRoot, manifest, runner) {
|
|
|
447
441
|
catch (error) {
|
|
448
442
|
checks.push({
|
|
449
443
|
label: 'managed core',
|
|
450
|
-
severity: 'fail',
|
|
451
|
-
detail: `
|
|
452
|
-
remedy: '
|
|
444
|
+
severity: error instanceof UpdatePlanError && error.reasonCode === 'newer-project' ? 'warn' : 'fail',
|
|
445
|
+
detail: `Update inspection failed: ${(error instanceof Error ? error.message : String(error)).split('\n')[0]}`,
|
|
446
|
+
remedy: error instanceof UpdatePlanError ? error.remedy : 'Repair the named input, then run liftoff update --check.'
|
|
453
447
|
});
|
|
454
448
|
}
|
|
455
449
|
return { title: 'Project', checks };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/application/diagnose/doctor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/application/diagnose/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { Readable } from 'node:stream';
|
|
2
|
+
export interface UpdateApprovalRequest {
|
|
3
|
+
fingerprint: string;
|
|
4
|
+
approvePlan?: string;
|
|
5
|
+
}
|
|
6
|
+
export type UpdateApprovalPrompt = (config: {
|
|
7
|
+
message: string;
|
|
8
|
+
default: false;
|
|
9
|
+
}, context: {
|
|
10
|
+
input: Readable;
|
|
11
|
+
output: NodeJS.WritableStream;
|
|
12
|
+
}) => Promise<boolean>;
|
|
13
|
+
export interface UpdateApprovalContext {
|
|
14
|
+
stdin?: Readable;
|
|
15
|
+
stderr: NodeJS.WritableStream;
|
|
16
|
+
approveUpdatePlan?: UpdateApprovalPrompt;
|
|
17
|
+
}
|
|
18
|
+
export type UpdateApprovalResult = {
|
|
19
|
+
status: 'approved';
|
|
20
|
+
fingerprint: string;
|
|
21
|
+
method: 'fingerprint' | 'interactive';
|
|
22
|
+
} | {
|
|
23
|
+
status: 'required';
|
|
24
|
+
fingerprint: string;
|
|
25
|
+
} | {
|
|
26
|
+
status: 'declined';
|
|
27
|
+
fingerprint: string;
|
|
28
|
+
reason: 'declined' | 'cancelled';
|
|
29
|
+
} | {
|
|
30
|
+
status: 'mismatch';
|
|
31
|
+
fingerprint: string;
|
|
32
|
+
requestedFingerprint: string;
|
|
33
|
+
};
|
|
34
|
+
export declare class InvalidUpdateApprovalError extends Error {
|
|
35
|
+
readonly field: 'fingerprint' | 'approvePlan';
|
|
36
|
+
constructor(field: 'fingerprint' | 'approvePlan');
|
|
37
|
+
}
|
|
38
|
+
export declare function isUpdatePlanFingerprint(value: unknown): value is string;
|
|
39
|
+
export declare function requestUpdateApproval({ fingerprint, approvePlan }: UpdateApprovalRequest, context: UpdateApprovalContext): Promise<UpdateApprovalResult>;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
export class InvalidUpdateApprovalError extends Error {
|
|
2
|
+
field;
|
|
3
|
+
constructor(field) {
|
|
4
|
+
super(`${field === 'fingerprint' ? 'The current update plan fingerprint' : 'Flag --approve-plan'} ` +
|
|
5
|
+
'must contain exactly 64 lowercase hexadecimal characters.');
|
|
6
|
+
this.field = field;
|
|
7
|
+
this.name = 'InvalidUpdateApprovalError';
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
export function isUpdatePlanFingerprint(value) {
|
|
11
|
+
return typeof value === 'string' && value.length === 64 && /^[a-f0-9]{64}$/u.test(value);
|
|
12
|
+
}
|
|
13
|
+
function isPromptCancellation(error) {
|
|
14
|
+
return error instanceof Error && (error.name === 'ExitPromptError' ||
|
|
15
|
+
error.name === 'AbortPromptError' ||
|
|
16
|
+
error.name === 'InteractiveCancelledError');
|
|
17
|
+
}
|
|
18
|
+
// Consent only: the caller must match a preview first and recheck the plan under the project lock before writes.
|
|
19
|
+
export async function requestUpdateApproval({ fingerprint, approvePlan }, context) {
|
|
20
|
+
if (!isUpdatePlanFingerprint(fingerprint)) {
|
|
21
|
+
throw new InvalidUpdateApprovalError('fingerprint');
|
|
22
|
+
}
|
|
23
|
+
if (approvePlan !== undefined) {
|
|
24
|
+
if (!isUpdatePlanFingerprint(approvePlan)) {
|
|
25
|
+
throw new InvalidUpdateApprovalError('approvePlan');
|
|
26
|
+
}
|
|
27
|
+
return approvePlan === fingerprint
|
|
28
|
+
? { status: 'approved', fingerprint, method: 'fingerprint' }
|
|
29
|
+
: { status: 'mismatch', fingerprint, requestedFingerprint: approvePlan };
|
|
30
|
+
}
|
|
31
|
+
const input = context.stdin;
|
|
32
|
+
const output = context.stderr;
|
|
33
|
+
if (!input || input.isTTY !== true || input.destroyed || input.readableEnded || !input.readable ||
|
|
34
|
+
output.isTTY !== true || output.destroyed || output.writableEnded || !output.writable) {
|
|
35
|
+
return { status: 'required', fingerprint };
|
|
36
|
+
}
|
|
37
|
+
try {
|
|
38
|
+
const prompt = context.approveUpdatePlan ?? (await import('@inquirer/prompts')).confirm;
|
|
39
|
+
const approved = await prompt({
|
|
40
|
+
message: `Apply this exact update plan (${fingerprint})?`,
|
|
41
|
+
default: false
|
|
42
|
+
}, { input, output });
|
|
43
|
+
return approved === true
|
|
44
|
+
? { status: 'approved', fingerprint, method: 'interactive' }
|
|
45
|
+
: { status: 'declined', fingerprint, reason: 'declined' };
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
if (isPromptCancellation(error)) {
|
|
49
|
+
return { status: 'declined', fingerprint, reason: 'cancelled' };
|
|
50
|
+
}
|
|
51
|
+
throw error;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=approval.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approval.js","sourceRoot":"","sources":["../../../src/application/update/approval.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export type UpdateCommandMode = 'normal' | 'force' | 'check';
|
|
2
|
+
export type UpdateGuidanceText = string | readonly (string | {
|
|
3
|
+
readonly projectRoot: string;
|
|
4
|
+
readonly mode?: UpdateCommandMode;
|
|
5
|
+
})[];
|
|
6
|
+
export interface ResolvedUpdateGuidanceContext {
|
|
7
|
+
readonly state: 'resolved';
|
|
8
|
+
readonly requestedProjectRoot: string;
|
|
9
|
+
readonly projectRoot: string;
|
|
10
|
+
readonly invocationDirectory: string;
|
|
11
|
+
readonly implicitProjectRoot?: string;
|
|
12
|
+
}
|
|
13
|
+
export type UpdateGuidanceContext = ResolvedUpdateGuidanceContext | {
|
|
14
|
+
readonly state: 'unresolved';
|
|
15
|
+
readonly detail: string;
|
|
16
|
+
};
|
|
17
|
+
export declare function formatUpdateCommand(projectRoot: string, mode?: UpdateCommandMode, platform?: NodeJS.Platform, context?: UpdateGuidanceContext): string;
|
|
18
|
+
export declare function formatUpdateGuidanceText(text: UpdateGuidanceText, context?: UpdateGuidanceContext, platform?: NodeJS.Platform): string;
|
|
19
|
+
export declare function formatUpdateValidationCommands(projectRoot: string, platform?: NodeJS.Platform, context?: UpdateGuidanceContext): string;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { commandShellForPlatform, formatShellCommand, formatShellCommands, formatShellDirectoryCommands } from '../../adapters/process/shell-command.js';
|
|
2
|
+
function targetsProject(projectRoot, context) {
|
|
3
|
+
return context?.state === 'resolved' &&
|
|
4
|
+
(projectRoot === context.projectRoot || projectRoot === context.requestedProjectRoot);
|
|
5
|
+
}
|
|
6
|
+
export function formatUpdateCommand(projectRoot, mode = 'normal', platform = process.platform, context) {
|
|
7
|
+
const implicit = targetsProject(projectRoot, context) &&
|
|
8
|
+
context.implicitProjectRoot === context.projectRoot;
|
|
9
|
+
return formatShellCommand({
|
|
10
|
+
executable: 'liftoff',
|
|
11
|
+
args: ['update', ...(mode === 'normal' ? [] : [`--${mode}`]),
|
|
12
|
+
...(implicit ? [] : ['--project', projectRoot])]
|
|
13
|
+
}, commandShellForPlatform(platform));
|
|
14
|
+
}
|
|
15
|
+
export function formatUpdateGuidanceText(text, context, platform = process.platform) {
|
|
16
|
+
return typeof text === 'string' ? text : text.map((part) => typeof part === 'string' ? part : formatUpdateCommand(part.projectRoot, part.mode, platform, context)).join('');
|
|
17
|
+
}
|
|
18
|
+
export function formatUpdateValidationCommands(projectRoot, platform = process.platform, context) {
|
|
19
|
+
const commands = [
|
|
20
|
+
{ executable: 'liftoff', args: ['validate'] },
|
|
21
|
+
{ executable: 'liftoff', args: ['doctor'] }
|
|
22
|
+
];
|
|
23
|
+
const shell = commandShellForPlatform(platform);
|
|
24
|
+
return targetsProject(projectRoot, context) && context.invocationDirectory === context.projectRoot
|
|
25
|
+
? formatShellCommands(commands, shell)
|
|
26
|
+
: formatShellDirectoryCommands(commands, projectRoot, shell);
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=command-guidance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-guidance.js","sourceRoot":"","sources":["../../../src/application/update/command-guidance.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,4BAA4B,EAC7B,MAAM,yCAAyC,CAAC;AAuBjD,SAAS,cAAc,CACrB,WAAmB,EACnB,OAA+B;IAE/B,OAAO,OAAO,EAAE,KAAK,KAAK,UAAU;QAClC,CAAC,WAAW,KAAK,OAAO,CAAC,WAAW,IAAI,WAAW,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAC1F,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,WAAmB,EACnB,IAAI,GAAsB,QAAQ,EAClC,QAAQ,GAAoB,OAAO,CAAC,QAAQ,EAC5C,OAA+B;IAE/B,MAAM,QAAQ,GAAG,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC;QACnD,OAAO,CAAC,mBAAmB,KAAK,OAAO,CAAC,WAAW,CAAC;IACtD,OAAO,kBAAkB,CAAC;QACxB,UAAU,EAAE,SAAS;QACrB,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YAC1D,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;KACnD,EAAE,uBAAuB,CAAC,QAAQ,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,IAAwB,EACxB,OAA+B,EAC/B,QAAQ,GAAoB,OAAO,CAAC,QAAQ;IAE5C,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACzD,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CACtG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACb,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,WAAmB,EACnB,QAAQ,GAAoB,OAAO,CAAC,QAAQ,EAC5C,OAA+B;IAE/B,MAAM,QAAQ,GAAqD;QACjE,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE;QAC7C,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE;KAC5C,CAAC;IACF,MAAM,KAAK,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAChD,OAAO,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,OAAO,CAAC,mBAAmB,KAAK,OAAO,CAAC,WAAW;QAChG,CAAC,CAAC,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC;QACtC,CAAC,CAAC,4BAA4B,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;AACjE,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { lstat, realpath } from 'node:fs/promises';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { errorCode, errorMessage } from '../../adapters/filesystem/errors.js';
|
|
4
|
+
import { findProjectRoot } from '../../adapters/filesystem/project-discovery.js';
|
|
5
|
+
import { FileSystemError } from '../../domain/project/errors.js';
|
|
6
|
+
const unavailableContextCodes = new Set(['ENOENT', 'ENOTDIR', 'EACCES', 'EPERM', 'ELOOP']);
|
|
7
|
+
export async function resolveUpdateGuidanceContext(cwd, projectRoot, discoveredProjectRoot) {
|
|
8
|
+
const requestedProjectRoot = path.resolve(projectRoot);
|
|
9
|
+
const canonicalProjectRoot = await realpath(requestedProjectRoot);
|
|
10
|
+
try {
|
|
11
|
+
const invocationDirectory = await realpath(cwd);
|
|
12
|
+
const discovered = discoveredProjectRoot ?? await findProjectRoot(cwd);
|
|
13
|
+
if (discovered) {
|
|
14
|
+
// Canonical equality must not hide a leaf alias rejected by the transaction boundary.
|
|
15
|
+
const directory = await lstat(discovered);
|
|
16
|
+
if (!directory.isDirectory() || directory.isSymbolicLink()) {
|
|
17
|
+
throw new FileSystemError(`Implicit project root must be a directory, not a symlink or junction: ${discovered}`);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return {
|
|
21
|
+
state: 'resolved',
|
|
22
|
+
requestedProjectRoot,
|
|
23
|
+
projectRoot: canonicalProjectRoot,
|
|
24
|
+
invocationDirectory,
|
|
25
|
+
...(discovered ? { implicitProjectRoot: await realpath(discovered) } : {})
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
if (!(error instanceof FileSystemError) && !unavailableContextCodes.has(errorCode(error) ?? '')) {
|
|
30
|
+
throw error;
|
|
31
|
+
}
|
|
32
|
+
return { state: 'unresolved', detail: errorMessage(error) };
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=guidance-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guidance-context.js","sourceRoot":"","sources":["../../../src/application/update/guidance-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAGjE,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAE3F,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,GAAW,EACX,WAAmB,EACnB,qBAA8B;IAE9B,MAAM,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACvD,MAAM,oBAAoB,GAAG,MAAM,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAClE,IAAI,CAAC;QACH,MAAM,mBAAmB,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,qBAAqB,IAAI,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;QACvE,IAAI,UAAU,EAAE,CAAC;YACf,sFAAsF;YACtF,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,CAAC;YAC1C,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,SAAS,CAAC,cAAc,EAAE,EAAE,CAAC;gBAC3D,MAAM,IAAI,eAAe,CAAC,yEAAyE,UAAU,EAAE,CAAC,CAAC;YACnH,CAAC;QACH,CAAC;QACD,OAAO;YACL,KAAK,EAAE,UAAU;YACjB,oBAAoB;YACpB,WAAW,EAAE,oBAAoB;YACjC,mBAAmB;YACnB,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3E,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,CAAC,KAAK,YAAY,eAAe,CAAC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YAChG,MAAM,KAAK,CAAC;QACd,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;IAC9D,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { type ProjectFileSnapshot } from '../../adapters/filesystem/project-transaction.js';
|
|
2
|
+
import type { LiftoffManifest, ProjectPlan } from '../../domain/project/contracts.js';
|
|
3
|
+
import type { CommandRunner } from '../../process-runner.js';
|
|
4
|
+
import { type UpdateGuidanceContext, type UpdateGuidanceText } from './command-guidance.js';
|
|
5
|
+
import { type ManagedUpdateReconciliationReport } from './reporting.js';
|
|
6
|
+
export declare class UpdatePlanError extends Error {
|
|
7
|
+
readonly reasonCode: string;
|
|
8
|
+
private readonly remedyText;
|
|
9
|
+
constructor(message: string, reasonCode: string, remedyText: UpdateGuidanceText);
|
|
10
|
+
get remedy(): string;
|
|
11
|
+
formatRemedy(context?: UpdateGuidanceContext): string;
|
|
12
|
+
}
|
|
13
|
+
export declare function preserveDiagnosticGovernanceIdentity(target: LiftoffManifest, source: LiftoffManifest): void;
|
|
14
|
+
export declare function findUpdateRepositoryBoundary(projectRoot: string): Promise<string | undefined>;
|
|
15
|
+
export declare function inspectProjectUpdate(projectDirectory: string, options?: {
|
|
16
|
+
runner?: CommandRunner;
|
|
17
|
+
}): Promise<{
|
|
18
|
+
projectRoot: string;
|
|
19
|
+
repositoryRoot: string | undefined;
|
|
20
|
+
manifest: LiftoffManifest;
|
|
21
|
+
plan: ProjectPlan;
|
|
22
|
+
renderPlan: ProjectPlan;
|
|
23
|
+
render: import("../../domain/project/contracts.js").GeneratedArtifact[];
|
|
24
|
+
entries: import("../../reconcile.js").ReconcileEntry[];
|
|
25
|
+
oldByName: Map<string, import("../../domain/project/contracts.js").ManifestManagedArtifact>;
|
|
26
|
+
provisioningPlans: import("./planning.js").ProvisioningGroupPlan[];
|
|
27
|
+
snapshots: ProjectFileSnapshot[];
|
|
28
|
+
stateMigration: import("../../governance-activation/migration.js").ActivationStateMigrationPlan;
|
|
29
|
+
historyMigration: import("../../governance-activation/migration-history.js").ActivationHistoryMigrationPlan;
|
|
30
|
+
revalidationSource: import("../../governance-activation/inputs.js").ActivationInputSnapshot | undefined;
|
|
31
|
+
retainedSource: import("./protected-source.js").RetainedProjectInput[] | undefined;
|
|
32
|
+
reconciliation: ManagedUpdateReconciliationReport;
|
|
33
|
+
ownershipMigrationPending: boolean;
|
|
34
|
+
workloadIntentChanged: boolean;
|
|
35
|
+
plannedManifestChanges: import("./reporting.js").ManifestChange[];
|
|
36
|
+
summary: import("./reporting.js").UpdateSummary;
|
|
37
|
+
hasDrift: boolean;
|
|
38
|
+
}>;
|
|
39
|
+
export type UpdateInspection = Awaited<ReturnType<typeof inspectProjectUpdate>>;
|
|
40
|
+
export declare function uniqueUpdateSnapshots(snapshots: readonly ProjectFileSnapshot[], projectRoot: string): ProjectFileSnapshot[];
|