veto-sdk 1.17.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +69 -203
- package/dist/browser/index.d.ts +1 -1
- package/dist/browser/index.d.ts.map +1 -1
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/types.d.ts +17 -1
- package/dist/browser/types.d.ts.map +1 -1
- package/dist/browser/veto.d.ts +10 -0
- package/dist/browser/veto.d.ts.map +1 -1
- package/dist/browser/veto.js +69 -5
- package/dist/browser/veto.js.map +1 -1
- package/dist/cli/bin.js +0 -0
- package/dist/cli/compile.d.ts +22 -1
- package/dist/cli/compile.d.ts.map +1 -1
- package/dist/cli/compile.js +100 -21
- package/dist/cli/compile.js.map +1 -1
- package/dist/cli/diff.d.ts +2 -25
- package/dist/cli/diff.d.ts.map +1 -1
- package/dist/cli/diff.js +5 -327
- package/dist/cli/diff.js.map +1 -1
- package/dist/cli/headless.js +1 -1
- package/dist/cli/headless.js.map +1 -1
- package/dist/cli/index.d.ts +3 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +2 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/repl-generate.d.ts.map +1 -1
- package/dist/cli/repl-generate.js +346 -17
- package/dist/cli/repl-generate.js.map +1 -1
- package/dist/cli/replay-engine.d.ts +77 -0
- package/dist/cli/replay-engine.d.ts.map +1 -0
- package/dist/cli/replay-engine.js +379 -0
- package/dist/cli/replay-engine.js.map +1 -0
- package/dist/cli/replay.d.ts +57 -0
- package/dist/cli/replay.d.ts.map +1 -0
- package/dist/cli/replay.js +202 -0
- package/dist/cli/replay.js.map +1 -0
- package/dist/cli/runner.d.ts.map +1 -1
- package/dist/cli/runner.js +20 -0
- package/dist/cli/runner.js.map +1 -1
- package/dist/cli/templates.d.ts +1 -1
- package/dist/cli/templates.d.ts.map +1 -1
- package/dist/cli/templates.js +1 -1
- package/dist/cloud/client.d.ts.map +1 -1
- package/dist/cloud/client.js +6 -1
- package/dist/cloud/client.js.map +1 -1
- package/dist/cloud/types.d.ts +33 -2
- package/dist/cloud/types.d.ts.map +1 -1
- package/dist/core/events.d.ts +11 -1
- package/dist/core/events.d.ts.map +1 -1
- package/dist/core/events.js +4 -0
- package/dist/core/events.js.map +1 -1
- package/dist/core/interceptor.d.ts +20 -1
- package/dist/core/interceptor.d.ts.map +1 -1
- package/dist/core/interceptor.js +47 -3
- package/dist/core/interceptor.js.map +1 -1
- package/dist/core/output-validator.d.ts +11 -0
- package/dist/core/output-validator.d.ts.map +1 -1
- package/dist/core/output-validator.js +88 -15
- package/dist/core/output-validator.js.map +1 -1
- package/dist/core/protect.d.ts +3 -1
- package/dist/core/protect.d.ts.map +1 -1
- package/dist/core/protect.js +14 -4
- package/dist/core/protect.js.map +1 -1
- package/dist/core/veto.d.ts +54 -1
- package/dist/core/veto.d.ts.map +1 -1
- package/dist/core/veto.js +471 -91
- package/dist/core/veto.js.map +1 -1
- package/dist/deterministic/types.d.ts +103 -0
- package/dist/deterministic/types.d.ts.map +1 -1
- package/dist/economic/budget-engine.d.ts +29 -0
- package/dist/economic/budget-engine.d.ts.map +1 -0
- package/dist/economic/budget-engine.js +146 -0
- package/dist/economic/budget-engine.js.map +1 -0
- package/dist/economic/connectors/ap2.d.ts +51 -0
- package/dist/economic/connectors/ap2.d.ts.map +1 -0
- package/dist/economic/connectors/ap2.js +133 -0
- package/dist/economic/connectors/ap2.js.map +1 -0
- package/dist/economic/connectors/index.d.ts +8 -0
- package/dist/economic/connectors/index.d.ts.map +1 -0
- package/dist/economic/connectors/index.js +8 -0
- package/dist/economic/connectors/index.js.map +1 -0
- package/dist/economic/connectors/mpp.d.ts +41 -0
- package/dist/economic/connectors/mpp.d.ts.map +1 -0
- package/dist/economic/connectors/mpp.js +97 -0
- package/dist/economic/connectors/mpp.js.map +1 -0
- package/dist/economic/connectors/x402.d.ts +20 -0
- package/dist/economic/connectors/x402.d.ts.map +1 -0
- package/dist/economic/connectors/x402.js +142 -0
- package/dist/economic/connectors/x402.js.map +1 -0
- package/dist/economic/evaluator.d.ts +77 -0
- package/dist/economic/evaluator.d.ts.map +1 -0
- package/dist/economic/evaluator.js +231 -0
- package/dist/economic/evaluator.js.map +1 -0
- package/dist/economic/index.d.ts +13 -0
- package/dist/economic/index.d.ts.map +1 -0
- package/dist/economic/index.js +15 -0
- package/dist/economic/index.js.map +1 -0
- package/dist/economic/types.d.ts +188 -0
- package/dist/economic/types.d.ts.map +1 -0
- package/dist/economic/types.js +10 -0
- package/dist/economic/types.js.map +1 -0
- package/dist/extractors/content.d.ts +42 -0
- package/dist/extractors/content.d.ts.map +1 -0
- package/dist/extractors/content.js +154 -0
- package/dist/extractors/content.js.map +1 -0
- package/dist/extractors/index.d.ts +7 -0
- package/dist/extractors/index.d.ts.map +1 -0
- package/dist/extractors/index.js +7 -0
- package/dist/extractors/index.js.map +1 -0
- package/dist/index.d.ts +10 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -2
- package/dist/index.js.map +1 -1
- package/dist/policy/generator.d.ts +110 -0
- package/dist/policy/generator.d.ts.map +1 -0
- package/dist/policy/generator.js +463 -0
- package/dist/policy/generator.js.map +1 -0
- package/dist/policy/index.d.ts +7 -0
- package/dist/policy/index.d.ts.map +1 -0
- package/dist/policy/index.js +7 -0
- package/dist/policy/index.js.map +1 -0
- package/dist/providers/adapters.d.ts +27 -0
- package/dist/providers/adapters.d.ts.map +1 -1
- package/dist/providers/adapters.js +58 -0
- package/dist/providers/adapters.js.map +1 -1
- package/dist/rules/condition-evaluator.d.ts +2 -1
- package/dist/rules/condition-evaluator.d.ts.map +1 -1
- package/dist/rules/condition-evaluator.js +97 -7
- package/dist/rules/condition-evaluator.js.map +1 -1
- package/dist/rules/index.d.ts +1 -0
- package/dist/rules/index.d.ts.map +1 -1
- package/dist/rules/index.js +1 -0
- package/dist/rules/index.js.map +1 -1
- package/dist/rules/local-evaluator.d.ts +69 -0
- package/dist/rules/local-evaluator.d.ts.map +1 -0
- package/dist/rules/local-evaluator.js +217 -0
- package/dist/rules/local-evaluator.js.map +1 -0
- package/dist/rules/policy-ir-schema.d.ts +132 -1
- package/dist/rules/policy-ir-schema.d.ts.map +1 -1
- package/dist/rules/policy-ir-schema.js +114 -0
- package/dist/rules/policy-ir-schema.js.map +1 -1
- package/dist/rules/policy-packs.d.ts.map +1 -1
- package/dist/rules/policy-packs.js +1 -0
- package/dist/rules/policy-packs.js.map +1 -1
- package/dist/rules/types.d.ts +3 -1
- package/dist/rules/types.d.ts.map +1 -1
- package/dist/rules/types.js.map +1 -1
- package/dist/types/config.d.ts +2 -1
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/config.js.map +1 -1
- package/dist/utils/logger.d.ts +38 -2
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +231 -26
- package/dist/utils/logger.js.map +1 -1
- package/package.json +9 -1
- package/packs/economic-agent.yaml +62 -0
package/dist/cli/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.js
CHANGED
|
@@ -19,4 +19,6 @@ export { createInitialStudioState, discoverWorkspaceCandidates, loadStudioPrefer
|
|
|
19
19
|
export { createReplSessionContext, clearSessionRules, loadSessionRulesFromFile, exportRulesYaml, listRuleSummaries, rescanReplContext, reloadReplContext, findRuleById, getRuleSourceInfo, getRulesForTool, } from './repl-context.js';
|
|
20
20
|
export { resolveEndpointConfig, generatePolicyFromPrompt, explainRule, interpretNaturalLanguageIntent, generateTemplatePolicy, validateGeneratedYaml, buildTemplateExplanation, checkGenerationConnectivity, } from './repl-generate.js';
|
|
21
21
|
export { diff, } from './diff.js';
|
|
22
|
+
export { replay, } from './replay.js';
|
|
23
|
+
export { parseReplayLog, parseReplayLogContent, replayCalls, countDecisions, loadPolicySnapshot, } from './replay-engine.js';
|
|
22
24
|
//# sourceMappingURL=index.js.map
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAqC,MAAM,WAAW,CAAC;AAC/F,OAAO,EACL,cAAc,EACd,WAAW,EACX,gBAAgB,GAIjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EACL,QAAQ,EACR,eAAe,EACf,aAAa,EACb,cAAc,GAOf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,OAAO,EAAE,YAAY,EAA2C,MAAM,cAAc,CAAC;AAC9F,OAAO,EACL,IAAI,EACJ,WAAW,EACX,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,YAAY,GAUb,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,IAAI,GAML,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,kBAAkB,GAGnB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAA2B,MAAM,mBAAmB,CAAC;AAC/F,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,GAEtB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,aAAa,EACb,8BAA8B,EAC9B,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,0BAA0B,GAM3B,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,qBAAqB,EACrB,wBAAwB,EACxB,8BAA8B,GAM/B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,wBAAwB,EACxB,iBAAiB,EACjB,wBAAwB,EACxB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,eAAe,GAGhB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,WAAW,EACX,8BAA8B,EAC9B,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,2BAA2B,GAW5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,IAAI,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAqC,MAAM,WAAW,CAAC;AAC/F,OAAO,EACL,cAAc,EACd,WAAW,EACX,gBAAgB,GAIjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EACL,QAAQ,EACR,eAAe,EACf,aAAa,EACb,cAAc,GAOf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,OAAO,EAAE,YAAY,EAA2C,MAAM,cAAc,CAAC;AAC9F,OAAO,EACL,IAAI,EACJ,WAAW,EACX,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,YAAY,GAUb,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,IAAI,GAML,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,kBAAkB,GAGnB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAA2B,MAAM,mBAAmB,CAAC;AAC/F,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,GAEtB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,aAAa,EACb,8BAA8B,EAC9B,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,0BAA0B,GAM3B,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,qBAAqB,EACrB,wBAAwB,EACxB,8BAA8B,GAM/B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,wBAAwB,EACxB,iBAAiB,EACjB,wBAAwB,EACxB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,eAAe,GAGhB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,WAAW,EACX,8BAA8B,EAC9B,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,2BAA2B,GAW5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,IAAI,GAOL,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,MAAM,GAMP,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,WAAW,EACX,cAAc,EACd,kBAAkB,GAMnB,MAAM,oBAAoB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repl-generate.d.ts","sourceRoot":"","sources":["../../src/cli/repl-generate.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AA2BhD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,aAAa,EAAE,IAAI,EAAE,CAAC;IACtB,cAAc,CAAC,EAAE;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,aAAa,GAAG,QAAQ,GAAG,UAAU,CAAC;AAC7E,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,YAAY,CAAC;AAE5E,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,cAAc,CAAC;IACrB,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,4BAA4B;IAC3C,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,cAAc,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,KAAK,YAAY,GAAG,OAAO,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;AAExD,UAAU,cAAc;IACtB,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AA2GD,wBAAgB,qBAAqB,CAAC,UAAU,SAAgB,GAAG,cAAc,GAAG,IAAI,CAmCvF;AAiCD,wBAAsB,2BAA2B,CAAC,OAAO,GAAE;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,OAAO,CAAC,4BAA4B,CAAC,CA2C7C;
|
|
1
|
+
{"version":3,"file":"repl-generate.d.ts","sourceRoot":"","sources":["../../src/cli/repl-generate.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { join, resolve } from 'node:path';
|
|
|
3
3
|
import { parse as parseYaml, stringify } from 'yaml';
|
|
4
4
|
import { POLICY_IR_V1_SCHEMA } from '../rules/policy-ir-schema.js';
|
|
5
5
|
import { validatePolicyIR } from '../rules/schema-validator.js';
|
|
6
|
-
const DEFAULT_CLOUD_BASE_URL = 'https://api.
|
|
6
|
+
const DEFAULT_CLOUD_BASE_URL = 'https://api.veto.so';
|
|
7
7
|
const DEFAULT_TIMEOUT_MS = 20000;
|
|
8
8
|
const DEFAULT_SELF_HOSTED_MODEL = 'gpt-4o';
|
|
9
9
|
const DEFAULT_KERNEL_BASE_URL = 'http://localhost:11434/v1';
|
|
@@ -442,6 +442,106 @@ function extractNumericAmount(prompt) {
|
|
|
442
442
|
}
|
|
443
443
|
return value;
|
|
444
444
|
}
|
|
445
|
+
function isAsciiDigit(char) {
|
|
446
|
+
return char !== undefined && char >= '0' && char <= '9';
|
|
447
|
+
}
|
|
448
|
+
function isWordChar(char) {
|
|
449
|
+
return char !== undefined
|
|
450
|
+
&& ((char >= 'a' && char <= 'z') || (char >= 'A' && char <= 'Z') || isAsciiDigit(char) || char === '_');
|
|
451
|
+
}
|
|
452
|
+
function skipWhitespace(input, index) {
|
|
453
|
+
let cursor = index;
|
|
454
|
+
while (cursor < input.length) {
|
|
455
|
+
const char = input[cursor];
|
|
456
|
+
if (char !== ' ' && char !== '\t' && char !== '\n' && char !== '\r') {
|
|
457
|
+
break;
|
|
458
|
+
}
|
|
459
|
+
cursor += 1;
|
|
460
|
+
}
|
|
461
|
+
return cursor;
|
|
462
|
+
}
|
|
463
|
+
function parseNumberAt(input, startIndex) {
|
|
464
|
+
let cursor = skipWhitespace(input, startIndex);
|
|
465
|
+
const hadCurrencySymbol = input[cursor] === '$';
|
|
466
|
+
if (hadCurrencySymbol) {
|
|
467
|
+
cursor += 1;
|
|
468
|
+
cursor = skipWhitespace(input, cursor);
|
|
469
|
+
}
|
|
470
|
+
const rawStart = cursor;
|
|
471
|
+
let sawDigit = false;
|
|
472
|
+
let sawDot = false;
|
|
473
|
+
while (cursor < input.length) {
|
|
474
|
+
const char = input[cursor];
|
|
475
|
+
if (isAsciiDigit(char)) {
|
|
476
|
+
sawDigit = true;
|
|
477
|
+
cursor += 1;
|
|
478
|
+
continue;
|
|
479
|
+
}
|
|
480
|
+
if (char === ',') {
|
|
481
|
+
cursor += 1;
|
|
482
|
+
continue;
|
|
483
|
+
}
|
|
484
|
+
if (char === '.' && !sawDot) {
|
|
485
|
+
sawDot = true;
|
|
486
|
+
cursor += 1;
|
|
487
|
+
continue;
|
|
488
|
+
}
|
|
489
|
+
break;
|
|
490
|
+
}
|
|
491
|
+
if (!sawDigit) {
|
|
492
|
+
return null;
|
|
493
|
+
}
|
|
494
|
+
let value = Number(input.slice(rawStart, cursor).replaceAll(',', ''));
|
|
495
|
+
if (!Number.isFinite(value)) {
|
|
496
|
+
return null;
|
|
497
|
+
}
|
|
498
|
+
let nextIndex = cursor;
|
|
499
|
+
const suffixIndex = skipWhitespace(input, cursor);
|
|
500
|
+
const suffix = input[suffixIndex]?.toLowerCase();
|
|
501
|
+
if (suffix === 'k') {
|
|
502
|
+
value *= 1_000;
|
|
503
|
+
nextIndex = suffixIndex + 1;
|
|
504
|
+
}
|
|
505
|
+
else if (suffix === 'm') {
|
|
506
|
+
value *= 1_000_000;
|
|
507
|
+
nextIndex = suffixIndex + 1;
|
|
508
|
+
}
|
|
509
|
+
return {
|
|
510
|
+
value,
|
|
511
|
+
nextIndex,
|
|
512
|
+
hadCurrencySymbol,
|
|
513
|
+
hadDecimal: sawDot,
|
|
514
|
+
};
|
|
515
|
+
}
|
|
516
|
+
function findKeyword(input, keywords, fromIndex = 0) {
|
|
517
|
+
let bestMatch = null;
|
|
518
|
+
for (const keyword of keywords) {
|
|
519
|
+
let searchFrom = fromIndex;
|
|
520
|
+
while (searchFrom < input.length) {
|
|
521
|
+
const matchIndex = input.indexOf(keyword, searchFrom);
|
|
522
|
+
if (matchIndex === -1) {
|
|
523
|
+
break;
|
|
524
|
+
}
|
|
525
|
+
const before = matchIndex === 0 ? undefined : input[matchIndex - 1];
|
|
526
|
+
const afterIndex = matchIndex + keyword.length;
|
|
527
|
+
const after = afterIndex >= input.length ? undefined : input[afterIndex];
|
|
528
|
+
if (!isWordChar(before) && !isWordChar(after)) {
|
|
529
|
+
if (!bestMatch || matchIndex < bestMatch.index) {
|
|
530
|
+
bestMatch = { index: matchIndex, keyword };
|
|
531
|
+
}
|
|
532
|
+
break;
|
|
533
|
+
}
|
|
534
|
+
searchFrom = matchIndex + 1;
|
|
535
|
+
}
|
|
536
|
+
}
|
|
537
|
+
return bestMatch;
|
|
538
|
+
}
|
|
539
|
+
function hasKeywordAt(input, index, keyword) {
|
|
540
|
+
const before = index === 0 ? undefined : input[index - 1];
|
|
541
|
+
const afterIndex = index + keyword.length;
|
|
542
|
+
const after = afterIndex >= input.length ? undefined : input[afterIndex];
|
|
543
|
+
return input.startsWith(keyword, index) && !isWordChar(before) && !isWordChar(after);
|
|
544
|
+
}
|
|
445
545
|
function detectAction(prompt) {
|
|
446
546
|
const normalized = prompt.toLowerCase();
|
|
447
547
|
if (/(do\s+not|don't|never|cannot|can't|without)\s+approve|no\s+approval/.test(normalized)) {
|
|
@@ -481,6 +581,233 @@ function detectThreshold(prompt) {
|
|
|
481
581
|
value: amount,
|
|
482
582
|
};
|
|
483
583
|
}
|
|
584
|
+
function extractPercent(prompt) {
|
|
585
|
+
const normalized = prompt.toLowerCase();
|
|
586
|
+
for (let index = 0; index < normalized.length; index += 1) {
|
|
587
|
+
if (!isAsciiDigit(normalized[index])) {
|
|
588
|
+
continue;
|
|
589
|
+
}
|
|
590
|
+
const parsed = parseNumberAt(normalized, index);
|
|
591
|
+
if (!parsed) {
|
|
592
|
+
continue;
|
|
593
|
+
}
|
|
594
|
+
const suffixIndex = skipWhitespace(normalized, parsed.nextIndex);
|
|
595
|
+
if (normalized[suffixIndex] === '%') {
|
|
596
|
+
return parsed.value;
|
|
597
|
+
}
|
|
598
|
+
index = parsed.nextIndex - 1;
|
|
599
|
+
}
|
|
600
|
+
return null;
|
|
601
|
+
}
|
|
602
|
+
function extractRemainingBudgetCap(prompt) {
|
|
603
|
+
const normalized = prompt.toLowerCase();
|
|
604
|
+
if (!/remaining budget/.test(normalized) || !/position|trade|market/.test(normalized)) {
|
|
605
|
+
return null;
|
|
606
|
+
}
|
|
607
|
+
return extractPercent(normalized);
|
|
608
|
+
}
|
|
609
|
+
function extractVolumeFloor(prompt) {
|
|
610
|
+
const normalized = prompt.toLowerCase();
|
|
611
|
+
const comparator = findKeyword(normalized, ['under', 'below', 'less than']);
|
|
612
|
+
if (!comparator) {
|
|
613
|
+
return null;
|
|
614
|
+
}
|
|
615
|
+
if (!findKeyword(normalized, ['volume'], comparator.index + comparator.keyword.length)) {
|
|
616
|
+
return null;
|
|
617
|
+
}
|
|
618
|
+
const parsed = parseNumberAt(normalized, comparator.index + comparator.keyword.length);
|
|
619
|
+
if (!parsed) {
|
|
620
|
+
return null;
|
|
621
|
+
}
|
|
622
|
+
const unitIndex = skipWhitespace(normalized, parsed.nextIndex);
|
|
623
|
+
return hasKeywordAt(normalized, unitIndex, 'volume') ? parsed.value : null;
|
|
624
|
+
}
|
|
625
|
+
function extractBuyPriceCap(prompt) {
|
|
626
|
+
const normalized = prompt.toLowerCase();
|
|
627
|
+
const buyVerb = findKeyword(normalized, ['buying', 'buys', 'buy']);
|
|
628
|
+
if (!buyVerb) {
|
|
629
|
+
return null;
|
|
630
|
+
}
|
|
631
|
+
const comparator = findKeyword(normalized, ['above', 'over'], buyVerb.index + buyVerb.keyword.length);
|
|
632
|
+
if (!comparator) {
|
|
633
|
+
return null;
|
|
634
|
+
}
|
|
635
|
+
const parsed = parseNumberAt(normalized, comparator.index + comparator.keyword.length);
|
|
636
|
+
if (!parsed) {
|
|
637
|
+
return null;
|
|
638
|
+
}
|
|
639
|
+
const unitIndex = skipWhitespace(normalized, parsed.nextIndex);
|
|
640
|
+
if (hasKeywordAt(normalized, unitIndex, 'cents') || hasKeywordAt(normalized, unitIndex, 'cent')) {
|
|
641
|
+
const normalizedCents = parsed.value / 100;
|
|
642
|
+
return normalizedCents <= 1 ? normalizedCents : null;
|
|
643
|
+
}
|
|
644
|
+
if (!parsed.hadCurrencySymbol && !parsed.hadDecimal && parsed.value > 1 && parsed.value <= 100) {
|
|
645
|
+
return parsed.value / 100;
|
|
646
|
+
}
|
|
647
|
+
// Bare decimal caps are treated as Polymarket-style probabilities, so values above 1 are ignored.
|
|
648
|
+
return parsed.value <= 1 ? parsed.value : null;
|
|
649
|
+
}
|
|
650
|
+
function hasUnsupportedBuyPriceCap(prompt) {
|
|
651
|
+
const normalized = prompt.toLowerCase();
|
|
652
|
+
const buyVerb = findKeyword(normalized, ['buying', 'buys', 'buy']);
|
|
653
|
+
if (!buyVerb) {
|
|
654
|
+
return false;
|
|
655
|
+
}
|
|
656
|
+
const comparator = findKeyword(normalized, ['above', 'over'], buyVerb.index + buyVerb.keyword.length);
|
|
657
|
+
if (!comparator) {
|
|
658
|
+
return false;
|
|
659
|
+
}
|
|
660
|
+
return parseNumberAt(normalized, comparator.index + comparator.keyword.length) !== null
|
|
661
|
+
&& extractBuyPriceCap(prompt) === null;
|
|
662
|
+
}
|
|
663
|
+
function parseOrdinalValue(rawValue) {
|
|
664
|
+
const normalized = rawValue.toLowerCase();
|
|
665
|
+
const numeric = Number(normalized.replace(/(?:st|nd|rd|th)$/i, ''));
|
|
666
|
+
if (Number.isFinite(numeric)) {
|
|
667
|
+
return numeric;
|
|
668
|
+
}
|
|
669
|
+
const ordinals = {
|
|
670
|
+
first: 1,
|
|
671
|
+
second: 2,
|
|
672
|
+
third: 3,
|
|
673
|
+
fourth: 4,
|
|
674
|
+
fifth: 5,
|
|
675
|
+
sixth: 6,
|
|
676
|
+
seventh: 7,
|
|
677
|
+
eighth: 8,
|
|
678
|
+
ninth: 9,
|
|
679
|
+
tenth: 10,
|
|
680
|
+
};
|
|
681
|
+
return ordinals[normalized] ?? null;
|
|
682
|
+
}
|
|
683
|
+
function extractApprovalPositionThreshold(prompt) {
|
|
684
|
+
const normalized = prompt.toLowerCase();
|
|
685
|
+
if (!/require approval/.test(normalized) || !/position/.test(normalized)) {
|
|
686
|
+
return null;
|
|
687
|
+
}
|
|
688
|
+
const match = normalized.match(/(?:opening|open)\s+(?:a\s+)?([a-z]+|\d+(?:st|nd|rd|th)?)\s+position/);
|
|
689
|
+
if (!match) {
|
|
690
|
+
return null;
|
|
691
|
+
}
|
|
692
|
+
const ordinal = parseOrdinalValue(match[1]);
|
|
693
|
+
if (ordinal === null) {
|
|
694
|
+
return null;
|
|
695
|
+
}
|
|
696
|
+
return Math.max(0, ordinal - 1);
|
|
697
|
+
}
|
|
698
|
+
function selectTemplateTools(prompt, tools) {
|
|
699
|
+
const directMatches = findMatchingToolNames(prompt, tools);
|
|
700
|
+
if (directMatches.length > 0) {
|
|
701
|
+
return directMatches;
|
|
702
|
+
}
|
|
703
|
+
const normalized = prompt.toLowerCase();
|
|
704
|
+
if (/(budget|market|position|buy|price|volume|trade)/.test(normalized)) {
|
|
705
|
+
const tradingTools = tools
|
|
706
|
+
.filter((tool) => /order|trade|position/.test(tool.name.toLowerCase()))
|
|
707
|
+
.map((tool) => tool.name);
|
|
708
|
+
if (tradingTools.length > 0) {
|
|
709
|
+
return tradingTools;
|
|
710
|
+
}
|
|
711
|
+
}
|
|
712
|
+
const fallbackTool = tools[0]?.name;
|
|
713
|
+
return fallbackTool ? [fallbackTool] : ['tool_call'];
|
|
714
|
+
}
|
|
715
|
+
function nextGeneratedRuleId(baseId, existingIds) {
|
|
716
|
+
let candidate = toSlug(baseId);
|
|
717
|
+
let attempt = 1;
|
|
718
|
+
while (existingIds.has(candidate)) {
|
|
719
|
+
candidate = `${toSlug(baseId)}-${attempt}`;
|
|
720
|
+
attempt += 1;
|
|
721
|
+
}
|
|
722
|
+
existingIds.add(candidate);
|
|
723
|
+
return candidate;
|
|
724
|
+
}
|
|
725
|
+
function buildTradingTemplateRules(prompt, selectedTools, existingIds) {
|
|
726
|
+
const rules = [];
|
|
727
|
+
const budgetCap = extractRemainingBudgetCap(prompt);
|
|
728
|
+
const volumeFloor = extractVolumeFloor(prompt);
|
|
729
|
+
const buyPriceCap = extractBuyPriceCap(prompt);
|
|
730
|
+
const approvalThreshold = extractApprovalPositionThreshold(prompt);
|
|
731
|
+
if (budgetCap !== null) {
|
|
732
|
+
rules.push({
|
|
733
|
+
id: nextGeneratedRuleId('block-position-size-percent-of-budget', existingIds),
|
|
734
|
+
name: 'Block oversized position by budget',
|
|
735
|
+
description: `Generated from prompt: ${prompt}`,
|
|
736
|
+
enabled: true,
|
|
737
|
+
severity: 'high',
|
|
738
|
+
action: 'block',
|
|
739
|
+
tools: [...selectedTools],
|
|
740
|
+
conditions: [
|
|
741
|
+
{
|
|
742
|
+
field: 'arguments.amount_usd',
|
|
743
|
+
operator: 'percent_of',
|
|
744
|
+
value: budgetCap,
|
|
745
|
+
reference: 'budget.remaining',
|
|
746
|
+
},
|
|
747
|
+
],
|
|
748
|
+
});
|
|
749
|
+
}
|
|
750
|
+
if (volumeFloor !== null) {
|
|
751
|
+
rules.push({
|
|
752
|
+
id: nextGeneratedRuleId('block-low-volume-markets', existingIds),
|
|
753
|
+
name: 'Block low-volume markets',
|
|
754
|
+
description: `Generated from prompt: ${prompt}`,
|
|
755
|
+
enabled: true,
|
|
756
|
+
severity: 'high',
|
|
757
|
+
action: 'block',
|
|
758
|
+
tools: [...selectedTools],
|
|
759
|
+
conditions: [
|
|
760
|
+
{
|
|
761
|
+
field: 'market.volume',
|
|
762
|
+
operator: 'less_than',
|
|
763
|
+
value: volumeFloor,
|
|
764
|
+
},
|
|
765
|
+
],
|
|
766
|
+
});
|
|
767
|
+
}
|
|
768
|
+
if (buyPriceCap !== null) {
|
|
769
|
+
rules.push({
|
|
770
|
+
id: nextGeneratedRuleId('block-high-price-buys', existingIds),
|
|
771
|
+
name: 'Block high-price buys',
|
|
772
|
+
description: `Generated from prompt: ${prompt}`,
|
|
773
|
+
enabled: true,
|
|
774
|
+
severity: 'high',
|
|
775
|
+
action: 'block',
|
|
776
|
+
tools: [...selectedTools],
|
|
777
|
+
conditions: [
|
|
778
|
+
{
|
|
779
|
+
field: 'arguments.side',
|
|
780
|
+
operator: 'equals',
|
|
781
|
+
value: 'buy',
|
|
782
|
+
},
|
|
783
|
+
{
|
|
784
|
+
field: 'arguments.price',
|
|
785
|
+
operator: 'greater_than',
|
|
786
|
+
value: buyPriceCap,
|
|
787
|
+
},
|
|
788
|
+
],
|
|
789
|
+
});
|
|
790
|
+
}
|
|
791
|
+
if (approvalThreshold !== null) {
|
|
792
|
+
rules.push({
|
|
793
|
+
id: nextGeneratedRuleId('require-approval-for-position-count', existingIds),
|
|
794
|
+
name: 'Require approval for additional positions',
|
|
795
|
+
description: `Generated from prompt: ${prompt}`,
|
|
796
|
+
enabled: true,
|
|
797
|
+
severity: 'medium',
|
|
798
|
+
action: 'require_approval',
|
|
799
|
+
tools: [...selectedTools],
|
|
800
|
+
conditions: [
|
|
801
|
+
{
|
|
802
|
+
field: 'portfolio.open_count',
|
|
803
|
+
operator: 'greater_than',
|
|
804
|
+
value: approvalThreshold,
|
|
805
|
+
},
|
|
806
|
+
],
|
|
807
|
+
});
|
|
808
|
+
}
|
|
809
|
+
return rules;
|
|
810
|
+
}
|
|
484
811
|
function findMatchingToolNames(prompt, tools) {
|
|
485
812
|
const normalized = prompt.toLowerCase();
|
|
486
813
|
const matches = new Set();
|
|
@@ -513,22 +840,20 @@ function findMatchingToolNames(prompt, tools) {
|
|
|
513
840
|
return [];
|
|
514
841
|
}
|
|
515
842
|
function buildTemplateRules(prompt, tools, existingRules) {
|
|
843
|
+
const existingIds = new Set(existingRules.map((rule) => rule.id));
|
|
844
|
+
const selectedTools = selectTemplateTools(prompt, tools);
|
|
845
|
+
const tradingRules = buildTradingTemplateRules(prompt, selectedTools, existingIds);
|
|
846
|
+
if (tradingRules.length > 0) {
|
|
847
|
+
return tradingRules;
|
|
848
|
+
}
|
|
849
|
+
if (hasUnsupportedBuyPriceCap(prompt)) {
|
|
850
|
+
return [];
|
|
851
|
+
}
|
|
516
852
|
const action = detectAction(prompt);
|
|
517
853
|
const threshold = detectThreshold(prompt);
|
|
518
|
-
const toolNames = findMatchingToolNames(prompt, tools);
|
|
519
|
-
const fallbackTool = tools[0]?.name ?? 'tool_call';
|
|
520
|
-
const selectedTools = toolNames.length > 0 ? toolNames : [fallbackTool];
|
|
521
|
-
const existingIds = new Set(existingRules.map((rule) => rule.id));
|
|
522
854
|
const generatedRules = [];
|
|
523
855
|
for (const toolName of selectedTools) {
|
|
524
|
-
const
|
|
525
|
-
let ruleId = `${slug}${threshold ? `-${threshold.value}` : ''}`;
|
|
526
|
-
let attempt = 1;
|
|
527
|
-
while (existingIds.has(ruleId)) {
|
|
528
|
-
ruleId = `${slug}-${attempt}`;
|
|
529
|
-
attempt += 1;
|
|
530
|
-
}
|
|
531
|
-
existingIds.add(ruleId);
|
|
856
|
+
const ruleId = nextGeneratedRuleId(`${toolName}-${action}${threshold ? `-${threshold.value}` : ''}`, existingIds);
|
|
532
857
|
const conditions = threshold
|
|
533
858
|
? [
|
|
534
859
|
{
|
|
@@ -793,13 +1118,17 @@ export function generateTemplatePolicy(prompt, tools, existingRules) {
|
|
|
793
1118
|
const rules = buildTemplateRules(prompt, tools, existingRules);
|
|
794
1119
|
const yaml = toPolicyYaml(rules, prompt);
|
|
795
1120
|
validateGeneratedYaml(yaml);
|
|
1121
|
+
const warnings = [
|
|
1122
|
+
'No API key or kernel config configured. Using template fallback generation.',
|
|
1123
|
+
'Set VETO_API_KEY or enable kernel mode in veto.config.yaml for LLM generation.',
|
|
1124
|
+
];
|
|
1125
|
+
if (hasUnsupportedBuyPriceCap(prompt)) {
|
|
1126
|
+
warnings.push('Template fallback could not infer the buy price cap. Use cents (e.g. "85 cents") or a probability between 0 and 1.');
|
|
1127
|
+
}
|
|
796
1128
|
return {
|
|
797
1129
|
mode: 'template',
|
|
798
1130
|
yaml,
|
|
799
|
-
warnings
|
|
800
|
-
'No API key or kernel config configured. Using template fallback generation.',
|
|
801
|
-
'Set VETO_API_KEY or enable kernel mode in veto.config.yaml for LLM generation.',
|
|
802
|
-
],
|
|
1131
|
+
warnings,
|
|
803
1132
|
};
|
|
804
1133
|
}
|
|
805
1134
|
export async function interpretNaturalLanguageIntent(options) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repl-generate.js","sourceRoot":"","sources":["../../src/cli/repl-generate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"repl-generate.js","sourceRoot":"","sources":["../../src/cli/repl-generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAGrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AA6GhE,MAAM,sBAAsB,GAAG,qBAAqB,CAAC;AACrD,MAAM,kBAAkB,GAAG,KAAK,CAAC;AACjC,MAAM,yBAAyB,GAAG,QAAQ,CAAC;AAC3C,MAAM,uBAAuB,GAAG,2BAA2B,CAAC;AAC5D,MAAM,oBAAoB,GAAG,yCAAyC,CAAC;AACvE,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAChC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAEhC,MAAM,6BAA6B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BrC,CAAC;AAEF,MAAM,4BAA4B,GAAG;;;;CAIpC,CAAC;AAEF,MAAM,8BAA8B,GAAG;;;;;;;;;;;;;;;;;;CAkBtC,CAAC;AAEF,SAAS,gBAAgB,CAAC,OAAe;IACvC,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,WAAW,CAAC,UAAkB;IACrC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAChE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAA0B,CAAC;QACrF,OAAO,MAAM,IAAI,EAAE,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAsB;IACnD,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;IAExC,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,gBAAgB,CAAC,WAAW,CAAC,OAAO,IAAI,uBAAuB,CAAC;QACzE,KAAK,EAAE,WAAW,CAAC,KAAK,IAAI,oBAAoB;QAChD,WAAW,EAAE,WAAW,CAAC,WAAW,IAAI,mBAAmB;QAC3D,SAAS,EAAE,WAAW,CAAC,SAAS,IAAI,kBAAkB;QACtD,SAAS,EAAE,WAAW,CAAC,OAAO,IAAI,kBAAkB;KACrD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE;IAC9D,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC;IACrD,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO;YACL,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,sBAAsB,CAAC;YACrF,MAAM,EAAE,WAAW;YACnB,KAAK,EAAE,yBAAyB;YAChC,WAAW,EAAE,mBAAmB;YAChC,SAAS,EAAE,kBAAkB;YAC7B,SAAS,EAAE,kBAAkB;SAC9B,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAE/C,IAAI,UAAU,EAAE,CAAC;QACf,OAAO;YACL,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,gBAAgB,CAAC,UAAU,CAAC;YACrC,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE;YAClC,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,yBAAyB;YAC7D,WAAW,EAAE,mBAAmB;YAChC,SAAS,EAAE,kBAAkB;YAC7B,SAAS,EAAE,kBAAkB;SAC9B,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC;IAC/C,IAAI,cAAc,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;QAClF,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,4BAA4B,CACnC,MAAsB,EACtB,6BAAkD;IAElD,IAAI,6BAA6B,KAAK,SAAS,EAAE,CAAC;QAChD,OAAO,6BAA6B,CAAC;IACvC,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,qBAAqB,KAAK,SAAS,EAAE,CAAC;QACnE,OAAO,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,qBAAqB,CAAC;IACxD,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,MAAsB;IAC3C,MAAM,OAAO,GAA2B;QACtC,cAAc,EAAE,kBAAkB;KACnC,CAAC;IAEF,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAC7C,OAAO,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5C,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QACnD,OAAO,CAAC,aAAa,GAAG,UAAU,MAAM,CAAC,MAAM,EAAE,CAAC;IACpD,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,UAG9C,EAAE;IACJ,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAEnD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,oCAAoC;SAC7C,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC1E,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IAC9C,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC,CAAC;IAErE,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE;YAC7C,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC;YAChC,MAAM,EAAE,eAAe,CAAC,MAAM;SAC/B,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;YAC3B,OAAO;gBACL,SAAS,EAAE,KAAK;gBAChB,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,MAAM,EAAE,kCAAkC,QAAQ,CAAC,MAAM,GAAG;aAC7D,CAAC;QACJ,CAAC;QAED,OAAO;YACL,SAAS,EAAE,IAAI;YACf,IAAI,EAAE,QAAQ,CAAC,IAAI;SACpB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC/D,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,QAAQ,CACrB,GAAW,EACX,IAA6B,EAC7B,OAA+B,EAC/B,SAAiB;IAEjB,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IAC9C,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC,CAAC;IAErE,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,MAAM;YACd,OAAO;YACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,MAAM,EAAE,eAAe,CAAC,MAAM;SAC/B,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,CAAC,MAAM,MAAM,SAAS,EAAE,CAAC,CAAC;QACvE,CAAC;QAED,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAe,CAAC;IAC5C,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAW;IACpC,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG;YAAE,KAAK,IAAI,CAAC,CAAC;QAC/B,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG;YAAE,KAAK,IAAI,CAAC,CAAC;QAE/B,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChB,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAA4B,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;AAC3D,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,QAAwB,EACxB,YAAoB,EACpB,UAAkB;IAElB,MAAM,OAAO,GAAG;QACd,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,QAAQ,EAAE;YACR,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE;YACzC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE;SACtC;QACD,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,UAAU,EAAE,QAAQ,CAAC,SAAS;KAC/B,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAC7B,GAAG,QAAQ,CAAC,OAAO,mBAAmB,EACtC,OAAO,EACP,aAAa,CAAC,QAAQ,CAAC,EACvB,QAAQ,CAAC,SAAS,CACnB,CAAC;IAEF,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC;IACxD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAgC;IAC/D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,IAAI,CAAC,SAAS,CACnB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACnB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,UAAU,EAAE,IAAI,CAAC,UAAU;KAC5B,CAAC,CAAC,EACH,IAAI,EACJ,CAAC,CACF,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAsB;IACrD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,IAAI,CAAC,SAAS,CACnB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACnB,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;QACvB,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE;QACjC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,IAAI,EAAE;QAC7C,WAAW,EAAE,IAAI,CAAC,WAAW;KAC9B,CAAC,CAAC,EACH,IAAI,EACJ,CAAC,CACF,CAAC;AACJ,CAAC;AAED,SAAS,6BAA6B,CAAC,OAItC;IACC,OAAO;QACL,iBAAiB,OAAO,CAAC,MAAM,EAAE;QACjC,EAAE;QACF,mBAAmB;QACnB,uBAAuB,CAAC,OAAO,CAAC,KAAK,CAAC;QACtC,EAAE;QACF,iBAAiB;QACjB,uBAAuB,CAAC,OAAO,CAAC,aAAa,CAAC;QAC9C,EAAE;QACF,gBAAgB;QAChB,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC;KAC7C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,4BAA4B,CAAC,OAAgD;IACpF,OAAO;QACL,OAAO;QACP,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACrC,EAAE;QACF,mBAAmB;QACnB,uBAAuB,CAAC,OAAO,CAAC,KAAK,CAAC;KACvC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,8BAA8B,CAAC,OAIvC;IACC,OAAO;QACL,UAAU,OAAO,CAAC,KAAK,EAAE;QACzB,EAAE;QACF,cAAc;QACd,uBAAuB,CAAC,OAAO,CAAC,KAAK,CAAC;QACtC,EAAE;QACF,cAAc;QACd,uBAAuB,CAAC,OAAO,CAAC,aAAa,CAAC;KAC/C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa,EAAE,aAA8B;IACxE,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAEvC,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACxF,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,MAAM,CAAC,EAAE,CAAC;IACnB,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC7D,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpB,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,MAAM,CAAC,KAAa;IAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAClC,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,eAAe,GAAG,KAAK,CAAC;IAE5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,GAAG,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;QAEzC,IAAI,QAAQ,IAAI,OAAO,EAAE,CAAC;YACxB,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,eAAe,GAAG,KAAK,CAAC;YACxB,SAAS;QACX,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YACxC,IAAI,IAAI,GAAG,CAAC;YACZ,eAAe,GAAG,IAAI,CAAC;QACzB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACvD,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa,EAAE,OAA0B;IAClE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAY;IACxC,OAAO,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;WAC5B,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;WAC1B,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,GAAG,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAChC,OAAO,oBAAoB,CAAC,IAAI,CAAC;WAC5B,IAAI,KAAK,GAAG;WACZ,IAAI,KAAK,GAAG;WACZ,IAAI,KAAK,GAAG;WACZ,IAAI,KAAK,GAAG;WACZ,IAAI,KAAK,GAAG;WACZ,IAAI,KAAK,GAAG,CAAC;AACpB,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAChC,OAAO,oBAAoB,CAAC,IAAI,CAAC;WAC5B,IAAI,KAAK,GAAG;WACZ,IAAI,KAAK,GAAG;WACZ,IAAI,KAAK,GAAG;WACZ,IAAI,KAAK,GAAG;WACZ,IAAI,KAAK,GAAG,CAAC;AACpB,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAChC,OAAO,oBAAoB,CAAC,IAAI,CAAC;WAC5B,IAAI,KAAK,GAAG;WACZ,IAAI,KAAK,GAAG,CAAC;AACpB,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa;IACzC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,OAAO,IAAI,CAAC,IAAI,OAAO,KAAK,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;QACvD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IAExC,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IACE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC;WACnB,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;WACpB,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC;WACtB,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EACvB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC7C,IAAI,YAAY,IAAI,CAAC,IAAI,YAAY,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,YAAY,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACzC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAClC,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa;IACzC,IAAI,KAAK,GAAG,EAAE,CAAC;IAEf,MAAM,KAAK,GAAG,GAAuB,EAAE;QACrC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,CAAC;QACxB,KAAK,GAAG,EAAE,CAAC;QACX,OAAO,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IACjE,CAAC,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAEtB,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,KAAK,IAAI,IAAI,CAAC;YACd,SAAS;QACX,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,EAAE,CAAC;QAC1B,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,KAAK,EAAE,CAAC;AACjB,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAc;IAC1C,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACxC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAE5E,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;QACnB,KAAK,IAAI,KAAK,CAAC;IACjB,CAAC;SAAM,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;QAC1B,KAAK,IAAI,SAAS,CAAC;IACrB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CAAC,IAAwB;IAC5C,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC;AAC1D,CAAC;AAED,SAAS,UAAU,CAAC,IAAwB;IAC1C,OAAO,IAAI,KAAK,SAAS;WACpB,CAAC,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC;AAC5G,CAAC;AAED,SAAS,cAAc,CAAC,KAAa,EAAE,KAAa;IAClD,IAAI,MAAM,GAAG,KAAK,CAAC;IAEnB,OAAO,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3B,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YACpE,MAAM;QACR,CAAC;QACD,MAAM,IAAI,CAAC,CAAC;IACd,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CACpB,KAAa,EACb,UAAkB;IAElB,IAAI,MAAM,GAAG,cAAc,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAC/C,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC;IAChD,IAAI,iBAAiB,EAAE,CAAC;QACtB,MAAM,IAAI,CAAC,CAAC;QACZ,MAAM,GAAG,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC;IACxB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,MAAM,GAAG,KAAK,CAAC;IAEnB,OAAO,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3B,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,QAAQ,GAAG,IAAI,CAAC;YAChB,MAAM,IAAI,CAAC,CAAC;YACZ,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,MAAM,IAAI,CAAC,CAAC;YACZ,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5B,MAAM,GAAG,IAAI,CAAC;YACd,MAAM,IAAI,CAAC,CAAC;YACZ,SAAS;QACX,CAAC;QACD,MAAM;IACR,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;IACtE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,SAAS,GAAG,MAAM,CAAC;IACvB,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,CAAC;IACjD,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;QACnB,KAAK,IAAI,KAAK,CAAC;QACf,SAAS,GAAG,WAAW,GAAG,CAAC,CAAC;IAC9B,CAAC;SAAM,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;QAC1B,KAAK,IAAI,SAAS,CAAC;QACnB,SAAS,GAAG,WAAW,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO;QACL,KAAK;QACL,SAAS;QACT,iBAAiB;QACjB,UAAU,EAAE,MAAM;KACnB,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAClB,KAAa,EACb,QAA2B,EAC3B,SAAS,GAAG,CAAC;IAEb,IAAI,SAAS,GAA8C,IAAI,CAAC;IAEhE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,UAAU,GAAG,SAAS,CAAC;QAE3B,OAAO,UAAU,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YACjC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YACtD,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;gBACtB,MAAM;YACR,CAAC;YAED,MAAM,MAAM,GAAG,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;YACpE,MAAM,UAAU,GAAG,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;YAC/C,MAAM,KAAK,GAAG,UAAU,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACzE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9C,IAAI,CAAC,SAAS,IAAI,UAAU,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;oBAC/C,SAAS,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;gBAC7C,CAAC;gBACD,MAAM;YACR,CAAC;YAED,UAAU,GAAG,UAAU,GAAG,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,YAAY,CAAC,KAAa,EAAE,KAAa,EAAE,OAAe;IACjE,MAAM,MAAM,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IAC1C,MAAM,KAAK,GAAG,UAAU,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACzE,OAAO,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACvF,CAAC;AAED,SAAS,YAAY,CAAC,MAAc;IAClC,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAExC,IAAI,qEAAqE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3F,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,yCAAyC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/D,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,8FAA8F,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACpH,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,IAAI,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACxC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACnC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED,SAAS,eAAe,CAAC,MAAc;IACrC,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACxC,MAAM,MAAM,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAEhD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAiC,oCAAoC,CAAC,IAAI,CAAC,UAAU,CAAC;QAClG,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,cAAc,CAAC;IAEnB,OAAO;QACL,QAAQ;QACR,KAAK,EAAE,MAAM;KACd,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,MAAc;IACpC,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAExC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1D,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACrC,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,SAAS;QACX,CAAC;QAED,MAAM,WAAW,GAAG,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QACjE,IAAI,UAAU,CAAC,WAAW,CAAC,KAAK,GAAG,EAAE,CAAC;YACpC,OAAO,MAAM,CAAC,KAAK,CAAC;QACtB,CAAC;QAED,KAAK,GAAG,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,yBAAyB,CAAC,MAAc;IAC/C,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACxC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACtF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,cAAc,CAAC,UAAU,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAc;IACxC,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACxC,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;IAC5E,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACvF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,EAAE,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvF,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GAAG,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IAC/D,OAAO,YAAY,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7E,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAc;IACxC,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACxC,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IACnE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACtG,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,EAAE,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvF,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GAAG,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IAC/D,IAAI,YAAY,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,IAAI,YAAY,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC;QAChG,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC;QAC3C,OAAO,eAAe,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC;IACvD,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE,CAAC;QAC/F,OAAO,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC;IAC5B,CAAC;IAED,kGAAkG;IAClG,OAAO,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACjD,CAAC;AAED,SAAS,yBAAyB,CAAC,MAAc;IAC/C,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACxC,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IACnE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACtG,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,aAAa,CAAC,UAAU,EAAE,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI;WAClF,kBAAkB,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;AAC3C,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAgB;IACzC,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,CAAC;IACpE,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,QAAQ,GAA2B;QACvC,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,CAAC;QACT,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,CAAC;QACT,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,CAAC;QACR,OAAO,EAAE,CAAC;QACV,MAAM,EAAE,CAAC;QACT,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,EAAE;KACV,CAAC;IAEF,OAAO,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;AACtC,CAAC;AAED,SAAS,gCAAgC,CAAC,MAAc;IACtD,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACxC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACzE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,qEAAqE,CAAC,CAAC;IACtG,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAc,EAAE,KAAgC;IAC3E,MAAM,aAAa,GAAG,qBAAqB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC3D,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACxC,IAAI,iDAAiD,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACvE,MAAM,YAAY,GAAG,KAAK;aACvB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;aACtE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,OAAO,YAAY,CAAC;QACtB,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;IACpC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAc,EAAE,WAAwB;IACnE,IAAI,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/B,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,OAAO,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QAClC,SAAS,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC,CAAC;IACf,CAAC;IAED,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,yBAAyB,CAChC,MAAc,EACd,aAAgC,EAChC,WAAwB;IAExB,MAAM,KAAK,GAAW,EAAE,CAAC;IACzB,MAAM,SAAS,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,WAAW,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,iBAAiB,GAAG,gCAAgC,CAAC,MAAM,CAAC,CAAC;IAEnE,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,mBAAmB,CAAC,uCAAuC,EAAE,WAAW,CAAC;YAC7E,IAAI,EAAE,oCAAoC;YAC1C,WAAW,EAAE,0BAA0B,MAAM,EAAE;YAC/C,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,CAAC,GAAG,aAAa,CAAC;YACzB,UAAU,EAAE;gBACV;oBACE,KAAK,EAAE,sBAAsB;oBAC7B,QAAQ,EAAE,YAAY;oBACtB,KAAK,EAAE,SAAS;oBAChB,SAAS,EAAE,kBAAkB;iBAC9B;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAED,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,mBAAmB,CAAC,0BAA0B,EAAE,WAAW,CAAC;YAChE,IAAI,EAAE,0BAA0B;YAChC,WAAW,EAAE,0BAA0B,MAAM,EAAE;YAC/C,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,CAAC,GAAG,aAAa,CAAC;YACzB,UAAU,EAAE;gBACV;oBACE,KAAK,EAAE,eAAe;oBACtB,QAAQ,EAAE,WAAW;oBACrB,KAAK,EAAE,WAAW;iBACnB;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAED,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,mBAAmB,CAAC,uBAAuB,EAAE,WAAW,CAAC;YAC7D,IAAI,EAAE,uBAAuB;YAC7B,WAAW,EAAE,0BAA0B,MAAM,EAAE;YAC/C,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,CAAC,GAAG,aAAa,CAAC;YACzB,UAAU,EAAE;gBACV;oBACE,KAAK,EAAE,gBAAgB;oBACvB,QAAQ,EAAE,QAAQ;oBAClB,KAAK,EAAE,KAAK;iBACb;gBACD;oBACE,KAAK,EAAE,iBAAiB;oBACxB,QAAQ,EAAE,cAAc;oBACxB,KAAK,EAAE,WAAW;iBACnB;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAED,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,mBAAmB,CAAC,qCAAqC,EAAE,WAAW,CAAC;YAC3E,IAAI,EAAE,2CAA2C;YACjD,WAAW,EAAE,0BAA0B,MAAM,EAAE;YAC/C,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,kBAAkB;YAC1B,KAAK,EAAE,CAAC,GAAG,aAAa,CAAC;YACzB,UAAU,EAAE;gBACV;oBACE,KAAK,EAAE,sBAAsB;oBAC7B,QAAQ,EAAE,cAAc;oBACxB,KAAK,EAAE,iBAAiB;iBACzB;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAc,EAAE,KAAgC;IAC7E,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACxC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAElC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACrC,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvB,SAAS;QACX,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACnF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;IACtB,CAAC;IAED,IAAI,4BAA4B,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAClD,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACzF,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,IAAI,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9E,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAc,EAAE,KAAgC,EAAE,aAA8B;IAC1G,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAClE,MAAM,aAAa,GAAG,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,yBAAyB,CAAC,MAAM,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;IAEnF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,IAAI,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,cAAc,GAAW,EAAE,CAAC;IAElC,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,mBAAmB,CAChC,GAAG,QAAQ,IAAI,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAChE,WAAW,CACZ,CAAC;QAEF,MAAM,UAAU,GAAG,SAAS;YAC1B,CAAC,CAAC;gBACE;oBACE,KAAK,EAAE,kBAAkB;oBACzB,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,KAAK,EAAE,SAAS,CAAC,KAAK;iBACvB;aACF;YACH,CAAC,CAAC,SAAS,CAAC;QAEd,cAAc,CAAC,IAAI,CAAC;YAClB,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,QAAQ,EAAE;YAC/C,WAAW,EAAE,0BAA0B,MAAM,EAAE;YAC/C,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;YAChD,MAAM;YACN,KAAK,EAAE,CAAC,QAAQ,CAAC;YACjB,UAAU;SACX,CAAC,CAAC;IACL,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAS,YAAY,CAAC,KAAsB,EAAE,MAAc;IAC1D,OAAO,SAAS,CACd;QACE,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,+BAA+B,MAAM,EAAE;QACpD,KAAK;KACN,EACD,EAAE,SAAS,EAAE,GAAG,EAAE,CACnB,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,GAAY;IAC1C,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,QAAQ,GAAG,GAA8B,CAAC;IAChD,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzE,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAe,CAAC,CAAC,CAAC,SAAS;YAC3E,KAAK,EAAE,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;YACtE,WAAW,EAAE,OAAO,QAAQ,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;SACzF,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAe,EAAE,uBAAuB,CAAC,CAAC;QAC7E,OAAO;YACL,IAAI;YACJ,KAAK,EAAE,QAAQ,CAAC,KAAe;YAC/B,KAAK,EAAE,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;YACtE,WAAW,EAAE,OAAO,QAAQ,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;SACzF,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAY;IACzC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,QAAQ,GAAG,GAA8B,CAAC;IAChD,IAAI,OAAO,QAAQ,CAAC,WAAW,KAAK,QAAQ,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACnF,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IAED,OAAO;QACL,WAAW,EAAE,QAAQ,CAAC,WAAW;KAClC,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,GAAY,EAAE,cAAsB;IACxD,MAAM,QAAQ,GAAqB;QACjC,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,cAAc;QACtB,QAAQ,EAAE,EAAE;KACb,CAAC;IAEF,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,GAAG,GAA8B,CAAC;IAC5C,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;IAC7E,MAAM,MAAM,GAAe,CACzB,SAAS,KAAK,UAAU;WACrB,SAAS,KAAK,SAAS;WACvB,SAAS,KAAK,YAAY;WAC1B,SAAS,KAAK,UAAU,CAC5B;QACC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,UAAU,CAAC;IAEf,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC;IAC5B,MAAM,IAAI,GAAG,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;QAClF,CAAC,CAAC,SAAoC;QACtC,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,MAAM;QACN,MAAM,EAAE,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;YACtE,CAAC,CAAC,IAAI,CAAC,MAAM;YACb,CAAC,CAAC,cAAc;QAClB,QAAQ,EAAE,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QACvE,MAAM,EAAE,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QACjE,IAAI;QACJ,QAAQ,EAAE,EAAE;KACb,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAC1B,KAAa,EACb,KAAgC,EAChC,aAA8B;IAE9B,MAAM,SAAS,GAAG,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACtD,MAAM,IAAI,GAA4B,EAAE,CAAC;IACzC,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAE5C,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC1C,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC;IAClB,CAAC;SAAM,IAAI,iBAAiB,CAAC,eAAe,EAAE,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC;QACrG,IAAI,CAAC,EAAE,GAAG,gBAAgB,CAAC;IAC7B,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IACtD,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,6BAA6B,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACpG,IAAI,aAAa,EAAE,CAAC,CAAC,CAAC,IAAI,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACjE,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC;IAClC,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO;YACL,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;YACtB,IAAI;SACL,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QACjC,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,OAAO;gBACL,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBACvB,IAAI;aACL,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QACnB,OAAO;YACL,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;YACvB,IAAI;SACL,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAED,SAAS,4BAA4B,CACnC,KAAa,EACb,KAAgC,EAChC,aAA8B;IAE9B,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAEvC,MAAM,oBAAoB,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAE3F,IACE,iBAAiB,CAAC,UAAU,EAAE;QAC5B,eAAe;QACf,oBAAoB;QACpB,gBAAgB;QAChB,gBAAgB;KACjB,CAAC;WACC,oBAAoB,EACvB,CAAC;QACD,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;IAED,MAAM,iBAAiB,GAAG,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACxF,MAAM,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEzF,IACE,iBAAiB;WACd,iBAAiB,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;WAC9D,gBAAgB,EACnB,CAAC;QACD,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,mBAAmB,CAAC,KAAK,EAAE,aAAa,CAAC;YACjD,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;IAED,MAAM,iBAAiB,GAAG,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC;WACjD,iBAAiB,CAAC,UAAU,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC;IAE9E,IACE,iBAAiB,CAAC,UAAU,EAAE,CAAC,mBAAmB,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;WACjG,iBAAiB,EACpB,CAAC;QACD,MAAM,SAAS,GAAG,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;QACnE,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,UAAU;YAClB,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,EAAE;KACb,CAAC;AACJ,CAAC;AAED,SAAS,gCAAgC,CAAC,KAAa,EAAE,SAA2B;IAClF,IAAI,SAAS,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACvC,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;WACrB,iBAAiB,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;AACjI,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,OAKhC;IACC,MAAM,GAAG,GAAG,MAAM,oBAAoB,CACpC,OAAO,CAAC,QAAQ,EAChB,6BAA6B,EAC7B,6BAA6B,CAAC,OAAO,CAAC,CACvC,CAAC;IAEF,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAClD,qBAAqB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAEvC,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,WAAW,EAAE,UAAU,CAAC,WAAW;QACnC,QAAQ,EAAE,EAAE;KACb,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,OAI/B;IACC,MAAM,GAAG,GAAG,MAAM,oBAAoB,CACpC,OAAO,CAAC,QAAQ,EAChB,4BAA4B,EAC5B,4BAA4B,CAAC,OAAO,CAAC,CACtC,CAAC;IAEF,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAEjD,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,UAAU,CAAC,WAAW;QACnC,QAAQ,EAAE,EAAE;KACb,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,OAKjC;IACC,MAAM,GAAG,GAAG,MAAM,oBAAoB,CACpC,OAAO,CAAC,QAAQ,EAChB,8BAA8B,EAC9B,8BAA8B,CAAC,OAAO,CAAC,CACxC,CAAC;IAEF,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACtC,OAAO;QACL,GAAG,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC;QACtC,IAAI,EAAE,QAAQ;KACf,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAmC,CAAC;IACjE,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IAED,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACzB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,IAAU;IACjD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;QAC/C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QACvB,CAAC,CAAC,WAAW,CAAC;IAEhB,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrD,OAAO,GAAG,MAAM,aAAa,KAAK,GAAG,CAAC;IACxC,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC1C,IAAI,cAAc,CAAC,KAAK,IAAI,cAAc,CAAC,QAAQ,EAAE,CAAC;QACpD,OAAO,GAAG,MAAM,aAAa,KAAK,SAAS,cAAc,CAAC,KAAK,IAAI,cAAc,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC;IACxI,CAAC;IAED,OAAO,GAAG,MAAM,aAAa,KAAK,oCAAoC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,MAAc,EACd,KAAgC,EAChC,aAA8B;IAE9B,MAAM,KAAK,GAAG,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;IAC/D,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACzC,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAE5B,MAAM,QAAQ,GAAG;QACf,6EAA6E;QAC7E,gFAAgF;KACjF,CAAC;IAEF,IAAI,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,QAAQ,CAAC,IAAI,CACX,oHAAoH,CACrH,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,IAAI;QACJ,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAC,OAKpD;IACC,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAEnD,MAAM,SAAS,GAAG,4BAA4B,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACpG,IAAI,CAAC,QAAQ,IAAI,CAAC,gCAAgC,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;QAC7E,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,OAAO,MAAM,kBAAkB,CAAC;gBAC9B,QAAQ;gBACR,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,aAAa,EAAE,OAAO,CAAC,aAAa;aACrC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,GAAG,SAAS;gBACZ,QAAQ,EAAE;oBACR,2DAA2D,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;iBACpH;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAC7B,GAAG,QAAQ,CAAC,OAAO,oBAAoB,EACvC;YACE,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,aAAa,EAAE,OAAO,CAAC,aAAa;SACrC,EACD,aAAa,CAAC,QAAQ,CAAC,EACvB,QAAQ,CAAC,SAAS,CACnB,CAAC;QAEF,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACzD,OAAO;YACL,GAAG,UAAU;YACb,IAAI,EAAE,QAAQ,CAAC,IAAI;SACpB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,GAAG,SAAS;YACZ,QAAQ,EAAE;gBACR,qDAAqD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;aAC9G;SACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,OAO9C;IACC,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;IACnD,MAAM,qBAAqB,GAAG,4BAA4B,CACxD,MAAM,EACN,OAAO,CAAC,qBAAqB,CAC9B,CAAC;IAEF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CACb,uIAAuI,CACxI,CAAC;QACJ,CAAC;QACD,OAAO,sBAAsB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACtF,CAAC;IAED,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,OAAO,MAAM,iBAAiB,CAAC;gBAC7B,QAAQ;gBACR,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,aAAa,EAAE,OAAO,CAAC,aAAa;aACrC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CACb,6BAA6B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACtF,CAAC;YACJ,CAAC;YAED,MAAM,QAAQ,GAAG,sBAAsB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;YAC9F,OAAO;gBACL,GAAG,QAAQ;gBACX,QAAQ,EAAE;oBACR,sDAAsD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;oBAC9G,GAAG,QAAQ,CAAC,QAAQ;iBACrB;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAA0B;QACrC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,MAAM,EAAE,mBAA8C;QACtD,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,cAAc,EAAE;YACd,GAAG,EAAE,UAAU;YACf,cAAc,EAAE,OAAO,CAAC,cAAc;SACvC;QACD,KAAK,EAAE,QAAQ,CAAC,KAAK;KACtB,CAAC;IAEF,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC9B,MAAM,YAAY,GAAG,qBAAqB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1E,MAAM,gBAAgB,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;QAEnE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;YAC9F,CAAC;YAED,OAAO,sBAAsB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QACtF,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAC7B,GAAG,QAAQ,CAAC,OAAO,uBAAuB,EAC1C;gBACE,QAAQ,EAAE,gBAAgB;gBAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,QAAQ,EAAE,MAAM;aACjB,EACD,aAAa,CAAC,QAAQ,CAAC,EACvB,QAAQ,CAAC,SAAS,CACnB,CAAC;YAEF,MAAM,UAAU,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;YACpD,qBAAqB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAEvC,OAAO;gBACL,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,KAAK,EAAE,UAAU,CAAC,KAAK;gBACvB,WAAW,EAAE,UAAU,CAAC,WAAW;gBACnC,QAAQ,EAAE,EAAE;aACb,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CACb,+BAA+B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACxF,CAAC;YACJ,CAAC;YAED,MAAM,QAAQ,GAAG,sBAAsB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;YAC9F,OAAO;gBACL,GAAG,QAAQ;gBACX,QAAQ,EAAE;oBACR,8DAA8D,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;oBACtH,GAAG,QAAQ,CAAC,QAAQ;iBACrB;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAC7B,GAAG,QAAQ,CAAC,OAAO,mBAAmB,EACtC,OAA6C,EAC7C,aAAa,CAAC,QAAQ,CAAC,EACvB,QAAQ,CAAC,SAAS,CACnB,CAAC;QAEF,MAAM,UAAU,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QACpD,qBAAqB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAEvC,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,WAAW,EAAE,UAAU,CAAC,WAAW;YACnC,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CACb,+BAA+B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACxF,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,sBAAsB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QAC9F,OAAO;YACL,GAAG,QAAQ;YACX,QAAQ,EAAE;gBACR,8DAA8D,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;gBACtH,GAAG,QAAQ,CAAC,QAAQ;aACrB;SACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAIjC;IACC,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAEnD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,wBAAwB,CAAC,OAAO,CAAC,IAAI,CAAC;YACnD,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,OAAO,MAAM,gBAAgB,CAAC;gBAC5B,QAAQ;gBACR,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,KAAK,EAAE,OAAO,CAAC,KAAK;aACrB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,wBAAwB,CAAC,OAAO,CAAC,IAAI,CAAC;gBACnD,QAAQ,EAAE;oBACR,sDAAsD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;iBAC/G;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAyB;QACpC,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,KAAK,EAAE,QAAQ,CAAC,KAAK;KACtB,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAC7B,GAAG,QAAQ,CAAC,OAAO,kBAAkB,EACrC,OAA6C,EAC7C,aAAa,CAAC,QAAQ,CAAC,EACvB,QAAQ,CAAC,SAAS,CACnB,CAAC;QAEF,MAAM,UAAU,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAEnD,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,WAAW,EAAE,UAAU,CAAC,WAAW;YACnC,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,wBAAwB,CAAC,OAAO,CAAC,IAAI,CAAC;YACnD,QAAQ,EAAE;gBACR,wDAAwD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;aACjH;SACF,CAAC;IACJ,CAAC;AACH,CAAC"}
|