@litert/typeguard 1.0.1 → 1.3.0-dev.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGES.md +16 -0
- package/lib/BuiltInTypeCompiler.d.ts +4 -4
- package/lib/BuiltInTypeCompiler.d.ts.map +1 -1
- package/lib/BuiltInTypeCompiler.js +167 -166
- package/lib/BuiltInTypeCompiler.js.map +1 -1
- package/lib/BuiltInTypes.d.ts +1 -1
- package/lib/BuiltInTypes.js +37 -36
- package/lib/BuiltInTypes.js.map +1 -1
- package/lib/Common.d.ts +27 -10
- package/lib/Common.d.ts.map +1 -1
- package/lib/Common.js +1 -1
- package/lib/Compiler.d.ts +2 -2
- package/lib/Compiler.d.ts.map +1 -1
- package/lib/Compiler.js +159 -102
- package/lib/Compiler.js.map +1 -1
- package/lib/Context.d.ts +6 -5
- package/lib/Context.d.ts.map +1 -1
- package/lib/Context.js +11 -7
- package/lib/Context.js.map +1 -1
- package/lib/FilterCompiler.d.ts +5 -5
- package/lib/FilterCompiler.d.ts.map +1 -1
- package/lib/FilterCompiler.js +25 -24
- package/lib/FilterCompiler.js.map +1 -1
- package/lib/InlineCompiler.d.ts +12 -5
- package/lib/InlineCompiler.d.ts.map +1 -1
- package/lib/InlineCompiler.js +18 -6
- package/lib/InlineCompiler.js.map +1 -1
- package/lib/Internal.d.ts +6 -4
- package/lib/Internal.d.ts.map +1 -1
- package/lib/Internal.js +12 -10
- package/lib/Internal.js.map +1 -1
- package/lib/Modifiers.d.ts +1 -1
- package/lib/Modifiers.js +2 -1
- package/lib/Modifiers.js.map +1 -1
- package/lib/index.d.ts +5 -5
- package/lib/index.js +19 -7
- package/lib/index.js.map +1 -1
- package/lib/langs/JavaScript.d.ts +2 -2
- package/lib/langs/JavaScript.d.ts.map +1 -1
- package/lib/langs/JavaScript.js +55 -29
- package/lib/langs/JavaScript.js.map +1 -1
- package/package.json +17 -13
- package/src/examples/quick-start.ts +172 -0
- package/src/lib/BuiltInTypeCompiler.ts +171 -171
- package/src/lib/BuiltInTypes.ts +36 -36
- package/src/lib/Common.ts +49 -10
- package/src/lib/Compiler.ts +354 -247
- package/src/lib/Context.ts +11 -13
- package/src/lib/FilterCompiler.ts +84 -84
- package/src/lib/InlineCompiler.ts +41 -15
- package/src/lib/Internal.ts +17 -13
- package/src/lib/Modifiers.ts +2 -2
- package/src/lib/index.ts +5 -5
- package/src/lib/langs/JavaScript.ts +84 -31
- package/src/test/00-all.ts +10 -10
- package/src/test/01-elemental-types.ts +1111 -1110
- package/src/test/02-array-and-list.ts +75 -75
- package/src/test/03-tuple.ts +87 -87
- package/src/test/04-from-string.ts +849 -848
- package/src/test/05-string-asserts.ts +422 -422
- package/src/test/06-structure.ts +107 -107
- package/src/test/07-modifiers.ts +151 -42
- package/src/test/08-map-and-dict.ts +46 -46
- package/src/test/09-exceptions.ts +30 -9
- package/src/test/abstracts.ts +83 -45
- package/dist/typeguard.amd.d.ts +0 -588
- package/dist/typeguard.amd.d.ts.map +0 -1
- package/dist/typeguard.amd.js +0 -2069
- package/dist/typeguard.amd.js.map +0 -1
- package/dist/typeguard.system.d.ts +0 -588
- package/dist/typeguard.system.d.ts.map +0 -1
- package/dist/typeguard.system.js +0 -2185
- package/dist/typeguard.system.js.map +0 -1
- package/src/samples/quick-start.ts +0 -52
- package/tsconfig-amd.json +0 -72
- package/tsconfig-systemjs.json +0 -72
package/lib/Compiler.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Compiler.js","sourceRoot":"","sources":["../src/lib/Compiler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Compiler.js","sourceRoot":"","sources":["../src/lib/Compiler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,gCAAgC;AAEhC,iCAAiC;AACjC,uCAAoC;AACpC,oCAAoC;AACpC,+DAA4D;AAC5D,qDAAkD;AAElD,MAAM,QAAQ;IAIV,YACqB,KAAyB,EACzB,aAAqC,EACrC,QAA2B;QAF3B,UAAK,GAAL,KAAK,CAAoB;QACzB,kBAAa,GAAb,aAAa,CAAwB;QACrC,aAAQ,GAAR,QAAQ,CAAmB;QAE5C,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACxB,CAAC;IAEM,iBAAiB,CAAC,IAAY;QAEjC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;YAEtB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;SAC/B;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,SAAS,CAAC,GAAe;QAE7B,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE;YAEjB,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;SAClC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CACtB,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,YAAY,EAChB,GAAG,CAAC,SAAS,CAChB,CAAC;IACN,CAAC;IAEO,WAAW,CAAC,GAAe,EAAE,IAAY,EAAE,UAAkB,EAAE;QAEnE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE;YAEjB,OAAO,IAAI,CAAC;SACf;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CACxB,IAAI,EACJ,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,YAAY,EAChB,GAAG,GAAG,CAAC,SAAS,GAAG,OAAO,EAAE,CAC/B,CAAC;IACN,CAAC;IAEM,OAAO,CAAC,OAA0B;QAErC,MAAM,aAAa,GAAyB,EAAE,CAAC;QAE/C,MAAM,GAAG,GAAe,IAAI,iBAAO,CAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAC3B,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,EAC9D,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,EAC5D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAC3B,aAAa,CAChB,CAAC;QAEF,IAAI,OAAO,CAAC,IAAI,EAAE;YAEd,IAAI,CAAC,QAAQ,CACT,GAAG,EACH,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CACvC,CAAC;YAEF,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACvC;aACI;YAED,MAAM,GAAG,GAAqB;gBAE1B,MAAM,EAAE,EAAE;gBACV,SAAS,EAAE,CAAC;wBACR,MAAM,EAAE,GAAG,CAAC,KAAK;wBACjB,MAAM,EAAE,SAAS;wBACjB,SAAS,EAAE,EAAE;qBAChB,CAAC;gBACF,YAAY,EAAE,GAAG,CAAC,YAAY;gBAC9B,aAAa,EAAE,EAAE;aACpB,CAAC;YAEF,IAAI,GAAG,CAAC,UAAU,EAAE;gBAEhB,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC;oBACf,MAAM,EAAE,GAAG,CAAC,UAAU;oBACtB,MAAM,EAAE,UAAU;oBAClB,SAAS,EAAE,IAAI;iBAClB,CAAC,CAAC;gBAEH,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC;oBACf,MAAM,EAAE,GAAG,CAAC,YAAY;oBACxB,MAAM,EAAE,QAAQ;oBAChB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;iBACxC,CAAC,CAAC;aACN;YAED,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CACtB,GAAG,EACH,OAAO,CAAC,IAAI,CACf,CAAC;YAEF,GAAG,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAEnD,OAAO,GAAG,CAAC;SACd;IACL,CAAC;IAEO,QAAQ,CAAC,GAAe,EAAE,KAAU;QAExC,QAAQ,OAAO,KAAK,EAAE;YAClB,KAAK,QAAQ;gBAET,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAE/C,KAAK,SAAS;gBAEV,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;oBAEjC,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;wBACjB,IAAI,CAAC,KAAK,CAAC,EAAE,CACT,GAAG,CAAC,KAAK,EACT,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAC5B;wBACD,IAAI,CAAC,KAAK,CAAC,EAAE,CACT,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAC5B;qBACJ,CAAC,CAAC;iBACN;gBAED,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAChB,GAAG,CAAC,KAAK,EACT,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAC5B,CAAC;YAEN,KAAK,QAAQ;gBAET,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;oBAEjC,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;wBACjB,IAAI,CAAC,KAAK,CAAC,EAAE,CACT,GAAG,CAAC,KAAK,EACT,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAC5B;wBACD,IAAI,CAAC,KAAK,CAAC,EAAE,CACT,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAC5B;qBACJ,CAAC,CAAC;iBACN;gBAED,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAChB,GAAG,CAAC,KAAK,EACT,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAC5B,CAAC;YAEN,KAAK,QAAQ;gBAET,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBAEtB,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;iBAChD;qBACI,IAAI,KAAK,KAAK,IAAI,EAAE;oBAErB,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;wBAEjC,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;4BACjB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC;4BAClC,IAAI,CAAC,KAAK,CAAC,EAAE,CACT,GAAG,CAAC,KAAK,EACT,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAC7B;yBACJ,CAAC,CAAC;qBACN;oBAED,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;iBAC7C;gBAED,OAAO,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAEnD,KAAK,WAAW;gBAEZ,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAEnD;gBACI,MAAM;SACb;QAED,MAAM,IAAI,SAAS,CAAC,eAAe,CAAC,CAAC;IACzC,CAAC;IAEO,kBAAkB,CAAC,GAAe,EAAE,IAAY;QAEpD,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAEnD,IAAI,SAAS,KAAK,KAAK,EAAE;YAErB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;gBAClB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC;gBACpC,SAAS;aACZ,CAAC,CAAC;SACN;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE;YAEpC,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC;gBAC3C,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aAC9C,CAAC,CAAC;SACN;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE;YAEpC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACtE;QAED,IAAI,SAAS,GAA4B,gCAAgC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAErF;;WAEG;QACH,IAAI,SAAS,EAAE;YAEX,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE;gBAEd,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBAErE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;oBAEpB;;uBAEG;oBACH,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE;wBAClC,CAAC,CAAC,KAAK;wBACP,KAAK,CAAC,CAAC,CAAC;wBACR,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC;qBACjC,CAAC,CAAC;iBACN;qBACI,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;oBAE7B;;uBAEG;oBACH,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE;wBAClC,CAAC,CAAC,KAAK;wBACP,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBACV,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC;qBACjC,CAAC,CAAC;iBACN;qBACI;oBAED;;uBAEG;oBACH,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE;wBAClC,CAAC,CAAC,KAAK;wBACP,KAAK;wBACL,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC;qBACjC,CAAC,CAAC;iBACN;aACJ;iBACI;gBAED;;mBAEG;gBACH,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE;oBAClC,CAAC,CAAC,IAAI;oBACN,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC;iBACjC,CAAC,CAAC;aACN;SACJ;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE;YAE7B;;eAEG;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;gBAClB,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE;oBAC3B,CAAC,CAAC,GAAG;oBACL,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;iBACpB,CAAC;aACL,CAAC,CAAC;SACN;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE;YAEvC,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SACtD;QAED,SAAS,GAAG,8DAA8D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEtF;;;;;;;WAOG;QACH,IAAI,SAAS,EAAE;YAEX,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE;gBAEd,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CACxD,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAC9B,CAAC;gBAEF,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAC7B,SAAS,CAAC,CAAC,CAAC,EACZ,GAAG,EACH,IAAI,CACP,CAAC;aACL;YAED,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAC7B,SAAS,CAAC,CAAC,CAAC,EACZ,GAAG,EACH,EAAE,CACL,CAAC;SACL;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE;YAElC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;SAC3C;QAED,MAAM,IAAI,SAAS,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC;IACnD,CAAC;IAEO,kBAAkB,CACtB,GAAe,EACf,QAAgB;QAGhB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAEjC,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;QAEnC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAClB,IAAI,CAAC,KAAK,CAAC,UAAU,CACjB,GAAG,CAAC,YAAY,EAChB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAC/B,EACD,GAAG,CAAC,KAAK,CACZ,CAAC;IACN,CAAC;IAEO,gBAAgB,CACpB,GAAe,EACf,IAAY;;QAGZ,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE5C,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzD,QAAQ,MAAA,CAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAG,CAAC,CAAC,CAAC,mCAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;YAC3C,KAAK,IAAI,CAAC;YACV,KAAK,OAAO;gBAER,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAChB,GAAG,CAAC,KAAK,EACT,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CACzC,CAAC;YAEN,KAAK,IAAI,CAAC;YACV,KAAK,SAAS;gBAEV,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAChB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,CACvD,CAAC;YAEN,KAAK,IAAI,CAAC;YACV,KAAK,WAAW;gBAEZ,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAChB,GAAG,CAAC,KAAK,EACT,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CACzC,CAAC;YAEN,KAAK,IAAI,CAAC;YACV,KAAK,aAAa;gBAEd,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAChB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,CACvD,CAAC;YAEN,KAAK,IAAI,CAAC;YACV,KAAK,OAAO;gBAER,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CACzB,GAAG,CAAC,KAAK,EACT,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CACrB,CAAC;YAEN,KAAK,IAAI,CAAC;YACV,KAAK,WAAW;gBAEZ,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CACxC,GAAG,CAAC,KAAK,EACT,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CACrB,CAAC,CAAC;YAEP,KAAK,IAAI,CAAC;YACV,KAAK,SAAS;gBAEV,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CACnB,GAAG,CAAC,KAAK,EACT,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CACzC,CAAC;YAEN,KAAK,IAAI,CAAC;YACV,KAAK,aAAa;gBAEd,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAClC,GAAG,CAAC,KAAK,EACT,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CACzC,CAAC,CAAC;YAEP,KAAK,IAAI,CAAC;YACV,KAAK,WAAW;gBAEZ,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CACnB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,CACvD,CAAC;YAEN,KAAK,IAAI,CAAC;YACV,KAAK,eAAe;gBAEhB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAClC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,CACvD,CAAC,CAAC;YAEP,KAAK,IAAI,CAAC;YACV,KAAK,YAAY;gBAEb,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CACxB,GAAG,CAAC,KAAK,EACT,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CACzC,CAAC;YAEN,KAAK,cAAc;gBAEf,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CACxB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,CACvD,CAAC;YAEN,KAAK,IAAI,CAAC;YACV,KAAK,gBAAgB;gBAEjB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CACvC,GAAG,CAAC,KAAK,EACT,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CACzC,CAAC,CAAC;YAEP,KAAK,kBAAkB;gBAEnB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CACvC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,CACvD,CAAC,CAAC;YAEP,KAAK,IAAI,CAAC;YACV,KAAK,UAAU;gBAEX,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CACtB,GAAG,CAAC,KAAK,EACT,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CACzC,CAAC;YAEN,KAAK,YAAY;gBAEb,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CACtB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,CACvD,CAAC;YAEN,KAAK,IAAI,CAAC;YACV,KAAK,cAAc;gBAEf,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CACrC,GAAG,CAAC,KAAK,EACT,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CACzC,CAAC,CAAC;YAEP,KAAK,gBAAgB;gBAEjB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CACrC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,CACvD,CAAC,CAAC;YAEP;gBAEI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;oBAEtB,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBACtE;gBAED,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;oBAEtB,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC3D;SACR;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,oBAAoB,CAAC,GAAe,EAAE,KAAY;QAEtD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YAEf,MAAM,IAAI,SAAS,CAAC,oBAAoB,CAAC,CAAC;SAC7C;QAED;;WAEG;QACH,IACI,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ;YAC5B,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,EACzC;YAEE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;gBAEpB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aACvC;YAED,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SACvB;QAED,QAAQ,KAAK,CAAC,CAAC,CAAC,EAAE;YACd,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;gBAER,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAC3C,GAAG,EACH,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CACjB,CAAC,CAAC;aACN;YACD,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;gBAEP,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aACvD;YACD,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;gBAER,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aACxD;YACD,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;gBAET,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aACzD;YACD,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;gBAEV,OAAO,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aAC1D;YACD,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;gBAET,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aACzD;YACD,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;gBAER,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aACxD;YACD,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;gBAEV,OAAO,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aAC1D;YACD,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;gBAEV,OAAO,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aAC1D;YACD,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;gBAEX,OAAO,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3D;YACD,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;gBAEX,OAAO,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3D;YACD,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;gBAET,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aACzD;SACJ;QAED,MAAM,IAAI,SAAS,CAAC,qBAAqB,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC3D,CAAC;IAEO,sBAAsB,CAAC,GAAe,EAAE,KAAY;QAExD,GAAG,CAAC,IAAI,EAAE,CAAC;QAEX,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC;QAE/D,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAErD,GAAG,CAAC,MAAM,EAAE,CAAC;QAEb,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,kBAAkB,CAAC,GAAe,EAAE,KAAY;QAEpD,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE;YAEnB,GAAG,CAAC,IAAI,EAAE,CAAC;YAEX,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;YAEnC,GAAG,CAAC,MAAM,EAAE,CAAC;SAChB;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAEO,mBAAmB,CAAC,GAAe,EAAE,KAAY;QAErD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CACjB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAChD,CAAC;IACN,CAAC;IAEO,oBAAoB,CAAC,GAAe,EAAE,KAAY,EAAE,cAAsB,CAAC;QAE/E,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YAE5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;YAEjD,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;SACpD;QAED,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEf,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC;QAE9B,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAExD,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAChD,GAAG,CAAC,SAAS,GAAG,GAAG,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAC5D,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAC3D,GAAG,CAAC;QAEL,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE;YAEpB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAC1B,CAAC,aAAa,CAAC,EACf,CAAC,WAAW,CAAC,EACb,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;gBACd,IAAI,CAAC,KAAK,CAAC,OAAO,CACd,aAAa,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAC9C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,EACzC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAC9C,CACJ;gBACD,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;aACnD,CAAC,CACL,CAAC,CAAC;SACN;QAED,GAAG,CAAC,MAAM,EAAE,CAAC;QAEb,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAEO,qBAAqB,CAAC,GAAe,EAAE,KAAY,EAAE,cAAsB,CAAC;QAEhF,IAAI,CAAC,GAAW,CAAC,CAAC;QAClB,IAAI,CAAC,GAAW,CAAC,CAAC,CAAC;QAEnB,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;YAE7C,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;SAChB;aACI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;YAE9B,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;gBAErB,QAAQ;gBACR,KAAK,CAAC,CAAC,CAAC;oBAEJ,MAAM,IAAI,SAAS,CAAC,sBAChB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAC3B,cAAc,CAAC,CAAC;iBACnB;gBACD,KAAK,CAAC,CAAC,CAAC;oBAEJ,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAChB,CAAC,GAAG,UAAU,CAAC;oBAEf,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;wBAE/B,MAAM,IAAI,SAAS,CAAC,sBAChB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAC3B,cAAc,CAAC,CAAC;qBACnB;oBAED,MAAM;iBACT;gBACD,KAAK,CAAC,CAAC,CAAC;oBAEJ,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAChB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAEhB,IACI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAC/B,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAC/B,CAAC,GAAG,CAAC,EACP;wBAEE,MAAM,IAAI,SAAS,CAAC,sBAChB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAC3B,cAAc,CAAC,CAAC;qBACnB;oBAED,IAAI,CAAC,KAAK,CAAC,EAAE;wBAET,CAAC,GAAG,CAAC,CAAC,CAAC;qBACV;iBACJ;aACJ;SACJ;aACI;YAED,MAAM,IAAI,SAAS,CAAC,sBAChB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAC3B,cAAc,CAAC,CAAC;SACnB;QAED,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YAE5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;YAEjD,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;SACpD;QAED,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEf,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC;QAE9B,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAExD,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAChD,GAAG,CAAC,SAAS,GAAG,GAAG,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAC5D,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAC3D,GAAG,CAAC;QAEL,QAAQ,CAAC,EAAE;YACP,KAAK,CAAC,CAAC,CAAC,CAAC;gBAEL,MAAM,CAAC,IAAI,CACP,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CACxD,CAAC;gBACF,MAAM;aACT;YACD,KAAK,UAAU,CAAC,CAAC;gBAEb,MAAM,CAAC,IAAI,CACP,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CACzD,CAAC;gBACF,MAAM;aACT;YACD,OAAO,CAAC,CAAC;gBAEL,MAAM,CAAC,IAAI,CACP,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,EACtD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CACzD,CAAC;gBACF,MAAM;aACT;SACJ;QAED,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE;YAEpB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAC1B,CAAC,aAAa,CAAC,EACf,CAAC,WAAW,CAAC,EACb,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;gBACd,IAAI,CAAC,KAAK,CAAC,OAAO,CACd,aAAa,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAC9C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAClD,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAC9C,CACJ;gBACD,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;aACnD,CAAC,CACL,CAAC,CAAC;SACN;QAED,GAAG,CAAC,MAAM,EAAE,CAAC;QAEb,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAEO,qBAAqB,CAAC,GAAe,EAAE,KAAY;QAEvD,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YAE5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;YAEjD,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;SACpD;QAED,IAAI,IAAU,CAAC;QACf,IAAI,IAAY,CAAC;QACjB,IAAI,CAAC,GAAW,CAAC,CAAC;QAElB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,cAAc,GAAG,CAAC,CAAC;QAEvB,OAAO,CAAC,EAAE;YAEN,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAErB,IAAI,IAAI,KAAK,SAAS,EAAE;gBAEpB,MAAM;aACT;YAED,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;gBAEpD,MAAM,IAAI,SAAS,CAAC,6BAA6B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aAC7E;YAED,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;gBAE5D,GAAG,CAAC,IAAI,EAAE,CAAC;gBAEX,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;gBAErB,IAAI,IAAI,KAAK,KAAK,EAAE;oBAEhB;;uBAEG;oBACH,IAAI,KAAK,CAAC,MAAM,EAAE;wBAEd,MAAM,IAAI,SAAS,CAAC,6BAA6B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;qBAC7E;oBAED,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBAEhD,IAAI,IAAI,KAAK,KAAK,EAAE;wBAEhB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CACjC,GAAG,EAAE,IAAI,EAAE,CAAC,CACf,CAAC,CAAC;qBACN;oBAED,cAAc,GAAG,WAAW,CAAC;oBAC7B,WAAW,GAAG,CAAC,CAAC,CAAC;iBACpB;qBACI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;oBAEnC,MAAM,IAAI,SAAS,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAC;iBAC5D;qBACI;oBAED,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBAEvC,IAAI,MAAM,KAAK,CAAC,EAAE;wBAEd,MAAM,IAAI,SAAS,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAC;qBAC5D;yBACI,IAAI,MAAM,KAAK,CAAC,EAAE;wBAEnB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;wBAExB,GAAG,CAAC,SAAS,GAAG,GAAG,GAAG,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC;wBACzC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;wBAC9C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CACxB,GAAG,EACH,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAC3B,CAAC,CAAC;qBACN;yBACI;wBAED,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;wBAE5D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAClC,GAAG,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CACzB,CAAC,CAAC;wBAEH,CAAC,IAAI,MAAM,CAAC;qBACf;oBAED,WAAW,IAAI,MAAM,CAAC;iBACzB;aACJ;iBACI;gBAED,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEf,GAAG,CAAC,SAAS,GAAG,GAAG,GAAG,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC;gBACzC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;gBAClD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CACxB,GAAG,EACH,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAC3B,CAAC,CAAC;gBACH,WAAW,EAAE,CAAC;aACjB;YAED,GAAG,CAAC,MAAM,EAAE,CAAC;SAChB;QAED,IAAI,WAAW,IAAI,CAAC,EAAE;YAElB,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CACjC,GAAG,EACH,IAAI,CAAC,KAAK,CAAC,EAAE,CACT,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EACjC,WAAW,CACd,EACD,SAAS,CACZ,CAAC,CAAC;SACN;aACI,IAAI,cAAc,IAAI,CAAC,EAAE;YAE1B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CACjC,GAAG,EACH,IAAI,CAAC,KAAK,CAAC,GAAG,CACV,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EACjC,cAAc,CACjB,EACD,SAAS,CACZ,CAAC,CAAC;SACN;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAEO,iBAAiB,CAAC,IAAa;QAEnC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAErE,MAAM,IAAI,SAAS,CAAC,gBAChB,IAAI,CAAC,SAAS,CAAC,IAAI,CACvB,0BAA0B,CAAC,CAAC;SAC/B;IACL,CAAC;IAEO,oBAAoB,CAAC,GAAe,EAAE,KAAY;QAEtD,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;YAE1B,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC;SACzF;QAED,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;YACpC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YACpB,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU;SAChC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC;IAEO,sBAAsB,CAAC,GAAe,EAAE,KAAY;QAExD,GAAG,CAAC,IAAI,EAAE,CAAC;QAEX,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YAEpB,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;SACpB;QAED,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;QAElD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAEtC,GAAG,CAAC,MAAM,EAAE,CAAC;QAEb,OAAO,GAAG,CAAC;IACf,CAAC;IAEO,qBAAqB,CAAC,GAAe,EAAE,KAAY;QAEvD,GAAG,CAAC,IAAI,EAAE,CAAC;QAEX,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YAEpB,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;SACpB;QAED,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC;QAE1D,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAEtC,GAAG,CAAC,MAAM,EAAE,CAAC;QAEb,OAAO,GAAG,CAAC;IACf,CAAC;IAEO,mBAAmB,CAAC,GAAe,EAAE,KAAY;QAErD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YAEpB,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;SACpB;QAED,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEf,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;QAExB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAElD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAE/C,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9C,GAAG,CAAC,SAAS,GAAG,GAAG,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC;QAE1E,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YAC1B,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC;YACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CACd,CAAC,OAAO,CAAC,EACT,CAAC,KAAK,CAAC,EACP,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;gBACd,IAAI,CAAC,KAAK,CAAC,KAAK,CACZ,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CACvC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,EACzC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAC9C,CACJ;gBACD,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;aACnD,CAAC,CACL;SACJ,CAAC,CAAC;QAEH,GAAG,CAAC,MAAM,EAAE,CAAC;QAEb,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,oBAAoB,CAAC,GAAe,EAAE,KAAY;QAEtD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;YAE9C,MAAM,IAAI,WAAW,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACnE;QAED,MAAM,GAAG,GAA2B,EAAE,CAAC;QAEvC,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAEjF,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE;YAC3B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YACtB,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;SACjB,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;QAEhE,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;YAExB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;gBAEzB,MAAM,IAAI,WAAW,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;aACzE;YAED,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;SACnB;QAED,OAAO,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC;IAEO,uBAAuB,CAC3B,GAAe,EACf,KAA0B;QAG1B,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE5C,MAAM,MAAM,GAAa;YACrB,IAAI,CAAC,WAAW,CACZ,GAAG,EACH,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,EACvC,SAAS,CACZ;SACJ,CAAC;QAEF,MAAM,IAAI,GAAa,EAAE,CAAC;QAE1B,KAAK,IAAI,CAAC,IAAI,KAAK,EAAE;YAEjB,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAEpB,IAAI,QAAQ,GAAG,KAAK,CAAC;YAErB,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE;gBAE/B,QAAQ,GAAG,IAAI,CAAC;gBAChB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aACtB;YAED,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEf,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE;gBAE/B,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;gBAC1C,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;aACzB;iBACI,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE;gBAEnC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;gBACzC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;aACxB;iBACI,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAAE;gBAEtC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBAC5C,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;aAC3B;iBACI,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE;gBAErC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBAC5C,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;aAC1B;iBACI;gBAED,MAAM,WAAW,GAAG,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAE/C,IAAI,WAAW,EAAE;oBAEb,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;oBAElC,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE;wBAEhB,IAAI,GAAG;4BACH,CAAC,CAAC,KAAK;4BACP;gCACI,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gCACxB,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;6BAC3B;4BACD,IAAI;yBACP,CAAC;qBACL;yBACI,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE;wBAErB,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;qBACtD;yBACI;wBAED,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;qBACpD;iBACJ;aACJ;YAED,IAAI,QAAQ,EAAE;gBAEV,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;oBAEtB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;iBACrB;qBACI;oBAED,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;iBACzB;aACJ;YAED,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAEb,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACpE,GAAG,CAAC,SAAS,GAAG,GAAG,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;YAE7D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CACxB,GAAG,EACH,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAC3B,CAAC,CAAC;YAEH,GAAG,CAAC,MAAM,EAAE,CAAC;SAChB;QAED,IAAI,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE;YAEvB,MAAM,CAAC,MAAM,CACT,CAAC,EACD,CAAC,CAAC,EACF,IAAI,CAAC,KAAK,CAAC,UAAU,CACjB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAC1B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CACzB,CACJ,CAAC;SACL;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAEO,sBAAsB,CAC1B,GAAe,EACf,KAA0B;QAG1B,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAExE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YAEtB,MAAM,IAAI,WAAW,CAAC,gDAAgD,CAAC,CAAC;SAC3E;aACI,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YAE7B,OAAO,IAAI,CAAC,uBAAuB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;SACnD;QAED,MAAM,MAAM,GAAa;YACrB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC;SAC1C,CAAC;QAEF,GAAG,CAAC,IAAI,EAAE,CAAC;QAEX,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC;QAE9B,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAExD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAElD,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAE9C,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,MAAM,IAAI,GAAa,EAAE,CAAC;QAE1B,KAAK,IAAI,CAAC,IAAI,KAAK,EAAE;YAEjB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEf,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAEpB,IAAI,QAAQ,GAAG,KAAK,CAAC;YAErB,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE;gBAE/B,QAAQ,GAAG,IAAI,CAAC;gBAChB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aACtB;YAED,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE;gBAE/B,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;gBAC1C,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;aACzB;iBACI,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE;gBAEnC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;gBACzC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;aACxB;iBACI,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAAE;gBAEtC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBAC5C,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;aAC3B;iBACI,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE;gBAErC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBAC5C,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;aAC1B;iBACI;gBAED,MAAM,WAAW,GAAG,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAE/C,IAAI,WAAW,EAAE;oBAEb,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;oBAElC,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE;wBAEhB,IAAI,GAAG;4BACH,CAAC,CAAC,KAAK;4BACP;gCACI,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gCACxB,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;6BAC3B;4BACD,IAAI;yBACP,CAAC;qBACL;yBACI,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE;wBAErB,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;qBACtD;yBACI;wBAED,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;qBACpD;iBACJ;aACJ;YAED,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE;gBAEb,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAC7B,IAAI,CAAC,KAAK,CAAC,MAAM,CACb,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,EACxC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CACpD,CACJ,CAAC,CAAC;aACN;iBACI;gBAED,IAAI,QAAQ,EAAE;oBAEV,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;wBAEtB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;qBACrB;yBACI;wBAED,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;qBACzB;iBACJ;qBACI;oBAED,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBAChB;gBAED,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CACxB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EACvB,IAAI,CAAC,KAAK,CAAC,MAAM,CACb,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,EACxC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CACpD,CACJ,CAAC,CAAC;aACN;YAED,GAAG,CAAC,MAAM,EAAE,CAAC;SAChB;QAED,IAAI,IAAI,CAAC,MAAM,EAAE;YAEb,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAC7B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EACtB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAC/B,CAAC,CAAC;SACN;QAED,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAC1B,CAAC,aAAa,CAAC,EACf,CAAC,WAAW,CAAC,EACb,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YACd,IAAI,CAAC,KAAK,CAAC,KAAK,CACZ,aAAa,EACb,OAAO,EACP,GAAG,CAAC,KAAK,EACT,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CACxC;YACD,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACnD,CAAC,CACL,CAAC,CAAC;QAEH,GAAG,CAAC,MAAM,EAAE,CAAC;QAEb,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAEO,SAAS,CAAC,IAAa;QAE3B,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAC1B,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;YAChB,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;YAC3B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CACzC,CAAC;IACN,CAAC;CACJ;AAED;;;;GAIG;AACH,SAAgB,cAAc,CAAC,IAAwB;IAEnD,MAAM,IAAI,GAAG,IAAI,yCAAmB,CAAC,IAAI,CAAC,CAAC;IAE3C,OAAO,IAAI,QAAQ,CACf,IAAI,EAAE,IAAI,EAAE,IAAI,+BAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAC7C,CAAC;AACN,CAAC;AAPD,wCAOC"}
|
package/lib/Context.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright
|
|
2
|
+
* Copyright 2022 Angus Fenying <fenying@litert.org>
|
|
3
3
|
*
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
5
|
* you may not use this file except in compliance with the License.
|
|
@@ -13,17 +13,18 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import * as i from
|
|
16
|
+
import * as i from './Internal';
|
|
17
17
|
export declare class Context implements i.IContext {
|
|
18
18
|
vName: string;
|
|
19
|
+
vTraceName: string;
|
|
20
|
+
vTracePrefix: string;
|
|
19
21
|
readonly typeSlotName: string;
|
|
20
22
|
readonly referredTypes: Record<string, boolean>;
|
|
21
|
-
trace: boolean;
|
|
22
|
-
tracePoint: number;
|
|
23
23
|
vCursor: number;
|
|
24
24
|
stack: i.IContextData[];
|
|
25
25
|
flags: Record<string, i.EFlagValue>;
|
|
26
|
-
|
|
26
|
+
tracePath: string;
|
|
27
|
+
constructor(vName: string, vTraceName: string, vTracePrefix: string, typeSlotName: string, referredTypes: Record<string, boolean>);
|
|
27
28
|
trap(subjChanged?: boolean): void;
|
|
28
29
|
untrap(): void;
|
|
29
30
|
}
|
package/lib/Context.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../src/lib/Context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,CAAC,MAAM,YAAY,CAAC;AAEhC,qBAAa,OAAQ,YAAW,CAAC,CAAC,QAAQ;
|
|
1
|
+
{"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../src/lib/Context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,CAAC,MAAM,YAAY,CAAC;AAEhC,qBAAa,OAAQ,YAAW,CAAC,CAAC,QAAQ;IAW3B,KAAK,EAAE,MAAM;IACb,UAAU,EAAE,MAAM;IAClB,YAAY,EAAE,MAAM;aACX,YAAY,EAAE,MAAM;aACpB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAbnD,OAAO,EAAE,MAAM,CAAC;IAEhB,KAAK,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC;IAExB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;IAEpC,SAAS,EAAE,MAAM,CAAM;gBAGnB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IASnD,IAAI,CAAC,WAAW,GAAE,OAAe,GAAG,IAAI;IA+BxC,MAAM,IAAI,IAAI;CAaxB"}
|
package/lib/Context.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Copyright
|
|
3
|
+
* Copyright 2022 Angus Fenying <fenying@litert.org>
|
|
4
4
|
*
|
|
5
5
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
6
|
* you may not use this file except in compliance with the License.
|
|
@@ -15,22 +15,25 @@
|
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.Context = void 0;
|
|
18
19
|
const i = require("./Internal");
|
|
19
20
|
class Context {
|
|
20
|
-
constructor(vName, typeSlotName, referredTypes) {
|
|
21
|
+
constructor(vName, vTraceName, vTracePrefix, typeSlotName, referredTypes) {
|
|
21
22
|
this.vName = vName;
|
|
23
|
+
this.vTraceName = vTraceName;
|
|
24
|
+
this.vTracePrefix = vTracePrefix;
|
|
22
25
|
this.typeSlotName = typeSlotName;
|
|
23
26
|
this.referredTypes = referredTypes;
|
|
27
|
+
this.tracePath = '';
|
|
24
28
|
this.stack = [];
|
|
25
29
|
this.vCursor = 0;
|
|
26
30
|
this.flags = {};
|
|
27
|
-
this.tracePoint = 0;
|
|
28
|
-
this.trace = false;
|
|
29
31
|
}
|
|
30
32
|
trap(subjChanged = false) {
|
|
31
33
|
this.stack.push({
|
|
32
34
|
vName: this.vName,
|
|
33
|
-
flags: this.flags
|
|
35
|
+
flags: this.flags,
|
|
36
|
+
tracePath: this.tracePath,
|
|
34
37
|
});
|
|
35
38
|
const prevFlags = this.flags;
|
|
36
39
|
this.flags = {};
|
|
@@ -49,10 +52,11 @@ class Context {
|
|
|
49
52
|
untrap() {
|
|
50
53
|
const prev = this.stack.pop();
|
|
51
54
|
if (!prev) {
|
|
52
|
-
throw new Error(
|
|
55
|
+
throw new Error('Failed to pop stack.');
|
|
53
56
|
}
|
|
54
|
-
this.vName = prev.vName;
|
|
55
57
|
this.flags = prev.flags;
|
|
58
|
+
this.vName = prev.vName;
|
|
59
|
+
this.tracePath = prev.tracePath;
|
|
56
60
|
}
|
|
57
61
|
}
|
|
58
62
|
exports.Context = Context;
|
package/lib/Context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Context.js","sourceRoot":"","sources":["../src/lib/Context.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG
|
|
1
|
+
{"version":3,"file":"Context.js","sourceRoot":"","sources":["../src/lib/Context.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,gCAAgC;AAEhC,MAAa,OAAO;IAUhB,YACW,KAAa,EACb,UAAkB,EAClB,YAAoB,EACX,YAAoB,EACpB,aAAsC;QAJ/C,UAAK,GAAL,KAAK,CAAQ;QACb,eAAU,GAAV,UAAU,CAAQ;QAClB,iBAAY,GAAZ,YAAY,CAAQ;QACX,iBAAY,GAAZ,YAAY,CAAQ;QACpB,kBAAa,GAAb,aAAa,CAAyB;QAPnD,cAAS,GAAW,EAAE,CAAC;QAS1B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAEhB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QAEjB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IACpB,CAAC;IAEM,IAAI,CAAC,cAAuB,KAAK;QAEpC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YACZ,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC5B,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;QAE7B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAEhB,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE;YAEzB,IAAI,WAAW,EAAE;gBAEb,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,eAAe,EAAE;oBAEjD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;iBACpC;aACJ;iBACI,IACD,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,OAAO;gBACvC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,eAAe,EACjD;gBAEE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;aACpC;SACJ;IACL,CAAC;IAEM,MAAM;QAET,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QAE9B,IAAI,CAAC,IAAI,EAAE;YAEP,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;SAC3C;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IACpC,CAAC;CACJ;AApED,0BAoEC"}
|
package/lib/FilterCompiler.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright
|
|
2
|
+
* Copyright 2022 Angus Fenying <fenying@litert.org>
|
|
3
3
|
*
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
5
|
* you may not use this file except in compliance with the License.
|
|
@@ -13,11 +13,11 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import * as C from
|
|
17
|
-
import * as I from
|
|
16
|
+
import * as C from './Common';
|
|
17
|
+
import * as I from './Internal';
|
|
18
18
|
export declare class FilterCompiler implements I.IFilterCompiler {
|
|
19
|
-
private _lang;
|
|
20
|
-
private _bitc;
|
|
19
|
+
private readonly _lang;
|
|
20
|
+
private readonly _bitc;
|
|
21
21
|
constructor(_lang: C.ILanguageBuilder, _bitc: I.IBuiltInTypeCompiler);
|
|
22
22
|
compile(rule: string, ctx: I.IContext): string;
|
|
23
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterCompiler.d.ts","sourceRoot":"","sources":["../src/lib/FilterCompiler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAC9B,OAAO,KAAK,CAAC,MAAM,YAAY,CAAC;AAEhC,qBAAa,cACb,YAAW,CAAC,CAAC,eAAe;IAGpB,OAAO,CAAC,KAAK;
|
|
1
|
+
{"version":3,"file":"FilterCompiler.d.ts","sourceRoot":"","sources":["../src/lib/FilterCompiler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAC9B,OAAO,KAAK,CAAC,MAAM,YAAY,CAAC;AAEhC,qBAAa,cACb,YAAW,CAAC,CAAC,eAAe;IAGpB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK;gBADL,KAAK,EAAE,CAAC,CAAC,gBAAgB,EACzB,KAAK,EAAE,CAAC,CAAC,oBAAoB;IAG3C,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,GAAG,MAAM;CAkIxD"}
|
package/lib/FilterCompiler.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Copyright
|
|
3
|
+
* Copyright 2022 Angus Fenying <fenying@litert.org>
|
|
4
4
|
*
|
|
5
5
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
6
|
* you may not use this file except in compliance with the License.
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.FilterCompiler = void 0;
|
|
18
19
|
class FilterCompiler {
|
|
19
20
|
constructor(_lang, _bitc) {
|
|
20
21
|
this._lang = _lang;
|
|
@@ -22,21 +23,21 @@ class FilterCompiler {
|
|
|
22
23
|
}
|
|
23
24
|
compile(rule, ctx) {
|
|
24
25
|
let vName = ctx.vName;
|
|
25
|
-
const filter = rule.slice(1).split(
|
|
26
|
+
const filter = rule.slice(1).split(' ');
|
|
26
27
|
if (filter.slice(2).length !== filter.slice(2).filter((x) => /^\d+(\.\d+)?$/.test(x)).length) {
|
|
27
|
-
throw new TypeError(
|
|
28
|
+
throw new TypeError('Only number is allowed as filter arguments.');
|
|
28
29
|
}
|
|
29
|
-
|
|
30
|
+
const ret = [];
|
|
30
31
|
switch (filter[0]) {
|
|
31
|
-
case
|
|
32
|
+
case 'array.length':
|
|
32
33
|
ret.push(this._lang.isArray(vName, true));
|
|
33
34
|
vName = this._lang.arrayLength(vName);
|
|
34
35
|
break;
|
|
35
|
-
case
|
|
36
|
+
case 'string.length':
|
|
36
37
|
ret.push(this._lang.isString(vName, true));
|
|
37
38
|
vName = this._lang.stringLength(vName);
|
|
38
39
|
break;
|
|
39
|
-
case
|
|
40
|
+
case 'value':
|
|
40
41
|
ret.push(this._lang.isNumber(vName, true));
|
|
41
42
|
break;
|
|
42
43
|
default:
|
|
@@ -44,62 +45,62 @@ class FilterCompiler {
|
|
|
44
45
|
break;
|
|
45
46
|
}
|
|
46
47
|
switch (filter[1]) {
|
|
47
|
-
case
|
|
48
|
+
case 'between':
|
|
48
49
|
if (filter.length !== 4) {
|
|
49
50
|
throw new TypeError(`Filter ${filter[1]} require 2 arguments.`);
|
|
50
51
|
}
|
|
51
52
|
ret.push(this._lang.gte(vName, filter[2]));
|
|
52
53
|
ret.push(this._lang.lte(vName, filter[3]));
|
|
53
54
|
break;
|
|
54
|
-
case
|
|
55
|
-
case
|
|
55
|
+
case 'gt':
|
|
56
|
+
case '>':
|
|
56
57
|
if (filter.length !== 3) {
|
|
57
58
|
throw new TypeError(`Filter ${filter[1]} require 1 argument.`);
|
|
58
59
|
}
|
|
59
60
|
ret.push(this._lang.gt(vName, filter[2]));
|
|
60
61
|
break;
|
|
61
|
-
case
|
|
62
|
-
case
|
|
63
|
-
case
|
|
62
|
+
case 'ge':
|
|
63
|
+
case 'gte':
|
|
64
|
+
case '>=':
|
|
64
65
|
if (filter.length !== 3) {
|
|
65
66
|
throw new TypeError(`Filter ${filter[1]} require 1 argument.`);
|
|
66
67
|
}
|
|
67
68
|
ret.push(this._lang.gte(vName, filter[2]));
|
|
68
69
|
break;
|
|
69
|
-
case
|
|
70
|
-
case
|
|
70
|
+
case 'lt':
|
|
71
|
+
case '<':
|
|
71
72
|
if (filter.length !== 3) {
|
|
72
73
|
throw new TypeError(`Filter ${filter[1]} require 1 argument.`);
|
|
73
74
|
}
|
|
74
75
|
ret.push(this._lang.lt(vName, filter[2]));
|
|
75
76
|
break;
|
|
76
|
-
case
|
|
77
|
-
case
|
|
78
|
-
case
|
|
77
|
+
case 'le':
|
|
78
|
+
case 'lte':
|
|
79
|
+
case '<=':
|
|
79
80
|
if (filter.length !== 3) {
|
|
80
81
|
throw new TypeError(`Filter ${filter[1]} require 1 argument.`);
|
|
81
82
|
}
|
|
82
83
|
ret.push(this._lang.lte(vName, filter[2]));
|
|
83
84
|
break;
|
|
84
|
-
case
|
|
85
|
-
case
|
|
85
|
+
case 'eq':
|
|
86
|
+
case '==':
|
|
86
87
|
if (filter.length !== 3) {
|
|
87
88
|
throw new TypeError(`Filter ${filter[1]} require 1 argument.`);
|
|
88
89
|
}
|
|
89
90
|
ret.push(this._lang.eq(vName, filter[2]));
|
|
90
91
|
break;
|
|
91
|
-
case
|
|
92
|
-
case
|
|
92
|
+
case 'ne':
|
|
93
|
+
case '!=':
|
|
93
94
|
if (filter.length !== 3) {
|
|
94
95
|
throw new TypeError(`Filter ${filter[1]} require 1 argument.`);
|
|
95
96
|
}
|
|
96
97
|
ret.push(this._lang.ne(vName, filter[2]));
|
|
97
98
|
break;
|
|
98
|
-
case
|
|
99
|
+
case 'timesof':
|
|
99
100
|
if (filter.length !== 3) {
|
|
100
101
|
throw new TypeError(`Filter ${filter[1]} require 1 argument.`);
|
|
101
102
|
}
|
|
102
|
-
ret.push(this._lang.eq(this._lang.modOf(vName, filter[2]),
|
|
103
|
+
ret.push(this._lang.eq(this._lang.modOf(vName, filter[2]), '0'));
|
|
103
104
|
break;
|
|
104
105
|
default:
|
|
105
106
|
throw new TypeError(`Unknown filter type "${filter[1]}".`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterCompiler.js","sourceRoot":"","sources":["../src/lib/FilterCompiler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG
|
|
1
|
+
{"version":3,"file":"FilterCompiler.js","sourceRoot":"","sources":["../src/lib/FilterCompiler.ts"],"names":[],"mappings":"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"}
|
package/lib/InlineCompiler.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright
|
|
2
|
+
* Copyright 2022 Angus Fenying <fenying@litert.org>
|
|
3
3
|
*
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
5
|
* you may not use this file except in compliance with the License.
|
|
@@ -13,12 +13,12 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import * as C from
|
|
16
|
+
import * as C from './Common';
|
|
17
17
|
export interface IInlineCompileOptions extends C.ICompileOptions {
|
|
18
18
|
/**
|
|
19
19
|
* Added `debugger` statement before executing checking code.
|
|
20
20
|
*/
|
|
21
|
-
|
|
21
|
+
'stopOnEntry'?: boolean;
|
|
22
22
|
}
|
|
23
23
|
export interface IInlineCompiler {
|
|
24
24
|
/**
|
|
@@ -27,13 +27,20 @@ export interface IInlineCompiler {
|
|
|
27
27
|
*
|
|
28
28
|
* @param options The options of compilation.
|
|
29
29
|
*/
|
|
30
|
-
compile<T>(options: IInlineCompileOptions): C.
|
|
30
|
+
compile<T>(options: IInlineCompileOptions): C.ITypeChecker<T>;
|
|
31
31
|
/**
|
|
32
32
|
* Get the type-checker of a pre-defined type.
|
|
33
33
|
*
|
|
34
34
|
* @param name The name of the pre-defined type.
|
|
35
35
|
*/
|
|
36
|
-
getPredefinedType<T>(name: string): C.
|
|
36
|
+
getPredefinedType<T>(name: string): C.ITypeChecker<T>;
|
|
37
|
+
/**
|
|
38
|
+
* Register a pre-defined type checker.
|
|
39
|
+
*
|
|
40
|
+
* @param name The name of the pre-defined type (without prefix `@`)
|
|
41
|
+
* @param checker The checker callback of the pre-defined type.
|
|
42
|
+
*/
|
|
43
|
+
addPredefinedType<T>(name: string, checker: C.ITypeChecker<T>): this;
|
|
37
44
|
/**
|
|
38
45
|
* Check if a pre-defined type is compiled.
|
|
39
46
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InlineCompiler.d.ts","sourceRoot":"","sources":["../src/lib/InlineCompiler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"InlineCompiler.d.ts","sourceRoot":"","sources":["../src/lib/InlineCompiler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAG9B,MAAM,WAAW,qBAAsB,SAAQ,CAAC,CAAC,eAAe;IAE5D;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAE5B;;;;;OAKG;IACH,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,qBAAqB,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAE9D;;;;OAIG;IACH,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAEtD;;;;;OAKG;IACH,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAErE;;;;OAIG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAEzC;;OAEG;IACH,oBAAoB,IAAI,MAAM,EAAE,CAAC;CACpC;AAmHD;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,eAAe,CAGtD"}
|
package/lib/InlineCompiler.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Copyright
|
|
3
|
+
* Copyright 2022 Angus Fenying <fenying@litert.org>
|
|
4
4
|
*
|
|
5
5
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
6
|
* you may not use this file except in compliance with the License.
|
|
@@ -15,14 +15,16 @@
|
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.createInlineCompiler = void 0;
|
|
18
19
|
const Compiler_1 = require("./Compiler");
|
|
19
20
|
const JavaScript_1 = require("./langs/JavaScript");
|
|
21
|
+
const I = require("./Internal");
|
|
20
22
|
class InlineCompiler {
|
|
21
23
|
constructor() {
|
|
22
24
|
this._defTypes = {};
|
|
23
25
|
this._missingTypes = {};
|
|
24
|
-
const lang = JavaScript_1.createJavaScriptLanguageBuilder();
|
|
25
|
-
this._compiler = Compiler_1.createCompiler(lang);
|
|
26
|
+
const lang = (0, JavaScript_1.createJavaScriptLanguageBuilder)();
|
|
27
|
+
this._compiler = (0, Compiler_1.createCompiler)(lang);
|
|
26
28
|
}
|
|
27
29
|
compile(options) {
|
|
28
30
|
const result = this._compiler.compile(options);
|
|
@@ -30,7 +32,7 @@ class InlineCompiler {
|
|
|
30
32
|
return this._wrapCheckerCode(result, options.stopOnEntry);
|
|
31
33
|
}
|
|
32
34
|
_preapreDefinedTypes(types, stopOnEntry) {
|
|
33
|
-
for (
|
|
35
|
+
for (const x of types) {
|
|
34
36
|
if (this._defTypes[x]) {
|
|
35
37
|
continue;
|
|
36
38
|
}
|
|
@@ -44,6 +46,13 @@ class InlineCompiler {
|
|
|
44
46
|
delete this._missingTypes[x];
|
|
45
47
|
}
|
|
46
48
|
}
|
|
49
|
+
addPredefinedType(name, checker) {
|
|
50
|
+
if (!I.RE_VALID_CUSTOM_TYPE_NAME.test(name)) {
|
|
51
|
+
throw new TypeError(`Invalid name ${JSON.stringify(name)} for a pre-defined type.`);
|
|
52
|
+
}
|
|
53
|
+
this._defTypes[name] = checker;
|
|
54
|
+
return this;
|
|
55
|
+
}
|
|
47
56
|
detectUndefinedTypes() {
|
|
48
57
|
return Object.keys(this._missingTypes);
|
|
49
58
|
}
|
|
@@ -57,8 +66,11 @@ class InlineCompiler {
|
|
|
57
66
|
return this._defTypes[name];
|
|
58
67
|
}
|
|
59
68
|
_wrapCheckerCode(info, stopOnEntry = false) {
|
|
60
|
-
const soe = stopOnEntry ?
|
|
61
|
-
return (new Function(info.typeSlotName, `return function(${info.arguments
|
|
69
|
+
const soe = stopOnEntry ? 'debugger;' : '';
|
|
70
|
+
return (new Function(info.typeSlotName, `return function(${info.arguments
|
|
71
|
+
.map((a) => a.initial ? `${a.name} = ${a.initial}` : a.name)
|
|
72
|
+
.join(',')}) {
|
|
73
|
+
${soe}
|
|
62
74
|
|
|
63
75
|
return ${info.source};
|
|
64
76
|
};`))(this._defTypes);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InlineCompiler.js","sourceRoot":"","sources":["../src/lib/InlineCompiler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG
|
|
1
|
+
{"version":3,"file":"InlineCompiler.js","sourceRoot":"","sources":["../src/lib/InlineCompiler.ts"],"names":[],"mappings":"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"}
|
package/lib/Internal.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright
|
|
2
|
+
* Copyright 2022 Angus Fenying <fenying@litert.org>
|
|
3
3
|
*
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
5
|
* you may not use this file except in compliance with the License.
|
|
@@ -51,12 +51,13 @@ export declare enum EFlagValue {
|
|
|
51
51
|
ELEMENT_INHERIT = 3
|
|
52
52
|
}
|
|
53
53
|
export interface IContextData {
|
|
54
|
-
vName: string;
|
|
55
54
|
flags: Record<string, EFlagValue>;
|
|
55
|
+
vName: string;
|
|
56
|
+
tracePath: string;
|
|
56
57
|
}
|
|
57
58
|
export interface IContext extends IContextData {
|
|
58
|
-
|
|
59
|
-
|
|
59
|
+
vTraceName: string;
|
|
60
|
+
vTracePrefix: string;
|
|
60
61
|
vCursor: number;
|
|
61
62
|
readonly stack: IContextData[];
|
|
62
63
|
readonly typeSlotName: string;
|
|
@@ -84,4 +85,5 @@ export interface IBuiltInTypeCompiler {
|
|
|
84
85
|
isConstructed(type: string): boolean;
|
|
85
86
|
isElemental(type: string): boolean;
|
|
86
87
|
}
|
|
88
|
+
export declare const RE_VALID_CUSTOM_TYPE_NAME: RegExp;
|
|
87
89
|
//# sourceMappingURL=Internal.d.ts.map
|
package/lib/Internal.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Internal.d.ts","sourceRoot":"","sources":["../src/lib/Internal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,eAAO,MAAM,UAAU,OAAO,CAAC;AAE/B,eAAO,MAAM,WAAW,OAAO,CAAC;AAEhC,eAAO,MAAM,eAAe,OAAO,CAAC;AAEpC,eAAO,MAAM,aAAa,MAAM,CAAC;AAEjC,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAEtC,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC,eAAO,MAAM,cAAc,QAAoB,CAAC;AAEhD,eAAO,MAAM,eAAe,QAAqB,CAAC;AAElD,eAAO,MAAM,gBAAgB,QAAuC,CAAC;AAErE,eAAO,MAAM,iBAAiB,SAAS,CAAC;AAExC,eAAO,MAAM,gBAAgB,UAAU,CAAC;AAExC,oBAAY,MAAM;IAEd,WAAW,IAAA;IACX,MAAM,IAAA;IACN,QAAQ,IAAA;IACR,QAAQ,IAAA;IACR,KAAK,IAAA;CACR;AAED,oBAAY,UAAU;IAElB;;OAEG;IACH,EAAE,IAAA;IAEF;;OAEG;IACH,GAAG,IAAA;IAEH;;OAEG;IACH,OAAO,IAAA;IAEP;;OAEG;IACH,eAAe,IAAA;CAClB;AAED,MAAM,WAAW,YAAY;IAEzB,KAAK,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"Internal.d.ts","sourceRoot":"","sources":["../src/lib/Internal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,eAAO,MAAM,UAAU,OAAO,CAAC;AAE/B,eAAO,MAAM,WAAW,OAAO,CAAC;AAEhC,eAAO,MAAM,eAAe,OAAO,CAAC;AAEpC,eAAO,MAAM,aAAa,MAAM,CAAC;AAEjC,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAEtC,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC,eAAO,MAAM,cAAc,QAAoB,CAAC;AAEhD,eAAO,MAAM,eAAe,QAAqB,CAAC;AAElD,eAAO,MAAM,gBAAgB,QAAuC,CAAC;AAErE,eAAO,MAAM,iBAAiB,SAAS,CAAC;AAExC,eAAO,MAAM,gBAAgB,UAAU,CAAC;AAExC,oBAAY,MAAM;IAEd,WAAW,IAAA;IACX,MAAM,IAAA;IACN,QAAQ,IAAA;IACR,QAAQ,IAAA;IACR,KAAK,IAAA;CACR;AAED,oBAAY,UAAU;IAElB;;OAEG;IACH,EAAE,IAAA;IAEF;;OAEG;IACH,GAAG,IAAA;IAEH;;OAEG;IACH,OAAO,IAAA;IAEP;;OAEG;IACH,eAAe,IAAA;CAClB;AAED,MAAM,WAAW,YAAY;IAEzB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAElC,KAAK,EAAE,MAAM,CAAC;IAEd,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,QAAS,SAAQ,YAAY;IAE1C,UAAU,EAAE,MAAM,CAAC;IAEnB,YAAY,EAAE,MAAM,CAAC;IAErB,OAAO,EAAE,MAAM,CAAC;IAEhB,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC;IAE/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAE9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEhD,IAAI,CAAC,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAElC,MAAM,IAAI,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAE5B,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,GAAG,MAAM,CAAC;CAChD;AAED,MAAM,WAAW,oBAAoB;IAEjC;;;;OAIG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAErC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAE7D;;;;OAIG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAEpC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAErC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CACtC;AAED,eAAO,MAAM,yBAAyB,QAAe,CAAC"}
|