@apollo/federation-internals 2.4.2 → 2.4.4
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/CHANGELOG.md +9 -0
- package/package.json +1 -1
- package/src/__tests__/operations.test.ts +175 -10
- package/src/operations.ts +184 -36
- package/dist/Subgraph.d.ts +0 -1
- package/dist/Subgraph.d.ts.map +0 -1
- package/dist/Subgraph.js +0 -2
- package/dist/Subgraph.js.map +0 -1
- package/dist/argumentCompositionStrategies.d.ts +0 -34
- package/dist/argumentCompositionStrategies.d.ts.map +0 -1
- package/dist/argumentCompositionStrategies.js +0 -35
- package/dist/argumentCompositionStrategies.js.map +0 -1
- package/dist/buildSchema.d.ts +0 -10
- package/dist/buildSchema.d.ts.map +0 -1
- package/dist/buildSchema.js +0 -362
- package/dist/buildSchema.js.map +0 -1
- package/dist/coreSpec.d.ts +0 -127
- package/dist/coreSpec.d.ts.map +0 -1
- package/dist/coreSpec.js +0 -590
- package/dist/coreSpec.js.map +0 -1
- package/dist/debug.d.ts +0 -15
- package/dist/debug.d.ts.map +0 -1
- package/dist/debug.js +0 -122
- package/dist/debug.js.map +0 -1
- package/dist/definitions.d.ts +0 -663
- package/dist/definitions.d.ts.map +0 -1
- package/dist/definitions.js +0 -2841
- package/dist/definitions.js.map +0 -1
- package/dist/directiveAndTypeSpecification.d.ts +0 -67
- package/dist/directiveAndTypeSpecification.d.ts.map +0 -1
- package/dist/directiveAndTypeSpecification.js +0 -271
- package/dist/directiveAndTypeSpecification.js.map +0 -1
- package/dist/error.d.ts +0 -128
- package/dist/error.d.ts.map +0 -1
- package/dist/error.js +0 -315
- package/dist/error.js.map +0 -1
- package/dist/extractSubgraphsFromSupergraph.d.ts +0 -8
- package/dist/extractSubgraphsFromSupergraph.d.ts.map +0 -1
- package/dist/extractSubgraphsFromSupergraph.js +0 -576
- package/dist/extractSubgraphsFromSupergraph.js.map +0 -1
- package/dist/federation.d.ts +0 -175
- package/dist/federation.d.ts.map +0 -1
- package/dist/federation.js +0 -1414
- package/dist/federation.js.map +0 -1
- package/dist/federationSpec.d.ts +0 -25
- package/dist/federationSpec.d.ts.map +0 -1
- package/dist/federationSpec.js +0 -125
- package/dist/federationSpec.js.map +0 -1
- package/dist/genErrorCodeDoc.d.ts +0 -2
- package/dist/genErrorCodeDoc.d.ts.map +0 -1
- package/dist/genErrorCodeDoc.js +0 -61
- package/dist/genErrorCodeDoc.js.map +0 -1
- package/dist/graphQLJSSchemaToAST.d.ts +0 -8
- package/dist/graphQLJSSchemaToAST.d.ts.map +0 -1
- package/dist/graphQLJSSchemaToAST.js +0 -96
- package/dist/graphQLJSSchemaToAST.js.map +0 -1
- package/dist/inaccessibleSpec.d.ts +0 -18
- package/dist/inaccessibleSpec.d.ts.map +0 -1
- package/dist/inaccessibleSpec.js +0 -655
- package/dist/inaccessibleSpec.js.map +0 -1
- package/dist/index.d.ts +0 -24
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -42
- package/dist/index.js.map +0 -1
- package/dist/introspection.d.ts +0 -6
- package/dist/introspection.d.ts.map +0 -1
- package/dist/introspection.js +0 -96
- package/dist/introspection.js.map +0 -1
- package/dist/joinSpec.d.ts +0 -51
- package/dist/joinSpec.d.ts.map +0 -1
- package/dist/joinSpec.js +0 -160
- package/dist/joinSpec.js.map +0 -1
- package/dist/knownCoreFeatures.d.ts +0 -5
- package/dist/knownCoreFeatures.d.ts.map +0 -1
- package/dist/knownCoreFeatures.js +0 -20
- package/dist/knownCoreFeatures.js.map +0 -1
- package/dist/operations.d.ts +0 -403
- package/dist/operations.d.ts.map +0 -1
- package/dist/operations.js +0 -1983
- package/dist/operations.js.map +0 -1
- package/dist/precompute.d.ts +0 -3
- package/dist/precompute.d.ts.map +0 -1
- package/dist/precompute.js +0 -54
- package/dist/precompute.js.map +0 -1
- package/dist/print.d.ts +0 -28
- package/dist/print.d.ts.map +0 -1
- package/dist/print.js +0 -299
- package/dist/print.js.map +0 -1
- package/dist/schemaUpgrader.d.ts +0 -121
- package/dist/schemaUpgrader.d.ts.map +0 -1
- package/dist/schemaUpgrader.js +0 -570
- package/dist/schemaUpgrader.js.map +0 -1
- package/dist/suggestions.d.ts +0 -3
- package/dist/suggestions.d.ts.map +0 -1
- package/dist/suggestions.js +0 -44
- package/dist/suggestions.js.map +0 -1
- package/dist/supergraphs.d.ts +0 -10
- package/dist/supergraphs.d.ts.map +0 -1
- package/dist/supergraphs.js +0 -76
- package/dist/supergraphs.js.map +0 -1
- package/dist/tagSpec.d.ts +0 -19
- package/dist/tagSpec.d.ts.map +0 -1
- package/dist/tagSpec.js +0 -66
- package/dist/tagSpec.js.map +0 -1
- package/dist/types.d.ts +0 -9
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -64
- package/dist/types.js.map +0 -1
- package/dist/utils.d.ts +0 -64
- package/dist/utils.d.ts.map +0 -1
- package/dist/utils.js +0 -326
- package/dist/utils.js.map +0 -1
- package/dist/validate.d.ts +0 -4
- package/dist/validate.d.ts.map +0 -1
- package/dist/validate.js +0 -239
- package/dist/validate.js.map +0 -1
- package/dist/validation/KnownTypeNamesInFederationRule.d.ts +0 -4
- package/dist/validation/KnownTypeNamesInFederationRule.d.ts.map +0 -1
- package/dist/validation/KnownTypeNamesInFederationRule.js +0 -41
- package/dist/validation/KnownTypeNamesInFederationRule.js.map +0 -1
- package/dist/values.d.ts +0 -23
- package/dist/values.d.ts.map +0 -1
- package/dist/values.js +0 -580
- package/dist/values.js.map +0 -1
- package/tsconfig.tsbuildinfo +0 -1
package/dist/operations.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../src/operations.ts"],"names":[],"mappings":";;;AAAA,qCAiBiB;AACjB,+CA8BuB;AACvB,6CAAqD;AACrD,mCAAiC;AACjC,mCAA8C;AAC9C,mCAA+G;AAC/G,qCAAsG;AACtG,+BAAoC;AAEpC,SAAS,QAAQ,CAAC,SAAc,EAAE,OAAqB,EAAE,SAAmB;IAC1E,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,cAAM,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;KACnE;AACH,CAAC;AAED,SAAS,kBAAkB,CAAoC,GAAa,EAAE,GAAa;IACzF,OAAO,IAAA,uCAAyB,EAAC,GAAG,CAAC,iBAAiB,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC;AACjF,CAAC;AAED,MAAe,wBAAgE,SAAQ,oCAAyB;IAG9G,YACE,MAAc,EACd,UAAsC;QAEtC,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC5B,CAAC;IAED,gBAAgB,CAAC,SAA4B;QAC3C,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,CAAC,mCAAmC,CAAC,SAAS,CAAC,CAAC;IACtD,CAAC;IAYD,cAAc,CAAC,GAAW,EAAE,KAAa;QACvC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACtB,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;SAC/B;QACD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,cAAc,CAAC,GAAW;;QACxB,OAAO,MAAA,IAAI,CAAC,YAAY,0CAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAES,kBAAkB,CAAC,GAAkC;QAC7D,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE;gBAChD,GAAG,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aAC1B;SACF;IACH,CAAC;CACF;AAED,MAAa,KAAiE,SAAQ,wBAAsC;IAG1H,YACW,UAA0C,EAClC,IAAY,EAC7B,UAAsC,EAC7B,KAAc;QAEvB,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,UAAU,CAAC,CAAC;QAL9B,eAAU,GAAV,UAAU,CAAgC;QAClC,SAAI,GAAJ,IAAI,CAAQ;QAEpB,UAAK,GAAL,KAAK,CAAS;QANhB,SAAI,GAAG,OAAgB,CAAC;IASjC,CAAC;IAES,yBAAyB,CAAC,SAA4B;QAC9D,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACzC;IACH,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;IAC9B,CAAC;IAED,aAAa,CAAC,IAAY;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACjD,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IAC7C,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;IAC7B,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;IAC7B,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;IAChC,CAAC;IAED,WAAW;QACT,OAAO,IAAA,wBAAU,EAAC,IAAA,sBAAQ,EAAC,IAAI,CAAC,UAAU,CAAC,IAAK,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,qBAAqB,CAAC,aAAmC;QACvD,MAAM,QAAQ,GAAG,IAAI,KAAK,CACxB,aAAa,EACb,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,KAAK,CACX,CAAC;QACF,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAClC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,gBAAgB,CAAC,QAA4B;QAC3C,MAAM,QAAQ,GAAG,IAAI,KAAK,CACxB,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,iBAAiB,EACtB,QAAQ,CACT,CAAC;QACF,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAClC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,qBAAqB,CAAC,aAAwC;QAC5D,MAAM,QAAQ,GAAG,IAAI,KAAK,CACxB,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,IAAI,EACT,aAAa,EACb,IAAI,CAAC,KAAK,CACX,CAAC;QACF,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAClC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACd,OAAO,SAAS,CAAC;SAClB;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YACxB,OAAO,SAAS,CAAC;SAClB;QAED,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;YAC5B,OAAO;gBACL,IAAI,EAAE,cAAI,CAAC,QAAQ;gBACnB,IAAI,EAAE,EAAE,IAAI,EAAE,cAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE;gBACnC,KAAK,EAAE,IAAA,mBAAU,EAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,IAAK,CAAE;aAC1D,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,SAAS,CAAC,IAAgC;QACxC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,OAAO,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,CACL,UAAgC,EAChC,cAAuB,KAAK,EAC5B,mBAAyC;QAEzC,IAAA,cAAM,EAAC,WAAW,IAAI,mBAAmB,EAAE,2DAA2D,CAAC,CAAC;QAGxG,IAAI,UAAU,KAAK,IAAI,CAAC,UAAU,EAAE;YAClC,OAAO,IAAI,CAAC;SACb;QAKD,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,EAAE;YACjC,OAAO,KAAK,CAAC;SACd;QAGD,KAAK,MAAM,MAAM,IAAI,UAAU,CAAC,SAAS,EAAE,EAAE;YAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACrD,IAAI,YAAY,KAAK,SAAS,EAAE;gBAC9B,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,IAAI,CAAC,IAAA,4BAAc,EAAC,MAAM,CAAC,IAAK,CAAC,EAAE;oBACtE,OAAO,KAAK,CAAC;iBACd;aACF;iBAAM;gBACL,IAAI,CAAC,WAAW,IAAI,CAAC,IAAA,qBAAY,EAAC,YAAY,EAAE,MAAM,EAAE,mBAAoB,CAAC,EAAE;oBAC7E,OAAO,KAAK,CAAC;iBACd;aACF;SACF;QAGD,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,EAAE;YAC7B,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACrD,IAAI,KAAK,KAAK,IAAI,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE;oBAC7D,OAAO,KAAK,CAAA;iBACb;aACF;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ,CAAC,mBAAwC;QAC/C,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,eAAe,IAAI,CAAC,IAAI,0BAA0B,IAAI,CAAC,UAAU,CAAC,UAAU,kBAAkB,CAAC,CAAC;QAGnJ,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE;YAChD,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACrD,IAAI,YAAY,KAAK,SAAS,EAAE;gBAC9B,QAAQ,CACN,MAAM,CAAC,YAAY,KAAK,SAAS,IAAI,IAAA,4BAAc,EAAC,MAAM,CAAC,IAAK,CAAC,EACjE,GAAG,EAAE,CAAC,yCAAyC,MAAM,CAAC,IAAI,eAAe,IAAI,CAAC,UAAU,CAAC,UAAU,mBAAmB,IAAI,GAAG,CAAC,CAAC;aAClI;iBAAM;gBACL,QAAQ,CACN,IAAA,qBAAY,EAAC,YAAY,EAAE,MAAM,EAAE,mBAAmB,CAAC,EACvD,GAAG,EAAE,CAAC,iBAAiB,IAAA,sBAAa,EAAC,YAAY,CAAC,kBAAkB,MAAM,CAAC,UAAU,aAAa,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;aACnH;SACF;QAGD,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACrD,QAAQ,CACN,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,SAAS,EAC9D,GAAG,EAAE,CAAC,qBAAqB,IAAI,8BAA8B,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;aAC9E;SACF;IACH,CAAC;IAED,QAAQ,CAAC,UAAyB;QAChC,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAC3C,IAAI,UAAU,KAAK,WAAW,EAAE;YAC9B,OAAO,IAAI,CAAC;SACb;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,+BAAiB,EAAE;YACnC,OAAO,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,aAAa,EAAG,CAAC,CAAC;SAChE;QAED,QAAQ,CACN,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,EAC5B,GAAG,EAAE,CAAC,kCAAkC,IAAI,CAAC,UAAU,CAAC,UAAU,sCAAsC,UAAU,GAAG,CACtH,CAAC;QACF,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,kCAAkC,IAAI,CAAC,UAAU,CAAC,UAAU,sCAAsC,UAAU,sCAAsC,CAAC,CAAC;QAC7K,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAEO,WAAW,CAAC,UAAyB;QAC3C,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAA;QAS9C,OAAO,UAAU,CAAC,IAAI,KAAK,eAAe,CAAC,IAAI;eAC1C,IAAA,6BAAe,EAAC,eAAe,CAAC;eAChC,IAAA,kCAAqB,EAAC,eAAe,CAAC,CAAC;IAC9C,CAAC;IAED,aAAa,CAAC,UAAyB;;QACrC,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAC/C,IAAI,UAAU,IAAI,eAAe,EAAE;YACjC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;SAC7B;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,+BAAiB,EAAE;YACnC,OAAO,MAAA,UAAU,CAAC,aAAa,EAAE,0CAAE,IAAI,CAAC;SACzC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;YACjC,CAAC,CAAC,MAAA,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,0CAAE,IAAI;YACnC,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAED,QAAQ;QAEN,OAAO,KAAK,CAAC;IACf,CAAC;IAED,kBAAkB;QAEhB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,YAAY;QAEV,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,IAAsB;QAC3B,IAAI,IAAI,KAAK,IAAI,EAAE;YACjB,OAAO,IAAI,CAAC;SACb;QACD,OAAO,IAAI,CAAC,IAAI,KAAK,OAAO;eACvB,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;eACvB,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK;eACzB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,IAAA,wBAAe,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;eAC7E,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,QAAQ;QACN,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC;YAC/B,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,GAAG,CAAC,KAAK,IAAA,sBAAa,EAAC,CAAC,EAAE,MAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,0CAAE,IAAI,CAAC,EAAE,CAAA,EAAA,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;QACnH,OAAO,KAAK,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC;IACrE,CAAC;CACF;AAlQD,sBAkQC;AAYD,SAAS,eAAe,CACtB,SAAsC,EACtC,mCAA6C,CAAE,OAAO,CAAE;IAExD,IAAI,gCAAgC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;QAC7D,OAAO,IAAA,SAAM,GAAE,CAAC;KACjB;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;IAC1F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,IAAA,sBAAa,EAAC,CAAC,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;IAC/I,OAAO,IAAI,SAAS,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC;AACrC,CAAC;AAED,MAAa,eAAgB,SAAQ,wBAAyC;IAK5E,YACmB,UAAyB,EAC1C,aAAsC,EACtC,UAAsC;QAItC,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,UAAU,CAAC,CAAC;QANtB,eAAU,GAAV,UAAU,CAAe;QALnC,SAAI,GAAG,iBAA0B,CAAC;QAYzC,IAAI,CAAC,aAAa,GAAG,aAAa,KAAK,SAAS,IAAI,OAAO,aAAa,KAAK,QAAQ;YACnF,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,aAAa,CAAmB;YACrD,CAAC,CAAC,aAAa,CAAC;IACpB,CAAC;IAES,yBAAyB,CAAC,CAAoB;IAExD,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,GAAG;QACD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YAGrB,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACzF,IAAI,CAAC,WAAW,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC;SAC5G;QACD,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;IACnE,CAAC;IAED,aAAa;QACX,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC;QACrC,OAAO,SAAS,CAAC,CAAC,CAAC,UAAU,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACvD,CAAC;IAED,qBAAqB,CAAC,aAA4B;QAChD,OAAO,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAClE,CAAC;IAED,oBAAoB,CAAC,YAAuC;QAC1D,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAC9D,CAAC;IAED,gBAAgB,CAAC,aAA4B,EAAE,YAAuC;QAIpF,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC,aAAa,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACnG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QACrC,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,qBAAqB,CAAC,aAA4C;QAChE,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;QAC5F,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QACrC,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,QAAQ,CAAC,UAAyB;QAChC,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC;QACvC,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QACzC,IAAI,UAAU,KAAK,cAAc,EAAE;YACjC,OAAO,IAAI,CAAC;SACb;QAKD,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACrE,QAAQ,CACN,SAAS,EACT,GAAG,EAAE,CAAC,qCAAqC,aAAa,iBAAiB,IAAA,kCAAoB,EAAC,aAAc,CAAC,sBAAsB,UAAU,gBAAgB,IAAA,kCAAoB,EAAC,UAAU,CAAC,GAAG,CACjM,CAAC;QACF,OAAO,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IAC7D,CAAC;IAEO,WAAW,CAAC,UAAyB;QAC3C,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAC;SACzD;QAED,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC3E,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAA,6BAAe,EAAC,gBAAgB,CAAC,IAAI,CAAC,IAAA,oCAAsB,EAAC,UAAU,EAAE,gBAAgB,CAAC,EAAE;YACpH,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;SAC7B;QAED,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;IAC/C,CAAC;IAED,mBAAmB,CAAC,UAAyB;QAC3C,IAAI,UAAU,IAAI,IAAI,CAAC,UAAU,EAAE;YACjC,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;SAC1B;QAED,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACrE,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACpF,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAED,kBAAkB;;QAEhB,OAAO,MAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC,0CAAE,SAAS,EAAE,CAAC;IAClF,CAAC;IASD,YAAY;QACV,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC;QACtD,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QACrF,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE;YACzD,OAAO,SAAS,CAAC;SAClB;QAED,IAAI,iBAAiB,CAAC,MAAM,KAAK,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE;YAC9D,OAAO,IAAI,CAAC;SACb;QAED,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;QAC5F,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACjC,OAAO,OAAO,CAAC;IACjB,CAAC;IAQD,mBAAmB,CAAC,UAA2B;QAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5C,IAAI,CAAC,SAAS,EAAE;YACd,OAAO,IAAI,CAAC;SACb;QAED,IAAI,YAAY,GAAmC,SAAS,CAAC;QAC7D,IAAI,iBAAiB,GAAyB,SAAS,CAAC;QACxD,IAAI,SAAS,CAAC,EAAE,KAAK,SAAS,EAAE;YAC9B,IAAI,OAAO,SAAS,CAAC,EAAE,KAAK,SAAS,EAAE;gBACrC,IAAI,SAAS,CAAC,EAAE,EAAE;oBAEhB,YAAY,GAAG;wBACb,GAAG,SAAS;wBACZ,EAAE,EAAE,SAAS;qBACd,CAAA;iBACF;qBAAM;oBAEL,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;iBAC5B;aACF;iBAAM;gBAEL,iBAAiB,GAAG,SAAS,CAAC,EAAE,CAAC;aAClC;SACF;QAED,IAAI,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,KAAK,EAAE;YACV,KAAK,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC9B,IAAI,YAAY,EAAE;gBAChB,YAAY,CAAC,KAAK,GAAG,KAAK,CAAC;aAC5B;iBAAM;gBACL,YAAY,GAAG;oBACb,GAAG,SAAS;oBACZ,KAAK;iBACN,CAAA;aACF;SACF;QAID,IAAI,iBAAiB,EAAE;YACrB,UAAU,CAAC,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;SACxD;QAED,IAAI,CAAC,YAAY,EAAE;YACjB,OAAO,IAAI,CAAC;SACb;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,cAAc,EAAE,CAAC;QACtD,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB;aAC7C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,IAAI,CAAC;aAC7C,MAAM,CAAC,IAAI,uBAAS,CAAkB,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;QAE7E,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;QAC5F,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACjC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,IAAsB;;QAC3B,IAAI,IAAI,KAAK,IAAI,EAAE;YACjB,OAAO,IAAI,CAAC;SACb;QACD,OAAO,IAAI,CAAC,IAAI,KAAK,iBAAiB;eACjC,CAAA,MAAA,IAAI,CAAC,aAAa,0CAAE,IAAI,OAAK,MAAA,IAAI,CAAC,aAAa,0CAAE,IAAI,CAAA;eACrD,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,QAAQ;QACN,OAAO,KAAK,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC;IAC5G,CAAC;CACF;AA7ND,0CA6NC;AAMD,SAAgB,yBAAyB,CAAC,IAAmB;IAC3D,OAAO,IAAI;SACR,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,iBAAiB,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;SAClE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,UAAU,MAAA,CAAC,CAAC,aAAa,0CAAE,UAAU,EAAE,CAAA,EAAA,CAAC,CAAC;AACjG,CAAC;AAJD,8DAIC;AAED,SAAgB,kBAAkB,CAAC,EAAiB,EAAE,EAAiB;IACrE,IAAI,EAAE,KAAK,EAAE,EAAE;QACb,OAAO,IAAI,CAAC;KACb;IAED,IAAI,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,EAAE;QAC3B,OAAO,KAAK,CAAC;KACd;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAClC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;YACxB,OAAO,KAAK,CAAC;SACd;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAdD,gDAcC;AAKD,SAAgB,oCAAoC,CAAC,IAAmB;IACtE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,oCAAsB,EAAC,CAAC,CAAC,CAAC,CAAC;AAC9F,CAAC;AAFD,oFAEC;AAED,SAAgB,oBAAoB,CAAC,IAAmB,EAAE,IAAmB;IAG3E,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QACrB,OAAO,IAAI,CAAC;KACb;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QACrB,OAAO,IAAI,CAAC;KACb;IACD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,oCAAoC,CAAC,IAAI,CAAC,CAAC;IAChE,IAAI,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAM1B,OAAO,WAAW,IAAI,wBAAwB,CAAC,UAAU,EAAE,WAAW,EAAE,YAAY,CAAC,EAAE;QACrF,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACrB,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;KACvB;IACD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAtBD,oDAsBC;AAED,SAAS,wBAAwB,CAAC,KAAuB,EAAE,QAA0B,EAAE,YAAmC;IACxH,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,KAAK,OAAO;QACxC,CAAC,CAAC,IAAA,sBAAQ,EAAC,KAAK,CAAC,UAAU,CAAC,IAAK,CAAC;QAClC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC;IAIxB,OAAO,CAAC,CAAC,WAAW;WACf,QAAQ,CAAC,IAAI,KAAK,iBAAiB;WACnC,CAAC,CAAC,QAAQ,CAAC,aAAa;WACxB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC,IAAI,IAAA,2CAA6B,EAAC,YAAY,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC;WACpH,IAAA,iBAAS,EAAC,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;AACtD,CAAC;AAQD,MAAa,SAAS;IACpB,YACW,MAAc,EACd,QAAwB,EACxB,YAA0B,EAC1B,mBAAwC,EACxC,IAAa;QAJb,WAAM,GAAN,MAAM,CAAQ;QACd,aAAQ,GAAR,QAAQ,CAAgB;QACxB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,SAAI,GAAJ,IAAI,CAAS;IACxB,CAAC;IAED,QAAQ,CAAC,SAA0B,EAAE,sBAA8B,CAAC;;QAClE,IAAA,cAAM,EAAC,mBAAmB,IAAI,CAAC,EAAE,4DAA4D,mBAAmB,EAAE,CAAC,CAAA;QACnH,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE;YACrC,OAAO,IAAI,CAAC;SACb;QAED,IAAI,kBAAkB,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC/D,IAAI,kBAAkB,KAAK,IAAI,CAAC,YAAY,EAAE;YAC5C,OAAO,IAAI,CAAC;SACb;QAED,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;QACzC,kBAAkB,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACpD,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,KAAK,EAAE,EAAE;YACxC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;gBACzB,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;aACzB;SACF;QAYD,MAAM,YAAY,GAAG,IAAA,kBAAU,EAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QAElH,MAAM,YAAY,GAAG,MAAA,kBAAkB,CAAC,SAAS,0CAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QACzE,kBAAkB,GAAG,kBAAkB,CAAC,eAAe,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAEpF,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,kBAAkB,EAAE,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5G,CAAC;IAED,kBAAkB;QAChB,MAAM,kBAAkB,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;QAClE,IAAI,kBAAkB,KAAK,IAAI,CAAC,YAAY,EAAE;YAC5C,OAAO,IAAI,CAAC;SACb;QAED,OAAO,IAAI,SAAS,CAClB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,QAAQ,EACb,kBAAkB,EAClB,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,IAAI,CACV,CAAC;IACJ,CAAC;IAED,yBAAyB;QACvB,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACpG,IAAI,iBAAiB,KAAK,IAAI,CAAC,YAAY,EAAE;YAC3C,OAAO,IAAI,CAAC;SACb;QAED,OAAO,IAAI,SAAS,CAClB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,QAAQ,EACb,iBAAiB,EACjB,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,IAAI,CACV,CAAC;IACJ,CAAC;IASD,YAAY,CAAC,cAA4B;QAIvC,IAAA,cAAM,EAAC,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,mFAAmF,CAAC,CAAC;QACnK,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;QAC/D,OAAO,OAAO,IAAI,IAAI,CAAC,YAAY;YACjC,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9F,CAAC;IAeD,mBAAmB;QAOjB,IAAA,cAAM,EAAC,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,2FAA2F,CAAC,CAAC;QAE3K,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,EAAE,SAAS,EAAE,iCAAiC,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5F,IAAI,gBAAgB,GAAc,IAAI,CAAC;QACvC,IAAI,iCAAiC,EAAE;YACrC,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;YAClE,gBAAgB,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;SAC5G;QACD,OAAO;YACL,SAAS,EAAE,gBAAgB;YAC3B,SAAS;YACT,mBAAmB,EAAE,UAAU,CAAC,cAAc;YAC9C,eAAe,EAAE,UAAU,CAAC,eAAe;SAC5C,CAAC;IACJ,CAAC;IAED,8BAA8B;QAC5B,MAAM,uBAAuB,GAAwB,EAAE,CAAC;QACxD,KAAK,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,EAAE;YAC/E,IAAI,YAAY,KAAK,SAAS,EAAE;gBAC9B,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC;aACvD;SACF;QACD,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAED,QAAQ,CAAC,kBAA2B,KAAK,EAAE,cAAuB,IAAI;QACpE,OAAO,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,IAAI,EAAE,eAAe,EAAE,WAAW,CAAC,CAAC;IAC/H,CAAC;CACF;AAhJD,8BAgJC;AAED,MAAa,uBAAwB,SAAQ,oCAA+C;IAG1F,YACE,MAAc,EACL,IAAY,EACZ,aAA4B,EACrC,UAAiD;QAEjD,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAJjB,SAAI,GAAJ,IAAI,CAAQ;QACZ,kBAAa,GAAb,aAAa,CAAe;IAIvC,CAAC;IAED,eAAe,CAAC,YAA0B;QACxC,IAAA,cAAM,EAAC,CAAC,IAAI,CAAC,aAAa,EAAE,4EAA4E,CAAC,CAAA;QACzG,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,YAAY;QACd,IAAA,cAAM,EAAC,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,wCAAwC,IAAI,CAAC,IAAI,2BAA2B,CAAC,CAAC;QAC/G,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,uBAAuB,CAAC,eAA6B;QACnD,OAAO,IAAI,uBAAuB,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IACpH,CAAC;IAED,wBAAwB,CAAC,SAA8B;QACrD,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;IACxD,CAAC;IAED,wBAAwB;QACtB,OAAO;YACL,IAAI,EAAE,cAAI,CAAC,mBAAmB;YAC9B,IAAI,EAAE;gBACJ,IAAI,EAAE,cAAI,CAAC,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,IAAI;aACjB;YACD,aAAa,EAAE;gBACb,IAAI,EAAE,cAAI,CAAC,UAAU;gBACrB,IAAI,EAAE;oBACJ,IAAI,EAAE,cAAI,CAAC,IAAI;oBACf,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI;iBAC/B;aACF;YACD,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE;SACrD,CAAC;IACJ,CAAC;IAQD,cAAc,CAAC,IAAmB;QAChC,MAAM,WAAW,GAAG,IAAA,gBAAQ,EAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,IAAA,oCAAsB,EAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3G,OAAO,WAAW;eACb,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1C,CAAC;IAIO,cAAc,CAAC,MAAc;QACnC,IAAI,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,EAAE;YAC5B,OAAO,IAAI,CAAC;SACb;QAED,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1D,IAAI,CAAC,YAAY,IAAI,CAAC,IAAA,6BAAe,EAAC,YAAY,CAAC,EAAE;YACnD,OAAO,KAAK,CAAC;SACd;QAGD,IAAI;YACF,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAEzC,OAAO,IAAI,CAAC;SACb;QAAC,OAAO,CAAC,EAAE;YAEV,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,QAAQ,CAAC,MAAe;QACtB,OAAO,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC,GAAG,YAAY,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,yBAAyB,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;IACjK,CAAC;CACF;AAvFD,0DAuFC;AAED,MAAa,cAAc;IAA3B;QACmB,cAAS,GAAG,IAAI,2BAAmB,EAAmC,CAAC;IAgF1F,CAAC;IA9EC,OAAO;QACL,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,GAAG,CAAC,QAAiC;QACnC,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACrC,MAAM,cAAM,CAAC,eAAe,CAAC,GAAG,CAAC,4BAA4B,QAAQ,GAAG,CAAC,CAAC;SAC3E;QACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED,aAAa,CAAC,QAAiC;QAC7C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACtC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;SAC7C;IACH,CAAC;IAED,mBAAmB,CAAC,IAAmB;QACrC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,OAAO,CAAC,KAAe;QACrB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;YAC3C,OAAO,IAAI,CAAC;SACb;QAED,MAAM,YAAY,GAAG,IAAI,cAAc,EAAE,CAAC;QAC1C,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE;YAC9C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBAGlC,MAAM,mBAAmB,GAAG,QAAQ,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;gBACvF,MAAM,WAAW,GAAG,mBAAmB,KAAK,QAAQ,CAAC,YAAY;oBAC/D,CAAC,CAAC,QAAQ;oBACV,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC,mBAAmB,CAAC,CAAC;gBAC1D,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;aAC/B;SACF;QACD,OAAO,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC;IAC3D,CAAC;IAED,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;IACjC,CAAC;IAED,GAAG,CAAC,MAAiE;QACnE,MAAM,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QACpC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE;YACzC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;SAC7C;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,QAAQ,CAAC,mBAAwC;QAC/C,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE;YAC9C,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;SACrD;IACH,CAAC;IAED,yBAAyB;QACvB,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,wBAAwB,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,QAAQ,CAAC,MAAe;QACtB,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtE,CAAC;CACF;AAjFD,wCAiFC;AAQD,MAAM,eAAe;IAArB;QACU,UAAK,GAAG,CAAC,CAAC;QACT,mBAAc,GAAG,IAAI,GAAG,EAAU,CAAC;QACnC,oBAAe,GAAG,IAAI,mBAAW,EAAkB,CAAC;QAC5C,eAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IAkDlD,CAAC;IA3CC,IAAI,CAAC,YAA0B;QAC7B,IAAI,iCAAiC,GAAG,KAAK,CAAC;QAC9C,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,MAAM,KAAK,GAAgB,YAAY,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,CAAC;QAC9D,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,EAAG,CAAC;YAC/B,IAAI,SAAS,CAAC,IAAI,KAAK,mBAAmB,EAAE;gBAC1C,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;gBACzD,IAAI,SAAS,EAAE;oBACb,SAAS,GAAG,IAAI,CAAC;oBACjB,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,EAAE,KAAK,SAAS,EAAE;wBAClD,iCAAiC,GAAG,IAAI,CAAC;qBAC1C;oBACD,IAAI,SAAS,CAAC,KAAK,EAAE;wBACnB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;qBACtC;iBACF;aACF;YACD,IAAI,SAAS,CAAC,YAAY,EAAE;gBAC1B,SAAS,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;aACnE;SACF;QACD,OAAO,EAAE,SAAS,EAAE,iCAAiC,EAAE,CAAC;IAC1D,CAAC;IAEO,SAAS;QACf,OAAO,OAAO,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;IAC/B,CAAC;IAED,QAAQ;QACN,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAGjC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YACrC,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;SAC9B;QACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACnC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,iBAAiB,CAAC,KAAa,EAAE,SAAmB;QAClD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;CACF;AAED,MAAa,YAAY;IAIvB,YACW,UAAyB,EAClC,kBAA0C,IAAI,GAAG,EAAE,EAC1C,SAA0B;QAF1B,eAAU,GAAV,UAAU,CAAe;QAEzB,cAAS,GAAT,SAAS,CAAiB;QAEnC,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;QACxC,IAAI,CAAC,WAAW,GAAG,IAAA,iBAAS,EAAC,eAAe,CAAC,CAAC;IAChD,CAAC;IAED,wBAAwB;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;QACvC,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAY,MAAM,CAAC,CAAC;QAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;YAC/B,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;SAChD;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAGD,wBAAwB;QACtB,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,+BAAiB,CAAC,CAAC;IACtD,CAAC;IAED,WAAW;QACT,MAAM,MAAM,GAAG,IAAI,KAAK,EAA6C,CAAC;QACtE,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;YACzC,IAAI,SAAS,CAAC,IAAI,KAAK,gBAAgB,EAAE;gBACvC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;aAC7C;iBAAM;gBACL,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC;gBAClD,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxD,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,SAAS,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE;oBAClE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAC,CAAC,CAAC;iBAClD;aACF;SACF;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,aAAa;QACX,MAAM,SAAS,GAAG,IAAI,+BAAiB,EAAE,CAAC;QAC1C,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QACjC,OAAO,SAAS,CAAC,SAAS,EAAE,CAAC;IAC/B,CAAC;IAED,gBAAgB,CAAC,SAA4B;QAC3C,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;YACzC,SAAS,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;SACvC;IACH,CAAC;IAED,wBAAwB,CAAC,SAA8B;QACrD,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;YACvC,SAAS,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;SACjD;IACH,CAAC;IAED,QAAQ,CAAC,SAA0B;QACjC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE;YACrC,OAAO,IAAI,CAAC;SACb;QAOD,IAAA,cAAM,EAAC,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,+EAA+E,IAAI,CAAC,SAAS,EAAE,CAAC,CAAA;QAEpJ,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,kBAAkB,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,eAAe,CAAC,KAAe,EAAE,gBAA4C;QAC3E,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACtB,OAAO,IAAI,CAAC;SACb;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,gBAAgB,CAAC,EAAE,EAAE,SAAS,EAAE,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,IAAI,EAAE,CAAC,CAAC;IAClI,CAAC;IAED,yBAAyB,CAAC,UAAyB;QACjD,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,yBAAyB,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;IACtG,CAAC;IAUD,OAAO,CACL,MAA6F,EAC7F,OAGC;;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACrC,MAAM,gBAAgB,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,CAAC;QAC5C,MAAM,YAAY,GAAG,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,SAAS,CAAC,CAAC;QAEvG,IAAI,iBAAiB,GAAoC,SAAS,CAAC;QACnE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1C,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;YAClC,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,iBAAiB,EAAE;gBAC/C,iBAAiB,GAAG,IAAI,mBAAmB,EAAE,CAAC;gBAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;oBAC1B,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;iBACtC;aACF;YACD,IAAI,CAAC,CAAC,OAAO,IAAI,iBAAiB,EAAE;gBAClC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;aAChC;SACF;QACD,IAAI,CAAC,iBAAiB,EAAE;YACtB,OAAO,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;SAChD;QACD,OAAO,iBAAiB,CAAC,cAAc,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,mCAAI,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAChG,CAAC;IAEO,oBAAoB,CAAC,YAAwC;QACnE,OAAO,IAAI,CAAC,SAAS,KAAK,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;IACzH,CAAC;IAED,YAAY,CAAC,cAA4B;QACvC,IAAA,cAAM,EAAC,CAAC,IAAI,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,mBAAmB,CAAC,UAA2B;QAC7C,IAAA,cAAM,EAAC,CAAC,IAAI,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IACrD,CAAC;IAQD,MAAM,CAAC,SAA4C;QACjD,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,oBAAoB;QAClB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,WAAC,OAAA,CAAA,MAAA,SAAS,CAAC,YAAY,0CAAE,OAAO,EAAE,MAAK,IAAI,CAAA,EAAA,CAAC,CAAC;QACvF,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;IACjD,CAAC;IAED,QAAQ,CAAC,UAAyB;QAChC,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,EAAE;YAClC,OAAO,IAAI,CAAC;SACb;QAED,MAAM,aAAa,GAAG,IAAI,GAAG,EAAqB,CAAC;QACnD,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;YACzC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;SACpE;QAED,OAAO,IAAI,YAAY,CAAC,UAAU,EAAE,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,CAAC,IAAkB;QACvB,IAAI,IAAI,KAAK,IAAI,EAAE;YACjB,OAAO,IAAI,CAAC;SACb;QAED,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;YACvD,OAAO,KAAK,CAAC;SACd;QAED,KAAK,MAAM,CAAC,GAAG,EAAE,aAAa,CAAC,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACxD,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACrD,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;gBAC1D,OAAO,KAAK,CAAC;aACd;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,+BAA+B,CAAC,UAAyB,EAAE,GAAW;QAC5E,MAAM,KAAK,GAAgB,EAAE,CAAC;QAC9B,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;YACzC,IAAI,SAAS,CAAC,0BAA0B,CAAC,UAAU,CAAC,EAAE;gBACpD,MAAM,eAAe,GAAG,SAAS,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACzE,IAAI,eAAe,EAAE;oBACnB,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;iBAC7B;gBACD,KAAK,MAAM,eAAe,IAAI,SAAS,CAAC,YAAY,CAAC,+BAA+B,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE;oBACrG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;iBAC7B;aACF;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,sBAAsB,CAAC,UAAuB;QACpD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YAC3B,OAAO,SAAS,CAAC;SAClB;QACD,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAK5B,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,KAAK,YAAY,uBAAuB,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YAChG,OAAO,KAAK,CAAC;SACd;QACD,MAAM,mBAAmB,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACtD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;YAClC,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,YAAa,CAAC,CAAC;SAClD;QACD,OAAO,KAAK,CAAC,uBAAuB,CAAC,mBAAmB,CAAC,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;IAC1G,CAAC;IAED,QAAQ,CAAC,IAAkB;QAKzB,KAAK,MAAM,CAAC,GAAG,EAAE,aAAa,CAAC,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACxD,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACrD,MAAM,eAAe,GAAG,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YACnF,MAAM,eAAe,GAAG,IAAI,CAAC,sBAAsB,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,iBAAS,CAAC,CAAC,CAAC;YAE/G,IAAI,CAAC,CAAC,eAAe,IAAI,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;mBAC5D,CAAC,CAAC,aAAa,CAAC,0BAA0B,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,EAC5G;gBACA,OAAO,KAAK,CAAA;aACb;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,cAAc,CAAC,IAAkB;QAC/B,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACvB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9B,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpE;QAED,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC7B,CAAC;IAMD,KAAK,CAAC,IAAkB;QACtB,MAAM,OAAO,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAE1C,KAAK,MAAM,CAAC,GAAG,EAAE,aAAa,CAAC,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACxD,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACrD,MAAM,eAAe,GAAG,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YACnF,MAAM,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;YAChG,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC9B,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;aAC5B;iBAAM;gBACL,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,CAAwB,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC;gBAClH,IAAI,aAAa,EAAE;oBACjB,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;iBAC5B;aACF;SACF;QACD,OAAO,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;IAED,WAAW,CAAC,gBAA+B;QACzC,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACtF,CAAC;IAED,QAAQ,CAAC,mBAAwC;QAC/C,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,6BAA6B,CAAC,CAAC;QAC/D,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;YACzC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;SACzC;IACH,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,kBAAkB;QAQhB,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;YAClB,OAAO;gBACL,IAAI,EAAE,cAAI,CAAC,aAAa;gBACxB,UAAU,EAAE,CAAC;wBACX,IAAI,EAAE,cAAI,CAAC,KAAK;wBAChB,IAAI,EAAE;4BACJ,IAAI,EAAE,cAAI,CAAC,IAAI;4BACf,KAAK,EAAE,KAAK;yBACb;qBACF,CAAC;aACH,CAAA;SACF;QACD,OAAO;YACL,IAAI,EAAE,cAAI,CAAC,aAAa;YACxB,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;SAChF,CAAA;IACH,CAAC;IAEO,sBAAsB;QAI5B,MAAM,6BAA6B,GAAG,CAAC,CAAY,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,+BAAiB,CAAC;QAChJ,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAAC;QACzF,IAAI,iBAAiB,EAAE;YACrB,OAAO,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACrG;aAAM;YACL,OAAO,IAAI,CAAC,WAAW,CAAC;SACzB;IACH,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC;IAEO,wBAAwB,CAAC,WAA4B;QAC3D,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YAC7C,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7E,OAAO,SAAS,CAAC,YAAY;gBAC3B,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,wBAAwB,CAAC,YAAY,CAAC;gBAC/D,CAAC,CAAC,YAAY,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;IAMD,cAAc,CAAC,QAAyC;;QAEtD,MAAM,KAAK,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC,MAAM,EAAE,CAAC;QACvD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,EAAG,CAAC;YAC/B,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC5B,MAAA,SAAS,CAAC,YAAY,0CAAE,wBAAwB,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SAClF;IACH,CAAC;IAKD,IAAI,CAAC,SAA6C;QAChD,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;YACzC,IAAI,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,IAAI,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE;gBACtG,OAAO,IAAI,CAAC;aACb;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,iBAAiB,CACf,QAAwB,EACxB,mBAAwC,EACxC,aAAsB,EACtB,kBAA2B,KAAK,EAChC,cAAuB,IAAI;QAE3B,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5C,MAAM,oBAAoB,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;YAC1F,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM;YAC1C,CAAC,CAAC,EAAE,CAAC;QACP,IAAI,QAAQ,IAAI,OAAO,IAAI,CAAC,aAAa,IAAI,mBAAmB,CAAC,OAAO,EAAE,EAAE;YAC1E,OAAO,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;SAC5E;QACD,MAAM,gBAAgB,GAAG,aAAa;YACpC,CAAC,CAAC,GAAG,GAAG,CAAC,aAAa,GAAG,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,mBAAmB,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChF,OAAO,oBAAoB,GAAG,QAAQ,GAAG,gBAAgB,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACjH,CAAC;IAUD,QAAQ,CACN,kBAA2B,IAAI,EAC/B,0BAAmC,IAAI,EACvC,MAAe;QAEf,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;YAClB,OAAO,IAAI,CAAC;SACb;QAED,IAAI,MAAM,KAAK,SAAS,EAAE;YACxB,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC7F,OAAO,uBAAuB,CAAC,CAAC,CAAE,IAAI,GAAG,kBAAkB,GAAI,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC;SAC1F;aAAM;YACL,MAAM,eAAe,GAAG,uBAAuB,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;YACzE,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/G,OAAO,uBAAuB;gBAC5B,CAAC,CAAC,KAAK,GAAG,kBAAkB,GAAI,IAAI,GAAG,MAAM,GAAG,GAAG;gBACnD,CAAC,CAAC,kBAAkB,CAAC;SACxB;IACH,CAAC;CACF;AA1aD,oCA0aC;AAQD,MAAa,mBAAmB;IAAhC;QACmB,iBAAY,GAAG,IAAI,gBAAiC,CAAC;IAkExE,CAAC;IAhEC,OAAO;QACL,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,CAAC;IACtC,CAAC;IAKD,GAAG,CAAC,UAA2D;QAC7D,iBAAiB,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IAaD,SAAS,CAAC,IAAmB,EAAE,UAA4D;QACzF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YACrB,IAAI,UAAU,EAAE;gBACd,iBAAiB,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;aACjD;SACF;aAAM;YACL,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE;gBACpC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,WAAW,EAAE,EAAE;oBAKrD,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;oBAC9C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;oBAClD,OAAO,IAAI,CAAC;iBACb;aACF;YAID,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;SAC5D;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,MAAM,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACzC,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE;YACvD,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;SAClD;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;IAED,cAAc,CAAC,UAAyB,EAAE,SAA0B;QAClE,OAAO,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IACpE,CAAC;CACF;AAnED,kDAmEC;AAED,SAAS,iBAAiB,CAAC,YAA+C,EAAE,UAA2D;IACrI,IAAI,UAAU,YAAY,iBAAiB,EAAE;QAC3C,oBAAoB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;KAChD;SAAM;QACL,MAAM,KAAK,GAAG,UAAU,YAAY,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;QACxF,KAAK,MAAM,SAAS,IAAI,KAAK,EAAE;YAC7B,oBAAoB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;SAC/C;KACF;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,YAA+C,EAAE,SAAoB;IAKjG,IAAI,SAAS,YAAY,uBAAuB,EAAE;QAChD,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;KAChD;SAAM;QACL,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;KAC9C;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAuB,EAAE,MAAc;IAClE,IAAI,QAAQ,CAAC,MAAM,EAAE,KAAK,MAAM,EAAE;QAChC,OAAO,QAAQ,CAAC;KACjB;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAA,cAAM,EAAC,OAAO,IAAI,IAAA,6BAAe,EAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,YAAY,QAAQ,8DAA8D,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAE,CAAC,CAAC;IACrJ,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,oBAAoB,CAAC,UAAyB,EAAE,QAA2B;IAClF,OAAO,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC;WACjD,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,IAAI,IAAA,iBAAS,EAAC,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;AAC5I,CAAC;AAED,SAAS,8BAA8B,CACrC,UAAyB,EACzB,UAA2D;IAE3D,IAAI,UAAU,YAAY,iBAAiB,EAAE;QAC3C,IAAI,UAAU,CAAC,IAAI,KAAK,mBAAmB,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE;YAC5F,OAAO,UAAU,CAAC;SACnB;QACD,OAAO,8BAA8B,CAAC,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;KAC5E;IAED,MAAM,OAAO,GAAG,UAAU,YAAY,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;IAC1F,MAAM,QAAQ,GAAgB,EAAE,CAAC;IACjC,KAAK,MAAM,SAAS,IAAI,OAAO,EAAE;QAC/B,IAAI,SAAS,CAAC,IAAI,KAAK,mBAAmB,IAAI,oBAAoB,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE;YACzF,MAAM,aAAa,GAAG,8BAA8B,CAAC,UAAU,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;YACzF,IAAI,aAAa,YAAY,iBAAiB,EAAE;gBAC9C,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;aAC9B;iBAAM;gBACL,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE;oBACxC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;iBAC7B;aACF;SACF;aAAM;YACL,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC1B;KACF;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,aAAa,CAAC,UAAyB,EAAE,OAA0B,EAAE,SAA0B;IACtG,IAAA,cAAM,EAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,0CAA0C,CAAC,CAAC;IACvE,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAGzB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,YAAY,iBAAiB,EAAE;QAC9D,OAAO,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;KACnC;IAED,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC1D,MAAM,sBAAsB,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,IAAA,sBAAQ,EAAC,OAAO,CAAC,UAAU,CAAC,IAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;IACpH,IAAI,CAAC,IAAA,6BAAe,EAAC,sBAAsB,CAAC,EAAE;QAE5C,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC;KACpC;IAED,MAAM,wBAAwB,GAAG,IAAI,gBAAQ,EAA2B,CAAC;IACzE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;QAC5B,IAAI,MAAM,YAAY,iBAAiB,EAAE;YACvC,IAAI,MAAM,CAAC,YAAY,EAAE;gBACvB,iBAAiB,CAAC,wBAAwB,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;aAClE;SACF;aAAM;YACL,sBAAsB,CAAC,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,CAAC,CAAC;SAClF;KACF;IACD,OAAO,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,CAAC,sBAAsB,EAAE,wBAAwB,EAAE,SAAS,CAAC,CAAC,CAAC;AACpH,CAAC;AAED,SAAS,aAAa,CAAC,MAAuB;IAC5C,OAAO,MAAM,YAAY,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,sBAAsB,CAC7B,YAA+C,EAC/C,sBAAqC,EACrC,UAA2B;IAE3B,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QAChC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE;YAC1B,OAAO;SACR;QACD,iBAAiB,CAAC,YAAY,EAAE,8BAA8B,CAAC,sBAAsB,EAAE,UAAU,CAAC,UAAW,CAAC,CAAC,CAAC;KACjH;SAAM;QACL,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC;KACnH;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,UAAyB,EAAE,YAA+C,EAAE,SAA0B;IAC9H,MAAM,UAAU,GAAG,IAAI,GAAG,EAAqB,CAAC;IAChD,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,YAAY,CAAC,OAAO,EAAE,EAAE;QACnD,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;KACpE;IACD,OAAO,IAAI,YAAY,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;AAC7D,CAAC;AAKD,MAAa,mBAAmB;IAI9B,YACW,UAAyB,EACjB,QAA6B,EAC7B,QAA6C;QAFrD,eAAU,GAAV,UAAU,CAAe;QACjB,aAAQ,GAAR,QAAQ,CAAqB;QAC7B,aAAQ,GAAR,QAAQ,CAAqC;IAEhE,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,UAAyB;QACpC,OAAO,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,CAAC,iBAAiB,CACtB,UAAyB,EACzB,QAA6C;QAE7C,OAAO,IAAI,mBAAmB,CAAE,UAAU,EAAE,IAAI,mBAAmB,EAAE,EAAE,QAAQ,CAAC,CAAC;IACnF,CAAC;IAGD,MAAM,CAAC,EAAE,CAAC,YAA0B;QAClC,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,cAAc,CACnB,YAA0B,EAC1B,QAA6C;QAE7C,MAAM,CAAC,GAAG,IAAI,mBAAmB,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,mBAAmB,EAAE,EAAE,QAAQ,CAAC,CAAC;QAChG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAE7B,CAAC,CAAC,QAAQ,GAAG,YAAY,CAAC;QAC1B,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IACjC,CAAC;IAED,GAAG;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAI9D,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAClC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,OAAO;QAGL,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,KAAK;QACH,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE9F,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAChC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAClC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,QAAQ,CAAC,UAAyB;QAChC,MAAM,OAAO,GAAG,IAAI,mBAAmB,CAAC,UAAU,EAAE,IAAI,mBAAmB,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE9F,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACjC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;SAC5C;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;CACF;AAvFD,kDAuFC;AAED,SAAgB,iCAAiC,CAAC,SAAuB;IACvE,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC;IACjD,MAAM,SAAS,GAAqC,EAAE,CAAC;IACvD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;QACvB,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,EAAG,CAAC;QAC/B,IAAI,SAAS,CAAC,IAAI,KAAK,gBAAgB,EAAE;YACvC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;SAC9C;QACD,IAAI,SAAS,CAAC,YAAY,EAAE;YAC1B,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC;SACpD;KACF;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAbD,8EAaC;AAED,SAAgB,cAAc,CAAC,UAAyB,EAAE,SAAoB,EAAE,SAA0B;IACxG,MAAM,GAAG,GAAG,IAAI,GAAG,EAAqB,CAAA;IACxC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;IACpC,OAAO,IAAI,YAAY,CAAC,UAAU,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;AACtD,CAAC;AAJD,wCAIC;AAED,SAAgB,qBAAqB,CAAC,OAAyB,EAAE,YAA2B,EAAE,SAA0B;IACtH,OAAO,cAAc,CAAC,OAAO,CAAC,UAAU,EAAE,kBAAkB,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,SAAS,CAAC,CAAC;AAClG,CAAC;AAFD,sDAEC;AAED,SAAgB,kBAAkB,CAAC,OAAyB,EAAE,YAA2B;IAEvF,OAAO,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,uBAAuB,CAAC,OAAO,EAAE,YAAa,CAAC,CAAC;AACpI,CAAC;AAHD,gDAGC;AAGD,MAAe,iBAAiB;IAC9B,YACW,OAAiB;QAAjB,YAAO,GAAP,OAAO,CAAU;IAG5B,CAAC;IAgBD,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;IACjC,CAAC;IAED,gBAAgB,CAAC,SAA4B;;QAC3C,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QACzC,MAAA,IAAI,CAAC,YAAY,0CAAE,gBAAgB,CAAC,SAAS,CAAC,CAAA;IAChD,CAAC;IAED,wBAAwB,CAAC,SAA8B;;QACrD,MAAA,IAAI,CAAC,YAAY,0CAAE,wBAAwB,CAAC,SAAS,CAAC,CAAC;IACzD,CAAC;IAED,cAAc;;QACZ,OAAO,MAAA,IAAI,CAAC,YAAY,0CAAE,SAAS,CAAC;IACtC,CAAC;IAID,uBAAuB,CAAC,YAAoC;QAC1D,OAAO,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAChE,CAAC;IAED,kBAAkB,CAAC,OAAiB;QAClC,OAAO,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAChE,CAAC;IAED,iBAAiB,CAAC,MAAyC;QACzD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACtB,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC;SAClB;QAED,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACtD,OAAO,mBAAmB,KAAK,IAAI,CAAC,YAAY;YAC9C,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE;YACX,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,mBAAmB,CAAC,CAAC;IACxD,CAAC;IAcD,KAAK,CAAC,IAAe;QAGnB,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,EAAE;YAC1C,MAAM,sBAAsB,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC1E,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,EAAE;gBACrC,OAAO,IAAI,CAAC,uBAAuB,CAAC,sBAAsB,CAAC,CAAC;aAC7D;SACF;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAES,2BAA2B,CAAC,CAKrC;QAMC,IAAA,cAAM,EAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAC/B,CAAC;IAES,oCAAoC,CAAC,EAC7C,UAAU,EACV,YAAY,EACZ,SAAS,EACT,cAAc,GAMf;QACC,IAAI,UAAU,GAAG,SAAS,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAC3D,IAAI,cAAc,EAAE;YAClB,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;SAChD;QACD,IAAI,cAAuB,CAAC;QAC5B,GAAG;YACD,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,2BAA2B,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;YACtI,IAAI,kBAAkB,EAAE;gBACtB,YAAY,GAAG,kBAAkB,CAAC;aACnC;iBAAM,IAAI,MAAM,EAAE;gBACjB,OAAO,MAAM,CAAC;aACf;YACD,cAAc,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC;YACvC,IAAI,cAAc,EAAE;gBAClB,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAK,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAA,CAAC,CAAA;aACnE;SACF,QAAQ,cAAc,EAAE;QACzB,OAAO,YAAY,CAAC;IACtB,CAAC;CACF;AAED,MAAa,cAAe,SAAQ,iBAAwD;IAG1F,YACE,KAAiB,EACA,aAA4B;QAE7C,KAAK,CAAC,KAAK,CAAC,CAAC;QAFI,kBAAa,GAAb,aAAa,CAAe;QAJtC,SAAI,GAAG,gBAAyB,CAAC;IAO1C,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAES,EAAE;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IAED,qBAAqB,CAAC,KAAiB,EAAE,YAAsC;QAC7E,OAAO,IAAI,cAAc,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IACjD,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IAC5B,CAAC;IAED,QAAQ,CAAC,SAAyB;QAChC,IAAI,kBAAkB,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/F,MAAM,aAAa,GAAG,IAAA,sBAAQ,EAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAK,CAAC,CAAC;QAC9D,IAAI,IAAA,6BAAe,EAAC,aAAa,CAAC,IAAI,kBAAkB,EAAE;YACxD,MAAM,SAAS,GAAG,IAAI,CAAC,oCAAoC,CAAC;gBAC1D,UAAU,EAAE,aAAa;gBACzB,YAAY,EAAE,kBAAkB;gBAChC,SAAS;gBAIT,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC;aACxD,CAAC,CAAC;YAEH,IAAA,cAAM,EAAC,CAAC,CAAC,SAAS,YAAY,uBAAuB,CAAC,EAAE,+DAA+D,CAAC,CAAC;YACzH,kBAAkB,GAAG,SAAS,CAAC;SAChC;QAED,OAAO,IAAI,CAAC,YAAY,KAAK,kBAAkB;YAC7C,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;IAC3D,CAAC;IAES,2BAA2B,CAAC,EACpC,UAAU,EACV,YAAY,EACZ,UAAU,EACV,SAAS,GAMV;QAKC,IAAI,kBAAkB,GAAG,YAAY,CAAC;QACtC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;YAClC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,kBAAkB,CAAC,cAAc,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YACrF,IAAI,QAAQ,EAAE;gBAGZ,MAAM,MAAM,GAAG,IAAI,uBAAuB,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;gBACjF,kBAAkB,GAAG,IAAI;oBACvB,CAAC,CAAC,IAAI,mBAAmB,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,UAAU,EAAE,SAAS,CAAC;oBACvF,CAAC,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBACvC,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;aACvD;SACF;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,CAAC,SAA4C;QACjD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACtB,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;SAC3C;QAED,MAAM,mBAAmB,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,4BAA4B,GAAG,IAAI,CAAC,YAAY,KAAK,mBAAmB;YAC5E,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;QAC1D,OAAO,SAAS,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5F,CAAC;IAED,QAAQ,CAAC,mBAAwC;;QAC/C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QAG3C,QAAQ,CACN,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,EACjF,GAAG,EAAE,CAAC,0CAA0C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,sBAAsB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,EACtI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAClC,CAAC;QACF,MAAA,IAAI,CAAC,YAAY,0CAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IACnD,CAAC;IASD,QAAQ,CAAC,UAAyB;QAChC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,UAAU,EAAE;YAC1C,OAAO,IAAI,CAAC;SACb;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACtB,OAAO,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;SAChD;QAED,MAAM,WAAW,GAAG,IAAA,sBAAQ,EAAC,cAAc,CAAC,UAAU,CAAC,IAAK,CAAC,CAAC;QAC9D,IAAI,WAAW,KAAK,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;YAChD,OAAO,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;SAChD;QAED,QAAQ,CAAC,IAAA,6BAAe,EAAC,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC,iCAAiC,IAAI,OAAO,UAAU,oCAAoC,WAAW,mBAAmB,CAAC,CAAC;QACvK,OAAO,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IAC7F,CAAC;IAKD,QAAQ,CAAC,UAAyB;QAChC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,UAAU,EAAE;YAC1C,OAAO,IAAI,CAAC;SACb;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,KAAK,CAAC;SACd;QAED,MAAM,IAAI,GAAG,IAAA,sBAAQ,EAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,KAAK,IAAI,EAAE;YAC9D,IAAA,cAAM,EAAC,IAAA,6BAAe,EAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,8DAA8D,CAAC,CAAC;YACnH,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;SACtE;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,eAAe;;QACb,MAAM,KAAK,GAAyB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,cAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;QACrH,OAAO;YACL,IAAI,EAAE,cAAI,CAAC,KAAK;YAChB,IAAI,EAAE;gBACJ,IAAI,EAAE,cAAI,CAAC,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;aACzB;YACD,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE;YAC1C,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,iCAAiC,EAAE;YAC5D,YAAY,EAAE,MAAA,IAAI,CAAC,YAAY,0CAAE,kBAAkB,EAAE;SACtD,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,cAA4B;QACvC,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,mBAAmB,CAAC,UAA2B;QAC7C,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,QAAQ;;QACN,OAAO,CAAC,CAAC,CAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,QAAQ,EAAE,CAAA,CAAC;IACzC,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,yBAAyB,CAAC,CAAgB;;QACxC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACtB,OAAO,IAAI,CAAC;SACb;QAED,MAAM,IAAI,GAAG,IAAA,sBAAQ,EAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAK,CAAC,CAAA;QACpD,IAAA,cAAM,EAAC,IAAA,6BAAe,EAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,IAAI,CAAC,OAAO,kCAAkC,CAAC,CAAC;QAC7F,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC;QAKjF,IAAI,MAAA,OAAO,CAAC,YAAY,0CAAE,OAAO,EAAE,EAAE;YACnC,OAAO,OAAO,CAAC,uBAAuB,CAAC,qBAAqB,CAC1D,IAAI,KAAK,CACP,IAAI,CAAC,aAAa,EAAG,EACrB,SAAS,EACT,CAAC,IAAI,uBAAS,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAC5C,CACF,CAAC,CAAC;SACJ;aAAM;YACL,OAAO,OAAO,CAAC;SAChB;IACH,CAAC;IAED,eAAe,CAAC,KAAe,EAAE,gBAA4C;QAC3E,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,CAAC,IAAe;QACpB,IAAI,IAAI,KAAK,IAAI,EAAE;YACjB,OAAO,IAAI,CAAC;SACb;QAED,IAAI,CAAC,CAAC,IAAI,YAAY,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC3E,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACtB,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;SAC3B;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC5E,CAAC;IAED,QAAQ,CAAC,IAAe;QACtB,IAAI,CAAC,CAAC,IAAI,YAAY,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC3E,OAAO,KAAK,CAAC;SACd;QAED,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACtB,OAAO,IAAI,CAAC;SACb;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC9E,CAAC;IAED,0BAA0B,CAAC,CAAgB;QAEzC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,QAAQ,CAAC,kBAA2B,IAAI,EAAE,MAAe;QACvD,OAAO,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,eAAe,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACpI,CAAC;CACF;AApPD,wCAoPC;AAED,MAAsB,iBAAkB,SAAQ,iBAA4D;IAA5G;;QACW,SAAI,GAAG,mBAA4B,CAAC;IA+C/C,CAAC;IA3CW,EAAE;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IAES,sBAAsB;QAC9B,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE;YACvD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,gBAAgB,CAAC;YACzD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YACnC,QAAQ,CACN,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,UAAU,IAAI,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,UAAU,EAClG,GAAG,EAAE,WAAC,OAAA,uDAAuD,MAAA,SAAS,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,GAAG,EAAE,0CAAE,QAAQ,eAAe,UAAU,GAAG,CAAA,EAAA,CAChK,CAAC;SACH;IACH,CAAC;IAED,MAAM,CAAC,SAA4C;QAEjD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACvC,MAAM,mBAAmB,GAAG,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC3D,MAAM,4BAA4B,GAAG,mBAAmB,KAAK,YAAY;YACvE,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,IAAI,uBAAuB,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;QAEnE,OAAO,SAAS,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5F,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;IACjE,CAAC;IAMD,0BAA0B,CAAC,UAAyB;QAClD,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC;eAC7C,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;eAC5B,CACD,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI;mBAC9C,CAAC,IAAA,0BAAY,EAAC,UAAU,CAAC,IAAI,IAAA,kCAAoB,EAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,CAC5H,CAAC;IACN,CAAC;CAEF;AAhDD,8CAgDC;AAED,MAAM,uBAAwB,SAAQ,iBAAiB;IACrD,YACE,QAAyB,EACR,aAA2B;QAE5C,KAAK,CAAC,QAAQ,CAAC,CAAC;QAFC,kBAAa,GAAb,aAAa,CAAc;IAG9C,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IAC5B,CAAC;IAED,qBAAqB,CAAC,QAAyB,EAAE,YAA0B;QACzE,OAAO,IAAI,uBAAuB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC7D,CAAC;IAED,QAAQ,CAAC,mBAAwC;QAC/C,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAG9B,QAAQ,CACN,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAC5B,GAAG,EAAE,CAAC,6CAA6C,IAAI,CAAC,OAAO,GAAG,CACnE,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAClD,CAAC;IAED,QAAQ,CAAC,UAAyB;QAChC,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,EAAE;YAClC,OAAO,IAAI,CAAC;SACb;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC1D,MAAM,iBAAiB,GAAG,eAAe,CAAC,UAAU,EAAE,CAAC;QACvD,IAAI,iBAAiB,KAAK,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;YACtD,OAAO,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;SACjD;QAED,OAAO,IAAI,CAAC,qBAAqB,CAAC,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACpG,CAAC;IAED,QAAQ,CAAC,UAAyB;QAChC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,UAAU,EAAE;YAC1C,OAAO,IAAI,CAAC;SACb;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,KAAK,CAAC;SACd;QAED,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,KAAK,IAAI,EAAE;YACzC,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;SACtE;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,eAAe;QACb,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;QACjD,OAAO;YACL,IAAI,EAAE,cAAI,CAAC,eAAe;YAC1B,aAAa,EAAE,aAAa;gBAC1B,CAAC,CAAC;oBACA,IAAI,EAAE,cAAI,CAAC,UAAU;oBACrB,IAAI,EAAE;wBACJ,IAAI,EAAE,cAAI,CAAC,IAAI;wBACf,KAAK,EAAE,aAAa,CAAC,IAAI;qBAC1B;iBACF;gBACD,CAAC,CAAC,SAAS;YACb,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,iCAAiC,EAAE;YAC5D,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE;SACrD,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,SAAyB;QAChC,IAAI,kBAAkB,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC/D,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;QACjD,IAAI,aAAa,EAAE;YACjB,MAAM,SAAS,GAAG,IAAI,CAAC,oCAAoC,CAAC;gBAC1D,UAAU,EAAE,aAAa;gBACzB,YAAY,EAAE,kBAAkB;gBAChC,SAAS;aACV,CAAC,CAAC;YACH,IAAI,SAAS,YAAY,uBAAuB,EAAE;gBAEhD,OAAO,SAAS,CAAC;aAClB;YACD,kBAAkB,GAAG,SAAS,CAAC;SAChC;QACD,OAAO,IAAI,CAAC,YAAY,KAAK,kBAAkB;YAC7C,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,IAAI,uBAAuB,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;IACpE,CAAC;IAES,2BAA2B,CAAC,EACpC,UAAU,EACV,YAAY,EACZ,UAAU,EACV,SAAS,GAMV;QAKC,IAAI,kBAAkB,GAAG,YAAY,CAAC;QACtC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;YAClC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,kBAAkB,CAAC,cAAc,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YACrF,IAAI,QAAQ,EAAE;gBAMZ,IAAI,CAAC,IAAI,IAAI,IAAA,gBAAQ,EAAC,IAAI,CAAC,OAAO,CAAC,aAAc,EAAE,SAAS,CAAC,aAAa,CAAC,EAAE;oBAG3E,IAAI,gBAAgB,GAAqB,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC;oBACxE,IAAI,SAAS,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC1C,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC;wBAC7G,IAAI,CAAC,QAAQ,EAAE;4BAGb,SAAS;yBACV;wBAGD,gBAAgB,GAAG,UAAU,CAAC;qBAC/B;oBAID,OAAO;wBACL,MAAM,EAAE,IAAI,uBAAuB,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,CAAC;qBAC7F,CAAC;iBACH;gBAGD,IAAI,SAAS,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC1C,SAAS;iBACV;gBAED,MAAM,MAAM,GAAG,IAAI,uBAAuB,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;gBACjF,kBAAkB,GAAG,IAAI;oBACvB,CAAC,CAAC,IAAI,mBAAmB,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,UAAU,EAAE,SAAS,CAAC;oBACvF,CAAC,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBAEvC,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;aACxD;SACF;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,YAAY,CAAC,cAA4B;QACvC,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;QACpE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;QACpD,MAAM,gBAAgB,GAAG,SAAS,IAAI,CAAC,CAAC,cAAc,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACpH,IAAI,YAAY,KAAK,IAAI,CAAC,YAAY,IAAI,CAAC,gBAAgB,EAAE;YAC3D,OAAO,IAAI,CAAC;SACb;QACD,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QACjF,IAAI,CAAC,UAAU,EAAE;YACf,OAAO,YAAY,CAAC;SACrB;QACD,OAAO,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAC9D,CAAC;IAED,mBAAmB,CAAC,UAA2B;QAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAChE,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAA;QACtE,IAAI,CAAC,UAAU,EAAE;YACf,OAAO,YAAY,CAAC;SACrB;QACD,OAAO,UAAU,KAAK,IAAI,CAAC,OAAO,IAAI,YAAY,KAAK,IAAI,CAAC,YAAY;YACtE,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAC3D,CAAC;IAED,yBAAyB,CAAC,WAA0B;;QAClD,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;QAEjD,IAAI,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE;YAC/C,IAAI,CAAC,aAAa,IAAI,WAAW,KAAK,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;gBAChE,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;gBACzE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;aAChD;YASD,IAAI,IAAA,0BAAY,EAAC,WAAW,CAAC,EAAE;gBAC7B,IAAI,IAAA,0BAAY,EAAC,aAAa,CAAC,IAAI,CAAC,IAAA,kCAAoB,EAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;oBAC7F,OAAO,SAAS,CAAC;iBAClB;qBAAM;oBACL,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;oBACzE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;iBAChD;aACF;SACF;QAGD,MAAM,mBAAmB,GAAG,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,MAAA,IAAI,CAAC,OAAO,CAAC,aAAa,mCAAI,IAAI,CAAC,UAAU,CAAC,CAAC;QAGvH,IAAI,mBAAmB,CAAC,OAAO,EAAE,EAAE;YACjC,IAAI,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC/C,OAAO,SAAS,CAAC;aAClB;iBAAM;gBACL,OAAO,IAAI,CAAC,uBAAuB,CAAC,qBAAqB,CACvD,IAAI,KAAK,CACP,CAAC,MAAA,IAAI,CAAC,OAAO,CAAC,aAAa,mCAAI,IAAI,CAAC,UAAU,CAAC,CAAC,aAAa,EAAG,EAChE,SAAS,EACT,CAAC,IAAI,uBAAS,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAC5C,CACF,CAAC,CAAC;aACJ;SACF;QAMD,IAAI,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC,IAAI,IAAA,4BAAc,EAAC,aAAc,CAAC,EAAE;YACjF,IAAA,cAAM,EAAC,CAAC,IAAA,0BAAY,EAAC,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC,+BAA+B,WAAW,oBAAoB,CAAC,CAAC;YACzG,MAAM,eAAe,GAAG,IAAA,kCAAoB,EAAC,WAAW,CAAC,CAAC;YAC1D,MAAM,kBAAkB,GAAgB,EAAE,CAAC;YAC3C,KAAK,MAAM,SAAS,IAAI,mBAAmB,CAAC,UAAU,EAAE,EAAE;gBACxD,IAAI,SAAS,CAAC,IAAI,KAAK,mBAAmB;uBACrC,SAAS,CAAC,OAAO,CAAC,aAAa;uBAC/B,IAAA,0BAAY,EAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC;uBAC7C,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,EAC5D;oBACA,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;iBACpC;aACF;YAGD,IAAI,kBAAkB,CAAC,MAAM,KAAK,mBAAmB,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE;gBACzE,OAAO,mBAAmB,CAAC;aAC5B;YAID,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;gBACjC,MAAM,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;gBACzC,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;gBAC/B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,CACrC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CACnE,CAAC,CAAC;gBACH,OAAO,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aAC/C;SACF;QAED,OAAO,IAAI,CAAC,YAAY,KAAK,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,mBAAmB,CAAC,CAAC;IAC9G,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,eAAe,CAAC,KAAe,EAAE,gBAA4C;QAC3E,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,CAAC,IAAe;QACpB,IAAI,IAAI,KAAK,IAAI,EAAE;YACjB,OAAO,IAAI,CAAC;SACb;QAED,OAAO,CAAC,IAAI,YAAY,iBAAiB,CAAC;eACrC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;eACjC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACnD,CAAC;IAED,QAAQ,CAAC,IAAe;QACtB,OAAO,CAAC,IAAI,YAAY,iBAAiB,CAAC;eACrC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;eACjC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACrD,CAAC;IAED,QAAQ,CAAC,kBAA2B,IAAI,EAAE,MAAe;QACvD,OAAO,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,eAAe,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACzG,CAAC;CACF;AAED,SAAS,cAAc,CAAC,QAAmC,EAAE,WAAsC;IACjG,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,sCAAwB,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;QAClF,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,sCAAwB,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACzH;SAAM;QACL,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;KAC5C;AACH,CAAC;AAED,MAAM,uBAAwB,SAAQ,iBAAiB;IAGrD,YACE,UAAyB,EACR,SAAyB,EACjC,aAAsC,EAC9B,gBAA2C;QAE5D,KAAK,CAAC,IAAI,eAAe,CAAC,UAAU,EAAE,aAAa,CAAC,aAAa,EAAE,aAAa,CAAC,iBAAiB,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAJ7G,cAAS,GAAT,SAAS,CAAgB;QACjC,kBAAa,GAAb,aAAa,CAAyB;QAC9B,qBAAgB,GAAhB,gBAAgB,CAA2B;IAG9D,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;IACzC,CAAC;IAED,GAAG;QACD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,IAAI,CAAC,WAAW,GAAG,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SACxI;QACD,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,qBAAqB,CAAC,SAA0B,EAAE,aAA2B;QAC3E,IAAA,cAAM,EAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAC/B,CAAC;IAED,yBAAyB,CAAC,CAAgB;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAGhC,CAAC;IAED,eAAe;QACb,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC;YACvD,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gBACtC,OAAO;oBACL,IAAI,EAAE,cAAI,CAAC,SAAS;oBACpB,IAAI,EAAE;wBACJ,IAAI,EAAE,cAAI,CAAC,IAAI;wBACf,KAAK,EAAE,SAAS,CAAC,IAAI;qBACtB;oBACD,SAAS,EAAE,SAAS,CAAC,cAAc,EAAE;iBACrB,CAAC;YACrB,CAAC,CAAC,CAAC;QACL,OAAO;YACL,IAAI,EAAE,cAAI,CAAC,eAAe;YAC1B,IAAI,EAAE,EAAE,IAAI,EAAE,cAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;YACzD,UAAU,EAAE,cAAc;SAC3B,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,CAAiB;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ,CAAC,WAA0B;QAOjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ,CAAC,CAAgB;QAEvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kBAAkB;QAChB,MAAM,qBAAqB,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;QACrE,OAAO,IAAA,gBAAQ,EAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC;YAC/G,CAAC,CAAC,qBAAqB,CAAC,UAAU,EAAE;YACpC,CAAC,CAAC,IAAI,uBAAuB,CAAC,IAAI,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;IACvE,CAAC;IAED,eAAe,CAAC,KAAe,EAAE,gBAA4C;QAC3E,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;YAC5C,OAAO,IAAI,CAAC;SACb;QAED,MAAM,qBAAqB,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;QACzF,OAAO,IAAA,gBAAQ,EAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC;YAC/G,CAAC,CAAC,qBAAqB,CAAC,UAAU,EAAE;YACpC,CAAC,CAAC,IAAI,uBAAuB,CAAC,IAAI,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;IACvE,CAAC;IAED,wBAAwB,CAAC,SAA8B;QACrD,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1D,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IACxF,CAAC;IAED,YAAY,CAAC,eAA6B;QACxC,IAAA,cAAM,EAAC,KAAK,EAAE,mDAAmD,CAAC,CAAC;IACrE,CAAC;IAED,mBAAmB,CAAC,WAA4B;QAC9C,IAAA,cAAM,EAAC,KAAK,EAAE,mDAAmD,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,IAAe;QACnB,IAAA,cAAM,EAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,yBAAyB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7G,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,IAAe;QACpB,IAAI,IAAI,KAAK,IAAI,EAAE;YACjB,OAAO,IAAI,CAAC;SACb;QAED,OAAO,CAAC,IAAI,YAAY,uBAAuB,CAAC;eAC3C,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,IAAI,CAAC,aAAa,CAAC,IAAI;eACnD,IAAA,uCAAyB,EAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC/E,CAAC;IAED,QAAQ,CAAC,IAAe;QACtB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YACrB,OAAO,IAAI,CAAC;SACb;QAED,OAAO,CAAC,IAAI,YAAY,iBAAiB,CAAC;eACrC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;eACjC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACrD,CAAC;IAED,QAAQ,CAAC,kBAA2B,IAAI,EAAE,MAAe;QACvD,IAAI,eAAe,EAAE;YACnB,OAAO,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;SAC7F;aAAM;YACL,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC;YACzC,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjF,OAAO,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,eAAe,CAAC;SAC3E;IACH,CAAC;CACF;AAED,SAAS,kBAAkB,CACzB,UAAyB,EACzB,IAAsB,EACtB,mBAAwC,EACxC,SAAqC,EACrC,gBAA8F,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAE9H,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;QAChC,OAAO,cAAc,CACnB,UAAU,EACV,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,SAAS,EAAE,aAAa,CAAC,EAC9F,SAAS,CACV,CAAC;KACH;IAED,MAAM,UAAU,GAAG,IAAI,mBAAmB,EAAE,CAAC;IAC7C,KAAK,MAAM,aAAa,IAAI,IAAI,CAAC,UAAU,EAAE;QAC3C,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,UAAU,EAAE,aAAa,EAAE,mBAAmB,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC;KAC3G;IACD,OAAO,UAAU,CAAC,cAAc,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,eAAe,CAAsC,MAAc,EAAE,IAAmB;IAC/F,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvD,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,uBAAuB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAA;IACvE,OAAO,IAAI,uBAAS,CAAC,YAAY,CAAC,IAAI,EAAE,IAAA,yBAAgB,EAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;AACnH,CAAC;AAED,SAAS,iBAAiB,CAAsC,MAAc,EAAE,KAA2C;;IACzH,OAAO,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,mCAAI,EAAE,CAAC;AAC7D,CAAC;AAED,SAAS,eAAe,CACtB,UAAyB,EACzB,IAAmB,EACnB,mBAAwC,EACxC,SAAqC,EACrC,gBAA8F,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;;IAE9H,IAAI,SAAoB,CAAC;IACzB,MAAM,UAAU,GAAG,iBAAiB,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3E,QAAQ,IAAI,CAAC,IAAI,EAAE;QACjB,KAAK,cAAI,CAAC,KAAK;YACb,MAAM,UAAU,GAAsC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjG,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,uBAAuB,IAAI,CAAC,IAAI,CAAC,KAAK,cAAc,UAAU,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;YACrH,MAAM,IAAI,GAAG,IAAA,sBAAQ,EAAC,UAAU,CAAC,IAAK,CAAC,CAAC;YACxC,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY;gBACpC,CAAC,CAAC,kBAAkB,CAAC,IAAqB,EAAE,IAAI,CAAC,YAAY,EAAE,mBAAmB,EAAE,SAAS,EAAE,aAAa,CAAC;gBAC7G,CAAC,CAAC,SAAS,CAAC;YAEd,SAAS,GAAG,IAAI,cAAc,CAC5B,IAAI,KAAK,CAAC,UAAU,EAAE,IAAA,yBAAgB,EAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,UAAU,EAAE,MAAA,IAAI,CAAC,KAAK,0CAAE,KAAK,CAAC,EACzH,YAAY,CACb,CAAC;YACF,MAAM;QACR,KAAK,cAAI,CAAC,eAAe;YACvB,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,UAAU,EAAE,MAAA,IAAI,CAAC,aAAa,0CAAE,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YAC5F,SAAS,GAAG,IAAI,uBAAuB,CACrC,OAAO,EACP,kBAAkB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,EAAE,mBAAmB,EAAE,SAAS,EAAE,aAAa,CAAC,CACzJ,CAAC;YACF,MAAM;QACR,KAAK,cAAI,CAAC,eAAe;YACvB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YACrC,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,8BAA8B,YAAY,gCAAgC,CAAC,CAAC;YACtG,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC7C,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,8BAA8B,YAAY,+BAA+B,SAAS,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpI,SAAS,GAAG,IAAI,uBAAuB,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;YACrF,MAAM;KACT;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAgB,qBAAqB,CACnC,MAAc,EACd,QAAsB,EACtB,OAGC;IAED,IAAI,SAA8C,CAAC;IACnD,MAAM,aAAa,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,CAAC;IAC7C,MAAM,SAAS,GAAG,IAAI,cAAc,EAAE,CAAC;IAGvC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;QACxC,QAAQ,UAAU,CAAC,IAAI,EAAE;YACvB,KAAK,cAAI,CAAC,oBAAoB;gBAC5B,QAAQ,CAAC,CAAC,SAAS,IAAI,aAAa,EAAE,GAAG,EAAE,CAAC,oEAAoE,CAAC,CAAC;gBAClH,IAAI,CAAC,aAAa,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,KAAK,aAAa,CAAC,EAAE;oBAClF,SAAS,GAAG,UAAU,CAAC;iBACxB;gBACD,MAAM;YACR,KAAK,cAAI,CAAC,mBAAmB;gBAC3B,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;gBACnC,MAAM,QAAQ,GAAG,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;gBACrD,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC5C,IAAI,CAAC,aAAa,EAAE;oBAClB,MAAM,cAAM,CAAC,eAAe,CAAC,GAAG,CAAC,iBAAiB,QAAQ,mBAAmB,IAAI,GAAG,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;iBAC9G;gBACD,IAAI,CAAC,IAAA,6BAAe,EAAC,aAAa,CAAC,EAAE;oBACnC,MAAM,cAAM,CAAC,eAAe,CAAC,GAAG,CAAC,qBAAqB,IAAI,4BAA4B,QAAQ,GAAG,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;iBAC3H;gBACD,SAAS,CAAC,GAAG,CAAC,IAAI,uBAAuB,CAAC,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,iBAAiB,CAAC,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC1H,MAAM;SACT;IACH,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,4BAA4B,aAAa,GAAG,CAAC,CAAC,CAAC,0CAA0C,CAAC,CAAC;IAErI,MAAM,mBAAmB,GAAG,SAAS,CAAC,mBAAmB;QACvD,CAAC,CAAC,IAAA,wCAA0B,EAAC,MAAM,EAAE,SAAS,CAAC,mBAAmB,CAAC;QACnE,CAAC,CAAC,IAAI,iCAAmB,EAAE,CAAC;IAG9B,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;QACxC,QAAQ,UAAU,CAAC,IAAI,EAAE;YACvB,KAAK,cAAI,CAAC,mBAAmB;gBAC3B,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAE,CAAC;gBACvD,QAAQ,CAAC,eAAe,CAAC,kBAAkB,CAAC,QAAQ,CAAC,aAAa,EAAE,UAAU,CAAC,YAAY,EAAE,mBAAmB,EAAE,SAAS,CAAC,CAAC,CAAC;gBAC9H,MAAM;SACT;IACH,CAAC,CAAC,CAAC;IACH,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IACxC,OAAO,gBAAgB,CAAC,EAAC,MAAM,EAAE,SAAS,EAAE,mBAAmB,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,EAAC,CAAC,CAAC;AACjH,CAAC;AArDD,sDAqDC;AAED,SAAS,gBAAgB,CAAC,EACxB,MAAM,EACN,SAAS,EACT,mBAAmB,EACnB,SAAS,EACT,aAAa,GAOd;;IACC,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACnE,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,sBAAsB,SAAS,CAAC,SAAS,qBAAqB,CAAC,CAAC;IACzF,OAAO,IAAI,SAAS,CAClB,MAAM,EACN,SAAS,CAAC,SAAS,EACnB,iBAAiB,CAAC;QAChB,UAAU,EAAE,QAAQ,CAAC,IAAI;QACzB,MAAM,EAAE,SAAS,CAAC,YAAY;QAC9B,mBAAmB;QACnB,SAAS,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QACtD,QAAQ,EAAE,aAAa;KACxB,CAAC,EACF,mBAAmB,EACnB,MAAA,SAAS,CAAC,IAAI,0CAAE,KAAK,CACtB,CAAC;AACJ,CAAC;AAED,SAAgB,cAAc,CAC5B,MAAc,EACd,SAAiB,EACjB,OAGC;IAED,OAAO,qBAAqB,CAAC,MAAM,EAAE,IAAA,eAAK,EAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;AAClE,CAAC;AATD,wCASC;AAED,SAAgB,iBAAiB,CAAC,EAChC,UAAU,EACV,MAAM,EACN,mBAAmB,GAAG,IAAI,iCAAmB,EAAE,EAC/C,SAAS,EACT,aAAa,EACb,QAAQ,GAAG,IAAI,GAQhB;IAEC,MAAM,IAAI,GAAG,OAAO,MAAM,KAAK,QAAQ;QACrC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,YAAY;QACxF,CAAC,CAAC,MAAM,CAAC;IACX,MAAM,YAAY,GAAG,kBAAkB,CAAC,UAAU,EAAE,IAAI,EAAE,mBAAmB,aAAnB,mBAAmB,cAAnB,mBAAmB,GAAI,IAAI,iCAAmB,EAAE,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IACtI,IAAI,QAAQ;QACV,YAAY,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAC7C,OAAO,YAAY,CAAC;AACtB,CAAC;AAvBD,8CAuBC;AAED,SAAS,iBAAiB,CAAC,MAAc;IACvC,MAAM,MAAM,GAAG,IAAA,eAAK,EAAC,MAAM,CAAC,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,wDAAwD,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACtI,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAClC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,cAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE,CAAC,6CAA6C,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;IACjH,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAgB,mBAAmB,CAAC,SAAoB;;IACtD,MAAM,YAAY,GAA4B;QAC5C,IAAI,EAAE,cAAI,CAAC,oBAAoB;QAC/B,SAAS,EAAE,SAAS,CAAC,QAA6B;QAClD,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,cAAI,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS;QAC7E,YAAY,EAAE,SAAS,CAAC,YAAY,CAAC,kBAAkB,EAAE;QACzD,mBAAmB,EAAE,SAAS,CAAC,mBAAmB,CAAC,yBAAyB,EAAE;KAC/E,CAAC;IACF,MAAM,YAAY,GAAqB,SAAS,CAAC,YAAY,CAAC,SAAS;QACrE,CAAC,CAAC,MAAA,SAAS,CAAC,YAAY,CAAC,SAAS,0CAAE,yBAAyB,EAAE;QAC/D,CAAC,CAAC,EAAE,CAAC;IACP,OAAO;QACL,IAAI,EAAE,cAAI,CAAC,QAAQ;QACnB,WAAW,EAAE,CAAC,YAA8B,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;KACnE,CAAC;AACJ,CAAC;AAfD,kDAeC"}
|
package/dist/precompute.d.ts
DELETED
package/dist/precompute.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"precompute.d.ts","sourceRoot":"","sources":["../src/precompute.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,aAAa,EAEb,eAAe,EAEf,MAAM,EAEP,MAAM,GAAG,CAAC;AAEX,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,KAAK,EAAE,eAAe,CAAC,aAAa,CAAC,KAAK,OAAO,CA2DpG"}
|
package/dist/precompute.js
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.computeShareables = void 0;
|
|
4
|
-
const _1 = require(".");
|
|
5
|
-
function computeShareables(schema) {
|
|
6
|
-
const metadata = (0, _1.federationMetadata)(schema);
|
|
7
|
-
(0, _1.assert)(metadata, 'Schema should be a federation subgraph');
|
|
8
|
-
const keyDirective = metadata.keyDirective();
|
|
9
|
-
const providesDirective = metadata.providesDirective();
|
|
10
|
-
const shareableDirective = metadata.isFed2Schema() ? metadata.shareableDirective() : undefined;
|
|
11
|
-
const shareableFields = new Set();
|
|
12
|
-
const addKeyFields = (type) => {
|
|
13
|
-
for (const key of type.appliedDirectivesOf(keyDirective)) {
|
|
14
|
-
(0, _1.collectTargetFields)({
|
|
15
|
-
parentType: type,
|
|
16
|
-
directive: key,
|
|
17
|
-
includeInterfaceFieldsImplementations: true,
|
|
18
|
-
validate: false,
|
|
19
|
-
}).forEach((f) => shareableFields.add(f.coordinate));
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
for (const type of schema.objectTypes()) {
|
|
23
|
-
addKeyFields(type);
|
|
24
|
-
const shareablesOnType = shareableDirective ? type.appliedDirectivesOf(shareableDirective) : [];
|
|
25
|
-
for (const field of type.fields()) {
|
|
26
|
-
const fieldIsShareable = shareableDirective && field.hasAppliedDirective(shareableDirective)
|
|
27
|
-
|| (shareablesOnType.length > 0 && shareablesOnType.some((d) => field.ofExtension() === d.ofExtension()));
|
|
28
|
-
if (fieldIsShareable) {
|
|
29
|
-
shareableFields.add(field.coordinate);
|
|
30
|
-
}
|
|
31
|
-
for (const provides of field.appliedDirectivesOf(providesDirective)) {
|
|
32
|
-
const parentType = (0, _1.baseType)(field.type);
|
|
33
|
-
if ((0, _1.isCompositeType)(parentType)) {
|
|
34
|
-
(0, _1.collectTargetFields)({
|
|
35
|
-
parentType,
|
|
36
|
-
directive: provides,
|
|
37
|
-
includeInterfaceFieldsImplementations: true,
|
|
38
|
-
validate: false,
|
|
39
|
-
}).forEach((f) => {
|
|
40
|
-
if (metadata.isFieldExternal(f)) {
|
|
41
|
-
shareableFields.add(f.coordinate);
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
for (const type of schema.interfaceTypes()) {
|
|
49
|
-
addKeyFields(type);
|
|
50
|
-
}
|
|
51
|
-
return (field) => shareableFields.has(field.coordinate);
|
|
52
|
-
}
|
|
53
|
-
exports.computeShareables = computeShareables;
|
|
54
|
-
//# sourceMappingURL=precompute.js.map
|
package/dist/precompute.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"precompute.js","sourceRoot":"","sources":["../src/precompute.ts"],"names":[],"mappings":";;;AAAA,wBASW;AAEX,SAAgB,iBAAiB,CAAC,MAAc;IAC9C,MAAM,QAAQ,GAAG,IAAA,qBAAkB,EAAC,MAAM,CAAC,CAAC;IAC5C,IAAA,SAAM,EAAC,QAAQ,EAAE,wCAAwC,CAAC,CAAC;IAE3D,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;IAC7C,MAAM,iBAAiB,GAAG,QAAQ,CAAC,iBAAiB,EAAE,CAAC;IAIvD,MAAM,kBAAkB,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAE/F,MAAM,eAAe,GAAgB,IAAI,GAAG,EAAE,CAAC;IAC/C,MAAM,YAAY,GAAG,CAAC,IAAmB,EAAE,EAAE;QAC3C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,EAAE;YACxD,IAAA,sBAAmB,EAAC;gBAClB,UAAU,EAAE,IAAI;gBAChB,SAAS,EAAE,GAAG;gBACd,qCAAqC,EAAE,IAAI;gBAC3C,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;SACtD;IACH,CAAC,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE;QACvC,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChG,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;YACjC,MAAM,gBAAgB,GAAG,kBAAkB,IAAI,KAAK,CAAC,mBAAmB,CAAC,kBAAkB,CAAC;mBACvF,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAC5G,IAAI,gBAAgB,EAAE;gBACpB,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;aACvC;YACD,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,EAAE;gBACnE,MAAM,UAAU,GAAG,IAAA,WAAQ,EAAC,KAAK,CAAC,IAAK,CAAC,CAAC;gBAGzC,IAAI,IAAA,kBAAe,EAAC,UAAU,CAAC,EAAE;oBAC/B,IAAA,sBAAmB,EAAC;wBAClB,UAAU;wBACV,SAAS,EAAE,QAAQ;wBACnB,qCAAqC,EAAE,IAAI;wBAC3C,QAAQ,EAAE,KAAK;qBAChB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;wBAGf,IAAI,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;4BAC/B,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;yBACnC;oBACH,CAAC,CAAC,CAAC;iBACJ;aACF;SACF;KACF;IAED,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,cAAc,EAAE,EAAE;QAC1C,YAAY,CAAC,IAAI,CAAC,CAAC;KACpB;IAED,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AAC1D,CAAC;AA3DD,8CA2DC"}
|
package/dist/print.d.ts
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { Directive, DirectiveDefinition, EnumValue, FieldDefinition, InputFieldDefinition, InterfaceImplementation, NamedType, Schema, SchemaRootKind, UnionMember } from "./definitions";
|
|
2
|
-
export type PrintOptions = {
|
|
3
|
-
indentString: string;
|
|
4
|
-
definitionsOrder: ('schema' | 'types' | 'directives')[];
|
|
5
|
-
rootTypesOrder: SchemaRootKind[];
|
|
6
|
-
typeCompareFn?: (t1: NamedType, t2: NamedType) => number;
|
|
7
|
-
implementedInterfaceCompareFn?: (t1: InterfaceImplementation<any>, t2: InterfaceImplementation<any>) => number;
|
|
8
|
-
fieldCompareFn?: (t1: FieldDefinition<any>, t2: FieldDefinition<any>) => number;
|
|
9
|
-
unionMemberCompareFn?: (t1: UnionMember, t2: UnionMember) => number;
|
|
10
|
-
enumValueCompareFn?: (t1: EnumValue, t2: EnumValue) => number;
|
|
11
|
-
inputObjectFieldCompareFn?: (t1: InputFieldDefinition, t2: InputFieldDefinition) => number;
|
|
12
|
-
directiveCompareFn?: (d1: DirectiveDefinition, d2: DirectiveDefinition) => number;
|
|
13
|
-
mergeTypesAndExtensions: boolean;
|
|
14
|
-
showAllBuiltIns: boolean;
|
|
15
|
-
noDescriptions: boolean;
|
|
16
|
-
directiveDefinitionFilter?: (d: DirectiveDefinition) => boolean;
|
|
17
|
-
typeFilter: (t: NamedType) => boolean;
|
|
18
|
-
fieldFilter: (f: FieldDefinition<any>) => boolean;
|
|
19
|
-
directiveApplicationFilter: (d: Directive) => boolean;
|
|
20
|
-
};
|
|
21
|
-
export declare const defaultPrintOptions: PrintOptions;
|
|
22
|
-
export declare function orderPrintedDefinitions(options: PrintOptions): PrintOptions;
|
|
23
|
-
export declare function shallowOrderPrintedDefinitions(options: PrintOptions): PrintOptions;
|
|
24
|
-
export declare function printSchema(schema: Schema, options?: PrintOptions): string;
|
|
25
|
-
export declare function printType(type: NamedType, options?: PrintOptions): string;
|
|
26
|
-
export declare function printTypeDefinitionAndExtensions(type: NamedType, options?: PrintOptions): string[];
|
|
27
|
-
export declare function printDirectiveDefinition(directive: DirectiveDefinition, options?: PrintOptions): string;
|
|
28
|
-
//# sourceMappingURL=print.d.ts.map
|
package/dist/print.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"print.d.ts","sourceRoot":"","sources":["../src/print.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EACT,mBAAmB,EAEnB,SAAS,EAGT,eAAe,EACf,oBAAoB,EAEpB,uBAAuB,EAEvB,SAAS,EAIT,MAAM,EAGN,cAAc,EACd,WAAW,EAEZ,MAAM,eAAe,CAAC;AAIvB,MAAM,MAAM,YAAY,GAAG;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,CAAC,QAAQ,GAAG,OAAO,GAAG,YAAY,CAAC,EAAE,CAAC;IACxD,cAAc,EAAE,cAAc,EAAE,CAAC;IACjC,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,KAAK,MAAM,CAAC;IACzD,6BAA6B,CAAC,EAAE,CAAC,EAAE,EAAE,uBAAuB,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,uBAAuB,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC;IAC/G,cAAc,CAAC,EAAE,CAAC,EAAE,EAAE,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,eAAe,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC;IAChF,oBAAoB,CAAC,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,KAAK,MAAM,CAAC;IACpE,kBAAkB,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,KAAK,MAAM,CAAC;IAC9D,yBAAyB,CAAC,EAAE,CAAC,EAAE,EAAE,oBAAoB,EAAE,EAAE,EAAE,oBAAoB,KAAK,MAAM,CAAC;IAC3F,kBAAkB,CAAC,EAAE,CAAC,EAAE,EAAE,mBAAmB,EAAE,EAAE,EAAE,mBAAmB,KAAK,MAAM,CAAC;IAClF,uBAAuB,EAAE,OAAO,CAAC;IACjC,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,yBAAyB,CAAC,EAAE,CAAC,CAAC,EAAE,mBAAmB,KAAK,OAAO,CAAC;IAChE,UAAU,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,OAAO,CAAC;IACtC,WAAW,EAAE,CAAC,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC;IAClD,0BAA0B,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,OAAO,CAAC;CACvD,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,YAUjC,CAAA;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,YAAY,GAAG,YAAY,CAW3E;AAED,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,YAAY,GAAG,YAAY,CAMlF;AAeD,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,YAAkC,GAAG,MAAM,CAqB/F;AA2FD,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,GAAE,YAAkC,GAAG,MAAM,CAI9F;AAED,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,GAAE,YAAkC,GAAG,MAAM,EAAE,CASvH;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,mBAAmB,EAAE,OAAO,GAAE,YAAkC,GAAG,MAAM,CAG5H"}
|
package/dist/print.js
DELETED
|
@@ -1,299 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.printDirectiveDefinition = exports.printTypeDefinitionAndExtensions = exports.printType = exports.printSchema = exports.shallowOrderPrintedDefinitions = exports.orderPrintedDefinitions = exports.defaultPrintOptions = void 0;
|
|
4
|
-
const utils_1 = require("./utils");
|
|
5
|
-
const values_1 = require("./values");
|
|
6
|
-
exports.defaultPrintOptions = {
|
|
7
|
-
indentString: " ",
|
|
8
|
-
definitionsOrder: ['schema', 'directives', 'types'],
|
|
9
|
-
rootTypesOrder: ['query', 'mutation', 'subscription'],
|
|
10
|
-
mergeTypesAndExtensions: false,
|
|
11
|
-
showAllBuiltIns: false,
|
|
12
|
-
noDescriptions: false,
|
|
13
|
-
typeFilter: () => true,
|
|
14
|
-
fieldFilter: () => true,
|
|
15
|
-
directiveApplicationFilter: () => true,
|
|
16
|
-
};
|
|
17
|
-
function orderPrintedDefinitions(options) {
|
|
18
|
-
return {
|
|
19
|
-
...options,
|
|
20
|
-
typeCompareFn: (t1, t2) => t1.name.localeCompare(t2.name),
|
|
21
|
-
implementedInterfaceCompareFn: (t1, t2) => t1.interface.name.localeCompare(t2.interface.name),
|
|
22
|
-
fieldCompareFn: (t1, t2) => t1.name.localeCompare(t2.name),
|
|
23
|
-
unionMemberCompareFn: (t1, t2) => t1.type.name.localeCompare(t2.type.name),
|
|
24
|
-
enumValueCompareFn: (t1, t2) => t1.name.localeCompare(t2.name),
|
|
25
|
-
inputObjectFieldCompareFn: (t1, t2) => t1.name.localeCompare(t2.name),
|
|
26
|
-
directiveCompareFn: (t1, t2) => t1.name.localeCompare(t2.name),
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
exports.orderPrintedDefinitions = orderPrintedDefinitions;
|
|
30
|
-
function shallowOrderPrintedDefinitions(options) {
|
|
31
|
-
return {
|
|
32
|
-
...options,
|
|
33
|
-
typeCompareFn: (t1, t2) => t1.name.localeCompare(t2.name),
|
|
34
|
-
directiveCompareFn: (t1, t2) => t1.name.localeCompare(t2.name),
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
exports.shallowOrderPrintedDefinitions = shallowOrderPrintedDefinitions;
|
|
38
|
-
function isDefinitionOrderValid(options) {
|
|
39
|
-
return options.definitionsOrder.length === 3
|
|
40
|
-
&& options.definitionsOrder.indexOf('schema') >= 0
|
|
41
|
-
&& options.definitionsOrder.indexOf('types') >= 0
|
|
42
|
-
&& options.definitionsOrder.indexOf('directives') >= 0;
|
|
43
|
-
}
|
|
44
|
-
function validateOptions(options) {
|
|
45
|
-
if (!isDefinitionOrderValid(options)) {
|
|
46
|
-
throw new Error(`'definitionsOrder' should be a 3-element array containing 'schema', 'types' and 'directives' in the desired order (got: [${options.definitionsOrder.join(', ')}])`);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
function printSchema(schema, options = exports.defaultPrintOptions) {
|
|
50
|
-
validateOptions(options);
|
|
51
|
-
let directives = options.showAllBuiltIns ? schema.allDirectives() : schema.directives();
|
|
52
|
-
if (options.directiveDefinitionFilter) {
|
|
53
|
-
directives = directives.filter(options.directiveDefinitionFilter);
|
|
54
|
-
}
|
|
55
|
-
if (options.directiveCompareFn) {
|
|
56
|
-
directives = directives.concat().sort(options.directiveCompareFn);
|
|
57
|
-
}
|
|
58
|
-
let types = options.showAllBuiltIns ? schema.allTypes() : schema.types();
|
|
59
|
-
if (options.typeFilter) {
|
|
60
|
-
types = types.filter(options.typeFilter);
|
|
61
|
-
}
|
|
62
|
-
if (options.typeCompareFn) {
|
|
63
|
-
types = types.concat().sort(options.typeCompareFn);
|
|
64
|
-
}
|
|
65
|
-
const definitions = new Array(3);
|
|
66
|
-
definitions[options.definitionsOrder.indexOf('schema')] = printSchemaDefinitionAndExtensions(schema.schemaDefinition, options);
|
|
67
|
-
definitions[options.definitionsOrder.indexOf('directives')] = directives.map(directive => printDirectiveDefinition(directive, options));
|
|
68
|
-
definitions[options.definitionsOrder.indexOf('types')] = types.flatMap(type => printTypeDefinitionAndExtensions(type, options));
|
|
69
|
-
return definitions.flat().join('\n\n');
|
|
70
|
-
}
|
|
71
|
-
exports.printSchema = printSchema;
|
|
72
|
-
function definitionAndExtensions(element, options) {
|
|
73
|
-
return options.mergeTypesAndExtensions ? [undefined] : [null, ...element.extensions()];
|
|
74
|
-
}
|
|
75
|
-
function printSchemaDefinitionAndExtensions(schemaDefinition, options) {
|
|
76
|
-
return printDefinitionAndExtensions(schemaDefinition, options, printSchemaDefinitionOrExtension);
|
|
77
|
-
}
|
|
78
|
-
function printDefinitionAndExtensions(t, options, printer) {
|
|
79
|
-
return definitionAndExtensions(t, options)
|
|
80
|
-
.map(ext => printer(t, options, ext))
|
|
81
|
-
.filter(v => v !== undefined);
|
|
82
|
-
}
|
|
83
|
-
function printIsExtension(extension) {
|
|
84
|
-
return extension ? 'extend ' : '';
|
|
85
|
-
}
|
|
86
|
-
function forExtension(ts, extension) {
|
|
87
|
-
if (extension === undefined) {
|
|
88
|
-
return ts;
|
|
89
|
-
}
|
|
90
|
-
return ts.filter(r => { var _a; return ((_a = r.ofExtension()) !== null && _a !== void 0 ? _a : null) === extension; });
|
|
91
|
-
}
|
|
92
|
-
function orderRoots(roots, options) {
|
|
93
|
-
return roots.concat().sort((r1, r2) => options.rootTypesOrder.indexOf(r1.rootKind) - options.rootTypesOrder.indexOf(r2.rootKind));
|
|
94
|
-
}
|
|
95
|
-
function appliedDirectives(element, options, extension) {
|
|
96
|
-
let directives = forExtension(element.appliedDirectives, extension);
|
|
97
|
-
if (options.directiveApplicationFilter) {
|
|
98
|
-
directives = directives.filter(options.directiveApplicationFilter);
|
|
99
|
-
}
|
|
100
|
-
return directives;
|
|
101
|
-
}
|
|
102
|
-
function printSchemaDefinitionOrExtension(schemaDefinition, options, extension) {
|
|
103
|
-
const roots = forExtension(schemaDefinition.roots(), extension);
|
|
104
|
-
const directives = appliedDirectives(schemaDefinition, options, extension);
|
|
105
|
-
if (!roots.length && !directives.length) {
|
|
106
|
-
return undefined;
|
|
107
|
-
}
|
|
108
|
-
if (!extension && !directives.length && isSchemaOfCommonNames(schemaDefinition)) {
|
|
109
|
-
return undefined;
|
|
110
|
-
}
|
|
111
|
-
const rootEntries = orderRoots(roots, options).map((rootType) => `${options.indentString}${rootType.rootKind}: ${rootType.type}`);
|
|
112
|
-
return printDescription(schemaDefinition, options, extension)
|
|
113
|
-
+ printIsExtension(extension)
|
|
114
|
-
+ 'schema'
|
|
115
|
-
+ printAppliedDirectives(directives, options, true, rootEntries.length !== 0)
|
|
116
|
-
+ (directives.length === 0 ? ' ' : '')
|
|
117
|
-
+ (rootEntries.length === 0 ? '' : '{\n' + rootEntries.join('\n') + '\n}');
|
|
118
|
-
}
|
|
119
|
-
function isSchemaOfCommonNames(schema) {
|
|
120
|
-
return !schema.description && schema.roots().every(r => r.isDefaultRootName());
|
|
121
|
-
}
|
|
122
|
-
function printType(type, options = exports.defaultPrintOptions) {
|
|
123
|
-
const definitionAndExtensions = printTypeDefinitionAndExtensions(type, options);
|
|
124
|
-
(0, utils_1.assert)(definitionAndExtensions.length == 1, `Type ${type} is built from more than 1 definition or extension`);
|
|
125
|
-
return definitionAndExtensions[0];
|
|
126
|
-
}
|
|
127
|
-
exports.printType = printType;
|
|
128
|
-
function printTypeDefinitionAndExtensions(type, options = exports.defaultPrintOptions) {
|
|
129
|
-
switch (type.kind) {
|
|
130
|
-
case 'ScalarType': return printDefinitionAndExtensions(type, options, printScalarDefinitionOrExtension);
|
|
131
|
-
case 'ObjectType': return printDefinitionAndExtensions(type, options, (t, options, ext) => printFieldBasedTypeDefinitionOrExtension('type', t, options, ext));
|
|
132
|
-
case 'InterfaceType': return printDefinitionAndExtensions(type, options, (t, options, ext) => printFieldBasedTypeDefinitionOrExtension('interface', t, options, ext));
|
|
133
|
-
case 'UnionType': return printDefinitionAndExtensions(type, options, printUnionDefinitionOrExtension);
|
|
134
|
-
case 'EnumType': return printDefinitionAndExtensions(type, options, printEnumDefinitionOrExtension);
|
|
135
|
-
case 'InputObjectType': return printDefinitionAndExtensions(type, options, printInputDefinitionOrExtension);
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
exports.printTypeDefinitionAndExtensions = printTypeDefinitionAndExtensions;
|
|
139
|
-
function printDirectiveDefinition(directive, options = exports.defaultPrintOptions) {
|
|
140
|
-
const locations = directive.locations.join(' | ');
|
|
141
|
-
return `${printDescription(directive, options, null)}directive ${directive}${printArgs(directive.arguments(), options)}${directive.repeatable ? ' repeatable' : ''} on ${locations}`;
|
|
142
|
-
}
|
|
143
|
-
exports.printDirectiveDefinition = printDirectiveDefinition;
|
|
144
|
-
function printAppliedDirectives(appliedDirectives, options, onNewLines = false, endWithNewLine = onNewLines) {
|
|
145
|
-
if (appliedDirectives.length == 0) {
|
|
146
|
-
return "";
|
|
147
|
-
}
|
|
148
|
-
const joinStr = onNewLines ? '\n' + options.indentString : ' ';
|
|
149
|
-
const directives = appliedDirectives.map(d => d.toString()).join(joinStr);
|
|
150
|
-
return onNewLines ? '\n' + options.indentString + directives + (endWithNewLine ? '\n' : '') : ' ' + directives;
|
|
151
|
-
}
|
|
152
|
-
function printDescription(element, options, extension, indentation = '', firstInBlock = true) {
|
|
153
|
-
if (extension || element.description === undefined || options.noDescriptions) {
|
|
154
|
-
return '';
|
|
155
|
-
}
|
|
156
|
-
const preferMultipleLines = element.description.length > 70;
|
|
157
|
-
const blockString = printBlockString(element.description, '', preferMultipleLines);
|
|
158
|
-
const prefix = indentation && !firstInBlock ? '\n' + indentation : indentation;
|
|
159
|
-
return prefix + blockString.replace(/\n/g, '\n' + indentation) + '\n';
|
|
160
|
-
}
|
|
161
|
-
function printScalarDefinitionOrExtension(type, options, extension) {
|
|
162
|
-
const directives = appliedDirectives(type, options, extension);
|
|
163
|
-
if (extension && !directives.length) {
|
|
164
|
-
return undefined;
|
|
165
|
-
}
|
|
166
|
-
return `${printDescription(type, options, extension)}${printIsExtension(extension)}scalar ${type.name}${printAppliedDirectives(directives, options, true, false)}`;
|
|
167
|
-
}
|
|
168
|
-
function printImplementedInterfaces(implementations) {
|
|
169
|
-
return implementations.length
|
|
170
|
-
? ' implements ' + implementations.map(i => i.interface.name).join(' & ')
|
|
171
|
-
: '';
|
|
172
|
-
}
|
|
173
|
-
function printFieldBasedTypeDefinitionOrExtension(kind, type, options, extension) {
|
|
174
|
-
const directives = appliedDirectives(type, options, extension);
|
|
175
|
-
let interfaces = forExtension(type.interfaceImplementations(), extension);
|
|
176
|
-
let fields = forExtension(type.fields(), extension);
|
|
177
|
-
if (options.fieldFilter) {
|
|
178
|
-
fields = fields.filter(options.fieldFilter);
|
|
179
|
-
}
|
|
180
|
-
if (!directives.length && !interfaces.length && !fields.length && (extension || !type.preserveEmptyDefinition)) {
|
|
181
|
-
return undefined;
|
|
182
|
-
}
|
|
183
|
-
if (options.implementedInterfaceCompareFn) {
|
|
184
|
-
interfaces = interfaces.concat().sort(options.implementedInterfaceCompareFn);
|
|
185
|
-
}
|
|
186
|
-
if (options.fieldCompareFn) {
|
|
187
|
-
fields = fields.concat().sort(options.fieldCompareFn);
|
|
188
|
-
}
|
|
189
|
-
return printDescription(type, options, extension)
|
|
190
|
-
+ printIsExtension(extension)
|
|
191
|
-
+ kind + ' ' + type
|
|
192
|
-
+ printImplementedInterfaces(interfaces)
|
|
193
|
-
+ printAppliedDirectives(directives, options, true, fields.length > 0)
|
|
194
|
-
+ (directives.length === 0 && fields.length > 0 ? ' ' : '')
|
|
195
|
-
+ printFields(fields, options);
|
|
196
|
-
}
|
|
197
|
-
function printUnionDefinitionOrExtension(type, options, extension) {
|
|
198
|
-
const directives = appliedDirectives(type, options, extension);
|
|
199
|
-
let members = forExtension(type.members(), extension);
|
|
200
|
-
if (!directives.length && !members.length && (extension || !type.preserveEmptyDefinition)) {
|
|
201
|
-
return undefined;
|
|
202
|
-
}
|
|
203
|
-
if (options.unionMemberCompareFn) {
|
|
204
|
-
members = members.concat().sort(options.unionMemberCompareFn);
|
|
205
|
-
}
|
|
206
|
-
const possibleTypes = members.length ? ' = ' + members.map(m => m.type).join(' | ') : '';
|
|
207
|
-
return printDescription(type, options, extension)
|
|
208
|
-
+ printIsExtension(extension)
|
|
209
|
-
+ 'union ' + type
|
|
210
|
-
+ printAppliedDirectives(directives, options, true, members.length > 0)
|
|
211
|
-
+ possibleTypes;
|
|
212
|
-
}
|
|
213
|
-
function printEnumDefinitionOrExtension(type, options, extension) {
|
|
214
|
-
const directives = appliedDirectives(type, options, extension);
|
|
215
|
-
let values = forExtension(type.values, extension);
|
|
216
|
-
if (!directives.length && !values.length && (extension || !type.preserveEmptyDefinition)) {
|
|
217
|
-
return undefined;
|
|
218
|
-
}
|
|
219
|
-
if (options.enumValueCompareFn) {
|
|
220
|
-
values = values.concat().sort(options.enumValueCompareFn);
|
|
221
|
-
}
|
|
222
|
-
const vals = values.map((v, i) => printDescription(v, options, extension, options.indentString, !i)
|
|
223
|
-
+ options.indentString
|
|
224
|
-
+ v
|
|
225
|
-
+ printAppliedDirectives(v.appliedDirectives, options));
|
|
226
|
-
return printDescription(type, options, extension)
|
|
227
|
-
+ printIsExtension(extension)
|
|
228
|
-
+ 'enum ' + type
|
|
229
|
-
+ printAppliedDirectives(directives, options, true, vals.length > 0)
|
|
230
|
-
+ (directives.length === 0 && vals.length > 0 ? ' ' : '')
|
|
231
|
-
+ printBlock(vals);
|
|
232
|
-
}
|
|
233
|
-
function printInputDefinitionOrExtension(type, options, extension) {
|
|
234
|
-
const directives = appliedDirectives(type, options, extension);
|
|
235
|
-
let fields = forExtension(type.fields(), extension);
|
|
236
|
-
if (!directives.length && !fields.length && (extension || !type.preserveEmptyDefinition)) {
|
|
237
|
-
return undefined;
|
|
238
|
-
}
|
|
239
|
-
if (options.inputObjectFieldCompareFn) {
|
|
240
|
-
fields = fields.concat().sort(options.inputObjectFieldCompareFn);
|
|
241
|
-
}
|
|
242
|
-
return printDescription(type, options, extension)
|
|
243
|
-
+ printIsExtension(extension)
|
|
244
|
-
+ 'input ' + type
|
|
245
|
-
+ printAppliedDirectives(directives, options, true, fields.length > 0)
|
|
246
|
-
+ (directives.length === 0 && fields.length > 0 ? ' ' : '')
|
|
247
|
-
+ printFields(fields, options);
|
|
248
|
-
}
|
|
249
|
-
function printFields(fields, options) {
|
|
250
|
-
return printBlock(fields.map((f, i) => printDescription(f, options, undefined, options.indentString, !i)
|
|
251
|
-
+ options.indentString
|
|
252
|
-
+ printField(f, options)
|
|
253
|
-
+ printAppliedDirectives(appliedDirectives(f, options), options)));
|
|
254
|
-
}
|
|
255
|
-
function printField(field, options) {
|
|
256
|
-
const args = field.kind == 'FieldDefinition' ? printArgs(field.arguments(), options, options.indentString) : '';
|
|
257
|
-
const defaultValue = field.kind === 'InputFieldDefinition' && field.defaultValue !== undefined
|
|
258
|
-
? ' = ' + (0, values_1.valueToString)(field.defaultValue, field.type)
|
|
259
|
-
: '';
|
|
260
|
-
return `${field.name}${args}: ${field.type}${defaultValue}`;
|
|
261
|
-
}
|
|
262
|
-
function printArgs(args, options, indentation = '') {
|
|
263
|
-
if (args.length === 0) {
|
|
264
|
-
return '';
|
|
265
|
-
}
|
|
266
|
-
if (args.every(arg => !arg.description)) {
|
|
267
|
-
return '(' + args.map(arg => printArg(arg, options)).join(', ') + ')';
|
|
268
|
-
}
|
|
269
|
-
const formattedArgs = args
|
|
270
|
-
.map((arg, i) => printDescription(arg, options, null, ' ' + indentation, !i) + ' ' + indentation + printArg(arg, options))
|
|
271
|
-
.join('\n');
|
|
272
|
-
return `(\n${formattedArgs}\n${indentation})`;
|
|
273
|
-
}
|
|
274
|
-
function printArg(arg, options) {
|
|
275
|
-
return `${arg}${printAppliedDirectives(appliedDirectives(arg, options), options)}`;
|
|
276
|
-
}
|
|
277
|
-
function printBlock(items) {
|
|
278
|
-
return items.length !== 0 ? '{\n' + items.join('\n') + '\n}' : '';
|
|
279
|
-
}
|
|
280
|
-
function printBlockString(value, indentation = '', preferMultipleLines = false) {
|
|
281
|
-
const isSingleLine = value.indexOf('\n') === -1;
|
|
282
|
-
const hasLeadingSpace = value[0] === ' ' || value[0] === '\t';
|
|
283
|
-
const hasTrailingQuote = value[value.length - 1] === '"';
|
|
284
|
-
const hasTrailingSlash = value[value.length - 1] === '\\';
|
|
285
|
-
const printAsMultipleLines = !isSingleLine ||
|
|
286
|
-
hasTrailingQuote ||
|
|
287
|
-
hasTrailingSlash ||
|
|
288
|
-
preferMultipleLines;
|
|
289
|
-
let result = '';
|
|
290
|
-
if (printAsMultipleLines && !(isSingleLine && hasLeadingSpace)) {
|
|
291
|
-
result += '\n' + indentation;
|
|
292
|
-
}
|
|
293
|
-
result += indentation ? value.replace(/\n/g, '\n' + indentation) : value;
|
|
294
|
-
if (printAsMultipleLines) {
|
|
295
|
-
result += '\n';
|
|
296
|
-
}
|
|
297
|
-
return '"""' + result.replace(/"""/g, '\\"""') + '"""';
|
|
298
|
-
}
|
|
299
|
-
//# sourceMappingURL=print.js.map
|
package/dist/print.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"print.js","sourceRoot":"","sources":["../src/print.ts"],"names":[],"mappings":"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"}
|