@pennyfarthing/core 10.3.0 → 10.4.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.
- package/README.md +3 -3
- package/package.json +14 -16
- package/packages/core/dist/cli/commands/init.d.ts.map +1 -1
- package/packages/core/dist/cli/commands/init.js +3 -0
- package/packages/core/dist/cli/commands/init.js.map +1 -1
- package/packages/core/dist/cli/commands/update.d.ts.map +1 -1
- package/packages/core/dist/cli/commands/update.js +62 -122
- package/packages/core/dist/cli/commands/update.js.map +1 -1
- package/packages/core/dist/cli/commands/version-sentinel.test.d.ts +18 -0
- package/packages/core/dist/cli/commands/version-sentinel.test.d.ts.map +1 -0
- package/packages/core/dist/cli/commands/version-sentinel.test.js +120 -0
- package/packages/core/dist/cli/commands/version-sentinel.test.js.map +1 -0
- package/packages/core/dist/cli/utils/manifest.d.ts +1 -0
- package/packages/core/dist/cli/utils/manifest.d.ts.map +1 -1
- package/packages/core/dist/cli/utils/manifest.js.map +1 -1
- package/packages/core/dist/cli/utils/migrations.d.ts +88 -0
- package/packages/core/dist/cli/utils/migrations.d.ts.map +1 -0
- package/packages/core/dist/cli/utils/migrations.js +105 -0
- package/packages/core/dist/cli/utils/migrations.js.map +1 -0
- package/packages/core/dist/cli/utils/migrations.test.d.ts +23 -0
- package/packages/core/dist/cli/utils/migrations.test.d.ts.map +1 -0
- package/packages/core/dist/cli/utils/migrations.test.js +319 -0
- package/packages/core/dist/cli/utils/migrations.test.js.map +1 -0
- package/packages/core/dist/cli/utils/version-sentinel.d.ts +32 -0
- package/packages/core/dist/cli/utils/version-sentinel.d.ts.map +1 -0
- package/packages/core/dist/cli/utils/version-sentinel.js +49 -0
- package/packages/core/dist/cli/utils/version-sentinel.js.map +1 -0
- package/packages/core/dist/scripts/generate-spider-report.d.ts.map +1 -1
- package/packages/core/dist/scripts/generate-spider-report.js +2 -0
- package/packages/core/dist/scripts/generate-spider-report.js.map +1 -1
- package/packages/core/dist/scripts/generate-spider.d.ts.map +1 -1
- package/packages/core/dist/scripts/generate-spider.js +1 -0
- package/packages/core/dist/scripts/generate-spider.js.map +1 -1
- package/packages/core/dist/workflow/context-watch.d.ts +81 -0
- package/packages/core/dist/workflow/context-watch.d.ts.map +1 -0
- package/packages/core/dist/workflow/context-watch.js +236 -0
- package/packages/core/dist/workflow/context-watch.js.map +1 -0
- package/packages/core/dist/workflow/context-watch.test.d.ts +2 -0
- package/packages/core/dist/workflow/context-watch.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/context-watch.test.js +747 -0
- package/packages/core/dist/workflow/context-watch.test.js.map +1 -0
- package/pennyfarthing-dist/agents/dev.md +47 -0
- package/pennyfarthing-dist/personas/themes/fifth-element.yaml +0 -1
- package/pennyfarthing-dist/scripts/core/agent-session.sh +0 -0
- package/pennyfarthing-dist/scripts/core/check-context.sh +0 -0
- package/pennyfarthing-dist/scripts/core/handoff-marker.sh +0 -0
- package/pennyfarthing-dist/scripts/core/phase-check-start.sh +0 -0
- package/pennyfarthing-dist/scripts/core/prime.sh +0 -0
- package/pennyfarthing-dist/scripts/cyclist/is-cyclist.sh +0 -0
- package/pennyfarthing-dist/scripts/git/create-feature-branches.sh +0 -0
- package/pennyfarthing-dist/scripts/git/git-status-all.sh +0 -0
- package/pennyfarthing-dist/scripts/git/install-git-hooks.sh +0 -0
- package/pennyfarthing-dist/scripts/git/release.sh +0 -0
- package/pennyfarthing-dist/scripts/git/worktree-manager.sh +0 -0
- package/pennyfarthing-dist/scripts/health/drift-detection.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/bell-mode-hook.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/context-circuit-breaker.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/context-warning.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/cyclist-pretooluse-hook.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/otel-auto-config.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/post-merge.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/pre-commit.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/pre-edit-check.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/pre-push.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/question-reflector-check.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/question_reflector_check.py +0 -0
- package/pennyfarthing-dist/scripts/hooks/schema-validation.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/session-start.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/session-stop.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/sprint-yaml-validation.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/welcome-hook.sh +0 -0
- package/pennyfarthing-dist/scripts/jira/create-jira-epic.sh +0 -0
- package/pennyfarthing-dist/scripts/jira/create-jira-story.sh +0 -0
- package/pennyfarthing-dist/scripts/jira/jira-claim-story.sh +0 -0
- package/pennyfarthing-dist/scripts/jira/jira-reconcile.sh +0 -0
- package/pennyfarthing-dist/scripts/jira/jira-sync-story.sh +0 -0
- package/pennyfarthing-dist/scripts/jira/sync-epic-jira.sh +0 -0
- package/pennyfarthing-dist/scripts/lib/background-tasks.sh +0 -0
- package/pennyfarthing-dist/scripts/lib/checkpoint.sh +0 -0
- package/pennyfarthing-dist/scripts/lib/common.sh +0 -0
- package/pennyfarthing-dist/scripts/lib/file-lock.sh +0 -0
- package/pennyfarthing-dist/scripts/lib/logging.sh +0 -0
- package/pennyfarthing-dist/scripts/lib/retry.sh +0 -0
- package/pennyfarthing-dist/scripts/maintenance/migrate-theme-schema.mjs +0 -0
- package/pennyfarthing-dist/scripts/maintenance/sidecar-health.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/add-short-names.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/add_short_names.py +0 -0
- package/pennyfarthing-dist/scripts/misc/backlog.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/check-status.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/find-related-work.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/generate-skill-docs.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/log-skill-usage.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/migrate-bmad-workflow.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/migrate_bmad_workflow.py +0 -0
- package/pennyfarthing-dist/scripts/misc/repo-scan.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/repo-utils.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/run-ci.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/run-timestamp.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/session-cleanup.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/skill-usage-report.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/statusline.sh +2 -0
- package/pennyfarthing-dist/scripts/misc/uninstall.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/validate-subagent-frontmatter.sh +0 -0
- package/pennyfarthing-dist/scripts/portraits/generate-portraits.sh +0 -0
- package/pennyfarthing-dist/scripts/story/create-story.sh +0 -0
- package/pennyfarthing-dist/scripts/story/size-story.sh +0 -0
- package/pennyfarthing-dist/scripts/story/story-template.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/check.test.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/dev-story-workflow-import.test.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/epics-and-stories-workflow-import.test.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/handoff-phase-update.test.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/implementation-readiness-workflow-import.test.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/migrate-bmad-workflow.test.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/prd-workflow-import.test.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/project-context-workflow-import.test.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/test-character-voice.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/test-drift-detection.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/test-post-merge-hook.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/test-session-checkpoint.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/test-solo-command.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/ux-design-workflow-import.test.sh +0 -0
- package/pennyfarthing-dist/scripts/theme/list-themes.sh +0 -0
- package/pennyfarthing-dist/scripts/validation/validate-agent-schema.sh +0 -0
- package/pennyfarthing-dist/scripts/workflow/check.py +0 -0
- package/pennyfarthing-dist/scripts/workflow/check.sh +0 -0
- package/pennyfarthing-dist/scripts/workflow/complete-step.py +0 -0
- package/pennyfarthing-dist/scripts/workflow/finish-story.sh +0 -0
- package/pennyfarthing-dist/scripts/workflow/fix-session-phase.sh +0 -0
- package/pennyfarthing-dist/scripts/workflow/get-workflow-type.py +0 -0
- package/pennyfarthing-dist/scripts/workflow/get-workflow-type.sh +0 -0
- package/pennyfarthing-dist/scripts/workflow/list-workflows.sh +0 -0
- package/pennyfarthing-dist/scripts/workflow/phase-owner.sh +0 -0
- package/pennyfarthing-dist/scripts/workflow/resume-workflow.sh +0 -0
- package/pennyfarthing-dist/scripts/workflow/show-workflow.sh +0 -0
- package/pennyfarthing-dist/scripts/workflow/start-workflow.sh +0 -0
- package/pennyfarthing-dist/scripts/workflow/workflow-status.sh +0 -0
- package/pennyfarthing-dist/skills/story/scripts/create-story.sh +0 -0
- package/pennyfarthing-dist/skills/story/scripts/size-story.sh +0 -0
- package/pennyfarthing-dist/skills/story/scripts/story-template.sh +0 -0
- package/pennyfarthing-dist/skills/workflow/scripts/list-workflows.sh +0 -0
- package/pennyfarthing-dist/skills/workflow/scripts/resume-workflow.sh +0 -0
- package/pennyfarthing-dist/skills/workflow/scripts/show-workflow.sh +0 -0
- package/pennyfarthing-dist/skills/workflow/scripts/start-workflow.sh +0 -0
- package/pennyfarthing-dist/skills/workflow/scripts/workflow-status.sh +0 -0
- package/pennyfarthing_scripts/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/schema_validation_hook.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/workflow.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bikerack/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bikerack/__pycache__/__main__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bikerack/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bikerack/__pycache__/launcher.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/codemarkers/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/codemarkers/__pycache__/analyze.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/codemarkers/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/codemarkers/__pycache__/models.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/common/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/common/__pycache__/config.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/deadcode/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/healthscore/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/healthscore/__pycache__/analyze.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/healthscore/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/healthscore/__pycache__/models.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/hooks/cyclist-pretooluse-hook.sh +0 -0
- package/pennyfarthing_scripts/hotspots/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/hotspots/__pycache__/analyze.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/hotspots/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/hotspots/__pycache__/models.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/bidirectional.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/claim.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/client.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/create.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/epic.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/reconcile.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/story.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/sync.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/__pycache__/loader.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/__pycache__/persona.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/__pycache__/tiers.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/__pycache__/version_sentinel.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/version_sentinel.py +104 -0
- package/pennyfarthing_scripts/sprint/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/archive.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/archive_epic.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/epic_add.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/loader.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/status.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/story_add.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/story_finish.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/story_update.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/validate_cmd.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/validator.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/work.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/yaml_io.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/archive_epic.py +9 -1
- package/pennyfarthing_scripts/tests/__pycache__/conftest.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_version_sentinel.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/test_version_sentinel.py +126 -0
- package/pennyfarthing_scripts/theme/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/validate/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/validate/__pycache__/cli.cpython-314.pyc +0 -0
- package/scripts/README.md +0 -41
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-watch.test.js","sourceRoot":"","sources":["../../src/workflow/context-watch.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAChE,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAA0B,MAAM,SAAS,CAAC;AAC/F,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,gFAAgF;AAChF,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAE5B,kDAAkD;AAClD,OAAO,EACL,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AAEjC,kCAAkC;AAClC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;AAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAE/C,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF,MAAM,eAAe,GAAG,GAAG,CAAC,CAAC,mBAAmB;AAEhD,MAAM,cAAc,GAAG;IACrB,UAAU,EAAE,WAAW;IACvB,OAAO,EAAE,MAAM;IACf,KAAK,EAAE,WAAW;IAClB,OAAO,EAAE,aAAa;IACtB,KAAK,EAAE,WAAW;IAClB,cAAc,EAAE,eAAe;IAC/B,YAAY,EAAE,CAAC;CAChB,CAAC;AAEF,MAAM,UAAU,GAAG;IACjB,OAAO,EAAE,MAAM;IACf,KAAK,EAAE,WAAW;IAClB,OAAO,EAAE,aAAa;IACtB,KAAK,EAAE,WAAW;IAClB,UAAU,EAAE,WAAW;CACxB,CAAC;AAEF,SAAS,WAAW;IAClB,OAAO,IAAI,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,YAAY;IACnB,OAAO,IAAI,CAAC,WAAW,EAAE,GAAG,cAAc,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAC1E,CAAC;AAED,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF,QAAQ,CAAC,uCAAuC,EAAE,GAAG,EAAE;IACrD,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACxC,CAAC;QACD,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACxC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,8EAA8E;IAC9E,yEAAyE;IACzE,sBAAsB;IACtB,8EAA8E;IAC9E,QAAQ,CAAC,mDAAmD,EAAE,GAAG,EAAE;QACjE,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACpD,MAAM,EAAE,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;YAC7C,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,gCAAgC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;YAClE,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,iCAAiC,CAAC,CAAC;YAElE,MAAM,EAAE,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;YAC7C,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;YACtB,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,kCAAkC,CAAC,CAAC;YAEnE,MAAM,EAAE,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;YAC7C,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;YACtB,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,iCAAiC,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;YAChD,oBAAoB,CAAC,WAAW,CAAC,CAAC;YAClC,oBAAoB,CAAC,WAAW,CAAC,CAAC;YAClC,oBAAoB,CAAC,WAAW,CAAC,CAAC;YAElC,MAAM,MAAM,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;YAC5C,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC1B,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;YAC1D,MAAM,MAAM,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;YAC5C,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC1B,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,iCAAiC,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;YACxC,oBAAoB,CAAC,WAAW,CAAC,CAAC;YAClC,oBAAoB,CAAC,WAAW,CAAC,CAAC;YAClC,oBAAoB,CAAC,WAAW,CAAC,CAAC;YAElC,MAAM,WAAW,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;YAClD,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAE/B,MAAM,UAAU,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;YAChD,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC9B,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,iCAAiC,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;YACzD,gDAAgD;YAChD,MAAM,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACtD,MAAM,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACtD,MAAM,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,0CAA0C,CAAC,CAAC;YACjG,MAAM,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACtD,MAAM,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACtD,MAAM,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,0CAA0C,CAAC,CAAC;QACnG,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACtC,MAAM,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;YAC/E,MAAM,UAAU,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;YACnD,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC9B,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAE3B,kEAAkE;YAClE,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;YACzD,aAAa,CAAC,WAAW,EAAE,sDAAsD,CAAC,CAAC;YAEnF,iEAAiE;YACjE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3B,oBAAoB,CAAC,WAAW,CAAC,CAAC;YACpC,CAAC;YAED,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAAC;gBAC5C,GAAG,cAAc;gBACjB,mBAAmB,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI;gBACzC,eAAe,EAAE,WAAW;aAC7B,CAAC,CAAC;YACH,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,+BAA+B,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;YACnF,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAE5B,mCAAmC;YACnC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC;YAEvE,MAAM,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAE3C,uDAAuD;YACvD,MAAM,MAAM,GAAG,oBAAoB,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1D,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC1B,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACvB,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,0DAA0D,CAAC,CAAC;QACxG,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,8EAA8E;IAC9E,4CAA4C;IAC5C,8EAA8E;IAC9E,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;QAC1C,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;YAC7D,+BAA+B;YAC/B,MAAM,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACtD,MAAM,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACtD,MAAM,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACtD,MAAM,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACtD,wBAAwB;YACxB,MAAM,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;YACpE,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;YACzD,aAAa,CAAC,WAAW,EAAE,2BAA2B,CAAC,CAAC;YAExD,MAAM,UAAU,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;YACnD,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC9B,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAE3B,kCAAkC;YAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3B,oBAAoB,CAAC,WAAW,CAAC,CAAC;YACpC,CAAC;YAED,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAAC;gBAC5C,UAAU,EAAE,WAAW;gBACvB,OAAO,EAAE,MAAM;gBACf,KAAK,EAAE,WAAW;gBAClB,OAAO,EAAE,aAAa;gBACtB,KAAK,EAAE,WAAW;gBAClB,cAAc,EAAE,eAAe;gBAC/B,mDAAmD;gBACnD,mBAAmB,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI;gBACzC,eAAe,EAAE,WAAW;aAC7B,CAAC,CAAC;YACH,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC/B,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAE5B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC;YACvE,MAAM,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAE3C,6DAA6D;YAC7D,MAAM,MAAM,GAAG,oBAAoB,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1D,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC1B,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACvB,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAC9C,sDAAsD,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;YACtE,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;YACzD,aAAa,CAAC,WAAW,EAAE,4CAA4C,CAAC,CAAC;YAEzE,MAAM,UAAU,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;YACnD,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC9B,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAE3B,2BAA2B;YAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3B,oBAAoB,CAAC,WAAW,CAAC,CAAC;YACpC,CAAC;YAED,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAAC;gBAC5C,UAAU,EAAE,WAAW;gBACvB,OAAO,EAAE,MAAM;gBACf,KAAK,EAAE,WAAW;gBAClB,OAAO,EAAE,aAAa;gBACtB,KAAK,EAAE,WAAW;gBAClB,cAAc,EAAE,eAAe;gBAC/B,mBAAmB,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI;gBACzC,eAAe,EAAE,WAAW;aAC7B,CAAC,CAAC;YACH,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC/B,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAE5B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC;YACvE,MAAM,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAE3C,MAAM,MAAM,GAAG,oBAAoB,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1D,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC1B,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACvB,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EACtC,gDAAgD,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,8EAA8E;IAC9E,4EAA4E;IAC5E,8EAA8E;IAC9E,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;QAC5C,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;YACjE,MAAM,cAAc,GAAG;gBACrB,iBAAiB;gBACjB,mBAAmB;gBACnB,0DAA0D;gBAC1D,iCAAiC;gBACjC,yCAAyC;aAC1C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;YACzD,aAAa,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;YAE3C,MAAM,MAAM,GAAG,oBAAoB,CAAC;gBAClC,UAAU,EAAE,WAAW;gBACvB,OAAO,EAAE,MAAM;gBACf,eAAe,EAAE,WAAW;gBAC5B,SAAS,EAAE,CAAC;aACb,CAAC,CAAC;YACH,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,gCAAgC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAC1E,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,6BAA6B,CAAC,CAAC;YACtD,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,sCAAsC,CAAC,CAAC;QACpF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;YACzD,MAAM,cAAc,GAAG,4DAA4D,CAAC;YACpF,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;YACzD,aAAa,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;YAE3C,MAAM,MAAM,GAAG,oBAAoB,CAAC;gBAClC,UAAU,EAAE,WAAW;gBACvB,OAAO,EAAE,MAAM;gBACf,eAAe,EAAE,WAAW;gBAC5B,SAAS,EAAE,EAAE;aACd,CAAC,CAAC;YACH,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC1B,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACvB,mEAAmE;YACnE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE,EACvC,0DAA0D,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACpD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;YACzD,aAAa,CAAC,WAAW,EAAE,2BAA2B,CAAC,CAAC;YAExD,MAAM,MAAM,GAAG,oBAAoB,CAAC;gBAClC,UAAU,EAAE,WAAW;gBACvB,OAAO,EAAE,MAAM;gBACf,eAAe,EAAE,WAAW;gBAC5B,SAAS,EAAE,EAAE;aACd,CAAC,CAAC;YACH,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC1B,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACvB,wCAAwC;YACxC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAC1C,8CAA8C,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YAClE,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;YACzD,aAAa,CAAC,WAAW,EAAE,6CAA6C,CAAC,CAAC;YAE1E,MAAM,UAAU,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;YACnD,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC9B,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAE3B,6BAA6B;YAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3B,oBAAoB,CAAC,WAAW,CAAC,CAAC;YACpC,CAAC;YAED,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAAC;gBAC5C,GAAG,cAAc;gBACjB,mBAAmB,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI;gBACzC,eAAe,EAAE,WAAW;aAC7B,CAAC,CAAC;YACH,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC/B,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAE5B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC;YACvE,MAAM,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAE3C,MAAM,MAAM,GAAG,oBAAoB,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1D,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC1B,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACvB,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,+BAA+B,CAAC,CAAC;YAE3E,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE,eAAe,EACnD,sCAAsC,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;YACzD,aAAa,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;YAEnD,MAAM,UAAU,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;YACnD,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC9B,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAE3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3B,oBAAoB,CAAC,WAAW,CAAC,CAAC;YACpC,CAAC;YAED,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAAC;gBAC5C,GAAG,cAAc;gBACjB,mBAAmB,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI;gBACzC,eAAe,EAAE,WAAW;aAC7B,CAAC,CAAC;YACH,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC/B,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAE5B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC;YACvE,MAAM,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAE3C,MAAM,MAAM,GAAG,oBAAoB,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1D,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC1B,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACvB,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAE1C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,EACjF,oDAAoD,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,8EAA8E;IAC9E,2EAA2E;IAC3E,8EAA8E;IAC9E,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;YAC1D,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;YACjD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;YACnC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC1B,MAAM,CAAC,EAAE,CAAC,OAAO,GAAG,EAAE,EAAE,6BAA6B,OAAO,qBAAqB,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;YACjE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/B,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7B,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;YACnC,MAAM,CAAC,EAAE,CAAC,OAAO,GAAG,EAAE,EAAE,4CAA4C,OAAO,qBAAqB,CAAC,CAAC;QACpG,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;YAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;YACzD,aAAa,CAAC,WAAW,EAAE,mCAAmC,CAAC,CAAC;YAEhE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,oBAAoB,CAAC;gBAClC,UAAU,EAAE,WAAW;gBACvB,OAAO,EAAE,MAAM;gBACf,eAAe,EAAE,WAAW;gBAC5B,SAAS,EAAE,CAAC;aACb,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;YACnC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC1B,MAAM,CAAC,EAAE,CAAC,OAAO,GAAG,EAAE,EAAE,6BAA6B,OAAO,qBAAqB,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;YACpE,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;YACzD,aAAa,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;YAEnD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC;gBACvC,GAAG,cAAc;gBACjB,eAAe,EAAE,WAAW;aAC7B,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;YACnC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,+BAA+B,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YACzE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACvB,MAAM,CAAC,EAAE,CAAC,OAAO,GAAG,IAAI,EAAE,4BAA4B,OAAO,uBAAuB,CAAC,CAAC;YAEtF,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBAChB,MAAM,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACxC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;YACtE,MAAM,MAAM,GAAG,oBAAoB,CAAC,0BAA0B,CAAC,CAAC;YAChE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC1C,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,2BAA2B,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,8EAA8E;IAC9E,yDAAyD;IACzD,8EAA8E;IAC9E,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;QAC1C,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;YACvD,uBAAuB;YACvB,MAAM,cAAc,GAAG,4BAA4B,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAChE,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;YACzD,aAAa,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;YAE3C,MAAM,MAAM,GAAG,oBAAoB,CAAC;gBAClC,UAAU,EAAE,WAAW;gBACvB,OAAO,EAAE,MAAM;gBACf,eAAe,EAAE,WAAW;gBAC5B,SAAS,EAAE,EAAE;aACd,CAAC,CAAC;YACH,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC1B,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACvB,gFAAgF;YAChF,4DAA4D;YAC5D,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,EAC1C,mCAAmC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,QAAQ,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;YACxE,qBAAqB;YACrB,MAAM,cAAc,GAAG,uDAAuD,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC3F,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;YACzD,aAAa,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;YAE3C,MAAM,MAAM,GAAG,oBAAoB,CAAC;gBAClC,UAAU,EAAE,WAAW;gBACvB,OAAO,EAAE,MAAM;gBACf,eAAe,EAAE,WAAW;gBAC5B,SAAS,EAAE,EAAE;aACd,CAAC,CAAC;YACH,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC1B,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACvB,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,EAC1D,sDAAsD,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;YACzE,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;YACzD,aAAa,CAAC,WAAW,EAAE,oCAAoC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAE5E,+DAA+D;YAC/D,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;gBACzC,MAAM,MAAM,GAAG,oBAAoB,CAAC;oBAClC,UAAU,EAAE,WAAW;oBACvB,OAAO,EAAE,MAAM;oBACf,eAAe,EAAE,WAAW;oBAC5B,SAAS,EAAE,IAAI;iBAChB,CAAC,CAAC;gBACH,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC1B,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACvB,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YAC3C,CAAC;YACD,8DAA8D;YAC9D,uDAAuD;YACvD,qCAAqC;YACrC,MAAM,CAAC,EAAE,CAAC,UAAU,GAAG,KAAK,EAC1B,6CAA6C,UAAU,qBAAqB,CAAC,CAAC;QAClF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;YAClE,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;YACzD,aAAa,CAAC,WAAW,EAAE,2CAA2C,CAAC,CAAC;YAExE,MAAM,MAAM,GAAG,oBAAoB,CAAC;gBAClC,UAAU,EAAE,WAAW;gBACvB,OAAO,EAAE,MAAM;gBACf,eAAe,EAAE,WAAW;gBAC5B,SAAS,EAAE,CAAC;aACb,CAAC,CAAC;YACH,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC1B,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACvB,MAAM,CAAC,EAAE,CAAC,OAAO,MAAM,CAAC,IAAI,CAAC,eAAe,KAAK,QAAQ,EACvD,sCAAsC,CAAC,CAAC;YAC1C,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,EACvC,mCAAmC,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,8EAA8E;IAC9E,oEAAoE;IACpE,8EAA8E;IAC9E,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACzC,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;YAC7D,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;YACzD,aAAa,CAAC,WAAW,EAAE,kCAAkC,CAAC,CAAC;YAE/D,uBAAuB;YACvB,oBAAoB,CAAC;gBACnB,UAAU,EAAE,WAAW;gBACvB,OAAO,EAAE,MAAM;gBACf,eAAe,EAAE,WAAW;gBAC5B,SAAS,EAAE,CAAC;aACb,CAAC,CAAC;YAEH,eAAe;YACf,MAAM,UAAU,GAAG,mBAAmB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YAC5D,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,+BAA+B,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;YACjF,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAC3B,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,yCAAyC,CAAC,CAAC;QAC3F,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;YACvE,MAAM,MAAM,GAAG,mBAAmB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YACxD,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC1B,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACvB,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,EACxC,+CAA+C,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;YACnE,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;YAEzD,2BAA2B;YAC3B,aAAa,CAAC,WAAW,EAAE,sDAAsD,CAAC,CAAC;YACnF,oBAAoB,CAAC;gBACnB,UAAU,EAAE,WAAW;gBACvB,OAAO,EAAE,MAAM;gBACf,eAAe,EAAE,WAAW;gBAC5B,SAAS,EAAE,CAAC;aACb,CAAC,CAAC;YAEH,wDAAwD;YACxD,aAAa,CAAC,WAAW,EAAE,4HAA4H,CAAC,CAAC;YACzJ,MAAM,MAAM,GAAG,oBAAoB,CAAC;gBAClC,UAAU,EAAE,WAAW;gBACvB,OAAO,EAAE,MAAM;gBACf,eAAe,EAAE,WAAW;gBAC5B,SAAS,EAAE,EAAE;aACd,CAAC,CAAC;YACH,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC1B,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACvB,6DAA6D;YAC7D,gEAAgE;YAChE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAClF,kDAAkD,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;YAC7E,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;YACzD,aAAa,CAAC,WAAW,EAAE,qCAAqC,CAAC,CAAC;YAElE,MAAM,UAAU,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;YACnD,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC9B,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAE3B,mCAAmC;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3B,oBAAoB,CAAC,WAAW,CAAC,CAAC;YACpC,CAAC;YAED,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAAC;gBAC5C,GAAG,cAAc;gBACjB,mBAAmB,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI;gBACzC,eAAe,EAAE,WAAW;aAC7B,CAAC,CAAC;YACH,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC/B,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAE5B,6BAA6B;YAC7B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC;YAEvE,mCAAmC;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3B,oBAAoB,CAAC,WAAW,CAAC,CAAC;YACpC,CAAC;YAED,sCAAsC;YACtC,aAAa,CAAC,WAAW,EAAE,mEAAmE,CAAC,CAAC;YAEhG,8BAA8B;YAC9B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC;YAEvE,MAAM,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAE3C,MAAM,MAAM,GAAG,oBAAoB,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1D,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC1B,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACvB,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,EACvC,4DAA4D,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9F,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;YACzD,aAAa,CAAC,WAAW,EAAE,4CAA4C,CAAC,CAAC;YAEzE,MAAM,UAAU,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;YACnD,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC9B,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAE3B,0BAA0B;YAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3B,oBAAoB,CAAC,WAAW,CAAC,CAAC;YACpC,CAAC;YAED,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAAC;gBAC5C,GAAG,cAAc;gBACjB,mBAAmB,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI;gBACzC,eAAe,EAAE,WAAW;aAC7B,CAAC,CAAC;YACH,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC/B,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAE5B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC;YAEvE,kDAAkD;YAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3B,oBAAoB,CAAC,WAAW,CAAC,CAAC;YACpC,CAAC;YAED,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC;YACvE,MAAM,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAE3C,MAAM,MAAM,GAAG,oBAAoB,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1D,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC1B,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAEvB,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACpC,sDAAsD;gBACtD,MAAM,CAAC,cAAc,CACnB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAClC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAClC,yFAAyF,CAC1F,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,8EAA8E;IAC9E,uCAAuC;IACvC,8EAA8E;IAC9E,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;YACrE,MAAM,MAAM,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;YACjD,MAAM,CAAC,EAAE,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC;YACtC,MAAM,CAAC,EAAE,CAAC,SAAS,IAAI,MAAM,EAAE,gCAAgC,CAAC,CAAC;YACjE,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;YAChE,MAAM,MAAM,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;YAC5C,MAAM,CAAC,EAAE,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC;YACtC,MAAM,CAAC,EAAE,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;YACrE,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;YACzD,aAAa,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;YAEnD,MAAM,MAAM,GAAG,oBAAoB,CAAC;gBAClC,UAAU,EAAE,WAAW;gBACvB,OAAO,EAAE,MAAM;gBACf,eAAe,EAAE,WAAW;gBAC5B,SAAS,EAAE,CAAC;aACb,CAAC,CAAC;YACH,MAAM,CAAC,EAAE,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC;YACtC,MAAM,CAAC,EAAE,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gFAAgF,EAAE,KAAK,IAAI,EAAE;YAC9F,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;YACzD,aAAa,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;YAEnD,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC;gBACvC,GAAG,cAAc;gBACjB,eAAe,EAAE,WAAW;aAC7B,CAAC,CAAC;YACH,MAAM,CAAC,EAAE,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC;YACtC,MAAM,CAAC,EAAE,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC;YAC/B,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBAClC,MAAM,CAAC,EAAE,CAAC,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;gBAC3C,MAAM,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACxC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YAClE,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;YACzD,aAAa,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;YAEnD,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAAC;gBAC5C,GAAG,cAAc;gBACjB,eAAe,EAAE,WAAW;aAC7B,CAAC,CAAC;YACH,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC/B,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAE5B,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC9D,MAAM,CAAC,EAAE,CAAC,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC;YAC1C,MAAM,CAAC,EAAE,CAAC,SAAS,IAAI,UAAU,CAAC,CAAC;YACnC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,8EAA8E;IAC9E,mBAAmB;IACnB,8EAA8E;IAC9E,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;YAChE,MAAM,MAAM,GAAG,oBAAoB,CAAC,0BAA0B,CAAC,CAAC;YAChE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC1C,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;YACjE,MAAM,MAAM,GAAG,oBAAoB,CAAC;gBAClC,UAAU,EAAE,WAAW;gBACvB,OAAO,EAAE,MAAM;gBACf,eAAe,EAAE,yBAAyB;gBAC1C,SAAS,EAAE,CAAC;aACb,CAAC,CAAC;YACH,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC1C,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;YAC1E,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;YACzD,aAAa,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;YAEnD,yBAAyB;YACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3B,oBAAoB,CAAC,WAAW,CAAC,CAAC;YACpC,CAAC;YAED,+CAA+C;YAC/C,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAAC;gBAC5C,GAAG,cAAc;gBACjB,mBAAmB,EAAE,qBAAqB;gBAC1C,eAAe,EAAE,WAAW;aAC7B,CAAC,CAAC;YACH,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,qDAAqD,CAAC,CAAC;YACtF,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAE5B,kDAAkD;YAClD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC;YAEvE,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC9D,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,6CAA6C,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;YACzD,aAAa,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;YAEnD,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAAC;gBAC5C,GAAG,cAAc;gBACjB,eAAe,EAAE,WAAW;aAC7B,CAAC,CAAC;YACH,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC/B,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAE5B,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACzD,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAEzB,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACzD,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,8CAA8C,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;YACjE,MAAM,MAAM,GAAG,mBAAmB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YACxD,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,+CAA+C,CAAC,CAAC;YAC3E,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACvB,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,8EAA8E;IAC9E,aAAa;IACb,8EAA8E;IAC9E,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;YACzD,aAAa,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YAE/B,MAAM,MAAM,GAAG,oBAAoB,CAAC;gBAClC,UAAU,EAAE,WAAW;gBACvB,OAAO,EAAE,MAAM;gBACf,eAAe,EAAE,WAAW;gBAC5B,SAAS,EAAE,CAAC;aACb,CAAC,CAAC;YACH,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,sCAAsC,CAAC,CAAC;YAClE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;YACzD,MAAM,YAAY,GAAG,2CAA2C,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC9E,aAAa,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;YAEzC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,oBAAoB,CAAC;gBAClC,UAAU,EAAE,WAAW;gBACvB,OAAO,EAAE,MAAM;gBACf,eAAe,EAAE,WAAW;gBAC5B,SAAS,EAAE,EAAE;aACd,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;YACnC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC1B,MAAM,CAAC,EAAE,CAAC,OAAO,GAAG,GAAG,EAAE,+BAA+B,OAAO,sBAAsB,CAAC,CAAC;YACvF,mCAAmC;YACnC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAK,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,EAC3C,4DAA4D,MAAM,CAAC,IAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/F,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACxD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;YACzD,aAAa,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;YAEnD,iCAAiC;YACjC,MAAM,OAAO,GAAG,EAAE,CAAC;YACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5B,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC;oBAChC,UAAU,EAAE,WAAW;oBACvB,OAAO,EAAE,MAAM;oBACf,eAAe,EAAE,WAAW;oBAC5B,SAAS,EAAE,CAAC,GAAG,CAAC;iBACjB,CAAC,CAAC,CAAC;YACN,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,+CAA+C,CAAC,CAAC;YACxE,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;YACnE,aAAa,CAAC,WAAW,EAAE,EAAE,gBAAgB,CAAC,CAAC;YAC/C,MAAM,MAAM,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;YAC5C,8CAA8C;YAC9C,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,sCAAsC,CAAC,CAAC;YAClE,MAAM,CAAC,WAAW,CAAC,OAAO,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -17,6 +17,53 @@ The simplest code that passes the tests IS the right code. Every abstraction you
|
|
|
17
17
|
**Shipping beats perfection. Wire it up, make it work, move on.**
|
|
18
18
|
</minimalist-discipline>
|
|
19
19
|
|
|
20
|
+
<critical>
|
|
21
|
+
## Pre-Edit Topology Check
|
|
22
|
+
|
|
23
|
+
**Before editing ANY file, verify against repos.yaml topology loaded in your prime context.**
|
|
24
|
+
|
|
25
|
+
### Rules
|
|
26
|
+
|
|
27
|
+
1. **Check `never_edit` zones.** If the target path matches a `never_edit` glob, STOP. These are symlinks, build output, or dependencies.
|
|
28
|
+
2. **Check repo ownership.** Match the target path against each repo's `owns` globs to confirm you're editing in the correct repo. Orchestrator files stay in the orchestrator repo; framework files go through `pennyfarthing/`.
|
|
29
|
+
3. **Trace symlinks.** If a path is in the `symlinks` map, edit the **source** (right side), not the symlink (left side). Edits to symlink targets silently write to the wrong git repo.
|
|
30
|
+
|
|
31
|
+
### Worked Examples
|
|
32
|
+
|
|
33
|
+
**Mistake 1: Editing a symlinked `.pennyfarthing/` path**
|
|
34
|
+
```
|
|
35
|
+
BAD: Edit .pennyfarthing/agents/dev.md
|
|
36
|
+
→ This is a symlink to pennyfarthing/pennyfarthing-dist/agents/dev.md
|
|
37
|
+
→ Your edit lands in the pennyfarthing repo but you think you're in the orchestrator
|
|
38
|
+
FIX: Edit pennyfarthing/pennyfarthing-dist/agents/dev.md directly
|
|
39
|
+
WHY: repos.yaml symlinks: { .pennyfarthing/agents: pennyfarthing/pennyfarthing-dist/agents }
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
**Mistake 2: Editing inside `node_modules/`**
|
|
43
|
+
```
|
|
44
|
+
BAD: Edit node_modules/@pennyfarthing/core/pennyfarthing-dist/scripts/core/find-root.sh
|
|
45
|
+
→ This gets overwritten on next install
|
|
46
|
+
FIX: Edit pennyfarthing/pennyfarthing-dist/scripts/core/find-root.sh, then rebuild
|
|
47
|
+
WHY: repos.yaml never_edit: [node_modules/**] (both repos)
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
**Mistake 3: Editing the wrong repo's files**
|
|
51
|
+
```
|
|
52
|
+
BAD: From pennyfarthing repo, edit sprint/current-sprint.yaml
|
|
53
|
+
→ sprint/** is owned by the orchestrator repo
|
|
54
|
+
FIX: Switch to the orchestrator repo root, then edit sprint/current-sprint.yaml
|
|
55
|
+
WHY: repos.yaml orchestrator.owns: [sprint/**], not pennyfarthing.owns
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
**Mistake 4: Editing build output**
|
|
59
|
+
```
|
|
60
|
+
BAD: Edit packages/cyclist/dist/index.js
|
|
61
|
+
→ Build artifacts are regenerated and your changes are lost
|
|
62
|
+
FIX: Edit packages/cyclist/src/index.ts, then run pnpm build
|
|
63
|
+
WHY: repos.yaml never_edit: [packages/*/dist/**]
|
|
64
|
+
```
|
|
65
|
+
</critical>
|
|
66
|
+
|
|
20
67
|
<critical>
|
|
21
68
|
**HANDOFF REQUIRES MARKER OUTPUT.** After `handoff` subagent returns:
|
|
22
69
|
Run `handoff-marker.sh {next_agent}` as ABSOLUTE LAST ACTION, output result, EXIT.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -66,6 +66,7 @@ get_agent_abbrev() {
|
|
|
66
66
|
ux-designer) echo "UX" ;;
|
|
67
67
|
tech-writer) echo "DOC" ;;
|
|
68
68
|
orchestrator) echo "ORC" ;;
|
|
69
|
+
ba) echo "BA" ;;
|
|
69
70
|
*) echo "???" ;;
|
|
70
71
|
esac
|
|
71
72
|
}
|
|
@@ -199,6 +200,7 @@ get_agent_color() {
|
|
|
199
200
|
ux-designer) echo "${FG_PINK}${BOLD}" ;; # Pink - design
|
|
200
201
|
tech-writer) echo "${FG_WHITE}${BOLD}" ;; # White - documentation
|
|
201
202
|
orchestrator) echo "${FG_MAGENTA}${BOLD}" ;;# Magenta - coordination
|
|
203
|
+
ba) echo "${FG_LIME}${BOLD}" ;; # Lime - discovery
|
|
202
204
|
*) echo "${FG_MAGENTA}${BOLD}" ;; # Default
|
|
203
205
|
esac
|
|
204
206
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"""Version sentinel detection for auto-update in prime.
|
|
2
|
+
|
|
3
|
+
MSSCI-14698: Reads .pennyfarthing/.installed-version sentinel and compares
|
|
4
|
+
against current package version. On mismatch, signals that auto-update
|
|
5
|
+
is needed.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
from __future__ import annotations
|
|
9
|
+
|
|
10
|
+
import json
|
|
11
|
+
from dataclasses import dataclass
|
|
12
|
+
from pathlib import Path
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
SENTINEL_FILENAME = ".installed-version"
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
@dataclass
|
|
19
|
+
class VersionCheckResult:
|
|
20
|
+
"""Result of version mismatch check."""
|
|
21
|
+
|
|
22
|
+
needs_update: bool
|
|
23
|
+
installed_version: str | None
|
|
24
|
+
package_version: str
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
def read_sentinel_version(project_root: Path) -> str | None:
|
|
28
|
+
"""Read version from .pennyfarthing/.installed-version sentinel.
|
|
29
|
+
|
|
30
|
+
Args:
|
|
31
|
+
project_root: Project root directory
|
|
32
|
+
|
|
33
|
+
Returns:
|
|
34
|
+
Version string, or None if sentinel doesn't exist or is empty
|
|
35
|
+
"""
|
|
36
|
+
sentinel_path = project_root / ".pennyfarthing" / SENTINEL_FILENAME
|
|
37
|
+
|
|
38
|
+
if not sentinel_path.exists():
|
|
39
|
+
return None
|
|
40
|
+
|
|
41
|
+
content = sentinel_path.read_text().strip()
|
|
42
|
+
return content or None
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
def get_package_version(project_root: Path) -> str:
|
|
46
|
+
"""Get the current package version from VERSION file or package.json.
|
|
47
|
+
|
|
48
|
+
Checks VERSION file first (plain text), then falls back to package.json.
|
|
49
|
+
|
|
50
|
+
Args:
|
|
51
|
+
project_root: Project root directory
|
|
52
|
+
|
|
53
|
+
Returns:
|
|
54
|
+
Version string
|
|
55
|
+
|
|
56
|
+
Raises:
|
|
57
|
+
FileNotFoundError: If no version source found
|
|
58
|
+
"""
|
|
59
|
+
# Try VERSION file first
|
|
60
|
+
version_file = project_root / "VERSION"
|
|
61
|
+
if version_file.exists():
|
|
62
|
+
version = version_file.read_text().strip()
|
|
63
|
+
if version:
|
|
64
|
+
return version
|
|
65
|
+
|
|
66
|
+
# Fall back to package.json
|
|
67
|
+
package_json = project_root / "package.json"
|
|
68
|
+
if package_json.exists():
|
|
69
|
+
data = json.loads(package_json.read_text())
|
|
70
|
+
version = data.get("version", "")
|
|
71
|
+
if version:
|
|
72
|
+
return version
|
|
73
|
+
|
|
74
|
+
raise FileNotFoundError(
|
|
75
|
+
f"No VERSION file or package.json found in {project_root}"
|
|
76
|
+
)
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
def check_version_mismatch(
|
|
80
|
+
project_root: Path,
|
|
81
|
+
*,
|
|
82
|
+
package_version: str | None = None,
|
|
83
|
+
) -> VersionCheckResult:
|
|
84
|
+
"""Compare sentinel version against package version.
|
|
85
|
+
|
|
86
|
+
Args:
|
|
87
|
+
project_root: Project root directory
|
|
88
|
+
package_version: Override package version (for testing).
|
|
89
|
+
If None, reads from VERSION file.
|
|
90
|
+
|
|
91
|
+
Returns:
|
|
92
|
+
VersionCheckResult with needs_update flag
|
|
93
|
+
"""
|
|
94
|
+
if package_version is None:
|
|
95
|
+
package_version = get_package_version(project_root)
|
|
96
|
+
|
|
97
|
+
installed = read_sentinel_version(project_root)
|
|
98
|
+
needs_update = installed != package_version
|
|
99
|
+
|
|
100
|
+
return VersionCheckResult(
|
|
101
|
+
needs_update=needs_update,
|
|
102
|
+
installed_version=installed,
|
|
103
|
+
package_version=package_version,
|
|
104
|
+
)
|