things-api 0.9.0 → 0.11.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 +57 -12
- package/dist/audit/log.js +56 -2
- package/dist/audit/log.js.map +1 -1
- package/dist/audit/schema.d.ts +26 -8
- package/dist/audit/schema.js +42 -1
- package/dist/audit/schema.js.map +1 -1
- package/dist/cli/clock.d.ts +8 -0
- package/dist/cli/clock.js +24 -0
- package/dist/cli/clock.js.map +1 -0
- package/dist/cli/commands/area.d.ts +26 -3
- package/dist/cli/commands/area.js +129 -75
- package/dist/cli/commands/area.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts +1 -1
- package/dist/cli/commands/doctor.js +44 -5
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/install-skill.d.ts +45 -0
- package/dist/cli/commands/install-skill.js +207 -0
- package/dist/cli/commands/install-skill.js.map +1 -0
- package/dist/cli/commands/mcp.js +23 -4
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/cli/commands/project.d.ts +18 -1
- package/dist/cli/commands/project.js +74 -35
- package/dist/cli/commands/project.js.map +1 -1
- package/dist/cli/commands/reads.d.ts +15 -2
- package/dist/cli/commands/reads.js +459 -165
- package/dist/cli/commands/reads.js.map +1 -1
- package/dist/cli/commands/repeat-flags.d.ts +20 -0
- package/dist/cli/commands/repeat-flags.js +76 -0
- package/dist/cli/commands/repeat-flags.js.map +1 -0
- package/dist/cli/commands/setup.js +8 -4
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/commands/show.js +53 -30
- package/dist/cli/commands/show.js.map +1 -1
- package/dist/cli/commands/todo.d.ts +1 -1
- package/dist/cli/commands/todo.js +20 -13
- package/dist/cli/commands/todo.js.map +1 -1
- package/dist/cli/commands/writes.js +388 -161
- package/dist/cli/commands/writes.js.map +1 -1
- package/dist/cli/did-you-mean.d.ts +1 -1
- package/dist/cli/excess-args.d.ts +15 -0
- package/dist/cli/excess-args.js +51 -0
- package/dist/cli/excess-args.js.map +1 -0
- package/dist/cli/glyphs.d.ts +55 -2
- package/dist/cli/glyphs.js +114 -21
- package/dist/cli/glyphs.js.map +1 -1
- package/dist/cli/help.d.ts +54 -0
- package/dist/cli/help.js +405 -0
- package/dist/cli/help.js.map +1 -0
- package/dist/cli/main.js +64 -26
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/move-hint.d.ts +45 -0
- package/dist/cli/move-hint.js +196 -0
- package/dist/cli/move-hint.js.map +1 -0
- package/dist/cli/period.d.ts +9 -8
- package/dist/cli/period.js +56 -30
- package/dist/cli/period.js.map +1 -1
- package/dist/cli/read-driver.d.ts +26 -19
- package/dist/cli/read-driver.js +77 -33
- package/dist/cli/read-driver.js.map +1 -1
- package/dist/cli/render.d.ts +92 -28
- package/dist/cli/render.js +333 -103
- package/dist/cli/render.js.map +1 -1
- package/dist/cli/resolve-invocation.d.ts +42 -4
- package/dist/cli/resolve-invocation.js +97 -14
- package/dist/cli/resolve-invocation.js.map +1 -1
- package/dist/cli/skill-check.d.ts +21 -0
- package/dist/cli/skill-check.js +82 -0
- package/dist/cli/skill-check.js.map +1 -0
- package/dist/cli/skill.d.ts +62 -0
- package/dist/cli/skill.js +142 -0
- package/dist/cli/skill.js.map +1 -0
- package/dist/cli/tag-filters.d.ts +63 -0
- package/dist/cli/tag-filters.js +59 -0
- package/dist/cli/tag-filters.js.map +1 -0
- package/dist/cli/verb-hint.d.ts +25 -0
- package/dist/cli/verb-hint.js +163 -0
- package/dist/cli/verb-hint.js.map +1 -0
- package/dist/cli/version.d.ts +4 -0
- package/dist/cli/version.js +18 -0
- package/dist/cli/version.js.map +1 -0
- package/dist/cli/width.d.ts +135 -0
- package/dist/cli/width.js +313 -0
- package/dist/cli/width.js.map +1 -0
- package/dist/client.d.ts +160 -24
- package/dist/client.js +132 -19
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts +11 -0
- package/dist/config.js +3 -0
- package/dist/config.js.map +1 -1
- package/dist/contracts.d.ts +97 -17
- package/dist/contracts.js +44 -1
- package/dist/contracts.js.map +1 -1
- package/dist/db/fingerprint.d.ts +12 -0
- package/dist/db/fingerprint.js +15 -1
- package/dist/db/fingerprint.js.map +1 -1
- package/dist/db/locate.js +1 -1
- package/dist/db/locate.js.map +1 -1
- package/dist/diagnose.d.ts +63 -0
- package/dist/diagnose.js +38 -1
- package/dist/diagnose.js.map +1 -1
- package/dist/index.d.ts +36 -5
- package/dist/index.js +38 -2
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.d.ts +9 -1
- package/dist/mcp/server.js +1038 -436
- package/dist/mcp/server.js.map +1 -1
- package/dist/model/clock.d.ts +61 -0
- package/dist/model/clock.js +71 -0
- package/dist/model/clock.js.map +1 -0
- package/dist/model/dates.d.ts +26 -3
- package/dist/model/dates.js +84 -3
- package/dist/model/dates.js.map +1 -1
- package/dist/model/entities.d.ts +48 -10
- package/dist/model/entities.js.map +1 -1
- package/dist/model/mappers.d.ts +9 -2
- package/dist/model/mappers.js +32 -9
- package/dist/model/mappers.js.map +1 -1
- package/dist/model/serialize.d.ts +28 -0
- package/dist/model/serialize.js +80 -0
- package/dist/model/serialize.js.map +1 -0
- package/dist/model/when-sugar.d.ts +47 -0
- package/dist/model/when-sugar.js +45 -0
- package/dist/model/when-sugar.js.map +1 -0
- package/dist/read/area-view.d.ts +8 -1
- package/dist/read/area-view.js +55 -17
- package/dist/read/area-view.js.map +1 -1
- package/dist/read/detail.d.ts +1 -1
- package/dist/read/detail.js +11 -4
- package/dist/read/detail.js.map +1 -1
- package/dist/read/filter-contract.d.ts +117 -0
- package/dist/read/filter-contract.js +78 -0
- package/dist/read/filter-contract.js.map +1 -0
- package/dist/read/log-boundary.d.ts +1 -1
- package/dist/read/log-boundary.js +13 -3
- package/dist/read/log-boundary.js.map +1 -1
- package/dist/read/predicates.d.ts +30 -0
- package/dist/read/predicates.js +30 -0
- package/dist/read/predicates.js.map +1 -1
- package/dist/read/project-view.d.ts +12 -1
- package/dist/read/project-view.js +45 -12
- package/dist/read/project-view.js.map +1 -1
- package/dist/read/queries.d.ts +152 -7
- package/dist/read/queries.js +277 -36
- package/dist/read/queries.js.map +1 -1
- package/dist/read/sections.d.ts +51 -0
- package/dist/read/sections.js +37 -0
- package/dist/read/sections.js.map +1 -0
- package/dist/read/sidebar-order.js +2 -1
- package/dist/read/sidebar-order.js.map +1 -1
- package/dist/read/snapshot.d.ts +1 -1
- package/dist/read/snapshot.js +9 -2
- package/dist/read/snapshot.js.map +1 -1
- package/dist/read/tags.d.ts +27 -3
- package/dist/read/tags.js +83 -12
- package/dist/read/tags.js.map +1 -1
- package/dist/read/truncation.d.ts +71 -0
- package/dist/read/{pagination.js → truncation.js} +103 -94
- package/dist/read/truncation.js.map +1 -0
- package/dist/read/views.d.ts +147 -22
- package/dist/read/views.js +282 -80
- package/dist/read/views.js.map +1 -1
- package/dist/surface-copy.d.ts +19 -0
- package/dist/surface-copy.js +32 -0
- package/dist/surface-copy.js.map +1 -1
- package/dist/sync-health.d.ts +78 -0
- package/dist/sync-health.js +312 -0
- package/dist/sync-health.js.map +1 -0
- package/dist/write/accessibility-probe.d.ts +12 -0
- package/dist/write/accessibility-probe.js +71 -0
- package/dist/write/accessibility-probe.js.map +1 -0
- package/dist/write/automation-probe.d.ts +8 -1
- package/dist/write/automation-probe.js +16 -1
- package/dist/write/automation-probe.js.map +1 -1
- package/dist/write/batch.js +5 -2
- package/dist/write/batch.js.map +1 -1
- package/dist/write/capabilities.d.ts +8 -0
- package/dist/write/capabilities.js +13 -6
- package/dist/write/capabilities.js.map +1 -1
- package/dist/write/commands.d.ts +3 -1
- package/dist/write/commands.js +602 -49
- package/dist/write/commands.js.map +1 -1
- package/dist/write/edit-checklist.js +3 -2
- package/dist/write/edit-checklist.js.map +1 -1
- package/dist/write/guards.d.ts +2 -7
- package/dist/write/guards.js +87 -6
- package/dist/write/guards.js.map +1 -1
- package/dist/write/heading.js +2 -0
- package/dist/write/heading.js.map +1 -1
- package/dist/write/lock.d.ts +40 -2
- package/dist/write/lock.js +91 -14
- package/dist/write/lock.js.map +1 -1
- package/dist/write/make-repeating-project.d.ts +4 -0
- package/dist/write/make-repeating-project.js +253 -0
- package/dist/write/make-repeating-project.js.map +1 -0
- package/dist/write/operations.d.ts +145 -1
- package/dist/write/operations.js +48 -0
- package/dist/write/operations.js.map +1 -1
- package/dist/write/pipeline.d.ts +73 -2
- package/dist/write/pipeline.js +218 -43
- package/dist/write/pipeline.js.map +1 -1
- package/dist/write/planner.js +8 -1
- package/dist/write/planner.js.map +1 -1
- package/dist/write/pre-state.d.ts +105 -3
- package/dist/write/pre-state.js +144 -3
- package/dist/write/pre-state.js.map +1 -1
- package/dist/write/recurrence-rule-blob.d.ts +65 -0
- package/dist/write/recurrence-rule-blob.js +150 -0
- package/dist/write/recurrence-rule-blob.js.map +1 -0
- package/dist/write/reopen.js +3 -2
- package/dist/write/reopen.js.map +1 -1
- package/dist/write/reorder.js +27 -17
- package/dist/write/reorder.js.map +1 -1
- package/dist/write/repeat-rule.d.ts +22 -0
- package/dist/write/repeat-rule.js +258 -0
- package/dist/write/repeat-rule.js.map +1 -0
- package/dist/write/reversibility.js +49 -0
- package/dist/write/reversibility.js.map +1 -1
- package/dist/write/tag-refs.d.ts +47 -0
- package/dist/write/tag-refs.js +126 -0
- package/dist/write/tag-refs.js.map +1 -0
- package/dist/write/undo.d.ts +74 -5
- package/dist/write/undo.js +493 -80
- package/dist/write/undo.js.map +1 -1
- package/dist/write/vectors/registry.d.ts +15 -1
- package/dist/write/vectors/registry.js +65 -2
- package/dist/write/vectors/registry.js.map +1 -1
- package/dist/write/vectors/simulator.d.ts +44 -0
- package/dist/write/vectors/simulator.js +1136 -0
- package/dist/write/vectors/simulator.js.map +1 -0
- package/dist/write/vectors/types.d.ts +154 -3
- package/dist/write/vectors/ui-certification.d.ts +54 -0
- package/dist/write/vectors/ui-certification.js +43 -0
- package/dist/write/vectors/ui-certification.js.map +1 -0
- package/dist/write/vectors/ui-drag.d.ts +188 -0
- package/dist/write/vectors/ui-drag.js +1095 -0
- package/dist/write/vectors/ui-drag.js.map +1 -0
- package/dist/write/vectors/ui-recipes.d.ts +83 -0
- package/dist/write/vectors/ui-recipes.js +610 -0
- package/dist/write/vectors/ui-recipes.js.map +1 -0
- package/dist/write/vectors/ui.d.ts +152 -0
- package/dist/write/vectors/ui.js +704 -0
- package/dist/write/vectors/ui.js.map +1 -0
- package/dist/write/verify/delta.d.ts +141 -4
- package/dist/write/verify/delta.js +199 -21
- package/dist/write/verify/delta.js.map +1 -1
- package/dist/write/verify/poller.d.ts +7 -1
- package/dist/write/verify/poller.js +21 -1
- package/dist/write/verify/poller.js.map +1 -1
- package/package.json +18 -3
- package/skills/things-cli/SKILL.md +53 -0
- package/skills/things-cli/references/contracts.md +41 -0
- package/skills/things-cli/references/gui.md +11 -0
- package/skills/things-cli/references/model.md +51 -0
- package/dist/cli/exit-codes.d.ts +0 -26
- package/dist/cli/exit-codes.js +0 -26
- package/dist/cli/exit-codes.js.map +0 -1
- package/dist/cli/output.d.ts +0 -42
- package/dist/cli/output.js +0 -16
- package/dist/cli/output.js.map +0 -1
- package/dist/read/pagination.d.ts +0 -104
- package/dist/read/pagination.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simulator.js","sourceRoot":"","sources":["../../../src/write/vectors/simulator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,UAAU,GACX,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AASjE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC1F,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAShD,0EAA0E;AAC1E,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAW,CAAC;AAC/D,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAW,CAAC;AAE3D,kFAAkF;AAClF,MAAM,cAAc,GAAG,wDAAwD,CAAC;AAOhF,wEAAwE;AAExE;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAc,EACd,MAAyB,OAAO,CAAC,GAAG;IAEpC,IAAI,GAAG,CAAC,mBAAmB,CAAC,KAAK,GAAG,EAAE,CAAC;QACrC,OAAO,mCAAmC,CAAC;IAC7C,CAAC;IACD,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC;IAClC,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACrD,OAAO,sBAAsB,CAAC;IAChC,CAAC;IACD,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,OAAO,cAAc,QAAQ,0CAA0C,MAAM,GAAG,CAAC;IACnF,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QACpC,OAAO,4DAA4D,CAAC;IACtE,CAAC;IACD,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5B,OAAO,mBAAmB,MAAM,sCAAsC,CAAC;IACzE,CAAC;IACD,2EAA2E;IAC3E,6EAA6E;IAC7E,wDAAwD;IACxD,KAAK,MAAM,GAAG,IAAI,CAAC,sBAAsB,EAAE,uBAAuB,CAAU,EAAE,CAAC;QAC7E,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACrB,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC3C,OAAO,GAAG,GAAG,iGAAiG,CAAC;QACjH,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC/C,IAAI,OAAO,KAAK,0BAA0B,EAAE,CAAC;QAC3C,OAAO,CACL,uCAAuC,OAAO,IAAI,SAAS,uBAAuB;YAClF,0BAA0B,0BAA0B,oCAAoC;YACxF,2FAA2F;YAC3F,mEAAmE,CACpE,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAE7C,SAAS,sBAAsB,CAAC,MAAc;IAC5C,IAAI,EAA4B,CAAC;IACjC,IAAI,CAAC;QACH,EAAE,GAAG,IAAI,YAAY,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,OAAO,mBAAmB,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;YAAS,CAAC;QACT,EAAE,EAAE,KAAK,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,oBAAoB,CAClC,MAAc,EACd,MAAyB,OAAO,CAAC,GAAG;IAEpC,OAAO,oBAAoB,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;AACpD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,MAAyB,OAAO,CAAC,GAAG;IACjE,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC;IAChC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,KAAK,CAAC;IAC/D,OAAO,oBAAoB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAc;IACjD,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,cAAc,CAAC,MAAc;IACpC,IAAI,EAA4B,CAAC;IACjC,IAAI,CAAC;QACH,EAAE,GAAG,IAAI,YAAY,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,mDAAmD,CAAC,CAAC,GAAG,EAElE,CAAC;QACd,OAAO,GAAG,EAAE,KAAK,KAAK,GAAG,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;YAAS,CAAC;QACT,EAAE,EAAE,KAAK,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED,sEAAsE;AAEtE,MAAM,MAAM,GAAG,gEAAgE,CAAC;AAEhF,0EAA0E;AAC1E,SAAS,OAAO;IACd,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;IAC9B,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;QAAE,GAAG,IAAI,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACjE,OAAO,GAAG,CAAC;AACb,CAAC;AAED,uEAAuE;AAEvE,kFAAkF;AAClF,SAAS,UAAU,CACjB,GAAiB,EACjB,IAAe,EACf,GAAa,EACb,IAeC;IAED,GAAG;SACA,OAAO,CACN;;;;;;;;;gIAS0H,CAC3H;SACA,GAAG,CACF,IAAI,CAAC,IAAI,EACT,IAAI,EACJ,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,EAC7B,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,KAAK,IAAI,EAAE,EAChB,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,QAAQ,EACZ,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,EAC1B,IAAI,CAAC,SAAS,IAAI,IAAI,EACtB,IAAI,CAAC,WAAW,IAAI,CAAC,EACrB,IAAI,CAAC,YAAY,IAAI,IAAI,EACzB,IAAI,CAAC,QAAQ,IAAI,IAAI,EACrB,IAAI,CAAC,IAAI,IAAI,IAAI,EACjB,IAAI,CAAC,OAAO,IAAI,IAAI,EACpB,IAAI,CAAC,OAAO,IAAI,IAAI,EACpB,IAAI,CAAC,mBAAmB,IAAI,CAAC,EAC7B,IAAI,CAAC,uBAAuB,IAAI,CAAC,CAClC,CAAC;AACN,CAAC;AAED,8EAA8E;AAC9E,SAAS,eAAe,CACtB,IAA2B,EAC3B,QAAgB,EAChB,YAAqB;IAErB,MAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACzC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,SAAS;YACZ,wEAAwE;YACxE,wEAAwE;YACxE,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QAC/F,KAAK,OAAO;YACV,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QACnE,KAAK,SAAS;YACZ,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QACnE,KAAK,SAAS;YACZ,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QAClE,KAAK,SAAS;YACZ,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QACnE;YACE,2EAA2E;YAC3E,sDAAsD;YACtD,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,gBAAgB,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;IACtF,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CACpB,GAAiB,EACjB,GAA6B,EAC7B,IAAwB;IAExB,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1F,MAAM,GAAG,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAClF,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,YAAY,CAAC,CAAC;IACtF,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC3B,CAAC;AAED,kFAAkF;AAClF,SAAS,QAAQ,CAAC,GAAiB,EAAE,IAAc;IACjD,MAAM,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,GAAG;aACZ,OAAO,CAAC,+DAA+D,CAAC;aACxE,GAAG,CAAC,KAAK,CAAiC,CAAC;QAC9C,IAAI,GAAG,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,GAAiB,EAAE,QAAgB,EAAE,IAAc;IACtE,GAAG,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACnE,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;QAC1C,GAAG,CAAC,OAAO,CAAC,mDAAmD,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC1F,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,SAAS,gBAAgB,CACvB,GAAiB,EACjB,QAAgB,EAChB,KAA0D,EAC1D,GAAa;IAEb,GAAG,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxE,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QACxB,MAAM,KAAK,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QAC3D,MAAM,SAAS,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC;QACtE,IAAI,CAAC,SAAS;YAAE,IAAI,EAAE,CAAC;QACvB,GAAG;aACA,OAAO,CACN;+CACuC,CACxC;aACA,GAAG,CACF,OAAO,EAAE,EACT,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,QAAQ,EACZ,KAAK,EACL,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAC1C,CAAC,EACD,QAAQ,CACT,CAAC;IACN,CAAC,CAAC,CAAC;IACH,GAAG;SACA,OAAO,CACN,iHAAiH,CAClH;SACA,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AACrD,CAAC;AAED,sFAAsF;AACtF,SAAS,WAAW,CAClB,GAAiB,EACjB,IAAY,EACZ,MAAuD;IAEvD,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC5F,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC,GAAG,CAAC,IAAI,CAE9D,CAAC;IACd,MAAM,OAAO,GAAG,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC;IACjC,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,KAAK,MAAM,CAAC,WAAW,EAAE,CAAC;IACnF,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC;IAC1C,OAAO,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,KAAK,OAAO,EAAE,CAAC;AAC7D,CAAC;AAED,kFAAkF;AAClF,SAAS,sBAAsB,CAC7B,GAAiB,EACjB,IAAY,EACZ,MAAsD;IAEtD,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/E,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACzB,MAAM,WAAW,GACf,IAAI,KAAK,OAAO;QAChB,IAAI,KAAK,SAAS;QAClB,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACjE,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAC9B,4DAA4D;IAC5D,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAC,GAAG,CAAC,IAAI,CAErE,CAAC;IACd,OAAO,GAAG,EAAE,YAAY,IAAI,IAAI,CAAC;AACnC,CAAC;AAED,8EAA8E;AAC9E,SAAS,iBAAiB,CACxB,GAAiB,EACjB,MASC,EACD,GAAa;IAEb,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,MAAM,KAAK,GAA+B,EAAE,CAAC;IAC7C,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;SAAM,CAAC;QACN,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACrD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,EAAE,iBAAiB,CAAC,CAAC;QAC3D,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/D,CAAC;SAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpF,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClF,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACtC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzB,GAAG,CAAC,OAAO,CAAC,qBAAqB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AAChG,CAAC;AAED,SAAS,SAAS,CAChB,GAAiB,EACjB,IAAY,EACZ,MAAc,EACd,QAAuB,EACvB,GAAa;IAEb,GAAG;SACA,OAAO,CAAC,qFAAqF,CAAC;SAC9F,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC/C,CAAC;AAED,wEAAwE;AACxE,EAAE;AACF,kEAAkE;AAClE,0EAA0E;AAC1E,6EAA6E;AAC7E,+EAA+E;AAC/E,qEAAqE;AACrE,6EAA6E;AAC7E,qBAAqB;AAErB,2FAA2F;AAC3F,MAAM,qBAAqB,GAAG,YAAY,CAAC;AAE3C,uEAAuE;AACvE,SAAS,WAAW,CAAC,GAAW,EAAE,SAA0B,EAAE,QAAgB;IAC5E,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,OAAO;YACV,OAAO,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACnC,KAAK,QAAQ;YACX,OAAO,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC;QACvC,KAAK,SAAS;YACZ,OAAO,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACrC,KAAK,QAAQ;YACX,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,GAAG,QAAQ,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AAED,sFAAsF;AACtF,SAAS,YAAY,CAAC,GAAW,EAAE,MAAc;IAC/C,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAA6B,CAAC;IACzE,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;IACrC,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACpC,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;IACrE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,CACL,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG;QACnC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG;QACzC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAClC,CAAC;AACJ,CAAC;AAED,oFAAoF;AACpF,SAAS,UAAU,CAAC,GAAW;IAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC;AAC3D,CAAC;AAmBD,wFAAwF;AACxF,SAAS,mBAAmB,CAAC,GAAiB,EAAE,GAAa,EAAE,CAAoB;IACjF,GAAG;SACA,OAAO,CACN;;;;;;;;;;;wDAWkD,CACnD;SACA,GAAG,CACF,CAAC,CAAC,IAAI,EACN,CAAC,CAAC,IAAI,EACN,CAAC,CAAC,KAAK,EACP,CAAC,CAAC,KAAK,EACP,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,QAAQ,EACZ,CAAC,CAAC,KAAK,EACP,CAAC,CAAC,SAAS,EACX,CAAC,CAAC,QAAQ,EACV,CAAC,CAAC,IAAI,EACN,CAAC,CAAC,iBAAiB,IAAI,IAAI,EAC3B,CAAC,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,EACxF,CAAC,CAAC,yBAAyB,IAAI,IAAI,EACnC,CAAC,CAAC,qBAAqB,IAAI,CAAC,EAC5B,CAAC,CAAC,4BAA4B,IAAI,IAAI,EACtC,CAAC,CAAC,qBAAqB,IAAI,IAAI,CAChC,CAAC;AACN,CAAC;AAED,iGAAiG;AACjG,SAAS,YAAY,CAAC,GAAiB,EAAE,QAAgB,EAAE,MAAc;IACvE,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC,GAAG,CAAC,QAAQ,CAEhF,CAAC;IACJ,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,GAAG,CAAC,OAAO,CAAC,mDAAmD,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IACvF,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CACvB,GAAiB,EACjB,IAAY;IAEZ,MAAM,GAAG,GAAG,GAAG;SACZ,OAAO,CAAC,iEAAiE,CAAC;SAC1E,GAAG,CAAC,IAAI,CAEE,CAAC;IACd,IAAI,GAAG,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IACrF,OAAO;QACL,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE;QACtB,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE;QACtB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,SAAS,EAAE,GAAG,CAAC,SAAS;KACzB,CAAC;AACJ,CAAC;AAoDD;;;;;;;;;GASG;AACH,SAAS,kBAAkB,CAAC,GAAiB,EAAE,WAAmB;IAChE,MAAM,WAAW,GAAG,GAAG;SACpB,OAAO,CACN;qEAC+D,CAChE;SACA,GAAG,CAAC,WAAW,CAQf,CAAC;IACJ,MAAM,QAAQ,GAAqB,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACzD,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE;QACpB,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE;QACpB,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,KAAK,EAAE,CAAC,CAAC,GAAG;QACZ,OAAO,EAAE,CAAC,CAAC,OAAO,KAAK,CAAC;KACzB,CAAC,CAAC,CAAC;IACJ,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACjD,4EAA4E;IAC5E,2EAA2E;IAC3E,MAAM,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,GAAG;SACjB,OAAO,CACN;;;;6BAIuB,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAmB,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE;0BACpE,CACrB;SACA,GAAG,CAAC,WAAW,EAAE,GAAG,YAAY,CAYhC,CAAC;IACJ,MAAM,KAAK,GAAkB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAChD,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE;QACpB,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE;QACpB,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,KAAK,EAAE,CAAC,CAAC,GAAG;QACZ,OAAO,EAAE,CAAC,CAAC,OAAO,KAAK,CAAC;QACxB,WAAW,EAAE,CAAC,CAAC,OAAO;QACtB,cAAc,EAAE,CAAC,CAAC,cAAc;QAChC,iBAAiB,EAAE,CAAC,CAAC,iBAAiB;QACtC,IAAI,EACF,GAAG,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CACrE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACpB,SAAS,EACP,GAAG;aACA,OAAO,CACN,2FAA2F,CAC5F;aACA,GAAG,CAAC,CAAC,CAAC,IAAI,CACd,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;KACzE,CAAC,CAAC,CAAC;IACJ,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAC7B,CAAC;AAED,2FAA2F;AAC3F,SAAS,WAAW,CAAC,GAAiB,EAAE,IAAY,EAAE,KAAa;IACjE,GAAG,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAC/E,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,sBAAsB,CAC7B,GAAiB,EACjB,GAAa,EACb,OAAuB,EACvB,cAAsB;IAEtB,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC/C,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACjC,IAAI,CAAC,CAAC,OAAO;YAAE,SAAS,CAAC,yDAAyD;QAClF,MAAM,OAAO,GAAG,OAAO,EAAE,CAAC;QAC1B,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE;YACtB,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,yCAAyC;YAC9D,OAAO,EAAE,cAAc;SACxB,CAAC,CAAC;QACH,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI;YAC1B,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACrE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,CAAC,OAAO;YAAE,SAAS,CAAC,yDAAyD;QAClF,MAAM,OAAO,GAAG,OAAO,EAAE,CAAC;QAC1B,0EAA0E;QAC1E,uEAAuE;QACvE,MAAM,OAAO,GAAG,CAAC,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1F,MAAM,OAAO,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC;QACzD,MAAM,aAAa,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QACjF,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE;YACtB,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,qBAAqB;YAC1C,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,OAAO;YACP,OAAO;YACP,mBAAmB,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM;YACvC,uBAAuB,EAAE,aAAa;SACvC,CAAC,CAAC;QACH,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI;YAC1B,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACrE,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YACzB,GAAG,CAAC,OAAO,CAAC,mDAAmD,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACrF,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;YAC5B,GAAG;iBACA,OAAO,CACN;mDACyC,CAC1C;iBACA,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,oBAAoB,CAAC,GAAiB,EAAE,OAAuB;IACtE,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAC9B,GAAG,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACjE,GAAG,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtE,GAAG,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACjC,GAAG,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACjE,GAAG,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,wBAAwB,CAAC,OAAuB;IACvD,4EAA4E;IAC5E,6EAA6E;IAC7E,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CACvB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,cAAc,KAAK,IAAI,IAAI,CAAC,CAAC,iBAAiB,KAAK,IAAI,CAAC,CACjF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,uBAAuB,CAC9B,GAAiB,EACjB,IAAW,EACX,MAAwB,EACxB,GAAa;IAEb,MAAM,GAAG,GAAG,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/C,8EAA8E;IAC9E,gFAAgF;IAChF,MAAM,OAAO,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzE,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;IAC9B,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IACzE,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACjF,MAAM,YAAY,GAAG,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,qBAAqB,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1E,MAAM,YAAY,GAAG,OAAO,EAAE,CAAC;IAE/B,oEAAoE;IACpE,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE;QAC5B,IAAI,EAAE,YAAY;QAClB,IAAI;QACJ,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,KAAK,EAAE,KAAK,CAAC,OAAO;QACpB,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,IAAI;QACpE,iBAAiB,EAAE,OAAO,CAAC,IAAI,CAAC;QAChC,qBAAqB,EAAE,CAAC;QACxB,yBAAyB,EAAE,gBAAgB,CAAC,OAAO,CAAC;QACpD,qBAAqB,EAAE,gBAAgB,CAAC,OAAO,CAAC;KACjD,CAAC,CAAC;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAE7C,gFAAgF;IAChF,8EAA8E;IAC9E,sBAAsB;IACtB,MAAM,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAEhF,oFAAoF;IACpF,IAAI,OAAO,KAAK,IAAI,IAAI,wBAAwB,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1D,qCAAqC,CACnC,GAAG,EACH,GAAG,EACH,MAAM,CAAC,IAAI,EACX,OAAO,EACP,YAAY,EACZ,YAAY,CACb,CAAC;QACF,OAAO;IACT,CAAC;IAED,8EAA8E;IAC9E,IAAI,OAAO,KAAK,IAAI;QAAE,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IAE9E,4EAA4E;IAC5E,kFAAkF;IAClF,MAAM,YAAY,GAAG,OAAO,EAAE,CAAC;IAC/B,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE;QAC5B,IAAI,EAAE,YAAY;QAClB,IAAI;QACJ,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,KAAK,EAAE,KAAK,CAAC,OAAO;QACpB,SAAS,EAAE,gBAAgB,CAAC,YAAY,CAAC;QACzC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;QACvD,iBAAiB,EAAE,YAAY;KAChC,CAAC,CAAC;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC7C,8EAA8E;IAC9E,IAAI,OAAO,KAAK,IAAI;QAAE,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IAE9E,4EAA4E;IAC5E,IAAI,OAAO,KAAK,IAAI;QAAE,oBAAoB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACzD,GAAG,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtE,GAAG,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACpE,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,qCAAqC,CAC5C,GAAiB,EACjB,GAAa,EACb,UAAkB,EAClB,OAAuB,EACvB,YAAoB,EACpB,YAAoB;IAEpB,2EAA2E;IAC3E,oEAAoE;IACpE,kEAAkE;IAClE,2EAA2E;IAC3E,4DAA4D;IAC5D,MAAM,SAAS,GAAmB;QAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACpD,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;KAC5E,CAAC;IACF,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IAE1D,4EAA4E;IAC5E,2EAA2E;IAC3E,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,CAAC,OAAO;YAAE,SAAS;QACxB,IAAI,CAAC,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;YAC9B,kEAAkE;YAClE,GAAG,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACjE,GAAG,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACtE,GAAG,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC/D,CAAC;aAAM,IAAI,CAAC,CAAC,iBAAiB,KAAK,IAAI,EAAE,CAAC;YACxC,4CAA4C;YAC5C,GAAG,CAAC,OAAO,CAAC,+DAA+D,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;IAED,kEAAkE;IAClE,GAAG;SACA,OAAO,CACN,gHAAgH,CACjH;SACA,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,gBAAgB,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAChG,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,iCAAiC,CACxC,GAAiB,EACjB,IAAW,EACX,MAAwB,EACxB,GAAa;IAEb,sEAAsE;IACtE,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;QACf,wCAAwC,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QAC3D,OAAO;IACT,CAAC;IACD,MAAM,GAAG,GAAG,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC;IAC/D,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACjF,MAAM,IAAI,GAAG,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IACvE,MAAM,YAAY,GAAG,OAAO,EAAE,CAAC;IAE/B,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE;QAC5B,IAAI,EAAE,YAAY;QAClB,IAAI;QACJ,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,KAAK,EAAE,KAAK,CAAC,OAAO;QACpB,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,IAAI;QACpE,iBAAiB,EAAE,OAAO,CAAC,IAAI,CAAC;QAChC,qBAAqB,EAAE,CAAC;KACzB,CAAC,CAAC;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAE7C,0EAA0E;IAC1E,GAAG;SACA,OAAO,CAAC,sFAAsF,CAAC;SAC/F,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,wCAAwC,CAC/C,GAAiB,EACjB,MAAwB,EACxB,GAAa;IAEb,MAAM,GAAG,GAAG,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC;IAC/D,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACjF,MAAM,IAAI,GAAG,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IACvE,MAAM,YAAY,GAAG,OAAO,EAAE,CAAC;IAC/B,MAAM,YAAY,GAAG,OAAO,EAAE,CAAC;IAE/B,wEAAwE;IACxE,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE;QAC5B,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,KAAK,EAAE,KAAK,CAAC,OAAO;QACpB,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,IAAI;QACpE,iBAAiB,EAAE,OAAO,CAAC,IAAI,CAAC;QAChC,qBAAqB,EAAE,CAAC,EAAE,YAAY;KACvC,CAAC,CAAC;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC7C,oCAAoC;IACpC,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IAExD,6EAA6E;IAC7E,mDAAmD;IACnD,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE;QAC5B,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,KAAK,EAAE,KAAK,CAAC,OAAO;QACpB,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,QAAQ,EAAE,IAAI;QACd,iBAAiB,EAAE,YAAY;KAChC,CAAC,CAAC;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC7C,wEAAwE;IACxE,2EAA2E;IAC3E,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IAExD,+EAA+E;IAC/E,oBAAoB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACnC,GAAG,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtE,GAAG,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACpE,CAAC;AAED,oFAAoF;AACpF,SAAS,kBAAkB,CACzB,GAAiB,EACjB,IAAW,EACX,MAAwB,EACxB,GAAa;IAEb,IAAI,MAAM,CAAC,eAAe,KAAK,IAAI;QAAE,iCAAiC,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;;QAC1F,uBAAuB,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;AACvD,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,eAAe,CAAC,GAAiB,EAAE,MAAwB,EAAE,GAAa;IACjF,MAAM,GAAG,GAAG,GAAG;SACZ,OAAO,CAAC,8DAA8D,CAAC;SACvE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAkC,CAAC;IACrD,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACrF,CAAC;IACD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,eAAe,GACnB,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC;IAC/F,MAAM,uBAAuB,GAC3B,MAAM,CAAC,eAAe,KAAK,SAAS;QACpC,CAAC,eAAe;QAChB,QAAQ,CAAC,IAAI,KAAK,kBAAkB,CAAC;IACvC,MAAM,SAAS,GAAqB,EAAE,GAAG,MAAM,EAAE,CAAC;IAClD,IAAI,uBAAuB;QAAE,SAAS,CAAC,eAAe,GAAG,IAAI,CAAC;IAE9D,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;IAC9B,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IACzE,MAAM,IAAI,GAAG,qBAAqB,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAE7E,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,gBAAgB,KAAK,SAAS,CAAC;IAC5F,IAAI,CAAC,YAAY;QAAE,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC,kCAAkC;IAEzF,MAAM,IAAI,GAAG;QACX,wBAAwB;QACxB,mCAAmC;QACnC,+BAA+B;QAC/B,0BAA0B;KAC3B,CAAC;IACF,MAAM,KAAK,GAA4C;QACrD,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvC,gBAAgB,CAAC,OAAO,CAAC;QACzB,gBAAgB,CAAC,OAAO,CAAC;QACzB,GAAG,CAAC,QAAQ;KACb,CAAC;IACF,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACjF,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACzE,CAAC;IACD,GAAG,CAAC,OAAO,CAAC,qBAAqB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AAChG,CAAC;AAED;;;;;;GAMG;AACH,SAAS,4BAA4B,CACnC,GAAiB,EACjB,YAAoB,EACpB,GAAa;IAEb,MAAM,IAAI,GAAG,GAAG;SACb,OAAO,CAAC,iEAAiE,CAAC;SAC1E,GAAG,CAAC,YAAY,CAAwC,CAAC;IAC5D,MAAM,YAAY,GAAG,IAAI,EAAE,IAAI,CAAC;IAChC,IAAI,YAAY,KAAK,IAAI,IAAI,YAAY,KAAK,SAAS;QAAE,OAAO;IAChE,MAAM,GAAG,GAAG,GAAG;SACZ,OAAO,CAAC,8DAA8D,CAAC;SACvE,GAAG,CAAC,YAAY,CAAkC,CAAC;IACtD,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI;QAAE,OAAO;IACnD,IAAI,IAAI,CAAC;IACT,IAAI,CAAC;QACH,IAAI,GAAG,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,4CAA4C;IACtD,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB;QAAE,OAAO;IAC7C,MAAM,aAAa,GAAG,GAAG,CAAC,QAAQ,CAAC;IACnC,MAAM,OAAO,GAAG,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrE,GAAG;SACA,OAAO,CACN,yFAAyF;QACvF,yCAAyC,CAC5C;SACA,GAAG,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;AACjG,CAAC;AAMD,wEAAwE;AACxE,SAAS,EAAE,CACT,EAA6E;IAE7E,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,MAA+B,EAAE,GAAG,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,QAAQ,GAA4C;IACxD,UAAU,EAAE,EAAE,CAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;QAC9C,IAAI,OAAO,GAAkB,IAAI,CAAC;QAClC,IAAI,OAAO,GAAkB,IAAI,CAAC;QAClC,IAAI,IAAI,GAAkB,IAAI,CAAC;QAC/B,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACjE,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAC/D,IAAI,QAAQ,KAAK,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;YACnF,MAAM,CAAC,GAAG,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;YACxD,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAC1E,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,qDAAqD;QAClF,CAAC;aAAM,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACxC,OAAO,GAAG,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC1D,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACrC,IAAI,GAAG,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACjD,CAAC;QACD,MAAM,YAAY,GAAG,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC;QAC3E,MAAM,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACnE,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;QACvB,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE;YACtB,IAAI;YACJ,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;YACzB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,YAAY,EAAE,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;YACxF,QAAQ,EAAE,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;YAClF,IAAI;YACJ,OAAO;YACP,OAAO;SACR,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;YAAE,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACnE,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS;YACrC,gBAAgB,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IAC5D,CAAC,CAAC;IAEF,aAAa,EAAE,EAAE,CAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAE3F,eAAe,EAAE,EAAE,CAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;QACxD,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACjE,oEAAoE;QACpE,uDAAuD;QACvD,4BAA4B,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACtD,CAAC,CAAC;IACF,aAAa,EAAE,EAAE,CAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CACpD,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAChE;IACD,aAAa,EAAE,EAAE,CAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CACpD,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CACpD;IAED,aAAa,EAAE,EAAE,CAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CACpD,GAAG;SACA,OAAO,CAAC,wEAAwE,CAAC;SACjF,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAClC;IAED,cAAc,EAAE,EAAE,CAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;IACtD,0DAA0D;IAC1D,GAAG;SACA,OAAO,CACN,sHAAsH,CACvH;SACA,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAClC;IAED,WAAW,EAAE,EAAE,CAAc,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;QAChD,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YAC1B,GAAG;iBACA,OAAO,CACN,sJAAsJ,CACvJ;iBACA,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YAClC,OAAO;QACT,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAC3B,GAAG;iBACA,OAAO,CACN,wGAAwG,CACzG;iBACA,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YAClC,OAAO;QACT,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACjE,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAC/D,IAAI,QAAQ,KAAK,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAClF,MAAM,CAAC,GAAG,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;YACxD,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAC1E,GAAG;iBACA,OAAO,CACN,wJAAwJ,CACzJ;iBACA,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YACnD,OAAO;QACT,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAC/D,GAAG;iBACA,OAAO,CACN,wJAAwJ,CACzJ;iBACA,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YAC5C,OAAO;QACT,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACzD,sEAAsE;YACtE,oEAAoE;YACpE,qEAAqE;YACrE,GAAG;iBACA,OAAO,CACN,wJAAwJ,CACzJ;iBACA,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC,CAAC;IAEF,eAAe,EAAE,EAAE,CAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;QACxD,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3C,GAAG;aACA,OAAO,CAAC,2DAA2D,CAAC;aACpE,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC;IAEF,wBAAwB,EAAE,EAAE,CAA2B,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAC1E,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CACtD;IAED,aAAa,EAAE,EAAE,CAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;QACpD,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACrD,MAAM,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC;QACpE,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;QACvB,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE;YACtB,IAAI;YACJ,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;YACzB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,QAAQ,EAAE,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;YAClF,IAAI;SACL,CAAC,CAAC;QACH,uEAAuE;IACzE,CAAC,CAAC;IAEF,gBAAgB,EAAE,EAAE,CAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAEjG,kBAAkB,EAAE,EAAE,CAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;QAC9D,6EAA6E;QAC7E,wEAAwE;QACxE,4CAA4C;QAC5C,MAAM,QAAQ,GAAG,GAAG;aACjB,OAAO,CACN;;;;WAIG,CACJ;aACA,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAuB,CAAC;QACpE,KAAK,MAAM,CAAC,IAAI,QAAQ;YAAE,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACtF,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACjE,4EAA4E;QAC5E,6EAA6E;QAC7E,GAAG;aACA,OAAO,CAAC,kFAAkF,CAAC;aAC3F,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC,CAAC;IAEF,UAAU,EAAE,EAAE,CAAa,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;QACzC,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;QACvB,GAAG;aACA,OAAO,CAAC,wEAAwE,CAAC;aACjF,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjD,GAAG,CAAC,OAAO,CAAC,mDAAmD,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACtF,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,aAAa,EAAE,EAAE,CAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;QAC/C,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5E,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAChF,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,GAAG,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACpF,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,GAAG,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC/D,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjD,GAAG,CAAC,OAAO,CAAC,mDAAmD,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACtF,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,SAAS,EAAE,EAAE,CAAY,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;QACvC,IAAI,MAAM,GAAkB,IAAI,CAAC;QACjC,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YAC3C,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YAC/E,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC7B,CAAC;QACD,GAAG;aACA,OAAO,CACN,sGAAsG,CACvG;aACA,GAAG,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC,CAAC;IAEF,gBAAgB,EAAE,EAAE,CAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;QAC1D,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC/D,IAAI,QAAQ,KAAK,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QACpF,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IACvF,CAAC,CAAC;IAEF,yEAAyE;IACzE,mFAAmF;IACnF,+EAA+E;IAC/E,+EAA+E;IAC/E,iBAAiB;IACjB,qBAAqB,EAAE,EAAE,CAAwB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CACpE,kBAAkB,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CACxC;IACD,wBAAwB,EAAE,EAAE,CAA2B,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAC1E,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,CAClC;IACD,wBAAwB,EAAE,EAAE,CAA2B,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAC1E,kBAAkB,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CACxC;IACD,2BAA2B,EAAE,EAAE,CAA8B,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAChF,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,CAClC;CACF,CAAC;AAEF,gFAAgF;AAChF,MAAM,CAAC,MAAM,kBAAkB,GAAoB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAoB,CAAC;AAE5F,SAAS,eAAe;IACtB,MAAM,OAAO,GAAkB;QAC7B,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,WAAW;QACvB,KAAK,EAAE,WAAW;KACnB,CAAC;IACF,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,KAAK,MAAM,IAAI,IAAI,kBAAkB;QAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;IACrE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,uEAAuE;AAEvE;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAc,EACd,OAA6B,EAAE;IAE/B,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,mCAAmC,MAAM,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,aAAa,EAAE,CAAC;IACxC,IAAI,GAA6B,CAAC;IAElC,OAAO;QACL,EAAE,EAAE,YAAY;QAChB,MAAM,EAAE,eAAe,EAAE;QACzB,SAAS,EAAE,IAAI;QACf,KAAK,CAAC,OAAO,CAAC,UAA8B;YAC1C,sEAAsE;YACtE,gEAAgE;YAChE,MAAM,UAAU,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;YAChD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;gBACxB,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,6BAA6B,UAAU,EAAE,EAAE,CAAC;YACxF,CAAC;YACD,MAAM,IAAI,GAAG,UAAU,CAAC,EAAE,CAAC;YAC3B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,OAAO;oBACL,QAAQ,EAAE,CAAC;oBACX,MAAM,EAAE,EAAE;oBACV,MAAM,EAAE,gDAAgD;iBACzD,CAAC;YACJ,CAAC;YACD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,gCAAgC,IAAI,EAAE,EAAE,CAAC;YACrF,CAAC;YACD,GAAG,KAAK,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;YACjC,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC;YACnB,MAAM,GAAG,GAAa;gBACpB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;gBAC3C,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC;aAC3B,CAAC;YACF,IAAI,CAAC;gBACH,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YACzC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,QAAQ,EAAE,CAAC;oBACX,MAAM,EAAE,EAAE;oBACV,MAAM,EAAE,yBAAyB,IAAI,YAAa,GAAa,CAAC,OAAO,EAAE;iBAC1E,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QACjD,CAAC;KACF,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,SAAS,aAAa;IACpB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACtC,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC3C,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAAE,OAAO,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;AAC1B,CAAC"}
|
|
@@ -5,14 +5,15 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import type { DisruptionTier } from "../../config.ts";
|
|
7
7
|
import type { OperationKind } from "../operations.ts";
|
|
8
|
-
export type VectorId = "url-scheme" | "applescript" | "shortcuts";
|
|
8
|
+
export type VectorId = "url-scheme" | "applescript" | "shortcuts" | "ui";
|
|
9
9
|
export interface CompiledInvocation {
|
|
10
10
|
vector: VectorId;
|
|
11
|
-
kind: "open-url" | "osascript" | "shortcuts-run";
|
|
11
|
+
kind: "open-url" | "osascript" | "shortcuts-run" | "ui-drive";
|
|
12
12
|
/**
|
|
13
13
|
* The exact payload executed (URL or AppleScript source). For the
|
|
14
14
|
* shortcuts-run kind this is a human-readable rendering of the run — the
|
|
15
|
-
* executor reads `shortcut`/`input` instead.
|
|
15
|
+
* executor reads `shortcut`/`input` instead. For the ui-drive kind this is
|
|
16
|
+
* a human-readable rendering of the recipe — the executor reads `recipe`.
|
|
16
17
|
*/
|
|
17
18
|
payload: string;
|
|
18
19
|
/** Payload with secrets replaced — safe for dry-run output and errors. */
|
|
@@ -21,6 +22,146 @@ export interface CompiledInvocation {
|
|
|
21
22
|
shortcut?: string;
|
|
22
23
|
/** shortcuts-run only: the JSON-serializable input dict piped to the shortcut. */
|
|
23
24
|
input?: unknown;
|
|
25
|
+
/** ui-drive only: the ordered Accessibility recipe the driver executes. */
|
|
26
|
+
recipe?: UiRecipe;
|
|
27
|
+
/**
|
|
28
|
+
* STRUCTURED input for the simulator write vector (bench harness): the
|
|
29
|
+
* resolved operation kind and its (uuid/when-normalized) params. Populated by
|
|
30
|
+
* the pipeline right after {@link CommandSpec.compile}; the real transport
|
|
31
|
+
* vectors ignore them entirely. They exist so a synthetic SQL applier never
|
|
32
|
+
* has to reverse-engineer the payload URL / AppleScript to learn the intent.
|
|
33
|
+
*/
|
|
34
|
+
op?: OperationKind;
|
|
35
|
+
/** @see op — the resolved params object for the simulator applier. */
|
|
36
|
+
opParams?: unknown;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* A compiled Accessibility recipe: the target to reveal plus an ordered list
|
|
40
|
+
* of element-addressed steps. Element paths are SEMANTIC (System Events),
|
|
41
|
+
* never coordinates. Every path is marked provisional-pending-certification
|
|
42
|
+
* in its source (see docs/design/ui-vector.md).
|
|
43
|
+
*/
|
|
44
|
+
export interface UiRecipe {
|
|
45
|
+
op: OperationKind;
|
|
46
|
+
/** The item the recipe acts on (revealed/selected via things:///show?id=). */
|
|
47
|
+
targetUuid: string;
|
|
48
|
+
steps: UiStep[];
|
|
49
|
+
}
|
|
50
|
+
export type UiPrimitive = "reveal" | "activate" | "resolve" | "press" | "set-value" | "select-popup" | "wait" | "key"
|
|
51
|
+
/**
|
|
52
|
+
* Synthesize a MOUSE click at an AX-resolved element's frame center (the
|
|
53
|
+
* NATIVE1 JXA ObjC-bridge / HID-tap primitive). Used ONLY for Things' custom
|
|
54
|
+
* `…` menu / repeat-bar popover, whose items are AX-readable but inert to
|
|
55
|
+
* AXPress (UIC2). The frame is read from the live AX tree (`position`/`size`)
|
|
56
|
+
* — never a guessed pixel — so a resolution miss fails closed exactly like a
|
|
57
|
+
* canaried AX press. Requires Things frontmost (the HID tap posts to the
|
|
58
|
+
* foreground surface, NATIVE1-e), so a recipe using it must activate first.
|
|
59
|
+
*/
|
|
60
|
+
| "click-element"
|
|
61
|
+
/**
|
|
62
|
+
* Synthesize a MOUSE DRAG that reorders a sidebar AREA row (the AXDRAG1
|
|
63
|
+
* primitive). The driver resolves the source row and the destination slot
|
|
64
|
+
* boundary from the live AX tree per gesture, pre-scrolls (or multi-hops)
|
|
65
|
+
* when the sidebar is longer than the viewport, and asserts the database
|
|
66
|
+
* order after every gesture — see src/write/vectors/ui-drag.ts. Foreground-
|
|
67
|
+
* bound like click-element.
|
|
68
|
+
*/
|
|
69
|
+
| "drag-reorder"
|
|
70
|
+
/**
|
|
71
|
+
* Select a PROJECT as a content-table ROW by matching its title, purely via
|
|
72
|
+
* AX (UIC4-a): the content table's `AXSelectedRows` is settable, so the
|
|
73
|
+
* driver walks the table's rows, sets each as the selection, and reads back
|
|
74
|
+
* `Things3 → name of selected to dos` — leaving the row whose readback equals
|
|
75
|
+
* the target title selected, or reporting no match. Coordinate-free and
|
|
76
|
+
* background-capable (no focus steal); the readback IS the
|
|
77
|
+
* selection-landed verification. `path` is the content table; `value` the
|
|
78
|
+
* title to match.
|
|
79
|
+
*/
|
|
80
|
+
| "select-row"
|
|
81
|
+
/**
|
|
82
|
+
* Select a HEADING as a content-table ROW by POSITION, purely via AX
|
|
83
|
+
* (HEADCERT1). A heading is not `things:///show`-selectable and its row
|
|
84
|
+
* exposes no stable AX title handle (only a hover-dependent "More" affordance
|
|
85
|
+
* carries the title), so identity is positional: the driver walks the
|
|
86
|
+
* revealed PROJECT view's content table and selects the Nth row that is
|
|
87
|
+
* genuinely selectable (`AXSelected` lands) AND reads back an EMPTY
|
|
88
|
+
* `Things3 → name of selected to dos` — the signature of a heading, since a
|
|
89
|
+
* heading is not a to-do (a to-do row's readback is its title; header/spacer
|
|
90
|
+
* rows do not take selection). Coordinate-free and background-capable. `path`
|
|
91
|
+
* is the content table; `value` the 0-based heading ordinal (its position
|
|
92
|
+
* among the project's headings in `index` order). With the heading selected,
|
|
93
|
+
* `Items ▸ Convert to Project…` enables.
|
|
94
|
+
*/
|
|
95
|
+
| "select-heading-row"
|
|
96
|
+
/**
|
|
97
|
+
* Set the Repeat dialog's date/time control (the reminder time, the "ends on
|
|
98
|
+
* date" bound) — an `AXDateTimeArea` whose value is an NSDate, NOT a text
|
|
99
|
+
* field (UIC6). System Events cannot set it (`set value … to <date>` errors
|
|
100
|
+
* -10000), so the driver sets `AXValue` to an NSDate through the ObjC bridge
|
|
101
|
+
* (JXA), the same bridge the mouse-synthesis primitive rides. `value` is the
|
|
102
|
+
* spec: `time:HH:mm` (keep the control's date, set the time-of-day, for the
|
|
103
|
+
* reminder) or `date:YYYY-MM-DD` (set the calendar date, for the end bound).
|
|
104
|
+
* The control is located by role within the open dialog and fails closed if
|
|
105
|
+
* it is absent.
|
|
106
|
+
*/
|
|
107
|
+
| "set-datetime";
|
|
108
|
+
export interface UiStep {
|
|
109
|
+
primitive: UiPrimitive;
|
|
110
|
+
/** Human-readable step label — surfaced in the partial-state report. */
|
|
111
|
+
label: string;
|
|
112
|
+
/** System Events element path (semantic) for resolve/press/set-value/wait. */
|
|
113
|
+
path?: string;
|
|
114
|
+
/**
|
|
115
|
+
* Alternative element paths, tried in order — the driver dispatches against
|
|
116
|
+
* the FIRST that resolves at run time (fail-closed if none do). Used where a
|
|
117
|
+
* control has two equally-valid shapes: the make-repeating Repeat editor is
|
|
118
|
+
* an attached `AXSheet` when Things is frontmost but a DETACHED top-level
|
|
119
|
+
* `AXUnknown` window when backgrounded (UIC4-a), and its controls sit at
|
|
120
|
+
* different depths in each form. Overrides `path` when present.
|
|
121
|
+
*/
|
|
122
|
+
pathCandidates?: string[];
|
|
123
|
+
/**
|
|
124
|
+
* Preflight-canary path when the step's own `path` is not statically
|
|
125
|
+
* resolvable (a nested submenu item only populates once its parent opens):
|
|
126
|
+
* the canary resolves this first-level ancestor instead, still catching a
|
|
127
|
+
* menu that a Things update renamed or removed. Falls back to `path`.
|
|
128
|
+
*/
|
|
129
|
+
canaryPath?: string;
|
|
130
|
+
/** set-value: the string typed into the field. */
|
|
131
|
+
value?: string;
|
|
132
|
+
/** key: a keyboard spec (e.g. "down down return" for a dropdown pick). */
|
|
133
|
+
keys?: string;
|
|
134
|
+
/** wait: how long to poll for the element before aborting. */
|
|
135
|
+
timeoutMs?: number;
|
|
136
|
+
/**
|
|
137
|
+
* click-element only: the element expected to appear right AFTER the click
|
|
138
|
+
* (a popover opening, a sheet appearing). The driver polls for it and, on
|
|
139
|
+
* mismatch, sends Escape to dismiss whatever DID open and aborts fail-closed
|
|
140
|
+
* — so a click that lands somewhere unexpected never cascades into blind
|
|
141
|
+
* presses. Omitted for a TERMINAL click (one that dismisses the popover with
|
|
142
|
+
* no successor element); the write pipeline's read-after-write check is the
|
|
143
|
+
* outcome verifier there.
|
|
144
|
+
*/
|
|
145
|
+
assertPath?: string;
|
|
146
|
+
/** click-element only: human-readable name of the asserted element (report). */
|
|
147
|
+
assertLabel?: string;
|
|
148
|
+
/** click-element only: how long to poll for `assertPath` before aborting. */
|
|
149
|
+
assertTimeoutMs?: number;
|
|
150
|
+
/**
|
|
151
|
+
* The element appears only AFTER a preceding press (a sheet/popover), so it
|
|
152
|
+
* is NOT resolvable in the preflight canary — the driver waits for it at run
|
|
153
|
+
* time instead. Static steps (menu-bar paths) are canary-resolved up front.
|
|
154
|
+
*/
|
|
155
|
+
dynamic?: boolean;
|
|
156
|
+
/** How the element is addressed — pinned English title, or a stable AXIdentifier. */
|
|
157
|
+
addressing?: "title" | "axidentifier";
|
|
158
|
+
/**
|
|
159
|
+
* activate only: this foregrounding step is a fallback that may be skipped
|
|
160
|
+
* once certification proves background AXPress works (see the runbook).
|
|
161
|
+
*/
|
|
162
|
+
activateFallback?: boolean;
|
|
163
|
+
/** drag-reorder only: the sidebar move the drag driver performs. */
|
|
164
|
+
drag?: import("./ui-drag.ts").SidebarDragSpec;
|
|
24
165
|
}
|
|
25
166
|
export interface VectorSupport {
|
|
26
167
|
support: "yes" | "partial" | "no";
|
|
@@ -53,4 +194,14 @@ export interface WriteVector {
|
|
|
53
194
|
id: VectorId;
|
|
54
195
|
matrix: VectorMatrix;
|
|
55
196
|
execute(invocation: CompiledInvocation): Promise<ExecuteResult>;
|
|
197
|
+
/**
|
|
198
|
+
* The bench-harness SIMULATOR vector (src/write/vectors/simulator.ts). It
|
|
199
|
+
* presents under a real {@link VectorId} but applies mutations via SQL from
|
|
200
|
+
* the structured `invocation.op`/`opParams`, never from a compiled payload.
|
|
201
|
+
* A single VectorId cannot satisfy the transport-specific `spec.compile` of
|
|
202
|
+
* EVERY operation (some are url-scheme-only, others applescript/shortcuts), so
|
|
203
|
+
* the pipeline SKIPS compile for a simulator and hands it structured input
|
|
204
|
+
* directly. Undefined/false for every real transport vector.
|
|
205
|
+
*/
|
|
206
|
+
simulates?: boolean;
|
|
56
207
|
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-op certification manifest for the Accessibility GUI ("ui") vector.
|
|
3
|
+
*
|
|
4
|
+
* Certification has two tiers (see docs/design/ui-vector.md):
|
|
5
|
+
* - `lab-certified` — the op was run end-to-end through the real shipped
|
|
6
|
+
* pipeline inside a disposable Tart VM (Accessibility granted via the AXVM1
|
|
7
|
+
* user-path toggle), and the exact DB deltas the lab verdicts specify were
|
|
8
|
+
* observed. This certifies the recipe against the Things build in the golden.
|
|
9
|
+
* - `certified` — additionally confirmed on the target deployment hardware
|
|
10
|
+
* against a scratch database (docs/lab/ui-certification-runbook.md §5).
|
|
11
|
+
* - `uncertified` — recipe wired from the known menu structure but either not
|
|
12
|
+
* yet exercised, or FAILED lab certification (see `blocker`).
|
|
13
|
+
*
|
|
14
|
+
* UIC1 (2026-07-14, Things 3.22.11 / macOS 15.7.7 / DB v26) ran the in-VM suite:
|
|
15
|
+
* five ops passed and are `lab-certified`; two FAILED and stay `uncertified`
|
|
16
|
+
* with the blocker recorded, because both need to select a specific Things list
|
|
17
|
+
* row and the app exposes no AX/URL handle to do so (a to-do card opens only on
|
|
18
|
+
* a mouse double-click; a heading/project is not selectable via things:///show).
|
|
19
|
+
* UIC5 (2026-07-15) then certified `project.make-repeating` (and the
|
|
20
|
+
* `project.create-repeating` composite that rides it) `lab-certified` — the
|
|
21
|
+
* pure-AX row-selection path, corrected at the sitting (the row `select` action,
|
|
22
|
+
* not the silent-no-op table `AXSelectedRows` set; the detached editor's interval
|
|
23
|
+
* field nests in group 1 exactly like the sheet). HEADCERT1 (2026-07-17) then
|
|
24
|
+
* certified `heading.convert-to-project` `lab-certified` — the LAST uncertified
|
|
25
|
+
* op — by reusing the row `select` action on the heading's parent-project view:
|
|
26
|
+
* a heading row IS selectable (unlike the `things:///show` reveal UIC1 tried),
|
|
27
|
+
* addressed POSITIONALLY (heading rows expose no stable AX title, only a
|
|
28
|
+
* hover-dependent "More" affordance) by ordinal among the project's headings.
|
|
29
|
+
* With the heading selected, Convert to Project… enables. Every ui op is now
|
|
30
|
+
* lab-certified.
|
|
31
|
+
*
|
|
32
|
+
* This is DATA, not logic — the single source of truth surfaced by
|
|
33
|
+
* `things capabilities`, the doctor ui-vector section, and the per-op warning a
|
|
34
|
+
* successful non-`certified` drive carries. Kept as a typed module (not JSON) so
|
|
35
|
+
* it type-checks and survives the `tsc` build without a JSON-copy step.
|
|
36
|
+
*/
|
|
37
|
+
import type { OperationKind } from "../operations.ts";
|
|
38
|
+
export type CertificationStatus = "uncertified" | "lab-certified" | "certified";
|
|
39
|
+
export interface CertificationEntry {
|
|
40
|
+
status: CertificationStatus;
|
|
41
|
+
/** Lab verdict ids the recipe's structure and certification are derived from. */
|
|
42
|
+
evidence: string[];
|
|
43
|
+
/** Why an op is uncertified after a certification attempt (a failed run). */
|
|
44
|
+
blocker?: string;
|
|
45
|
+
}
|
|
46
|
+
/** The manifest profile — records the tier + Things build the suite certified. */
|
|
47
|
+
export declare const UI_CERTIFICATION_PROFILE = "UIC1 + UIC3 + AXDRAG2 + UIC5 + UIC6 + HEADCERT1 in-VM (Things 3.22.11) \u2014 on-device pending";
|
|
48
|
+
/** Certification entry for a ui-vector op (undefined for non-ui ops). */
|
|
49
|
+
export declare function certificationOf(op: OperationKind): CertificationEntry | undefined;
|
|
50
|
+
/** Every ui-vector op's certification, for the doctor section + capabilities. */
|
|
51
|
+
export declare function allCertifications(): {
|
|
52
|
+
op: OperationKind;
|
|
53
|
+
entry: CertificationEntry;
|
|
54
|
+
}[];
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { UI_DRIVE_OPS } from "../operations.js";
|
|
2
|
+
/** The manifest profile — records the tier + Things build the suite certified. */
|
|
3
|
+
export const UI_CERTIFICATION_PROFILE = "UIC1 + UIC3 + AXDRAG2 + UIC5 + UIC6 + HEADCERT1 in-VM (Things 3.22.11) — on-device pending";
|
|
4
|
+
const CERTIFICATION = {
|
|
5
|
+
"todo.make-repeating": {
|
|
6
|
+
status: "lab-certified",
|
|
7
|
+
evidence: ["UI1", "UI2-a", "UIC1-a", "UIC6-a"],
|
|
8
|
+
},
|
|
9
|
+
"todo.reschedule-repeat": { status: "lab-certified", evidence: ["UI2-b", "UIC1-a", "UIC6-k"] },
|
|
10
|
+
"todo.pause-repeat": { status: "lab-certified", evidence: ["UI2-c", "UIC1-a"] },
|
|
11
|
+
"todo.resume-repeat": { status: "lab-certified", evidence: ["UI2-c", "UIC1-a"] },
|
|
12
|
+
"todo.convert-to-project": { status: "lab-certified", evidence: ["UI2-d", "UIC1-a"] },
|
|
13
|
+
"project.reschedule-repeat": {
|
|
14
|
+
status: "lab-certified",
|
|
15
|
+
evidence: ["UIC2-a", "UIC3-b", "UIC6-k"],
|
|
16
|
+
},
|
|
17
|
+
"project.pause-repeat": { status: "lab-certified", evidence: ["UIC2-a", "UIC3-b"] },
|
|
18
|
+
"project.resume-repeat": { status: "lab-certified", evidence: ["UIC2-a", "UIC3-b"] },
|
|
19
|
+
"area.reorder": {
|
|
20
|
+
status: "lab-certified",
|
|
21
|
+
evidence: ["NATIVE1-d", "AXDRAG1-a", "AXDRAG1-b", "AXDRAG1-f", "AXDRAG2-c"],
|
|
22
|
+
},
|
|
23
|
+
"project.make-repeating": {
|
|
24
|
+
status: "lab-certified",
|
|
25
|
+
evidence: ["UIC4-a", "UIC4-b", "UIC4-f", "UIC5-a", "UIC6-i"],
|
|
26
|
+
},
|
|
27
|
+
"heading.convert-to-project": {
|
|
28
|
+
status: "lab-certified",
|
|
29
|
+
evidence: ["UI2-d", "UIC1-a", "HEADCERT1"],
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
/** Certification entry for a ui-vector op (undefined for non-ui ops). */
|
|
33
|
+
export function certificationOf(op) {
|
|
34
|
+
return CERTIFICATION[op];
|
|
35
|
+
}
|
|
36
|
+
/** Every ui-vector op's certification, for the doctor section + capabilities. */
|
|
37
|
+
export function allCertifications() {
|
|
38
|
+
return UI_DRIVE_OPS.map((op) => ({
|
|
39
|
+
op,
|
|
40
|
+
entry: CERTIFICATION[op] ?? { status: "uncertified", evidence: [] },
|
|
41
|
+
}));
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=ui-certification.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui-certification.js","sourceRoot":"","sources":["../../../src/write/vectors/ui-certification.ts"],"names":[],"mappings":"AAqCA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAYhD,kFAAkF;AAClF,MAAM,CAAC,MAAM,wBAAwB,GACnC,4FAA4F,CAAC;AAE/F,MAAM,aAAa,GAAuD;IACxE,qBAAqB,EAAE;QACrB,MAAM,EAAE,eAAe;QACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC;KAC/C;IACD,wBAAwB,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE;IAC9F,mBAAmB,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE;IAC/E,oBAAoB,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE;IAChF,yBAAyB,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE;IACrF,2BAA2B,EAAE;QAC3B,MAAM,EAAE,eAAe;QACvB,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;KACzC;IACD,sBAAsB,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE;IACnF,uBAAuB,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE;IACpF,cAAc,EAAE;QACd,MAAM,EAAE,eAAe;QACvB,QAAQ,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC;KAC5E;IACD,wBAAwB,EAAE;QACxB,MAAM,EAAE,eAAe;QACvB,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;KAC7D;IACD,4BAA4B,EAAE;QAC5B,MAAM,EAAE,eAAe;QACvB,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC;KAC3C;CACF,CAAC;AAEF,yEAAyE;AACzE,MAAM,UAAU,eAAe,CAAC,EAAiB;IAC/C,OAAO,aAAa,CAAC,EAAE,CAAC,CAAC;AAC3B,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,iBAAiB;IAC/B,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/B,EAAE;QACF,KAAK,EAAE,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,EAAE;KACpE,CAAC,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import type { DatabaseSync } from "node:sqlite";
|
|
2
|
+
import type { UiRunner } from "./ui.ts";
|
|
3
|
+
export type SidebarPlacement = {
|
|
4
|
+
kind: "before";
|
|
5
|
+
uuid: string;
|
|
6
|
+
title: string;
|
|
7
|
+
} | {
|
|
8
|
+
kind: "after";
|
|
9
|
+
uuid: string;
|
|
10
|
+
title: string;
|
|
11
|
+
} | {
|
|
12
|
+
kind: "first";
|
|
13
|
+
} | {
|
|
14
|
+
kind: "last";
|
|
15
|
+
};
|
|
16
|
+
export interface SidebarDragSpec {
|
|
17
|
+
targetUuid: string;
|
|
18
|
+
targetTitle: string;
|
|
19
|
+
placement: SidebarPlacement;
|
|
20
|
+
}
|
|
21
|
+
/** Ordered area state read from the database between hops (the assert seam). */
|
|
22
|
+
export interface AreaSidebarState {
|
|
23
|
+
/** Areas ordered by TMArea."index" (== sidebar order once materialized). */
|
|
24
|
+
areas: {
|
|
25
|
+
uuid: string;
|
|
26
|
+
title: string;
|
|
27
|
+
index: number;
|
|
28
|
+
}[];
|
|
29
|
+
/** Digest over every untrashed task's area assignment (invariance tripwire). */
|
|
30
|
+
assignmentsDigest: string;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Auxiliary seams the ui vector needs beyond osascript dispatch. The sidebar
|
|
34
|
+
* drag driver asserts the database between hops; the client wires `areaState`
|
|
35
|
+
* to the open connection. Absent (e.g. the capabilities surface, which never
|
|
36
|
+
* executes), a drag op refuses cleanly.
|
|
37
|
+
*/
|
|
38
|
+
export interface UiDriveAux {
|
|
39
|
+
areaState?: () => AreaSidebarState;
|
|
40
|
+
}
|
|
41
|
+
/** The client-side default aux: reads area order + assignments from the DB. */
|
|
42
|
+
export declare function createUiDriveAux(db: DatabaseSync): UiDriveAux;
|
|
43
|
+
export interface SidebarRect {
|
|
44
|
+
x: number;
|
|
45
|
+
y: number;
|
|
46
|
+
w: number;
|
|
47
|
+
h: number;
|
|
48
|
+
}
|
|
49
|
+
export interface SidebarRowInfo extends SidebarRect {
|
|
50
|
+
/** Concatenated descendant static-text segments, joined with "|". */
|
|
51
|
+
text: string;
|
|
52
|
+
}
|
|
53
|
+
export interface SidebarSnapshot {
|
|
54
|
+
/** The sidebar scroll-area viewport rect (the visible band). */
|
|
55
|
+
viewport: SidebarRect | null;
|
|
56
|
+
/** Vertical scroll fraction 0..1 from the AXScrollBar, when exposed. */
|
|
57
|
+
scroll: number | null;
|
|
58
|
+
rows: SidebarRowInfo[];
|
|
59
|
+
}
|
|
60
|
+
/** Snapshot: sidebar rows (text + frames), viewport rect, scroll fraction. */
|
|
61
|
+
export declare function jxaSidebarSnapshotScript(): string;
|
|
62
|
+
/**
|
|
63
|
+
* Scroll: move the pointer over the sidebar center (wheel events target the
|
|
64
|
+
* surface under the cursor), then post `clicks` line-unit wheel events.
|
|
65
|
+
* Positive clicks move the CONTENT down (earlier rows return, row y grows);
|
|
66
|
+
* negative clicks reveal lower rows (row y shrinks) — AXDRAG1-b.
|
|
67
|
+
*/
|
|
68
|
+
export declare function jxaSidebarScrollScript(clicks: number): string;
|
|
69
|
+
/**
|
|
70
|
+
* Drag: the NATIVE1 gesture verbatim — move, down, 3px wiggle to open the drag
|
|
71
|
+
* session, ~25 interpolated drag events, a settle so the drop indicator locks,
|
|
72
|
+
* then up. Coordinates are AX-resolved frames + slot-boundary geometry computed
|
|
73
|
+
* by the caller in the SAME snapshot generation.
|
|
74
|
+
*/
|
|
75
|
+
export declare function jxaSidebarDragScript(sx: number, sy: number, tx: number, ty: number): string;
|
|
76
|
+
/**
|
|
77
|
+
* Rung 2 — scroll-while-held (AXDRAG2-a: wheel events DO scroll the list while
|
|
78
|
+
* a drag is held, and AX frames re-resolve fresh mid-drag). One atomic
|
|
79
|
+
* gesture: grab the source, post wheel events until the anchor row's LIVE
|
|
80
|
+
* frame enters the visible band (direction re-derived every tick from the
|
|
81
|
+
* live frame), then move to the live-computed boundary and drop. No static
|
|
82
|
+
* corrections are needed — the mid-drag layout already reflects the lifted
|
|
83
|
+
* source. If the anchor never arrives within the tick budget, the script
|
|
84
|
+
* Escape-aborts (AXDRAG1-d: byte-identical index vector) and reports it.
|
|
85
|
+
*/
|
|
86
|
+
export declare function jxaSidebarHeldScrollDragScript(sx: number, sy: number, anchorTitle: string | null, // null = drop below the last row (to-last)
|
|
87
|
+
maxTicks: number): string;
|
|
88
|
+
/** Median height of the table's spacer rows (rows with no static text). */
|
|
89
|
+
export declare function medianSpacerHeight(rows: SidebarRowInfo[]): number | null;
|
|
90
|
+
/**
|
|
91
|
+
* Slot pitch estimate: the median y-delta between adjacent resolved area rows
|
|
92
|
+
* (falls back to entity-row height + spacer height when fewer than two area
|
|
93
|
+
* rows resolve).
|
|
94
|
+
*/
|
|
95
|
+
export declare function slotPitch(orderedAreaRows: {
|
|
96
|
+
title: string;
|
|
97
|
+
row: SidebarRowInfo;
|
|
98
|
+
}[], allRows: SidebarRowInfo[]): number;
|
|
99
|
+
/**
|
|
100
|
+
* The boundary Y that inserts ABOVE `ref`: the midpoint of the region between
|
|
101
|
+
* `ref` and the row immediately above it (the spacer row's center when a
|
|
102
|
+
* spacer sits there; the shared edge when rows are contiguous). With no row
|
|
103
|
+
* above, half a spacer height above `ref` (derived, not assumed).
|
|
104
|
+
*/
|
|
105
|
+
export declare function boundaryAboveRow(allRows: SidebarRowInfo[], ref: SidebarRowInfo): number;
|
|
106
|
+
/**
|
|
107
|
+
* The boundary Y that drops BELOW the final table row (to-last). The drop
|
|
108
|
+
* zone below the last entity IS the trailing spacer row when one exists
|
|
109
|
+
* (AXDRAG1-b landed to-last inside it) — its center keeps the drop in the
|
|
110
|
+
* scrollable band even when the list is pinned to the bottom.
|
|
111
|
+
*/
|
|
112
|
+
export declare function boundaryBelowLast(allRows: SidebarRowInfo[]): number | null;
|
|
113
|
+
export declare function parseSidebarSnapshot(stdout: string): SidebarSnapshot | null;
|
|
114
|
+
/**
|
|
115
|
+
* Does a row's static-text carry this exact title as a segment? Sidebar row
|
|
116
|
+
* text concatenates descendant static texts with "|" (AXDRAG1: e.g.
|
|
117
|
+
* "Area-05.|Source Toggle Template|Area-05") — an exact segment match avoids
|
|
118
|
+
* substring collisions; the trailing-dot variant covers the AXDescription-like
|
|
119
|
+
* first segment some rows carry.
|
|
120
|
+
*/
|
|
121
|
+
export declare function rowMatchesTitle(text: string, title: string): boolean;
|
|
122
|
+
/** All rows matching known area titles, in visual (y) order. */
|
|
123
|
+
export declare function areaRowsInOrder(rows: SidebarRowInfo[], titles: readonly string[]): {
|
|
124
|
+
title: string;
|
|
125
|
+
row: SidebarRowInfo;
|
|
126
|
+
}[];
|
|
127
|
+
/** Find a single area row by title; ambiguous or missing → null. */
|
|
128
|
+
export declare function findAreaRow(rows: SidebarRowInfo[], title: string): SidebarRowInfo | null;
|
|
129
|
+
/**
|
|
130
|
+
* The source's group span: lifting an area collapses its row AND its visible
|
|
131
|
+
* nested project rows. Computed from resolved frames as the distance from the
|
|
132
|
+
* source area row's top to the NEXT area row's top (falls back to the median
|
|
133
|
+
* slot pitch when the source is the last area).
|
|
134
|
+
*/
|
|
135
|
+
export declare function sourceGroupSpan(orderedAreaRows: {
|
|
136
|
+
title: string;
|
|
137
|
+
row: SidebarRowInfo;
|
|
138
|
+
}[], sourceTitle: string, allRows: SidebarRowInfo[]): number;
|
|
139
|
+
/**
|
|
140
|
+
* Static drop boundary Y for the requested placement, computed against the
|
|
141
|
+
* CURRENT snapshot. Every placement reduces to "insert above area R" (the
|
|
142
|
+
* mid-gap above R's row) except to-last, which drops below the final table row.
|
|
143
|
+
*/
|
|
144
|
+
export declare function staticBoundaryY(orderedAreaRows: {
|
|
145
|
+
title: string;
|
|
146
|
+
row: SidebarRowInfo;
|
|
147
|
+
}[], allRows: SidebarRowInfo[], sourceTitle: string, placement: SidebarPlacement): {
|
|
148
|
+
y: number;
|
|
149
|
+
anchor: string;
|
|
150
|
+
} | {
|
|
151
|
+
error: string;
|
|
152
|
+
};
|
|
153
|
+
/**
|
|
154
|
+
* Correct a static boundary for the mid-drag layout: a DOWNWARD drag (boundary
|
|
155
|
+
* below the source) sees everything below the source shift up by the source's
|
|
156
|
+
* group span the instant it is picked up (AXDRAG1-a). Upward drags use static
|
|
157
|
+
* coordinates unchanged.
|
|
158
|
+
*/
|
|
159
|
+
export declare function correctedDropY(staticY: number, sourceCenterY: number, span: number): number;
|
|
160
|
+
export declare function inBand(y: number, viewport: SidebarRect, pad?: number): boolean;
|
|
161
|
+
/**
|
|
162
|
+
* Grab/drop x: a fixed FRACTION of the row's resolved width (≈ the label area
|
|
163
|
+
* NATIVE1 clicked at x+170 on a 240px row), clear of the leading icon and the
|
|
164
|
+
* trailing counters — derived from the frame, not a pixel offset.
|
|
165
|
+
*/
|
|
166
|
+
export declare function grabPoint(row: SidebarRowInfo): {
|
|
167
|
+
x: number;
|
|
168
|
+
y: number;
|
|
169
|
+
};
|
|
170
|
+
/** Is the requested placement already satisfied in this DB state? */
|
|
171
|
+
export declare function placementSatisfied(state: AreaSidebarState, targetUuid: string, placement: SidebarPlacement): boolean;
|
|
172
|
+
export interface DragDriveResult {
|
|
173
|
+
ok: boolean;
|
|
174
|
+
/** Human-readable outcome (hop count, rung) or the refusal reason. */
|
|
175
|
+
detail: string;
|
|
176
|
+
/** A gesture may have landed before the failure — recovery state, honestly. */
|
|
177
|
+
recovered?: boolean;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* The rung-2 anchor: every placement reduces to "drop above this area row"
|
|
181
|
+
* (title) or "drop below the last row" (null). `undefined` = unresolvable.
|
|
182
|
+
*/
|
|
183
|
+
export declare function rung2AnchorTitle(rows: SidebarRowInfo[], areaTitles: readonly string[], sourceTitle: string, placement: SidebarPlacement): string | null | undefined;
|
|
184
|
+
/**
|
|
185
|
+
* Drive the full ladder. `preState` is captured ONCE up front for the whole
|
|
186
|
+
* move (recovery + the caller's undo capture both key off it, not per hop).
|
|
187
|
+
*/
|
|
188
|
+
export declare function driveSidebarAreaReorder(spec: SidebarDragSpec, run: UiRunner, aux: UiDriveAux, sleep?: (ms: number) => Promise<void>): Promise<DragDriveResult>;
|