@memberjunction/codegen-lib 5.51.0 → 6.1.0-edge.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.
Files changed (39) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +194 -0
  3. package/dist/Database/codeGenDatabaseProvider.d.ts +15 -0
  4. package/dist/Database/codeGenDatabaseProvider.d.ts.map +1 -1
  5. package/dist/Database/codeGenDatabaseProvider.js.map +1 -1
  6. package/dist/Database/manage-metadata.d.ts +21 -0
  7. package/dist/Database/manage-metadata.d.ts.map +1 -1
  8. package/dist/Database/manage-metadata.js +119 -4
  9. package/dist/Database/manage-metadata.js.map +1 -1
  10. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.d.ts +37 -3
  11. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.d.ts.map +1 -1
  12. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.js +65 -4
  13. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.js.map +1 -1
  14. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.d.ts +2 -0
  15. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.d.ts.map +1 -1
  16. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.js +12 -1
  17. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.js.map +1 -1
  18. package/dist/Database/providers/sqlserver/__tests__/LayeredBaseView.test.d.ts +2 -0
  19. package/dist/Database/providers/sqlserver/__tests__/LayeredBaseView.test.d.ts.map +1 -0
  20. package/dist/Database/providers/sqlserver/__tests__/LayeredBaseView.test.js +252 -0
  21. package/dist/Database/providers/sqlserver/__tests__/LayeredBaseView.test.js.map +1 -0
  22. package/dist/Database/search-guardrails.d.ts +146 -0
  23. package/dist/Database/search-guardrails.d.ts.map +1 -0
  24. package/dist/Database/search-guardrails.js +233 -0
  25. package/dist/Database/search-guardrails.js.map +1 -0
  26. package/dist/Database/sql.d.ts.map +1 -1
  27. package/dist/Database/sql.js +42 -10
  28. package/dist/Database/sql.js.map +1 -1
  29. package/dist/Database/sql_codegen.d.ts +40 -0
  30. package/dist/Database/sql_codegen.d.ts.map +1 -1
  31. package/dist/Database/sql_codegen.js +110 -21
  32. package/dist/Database/sql_codegen.js.map +1 -1
  33. package/dist/Manifest/GenerateClassRegistrationsManifest.d.ts.map +1 -1
  34. package/dist/Manifest/GenerateClassRegistrationsManifest.js +25 -5
  35. package/dist/Manifest/GenerateClassRegistrationsManifest.js.map +1 -1
  36. package/dist/Misc/advanced_generation.d.ts.map +1 -1
  37. package/dist/Misc/advanced_generation.js +8 -1
  38. package/dist/Misc/advanced_generation.js.map +1 -1
  39. package/package.json +38 -35
@@ -1 +1 @@
1
- {"version":3,"file":"SQLServerCodeGenProvider.js","sourceRoot":"","sources":["../../../../src/Database/providers/sqlserver/SQLServerCodeGenProvider.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAmB,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC3G,OAAO,EACH,uBAAuB,GAM1B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAgC,MAAM,6BAA6B,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAClG,OAAO,EAEH,2BAA2B,EAC3B,SAAS,EACT,oBAAoB,GACvB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,MAAM,SAAS,GAAG,IAAI,gBAAgB,EAAE,CAAC;AAEzC;;;;;;;;;;GAUG;AAEI,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,uBAAuB;IACjE,kBAAkB;IAClB,IAAI,OAAO;QACP,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,kBAAkB;IAClB,IAAI,WAAW;QACX,OAAO,WAAW,CAAC;IACvB,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,eAAe;QACjB,YAAY,CAAC,qCAAqC,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,MAAM,eAAe,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,IAAI,2BAA2B,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QACvE,6EAA6E;QAC7E,uEAAuE;QACvE,MAAM,WAAW,GAAG,kBAAkB,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;QACvG,MAAM,QAAQ,GAA0B,MAAM,oBAAoB,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QACvG,MAAM,IAAI,GAAG,IAAI,0BAA0B,CAAC,IAAI,CAAC,CAAC;QAElD,+DAA+D;QAC/D,sEAAsE;QACtE,mEAAmE;QACnE,kCAAkC;QAClC,MAAM,GAAG,GAAG,YAAY,EAAG,CAAC;QAC5B,IAAI,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC;QAChC,IAAI,GAAG,CAAC,IAAI;YAAE,cAAc,IAAI,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC;QAC/C,IAAI,GAAG,CAAC,OAAO,EAAE,YAAY;YAAE,cAAc,IAAI,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC;QACjF,cAAc,IAAI,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC;QAErC,MAAM,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,CAAC;QACzF,MAAM,WAAW,GAAG,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAEpD,cAAc,CAAC,qCAAqC,GAAG,cAAc,CAAC,CAAC;QACvE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC;IACvE,CAAC;IAED,wEAAwE;IAExE;;;;;OAKG;IACH,iBAAiB,CAAC,UAAyD,EAAE,MAAc,EAAE,IAAY;QACrG,QAAQ,UAAU,EAAE,CAAC;YACjB,KAAK,MAAM;gBACP,OAAO,kBAAkB,MAAM,MAAM,IAAI,wCAAwC,MAAM,MAAM,IAAI,QAAQ,CAAC;YAC9G,KAAK,WAAW;gBACZ,OAAO,kBAAkB,MAAM,MAAM,IAAI,6CAA6C,MAAM,MAAM,IAAI,QAAQ,CAAC;YACnH,KAAK,UAAU;gBACX,OAAO,kBAAkB,MAAM,MAAM,IAAI,6CAA6C,MAAM,MAAM,IAAI,QAAQ,CAAC;YACnH,KAAK,SAAS;gBACV,OAAO,kBAAkB,MAAM,MAAM,IAAI,4CAA4C,MAAM,MAAM,IAAI,QAAQ,CAAC;YAClH;gBACI,OAAO,2BAA2B,UAAU,EAAE,CAAC;QACvD,CAAC;IACL,CAAC;IAED,wEAAwE;IAExE;;;;;;OAMG;IACH,gBAAgB,CAAC,OAAkC;QAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC5E,MAAM,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/D,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,KAAK,MAAM;YAC5C,CAAC,CAAC,cAAc,KAAK,KAAK,UAAU,CAAC,kBAAkB,aAAa;YACpE,CAAC,CAAC,EAAE,CAAC;QAET,OAAO;;mCAEoB,MAAM,CAAC,IAAI;mCACX,MAAM,CAAC,UAAU;mCACjB,MAAM,CAAC,SAAS;mCAChB,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;iBAElE,MAAM,CAAC,UAAU,MAAM,QAAQ;iBAC/B,MAAM,CAAC,UAAU,MAAM,QAAQ;;;eAGjC,MAAM,CAAC,UAAU,MAAM,QAAQ;;;MAGxC,KAAK,KAAK,OAAO,CAAC,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,mBAAmB,GAAG,OAAO,CAAC,gBAAgB;;OAEhJ,MAAM,CAAC,UAAU,MAAM,MAAM,CAAC,SAAS,QAAQ,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,SAAS;EAC3M,WAAW,IAAI,CAAC;IACd,CAAC;IAED,wEAAwE;IAExE;;;;;;;;;;;;;OAaG;IACH,kBAAkB,CAAC,MAAkB;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACpE,MAAM,WAAW,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAE3E,IAAI,aAAa,GAAG,EAAE,CAAC;QACvB,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,oBAAoB,GAAG,EAAE,CAAC;QAC9B,IAAI,mBAAmB,GAAG,EAAE,CAAC;QAC7B,IAAI,mBAAmB,GAAG,EAAE,CAAC;QAE7B,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC;YACzB,oBAAoB,GAAG,kBAAkB,MAAM,CAAC,UAAU,MAAM,MAAM,CAAC,QAAQ,YAAY,QAAQ,CAAC,IAAI,sBAAsB,CAAC;QACnI,CAAC;aAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,kBAAkB,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtG,MAAM,eAAe,GAAG,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;YAEzF,IAAI,eAAe,EAAE,CAAC;gBAClB,qEAAqE;gBACrE,8DAA8D;gBAC9D,0EAA0E;gBAC1E,MAAM,SAAS,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;gBAClF,MAAM,SAAS,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;gBACnF,MAAM,cAAc,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;gBACnD,MAAM,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjE,MAAM,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;gBAEjE,aAAa,GAAG,gCAAgC,QAAQ,CAAC,IAAI;;UAEnE,QAAQ,CAAC,IAAI;;;uBAGA,MAAM,CAAC,UAAU,MAAM,MAAM,CAAC,SAAS;;mBAE3C,QAAQ,CAAC,IAAI,IAAI,YAAY,GAAG,SAAS;;2BAEjC,QAAQ,CAAC,IAAI;;;mBAGrB,QAAQ,CAAC,IAAI,GAAG,YAAY,GAAG,SAAS;;;;;;uBAMpC,MAAM,CAAC,UAAU,MAAM,MAAM,CAAC,SAAS;;kBAE5C,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,GAAG;;2BAExC,QAAQ,CAAC,IAAI;;;kBAGtB,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;;QAEhD,CAAC;gBAEO,mBAAmB,GAAG,EAAE,CAAC;gBACzB,mBAAmB,GAAG,EAAE,CAAC;gBACzB,UAAU,GAAG,EAAE,CAAC;gBAChB,oBAAoB,GAAG,kBAAkB,MAAM,CAAC,UAAU,MAAM,MAAM,CAAC,QAAQ,YAAY,QAAQ,CAAC,IAAI,gBAAgB,QAAQ,CAAC,IAAI,sBAAsB,CAAC;YAChK,CAAC;iBAAM,CAAC;gBACJ,8DAA8D;gBAC9D,8DAA8D;gBAC9D,iDAAiD;gBACjD,aAAa,GAAG,gDAAgD,QAAQ,CAAC,IAAI,YAAY,CAAC;gBAC1F,mBAAmB,GAAG,GAAG,GAAG,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC;gBAChD,mBAAmB,GAAG,WAAW,CAAC;gBAClC,UAAU,GAAG,EAAE,CAAC;gBAChB,oBAAoB,GAAG,kBAAkB,MAAM,CAAC,UAAU,MAAM,MAAM,CAAC,QAAQ,YAAY,QAAQ,CAAC,IAAI,eAAe,CAAC;YAC5H,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,kFAAkF;YAClF,kFAAkF;YAClF,uFAAuF;YACvF,kFAAkF;YAClF,oFAAoF;YACpF,oFAAoF;YACpF,kDAAkD;YAClD,MAAM,SAAS,GAAa,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAa,EAAE,CAAC;YAC9B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;gBACjC,SAAS,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;gBACnC,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;YACpC,CAAC;YACD,mBAAmB,GAAG,SAAS,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAC5D,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAC3D,oBAAoB,GAAG,kBAAkB,MAAM,CAAC,UAAU,MAAM,MAAM,CAAC,QAAQ,UAAU,CAAC;YAC1F,IAAI,OAAO,GAAG,IAAI,CAAC;YACnB,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;gBACjC,IAAI,CAAC,OAAO;oBAAE,oBAAoB,IAAI,OAAO,CAAC;gBAC9C,oBAAoB,IAAI,IAAI,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACvD,OAAO,GAAG,KAAK,CAAC;YACpB,CAAC;QACL,CAAC;QAED,iFAAiF;QACjF,oEAAoE;QACpE,gFAAgF;QAChF,oFAAoF;QACpF,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YACzC,MAAM,YAAY,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;YACrF,MAAM,WAAW,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YACrF,MAAM,cAAc,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;YACtD,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;YAElE,IAAI,UAAkB,CAAC;YACvB,IAAI,SAAiB,CAAC;YACtB,IAAI,cAAc,IAAI,mBAAmB,EAAE,CAAC;gBACxC,UAAU,GAAG,GAAG,YAAY,sBAAsB,mBAAmB,EAAE,CAAC;gBACxE,SAAS,GAAG,GAAG,WAAW,sBAAsB,mBAAmB,EAAE,CAAC;YAC1E,CAAC;iBAAM,IAAI,mBAAmB,EAAE,CAAC;gBAC7B,UAAU,GAAG,mBAAmB,CAAC;gBACjC,SAAS,GAAG,mBAAmB,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACJ,UAAU,GAAG,YAAY,CAAC;gBAC1B,SAAS,GAAG,WAAW,CAAC;YAC5B,CAAC;YAED,WAAW,GAAG;;OAEnB,MAAM,CAAC,UAAU,MAAM,MAAM,CAAC,SAAS;;cAEhC,UAAU;;MAElB,UAAU;;cAEF,SAAS;UACb,CAAC;QACH,CAAC;QAED,OAAO;;6BAEc,MAAM,CAAC,SAAS;;iBAE5B,MAAM,CAAC,UAAU,MAAM,MAAM;sBACxB,MAAM,CAAC,UAAU,MAAM,MAAM;;;oBAG/B,MAAM,CAAC,UAAU,MAAM,MAAM;MAC3C,QAAQ;;;;MAIR,aAAa,GAAG,WAAW;;MAE3B,oBAAoB;;IAEtB,WAAW;KACV,CAAC;IACF,CAAC;IAED;;;;;;;OAOG;IACH,kBAAkB,CAAC,MAAkB;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACzD,MAAM,aAAa,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACxE,MAAM,WAAW,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC3E,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,UAAU,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,SAAS,CAAC;QACpJ,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxF,MAAM,YAAY,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACnE,MAAM,mBAAmB,GAAG;;;2CAGO,MAAM,CAAC,UAAU,MAAM,MAAM,CAAC,QAAQ;;0CAEvC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;qCAC9E,CAAC;QAE9B,gFAAgF;QAChF,mFAAmF;QACnF,mEAAmE;QACnE,MAAM,kBAAkB,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;QAE1D,MAAM,MAAM,GAAG,kBAAkB;YAC7B,CAAC,CAAC;WACH,MAAM,CAAC,UAAU,MAAM,MAAM,CAAC,SAAS;;UAExC,YAAY;;UAEZ,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;;;;;+BAKpD,MAAM,CAAC,UAAU,MAAM,MAAM,CAAC,QAAQ;;;UAG3D,mBAAmB,EAAE;YACnB,CAAC,CAAC;MACR,mBAAmB,EAAE,CAAC;QAEpB,OAAO;;6BAEc,MAAM,CAAC,SAAS;;iBAE5B,MAAM,CAAC,UAAU,MAAM,MAAM;sBACxB,MAAM,CAAC,UAAU,MAAM,MAAM;;;oBAG/B,MAAM,CAAC,UAAU,MAAM,MAAM;MAC3C,aAAa;;;;EAIjB,MAAM;;;EAGN,WAAW;;EAEX,gBAAgB;SACT,CAAC;IACN,CAAC;IAED;;;;;;OAMG;IACH,kBAAkB,CAAC,MAAkB,EAAE,UAAkB;QACrD,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACzD,MAAM,WAAW,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC3E,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACjC,IAAI,UAAU,KAAK,EAAE;gBAAE,UAAU,IAAI,IAAI,CAAC;YAC1C,UAAU,IAAI,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAChD,IAAI,OAAO,KAAK,EAAE;gBAAE,OAAO,IAAI,IAAI,CAAC;YACpC,OAAO,IAAI,IAAI,CAAC,CAAC,QAAQ,QAAQ,CAAC,CAAC,IAAI,GAAG,CAAC;QAC/C,CAAC;QAED,IAAI,UAAU,GAAG;UACf,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;CAClF,CAAC;QACM,IAAI,MAAM,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;YAC/B,UAAU,GAAG;WACd,MAAM,CAAC,UAAU,MAAM,MAAM,CAAC,SAAS;EAChD,UAAU,EAAE,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,UAAU,GAAG;WACd,MAAM,CAAC,UAAU,MAAM,MAAM,CAAC,SAAS;;UAExC,UAAU,CAAC,kBAAkB;EACrC,UAAU,eAAe,UAAU,CAAC,kBAAkB,oFAAoF,CAAC;QACrI,CAAC;QAED,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACjC,IAAI,WAAW,KAAK,EAAE;gBAAE,WAAW,IAAI,IAAI,CAAC;YAC5C,WAAW,IAAI,YAAY,CAAC,CAAC,IAAI,GAAG,CAAC;QACzC,CAAC;QAED,OAAO;;6BAEc,MAAM,CAAC,SAAS;;iBAE5B,MAAM,CAAC,UAAU,MAAM,MAAM;sBACxB,MAAM,CAAC,UAAU,MAAM,MAAM;;;oBAG/B,MAAM,CAAC,UAAU,MAAM,MAAM;MAC3C,UAAU;;;qBAGK,UAAU;;EAE7B,UAAU;;;;iBAIK,WAAW;;iBAEX,OAAO;;IAEpB,WAAW;KACV,CAAC;IACF,CAAC;IAED,wEAAwE;IAExE;;;;;;OAMG;IACH,wBAAwB,CAAC,MAAkB;QACvC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,UAAU,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QACnI,IAAI,CAAC,cAAc;YAAE,OAAO,EAAE,CAAC;QAE/B,OAAO;;oBAEK,UAAU,CAAC,kBAAkB,kBAAkB,MAAM,CAAC,SAAS;;iBAElE,MAAM,CAAC,UAAU,eAAe,MAAM,CAAC,iBAAiB;oBACrD,MAAM,CAAC,UAAU,eAAe,MAAM,CAAC,iBAAiB;;kBAE1D,MAAM,CAAC,UAAU,cAAc,MAAM,CAAC,iBAAiB;MACnE,MAAM,CAAC,UAAU,MAAM,MAAM,CAAC,SAAS;;;;;;WAMlC,MAAM,CAAC,UAAU,MAAM,MAAM,CAAC,SAAS;;UAExC,UAAU,CAAC,kBAAkB;;WAE5B,MAAM,CAAC,UAAU,MAAM,MAAM,CAAC,SAAS;;;UAGxC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;;GAE7F,CAAC;IACA,CAAC;IAED,wEAAwE;IAExE;;;;;OAKG;IACO,UAAU,CAAC,MAAkB;QACnC,OAAO,MAAM,CAAC,iBAAiB,CAAC;IACpC,CAAC;IAES,WAAW,CAAC,CAAkB;QACpC,OAAO,CAAC,CAAC,QAAQ,CAAC;IACtB,CAAC;IAES,oBAAoB,CAAC,MAAkB,EAAE,CAAkB,EAAE,SAAiB;QACpF,qFAAqF;QACrF,oFAAoF;QACpF,kFAAkF;QAClF,+DAA+D;QAC/D,OAAO,4BAA4B,CAAC,CAAC,IAAI,aAAa,MAAM,CAAC,SAAS;;;;oBAI1D,SAAS;kCACK,MAAM,CAAC,UAAU,MAAM,MAAM,CAAC,SAAS;;eAE1D,SAAS,QAAQ,MAAM,CAAC,UAAU,MAAM,MAAM,CAAC,SAAS,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC;IACtF,CAAC;IAED,wEAAwE;IAExE;;;;;;;;;;;;OAYG;IACH,sBAAsB,CAAC,MAAkB,EAAE,YAA+B,EAAE,mBAA2B;QACnG,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,MAAM,WAAW,GAAG,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC;YAC3E,CAAC,CAAC,MAAM,CAAC,eAAe;YACxB,CAAC,CAAC,UAAU,GAAG,kBAAkB,CAAC;QAEtC,IAAI,MAAM,CAAC,wBAAwB,EAAE,CAAC;YAClC,GAAG,IAAI;;wEAEqD,WAAW;;8CAErC,WAAW;;KAEpD,CAAC;QACE,CAAC;QAED,IAAI,MAAM,CAAC,sBAAsB,EAAE,CAAC;YAChC,MAAM,cAAc,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,qBAAqB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxF,GAAG,IAAI;;;mDAGgC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,SAAS;;;8CAG1C,MAAM,CAAC,UAAU,MAAM,MAAM,CAAC,SAAS;;;;;;mDAMlC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,SAAS;;;gDAGxC,MAAM,CAAC,UAAU,MAAM,MAAM,CAAC,SAAS;uBAChE,cAAc;gCACL,mBAAmB;yBAC1B,WAAW;;;KAG/B,CAAC;QACE,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,CAAC,sBAAsB,IAAI,MAAM,CAAC,sBAAsB,CAAC,MAAM,GAAG,CAAC;YAC1F,CAAC,CAAC,MAAM,CAAC,sBAAsB;YAC/B,CAAC,CAAC,WAAW,MAAM,CAAC,QAAQ,EAAE,CAAC;QAEnC,IAAI,MAAM,CAAC,+BAA+B,EAAE,CAAC;YACzC,MAAM,oBAAoB,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClF,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9E,GAAG,IAAI;gCACa,MAAM,CAAC,UAAU,IAAI,YAAY;oCAC7B,MAAM,CAAC,UAAU,IAAI,YAAY;;kCAEnC,MAAM,CAAC,UAAU,IAAI,YAAY;;;;6BAItC,QAAQ;4BACT,MAAM,CAAC,UAAU,MAAM,MAAM,CAAC,SAAS;sCAC7B,oBAAoB;;;KAGrD,CAAC;QACE,CAAC;QAED,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC;IACjC,CAAC;IAED,wEAAwE;IAExE;;;;;;;;OAQG;IACH,sBAAsB,CAAC,MAAkB,EAAE,KAAsB;QAC7D,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC;QAC/C,MAAM,cAAc,GAAG,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC;QAC1D,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACrC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QACnC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;QAC7B,MAAM,YAAY,GAAG,KAAK,MAAM,CAAC,SAAS,GAAG,SAAS,YAAY,CAAC;QAEnE,OAAO;+BACgB,SAAS,MAAM,SAAS;;iBAEtC,UAAU,MAAM,YAAY;qBACxB,UAAU,MAAM,YAAY;;;mBAG9B,UAAU,MAAM,YAAY;;gBAE/B,cAAc;gBACd,cAAc;;;;;;;;eAQf,UAAU;eACV,SAAS;eACT,UAAU;;;eAGV,UAAU,MAAM,SAAS;;eAEzB,UAAU;;;;;iBAKR,UAAU;iBACV,SAAS;iBACT,UAAU;;;eAGZ,UAAU,MAAM,SAAS;;qCAEH,UAAU,UAAU,SAAS;;;;;;;;;WASvD,SAAS;;;;;CAKnB,CAAC;IACE,CAAC;IAED,kBAAkB;IAClB,uBAAuB,CAAC,OAAmB,EAAE,KAAsB,EAAE,KAAa;QAC9E,MAAM,aAAa,GAAG,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;QAC1C,OAAO,GAAG,KAAK,eAAe,aAAa,GAAG,CAAC;IACnD,CAAC;IAED;;;;OAIG;IACH,qBAAqB,CAAC,MAAkB,EAAE,KAAsB,EAAE,KAAa;QAC3E,MAAM,kBAAkB,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5E,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACrC,MAAM,YAAY,GAAG,KAAK,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,YAAY,CAAC;QACpE,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC;QAC/C,OAAO,qBAAqB,UAAU,MAAM,YAAY,MAAM,kBAAkB,MAAM,UAAU,OAAO,kBAAkB,MAAM,KAAK,CAAC,IAAI,SAAS,KAAK,EAAE,CAAC;IAC9J,CAAC;IAED,wEAAwE;IAExE,kBAAkB;IAClB,uBAAuB,CAAC,MAAkB;QACtC,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YAClC,IAAI,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9C,OAAO,IAAI,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,oBAAoB,MAAM,CAAC,UAAU,MAAM,MAAM,CAAC,QAAQ,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,WAAW,GAAG,CAAC;YACnI,CAAC;QACL,CAAC;QACD,OAAO,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;IAClD,CAAC;IAED;;;;OAIG;IACH,uBAAuB,CAAC,MAAkB,EAAE,WAAmB,EAAE,IAAc;QAC3E,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YAClC,IAAI,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9C,MAAM,aAAa,GACf,CAAC,IAAI,KAAK,QAAQ,IAAI,EAAE,CAAC,SAAS,CAAC;oBACnC,CAAC,IAAI,KAAK,QAAQ,IAAI,EAAE,CAAC,SAAS,CAAC;oBACnC,CAAC,IAAI,KAAK,QAAQ,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC;gBAExC,IAAI,aAAa,EAAE,CAAC;oBAChB,OAAO,IAAI,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,qBAAqB,MAAM,CAAC,UAAU,MAAM,WAAW,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,WAAW,GAAG,CAAC;gBAChI,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;IAClD,CAAC;IAED,kBAAkB;IAClB,iCAAiC,CAAC,MAAkB,EAAE,YAAoB;QACtE,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YAClC,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;gBACb,IAAI,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC9C,OAAO,IAAI,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,oBAAoB,MAAM,CAAC,UAAU,MAAM,YAAY,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,WAAW,GAAG,CAAC;gBAChI,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;IAClD,CAAC;IAED,wEAAwE;IAExE,kBAAkB;IAClB,8BAA8B,CAAC,OAA6B;QACxD,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;QAEpE,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,2BAA2B,CAAC,YAAY,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;QAClF,CAAC;QACD,OAAO,IAAI,CAAC,2BAA2B,CAAC,YAAY,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;IAClF,CAAC;IAED;;;OAGG;IACK,2BAA2B,CAAC,YAAwB,EAAE,aAAyB,EAAE,OAAwB;QAC7G,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3D,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,YAAY,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;QAC1F,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAChE,MAAM,cAAc,GAAG,GAAG,aAAa,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACvE,MAAM,YAAY,GAAG,IAAI,CAAC,yBAAyB,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;QACnF,MAAM,UAAU,GAAG,kBAAkB,aAAa,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,SAAS,CAAC;QAEzF,OAAO;6BACc,aAAa,CAAC,SAAS,yBAAyB,MAAM;cACrE,YAAY,CAAC,eAAe;cAC5B,UAAU;iBACP,YAAY,CAAC,YAAY;eAC3B,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC;gBACpD,WAAW;;WAEhB,UAAU;sBACC,UAAU,SAAS,YAAY,CAAC,SAAS;;;;eAIhD,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,YAAY,CAAC,aAAa;;0BAEvD,UAAU,SAAS,YAAY,CAAC,SAAS;;;YAGvD,UAAU;iBACL,UAAU,EAAE,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACK,2BAA2B,CAAC,YAAwB,EAAE,aAAyB,EAAE,OAAwB;QAC7G,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3D,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,YAAY,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;QAC1F,MAAM,cAAc,GAAG,GAAG,aAAa,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACvE,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAChE,MAAM,YAAY,GAAG,IAAI,CAAC,2BAA2B,CAAC,aAAa,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;QAC9F,MAAM,UAAU,GAAG,kBAAkB,aAAa,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,SAAS,CAAC;QAEzF,OAAO;2BACY,aAAa,CAAC,SAAS,yBAAyB,MAAM;MAC3E,YAAY,CAAC,YAAY;cACjB,UAAU;iBACP,YAAY,CAAC,YAAY;eAC3B,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC;gBACpD,WAAW;;WAEhB,UAAU;sBACC,UAAU,SAAS,YAAY,CAAC,SAAS;;;;;eAKhD,cAAc,IAAI,OAAO,CAAC,QAAQ;;;eAGlC,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,YAAY,CAAC,SAAS;;0BAEnD,UAAU,SAAS,YAAY,CAAC,SAAS;;;YAGvD,UAAU;iBACL,UAAU,EAAE,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACK,2BAA2B,CAAC,MAAkB,EAAE,OAAwB,EAAE,SAAiB,EAAE;QAMjG,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3D,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,SAAS,GAAG,EAAE,CAAC;QAEnB,MAAM,SAAS,GAAG,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC;QAE5C,6DAA6D;QAC7D,MAAM,YAAY,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAEvE,0DAA0D;QAC1D,iFAAiF;QACjF,YAAY,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEhH,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC;QACzC,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC;QACnC,SAAS,GAAG,YAAY,CAAC,aAAa,CAAC;QAEvC,uDAAuD;QACvD,MAAM,YAAY,GAAG,0BAA0B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/D,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;YAC5B,IAAI,CAAC,EAAE,CAAC,YAAY,IAAI,CAAC,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC,cAAc,IAAI,CAAC,EAAE,CAAC,aAAa,IAAI,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC;gBACxG,IAAI,YAAY,KAAK,EAAE;oBACnB,YAAY,IAAI,QAAQ,CAAC;gBAC7B,YAAY,IAAI,YAAY,SAAS,IAAI,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBAEzE,IAAI,YAAY,KAAK,EAAE;oBACnB,YAAY,IAAI,IAAI,CAAC;gBACzB,YAAY,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;gBAE5B,IAAI,SAAS,KAAK,EAAE;oBAChB,SAAS,IAAI,IAAI,CAAC;gBACtB,SAAS,IAAI,IAAI,SAAS,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;gBAE5C,IAAI,SAAS,KAAK,EAAE;oBAChB,SAAS,IAAI,IAAI,CAAC;gBAEtB,gEAAgE;gBAChE,kEAAkE;gBAClE,kEAAkE;gBAClE,sEAAsE;gBACtE,MAAM,gBAAgB,GAAG,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC;gBAClD,MAAM,UAAU,GAAG,IAAI,CAAC,sBAAsB,CAAC,EAAE,EAAE,IAAI,SAAS,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,gBAAgB,CAAC,CAAC;gBACrG,SAAS,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvC,CAAC;QACL,CAAC;QAED,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;IAChE,CAAC;IAED,wEAAwE;IAExE;;;;;;OAMG;IACH,wBAAwB,CAAC,MAAc,EAAE,SAAiB;QACtD,MAAM,SAAS,GAAG,UAAU,CAAC,kBAAkB,CAAC;QAChD,MAAM,SAAS,GAAG,UAAU,CAAC,kBAAkB,CAAC;QAChD,OAAO;YACH,gBAAgB,MAAM,MAAM,SAAS,UAAU,SAAS,2BAA2B,SAAS,uBAAuB;YACnH,WAAW,MAAM,MAAM,SAAS,UAAU,SAAS,sBAAsB,SAAS,2BAA2B,SAAS,WAAW;YACjI,gBAAgB,MAAM,MAAM,SAAS,mBAAmB,SAAS,2BAA2B;YAC5F,gBAAgB,MAAM,MAAM,SAAS,mBAAmB,SAAS,2BAA2B;YAC5F,gBAAgB,MAAM,MAAM,SAAS,wBAAwB,MAAM,IAAI,kBAAkB,CAAC,SAAS,CAAC,IAAI,SAAS,+BAA+B,SAAS,GAAG;YAC5J,gBAAgB,MAAM,MAAM,SAAS,wBAAwB,MAAM,IAAI,kBAAkB,CAAC,SAAS,CAAC,IAAI,SAAS,+BAA+B,SAAS,GAAG;SAC/J,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC;IAED,wEAAwE;IAExE,wEAAwE;IAExE,kBAAkB;IAClB,kBAAkB,CAAC,MAAkB,EAAE,IAAc;QACjD,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,QAAQ;gBACT,OAAO,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,GAAG,MAAM,CAAC,iBAAiB,CAAC;YACnH,KAAK,QAAQ;gBACT,OAAO,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,GAAG,MAAM,CAAC,iBAAiB,CAAC;YACnH,KAAK,QAAQ;gBACT,OAAO,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,GAAG,MAAM,CAAC,iBAAiB,CAAC;QACvH,CAAC;IACL,CAAC;IAED,wEAAwE;IAExE,kBAAkB;IAClB,qBAAqB,CAAC,MAAkB,EAAE,QAAgB;QACtD,OAAO;;aAEF,MAAM,CAAC,IAAI;WACb,QAAQ;;;;;CAKlB,CAAC;IACE,CAAC;IAED,kBAAkB;IAClB,gCAAgC;QAC5B,OAAO;;;;;;;;;;CAUd,CAAC;IACE,CAAC;IAED,wEAAwE;IAExE;;;;;;;OAOG;IACH,kBAAkB,CAAC,YAAoB,EAAE,WAAoB;QACzD,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpD,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,IAAI,YAAY,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC;QACvC,MAAM,UAAU,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;QAE9C,MAAM,YAAY,GAAG;YACjB,SAAS,EAAE,mBAAmB,EAAE,WAAW,EAAE,cAAc;YAC3D,eAAe,EAAE,qBAAqB,EAAE,mBAAmB;YAC3D,aAAa,EAAE,cAAc,EAAE,aAAa;SAC/C,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAC9B,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5B,IAAI,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC7D,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACtE,CAAC;gBACD,OAAO,YAAY,CAAC;YACxB,CAAC;QACL,CAAC;QAED,IAAI,UAAU,GAAG,YAAY,CAAC;QAC9B,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACzD,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YACd,OAAO,IAAI,UAAU,GAAG,CAAC;QAC7B,CAAC;QAED,OAAO,UAAU,CAAC;IACtB,CAAC;IAED;;;;;;;;;;;OAWG;IACH,yBAAyB,CAAC,MAAkB,EAAE,MAAe;QAMzD,IAAI,eAAe,GAAG,EAAE,CAAC;QACzB,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,aAAa,GAAG,EAAE,CAAC;QAEvB,MAAM,SAAS,GAAG,MAAM,IAAI,SAAS,CAAC;QAEtC,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YAClC,IAAI,eAAe,KAAK,EAAE;gBAAE,eAAe,IAAI,IAAI,CAAC;YACpD,eAAe,IAAI,IAAI,SAAS,GAAG,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAEnE,IAAI,YAAY,KAAK,EAAE;gBAAE,YAAY,IAAI,IAAI,CAAC;YAC9C,YAAY,IAAI,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC;YAE/B,IAAI,SAAS,KAAK,EAAE;gBAAE,SAAS,IAAI,IAAI,CAAC;YACxC,SAAS,IAAI,IAAI,SAAS,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;YAE3C,IAAI,aAAa,KAAK,EAAE;gBAAE,aAAa,IAAI,IAAI,CAAC;YAChD,aAAa,IAAI,IAAI,EAAE,CAAC,QAAQ,OAAO,SAAS,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;QACrE,CAAC;QAED,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;IACvE,CAAC;IAED,wEAAwE;IAExE,kBAAkB;IAClB,oBAAoB,CAAC,MAAc,EAAE,QAAgB;QACjD,OAAO,wCAAwC,MAAM,MAAM,QAAQ,wBAAwB,CAAC;IAChG,CAAC;IAED;;;;OAIG;IACH,yBAAyB,CAAC,MAAc,EAAE,SAAiB;QACvD,OAAO;;;;;;;;;;oBAUK,SAAS;mCACM,MAAM;uBAClB,CAAC;IACpB,CAAC;IAED;;;;;;OAMG;IACH,oCAAoC,CAAC,MAAc,EAAE,SAAiB,EAAE,UAAkB;QACtF,OAAO;;;;;;8BAMe,MAAM;8BACN,SAAS;;;;;;;oCAOH,UAAU;;;;;wDAKU,CAAC;IACrD,CAAC;IAED,kBAAkB;IAClB,2BAA2B,CAAC,MAAc,EAAE,SAAiB,EAAE,SAAiB;QAC5E,OAAO;;oBAEK,SAAS;kCACK,MAAM,MAAM,SAAS,KAAK,CAAC;IACzD,CAAC;IAED,oEAAoE;IAEpE;;;;OAIG;IACH,cAAc,CAAC,MAAc,EAAE,WAAmB,EAAE,MAAgB,EAAE,UAAqB;QACvF,MAAM,aAAa,GAAG,IAAI,MAAM,MAAM,WAAW,GAAG,CAAC;QACrD,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,QAAQ,aAAa,EAAE,CAAC;QACnC,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YACrC,IAAI,UAAU,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9B,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;YACtC,CAAC;YACD,OAAO,GAAG,CAAC;QACf,CAAC,CAAC,CAAC;QACH,OAAO,QAAQ,aAAa,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAC5D,CAAC;IAED,oEAAoE;IAEpE,kBAAkB;IAClB,oBAAoB,CAAC,UAAkB,EAAE,SAAiB;QACtD,OAAO,0BAA0B,UAAU,2BAA2B,SAAS,UAAU,CAAC;IAC9F,CAAC;IAED,kBAAkB;IAClB,2BAA2B,CAAC,gBAAwB;QAChD,OAAO;YACH,MAAM,EAAE,kBAAkB,gBAAgB,SAAS;YACnD,MAAM,EAAE,KAAK;SAChB,CAAC;IACN,CAAC;IAED,oEAAoE;IAEpE,kBAAkB;IAClB,YAAY,CAAC,MAAc,EAAE,SAAiB,EAAE,UAAkB,EAAE,QAAgB,EAAE,QAAiB,EAAE,iBAA0B;QAC/H,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;QAClD,MAAM,aAAa,GAAG,iBAAiB,CAAC,CAAC,CAAC,YAAY,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAE/E,IAAI,CAAC,QAAQ,IAAI,iBAAiB,IAAI,QAAQ,CAAC,WAAW,EAAE,KAAK,gBAAgB,EAAE,CAAC;YAChF,kFAAkF;YAClF,sFAAsF;YACtF,+EAA+E;YAC/E,iFAAiF;YACjF,qFAAqF;YACrF,4DAA4D;YAC5D,MAAM,cAAc,GAAG,MAAM,MAAM,IAAI,kBAAkB,CAAC,SAAS,CAAC,IAAI,UAAU,EAAE,CAAC;YACrF,OAAO;gBACH,gBAAgB,MAAM,MAAM,SAAS,UAAU,UAAU,KAAK,QAAQ,OAAO;gBAC7E,WAAW,MAAM,MAAM,SAAS,UAAU,UAAU,OAAO,iBAAiB,WAAW,UAAU,WAAW;gBAC5G,gBAAgB,MAAM,MAAM,SAAS,mBAAmB,UAAU,KAAK,QAAQ,WAAW;gBAC1F,gBAAgB,MAAM,MAAM,SAAS,qBAAqB,cAAc,aAAa,iBAAiB,SAAS,UAAU,GAAG;aAC/H,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,gBAAgB,MAAM,MAAM,SAAS,UAAU,UAAU,KAAK,QAAQ,IAAI,UAAU,GAAG,aAAa,EAAE,CAAC;IAClH,CAAC;IAED,kBAAkB;IAClB,gCAAgC,CAAC,MAAc,EAAE,SAAiB,EAAE,UAAkB,EAAE,QAAgB,EAAE,QAAiB;QACvH,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;QAClD,OAAO,gBAAgB,MAAM,MAAM,SAAS,mBAAmB,UAAU,KAAK,QAAQ,IAAI,UAAU,EAAE,CAAC;IAC3G,CAAC;IAED,kBAAkB;IAClB,uBAAuB,CAAC,MAAc,EAAE,SAAiB,EAAE,UAAkB,EAAE,iBAAyB;QACpG,MAAM,cAAc,GAAG,MAAM,MAAM,IAAI,kBAAkB,CAAC,SAAS,CAAC,IAAI,UAAU,EAAE,CAAC;QACrF,OAAO,gBAAgB,MAAM,MAAM,SAAS,qBAAqB,cAAc,aAAa,iBAAiB,SAAS,UAAU,GAAG,CAAC;IACxI,CAAC;IAED;;;;;;;OAOG;IACH,wBAAwB,CAAC,MAAc,EAAE,SAAiB,EAAE,UAAkB;QAC1E,OAAO;;;;;;;kBAOG,MAAM;gBACR,SAAS;gBACT,UAAU;;;;yBAID,MAAM,MAAM,SAAS;IAC1C,CAAC;IACD,CAAC;IAED,kBAAkB;IAClB,aAAa,CAAC,UAA6C,EAAE,MAAc,EAAE,IAAY;QACrF,MAAM,QAAQ,GAAG,UAAU,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QACvF,OAAO,kBAAkB,MAAM,MAAM,IAAI,QAAQ,QAAQ,4BAA4B,UAAU,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC;IAC5H,CAAC;IAED,oEAAoE;IAEpE,kBAAkB;IAClB,gBAAgB;QACZ,OAAO,oGAAoG,CAAC;IAChH,CAAC;IAED;;;;;OAKG;IACH,iBAAiB,CAAC,MAAc,EAAE,QAAgB;QAC9C,OAAO;;;;;;;;;;;;;;;;gBAgBC,MAAM;oBACF,QAAQ;;gBAEZ,CAAC;IACb,CAAC;IAED,oEAAoE;IAEpE,kBAAkB;IAClB,IAAI,aAAa;QACb,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,kBAAkB;IAClB,gBAAgB,CAAC,QAAgB,EAAE,QAAgB;QAC/C,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3E,CAAC;IAED,oEAAoE;IAEpE,kBAAkB;IAClB,yBAAyB;QACrB,OAAO,EAAE,CAAC;IACd,CAAC;IAED,kBAAkB;IAClB,IAAI,gBAAgB;QAChB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kBAAkB;IAClB,sBAAsB,CAAC,MAAc,EAAE,QAAgB;QACnD,OAAO,wBAAwB,MAAM,IAAI,QAAQ,IAAI,CAAC;IAC1D,CAAC;IAED,kBAAkB;IAClB,wBAAwB,CAAC,MAAc,EAAE,QAAgB;QACrD,OAAO,wBAAwB,MAAM,MAAM,QAAQ,GAAG,CAAC;IAC3D,CAAC;IAED,kBAAkB;IAClB,IAAI,+BAA+B;QAC/B,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,oEAAoE;IAEpE,kBAAkB;IAClB,oBAAoB,CAAC,GAAW;QAC5B,OAAO,GAAG,CAAC;IACf,CAAC;IAED,oEAAoE;IAEpE;;;;;;;;;;OAUG;IACH,uBAAuB,CAAC,eAAuB;QAC3C,IAAI,eAAe,KAAK,IAAI,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;YAC5D,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,MAAM,GAAG,IAAI,CAAC,wBAAwB,CAAC,eAAe,CAAC,CAAC;QAC5D,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACxC,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;OAGG;IACK,wBAAwB,CAAC,KAAa;QAC1C,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;OAGG;IACK,kBAAkB,CAAC,KAAa;QACpC,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9D,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;OAGG;IACK,iBAAiB,CAAC,KAAa;QACnC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,oEAAoE;IAEpE;;;;;;;;;;;OAWG;IACH,yBAAyB,CAAC,YAAoB,EAAE,SAAoB;QAChE,OAAO,IAAI,CAAC,4BAA4B,CAAC,YAAY,CAAC;YAClD,IAAI,CAAC,2BAA2B,CAAC,YAAY,EAAE,SAAS,CAAC;YACzD,IAAI,CAAC,yBAAyB,EAAE,CAAC;IACzC,CAAC;IAED;;;OAGG;IACK,4BAA4B,CAAC,MAAc;QAC/C,OAAO;;;;;;;;;;QAUP,MAAM;;;;QAIN,MAAM;;;;QAIN,MAAM;CACb,CAAC;IACE,CAAC;IAED;;;;OAIG;IACK,2BAA2B,CAAC,MAAc,EAAE,SAAoB;QACpE,mFAAmF;QACnF,mFAAmF;QACnF,oEAAoE;QACpE,MAAM,WAAW,GAAG,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;YACjD,CAAC,CAAC,uBAAuB,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;YACpE,CAAC,CAAC,EAAE,CAAC;QACT,OAAO;;;;;SAKN,MAAM;;;;;;;;;;;;;;;;;qDAiBsC,UAAU,CAAC,kBAAkB;qDAC7B,UAAU,CAAC,kBAAkB;qDAC7B,UAAU,CAAC,kBAAkB;;;;;;;;;;;;;;;;;SAiBzE,MAAM;;;;SAIN,MAAM;;;;;SAKN,MAAM;;;;;;;;;QASP,WAAW;;;;;;CAMlB,CAAC;IACE,CAAC;IAED;;OAEG;IACK,yBAAyB;QAC7B,OAAO;;;;CAId,CAAC;IACE,CAAC;IAED,kBAAkB;IAClB,+BAA+B,CAAC,cAAwB;QACpD,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjD,OAAO,EAAE,CAAC;QACd,CAAC;QACD,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClE,OAAO,6BAA6B,aAAa,GAAG,CAAC;IACzD,CAAC;IAED,kBAAkB;IAClB,sCAAsC;QAClC,OAAO,wBAAwB,CAAC;IACpC,CAAC;IAED,kBAAkB;IAClB,gCAAgC,CAAC,aAAqB;QAClD,OAAO,EAAE,CAAC;IACd,CAAC;IAED,oEAAoE;IAEpE;;;;;;;OAOG;IACH,KAAK,CAAC,sBAAsB,CAAC,QAAgB;QACzC,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC/C,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;gBAAE,OAAO,IAAI,CAAC;YAE7B,MAAM,OAAO,GAAG,GAAG;iBACd,KAAK,CAAC,eAAe,CAAC;iBACtB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;iBAClB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAE/B,MAAM,IAAI,GAAG,MAAM,eAAe,EAAE,CAAC;YAErC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC1B,IAAI,CAAC;oBACD,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACtC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACX,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAC7D,UAAU,CAAC,kCAAkC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBACtG,CAAC;YACL,CAAC;YAED,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,QAAQ,CAAC,wCAAwC,QAAQ,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpG,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;CAEJ,CAAA;AA1+CY,wBAAwB;IADpC,aAAa,CAAC,uBAAuB,EAAE,WAAW,CAAC;GACvC,wBAAwB,CA0+CpC"}
1
+ {"version":3,"file":"SQLServerCodeGenProvider.js","sourceRoot":"","sources":["../../../../src/Database/providers/sqlserver/SQLServerCodeGenProvider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=LayeredBaseView.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LayeredBaseView.test.d.ts","sourceRoot":"","sources":["../../../../../src/Database/providers/sqlserver/__tests__/LayeredBaseView.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,252 @@
1
+ import { describe, it, expect, beforeEach } from 'vitest';
2
+ import { SQLServerCodeGenProvider } from '../SQLServerCodeGenProvider.js';
3
+ import { SQLCodeGenBase } from '../../../sql_codegen.js';
4
+ import { EntityInfo } from '@memberjunction/core';
5
+ /**
6
+ * Layered base views — CodeGen writes the INNER view, the application owns the outer one.
7
+ *
8
+ * `BaseViewGenerated = 0` used to be all-or-nothing: an application wanting one computed column
9
+ * inherited the whole generated view and had to hand-maintain every related-entity display join
10
+ * forever. A foreign key added later then silently never appeared. `GeneratedBaseViewName` keeps
11
+ * CodeGen generating underneath a thin custom layer.
12
+ *
13
+ * What matters here is that the emitted DDL targets the INNER name. If it ever targeted the outer
14
+ * one, CodeGen would overwrite the application's view — destroying hand-written SQL on the next
15
+ * routine codegen run, which is about the worst outcome this feature could have.
16
+ */
17
+ function entity(over = {}) {
18
+ return new EntityInfo({
19
+ ID: 'entity-1',
20
+ Name: 'Order Headers',
21
+ SchemaName: 'orders',
22
+ BaseTable: 'OrderHeader',
23
+ BaseTableCodeName: 'OrderHeader',
24
+ BaseView: 'vwOrderHeaders',
25
+ BaseViewGenerated: true,
26
+ DeleteType: 'Hard',
27
+ EntityFields: [
28
+ {
29
+ ID: 'pk-1',
30
+ Name: 'ID',
31
+ Type: 'uniqueidentifier',
32
+ Length: 16,
33
+ IsPrimaryKey: true,
34
+ AllowsNull: false,
35
+ AllowUpdateAPI: true,
36
+ IsVirtual: false,
37
+ AutoIncrement: false,
38
+ },
39
+ ],
40
+ ...over,
41
+ });
42
+ }
43
+ function context(e) {
44
+ return {
45
+ entity: e,
46
+ relatedFieldsSelect: '',
47
+ relatedFieldsJoins: '',
48
+ parentFieldsSelect: '',
49
+ parentJoins: '',
50
+ rootFieldsSelect: '',
51
+ rootJoins: '',
52
+ };
53
+ }
54
+ describe('SQLServerCodeGenProvider.generateBaseView with a layered entity', () => {
55
+ let provider;
56
+ beforeEach(() => {
57
+ provider = new SQLServerCodeGenProvider();
58
+ });
59
+ it('creates the view under BaseView when nothing is layered', () => {
60
+ const sql = provider.generateBaseView(context(entity()));
61
+ expect(sql).toContain('CREATE VIEW [orders].[vwOrderHeaders]');
62
+ });
63
+ it('creates the view under the INNER name when one is given', () => {
64
+ const sql = provider.generateBaseView(context(entity({ BaseViewGenerated: false, GeneratedBaseViewName: 'vwOrderHeadersGenerated' })));
65
+ expect(sql).toContain('CREATE VIEW [orders].[vwOrderHeadersGenerated]');
66
+ });
67
+ it('NEVER writes the application-owned outer view', () => {
68
+ // The failure this exists to prevent: a routine codegen run silently replacing hand-written
69
+ // SQL. Asserted as an absence, because the damage is invisible until somebody reads the view.
70
+ const sql = provider.generateBaseView(context(entity({ BaseViewGenerated: false, GeneratedBaseViewName: 'vwOrderHeadersGenerated' })));
71
+ expect(sql).not.toContain('CREATE VIEW [orders].[vwOrderHeaders]\n');
72
+ expect(sql).not.toContain('DROP VIEW [orders].[vwOrderHeaders];');
73
+ });
74
+ it('drops and recreates only the inner view', () => {
75
+ const sql = provider.generateBaseView(context(entity({ BaseViewGenerated: false, GeneratedBaseViewName: 'vwOrderHeadersGenerated' })));
76
+ expect(sql).toContain("OBJECT_ID('[orders].[vwOrderHeadersGenerated]', 'V')");
77
+ });
78
+ it('still selects from the base TABLE, not from the outer view', () => {
79
+ // The inner view is the one doing the real work; if it read the outer view the two would be
80
+ // mutually recursive.
81
+ const sql = provider.generateBaseView(context(entity({ BaseViewGenerated: false, GeneratedBaseViewName: 'vwOrderHeadersGenerated' })));
82
+ expect(sql).toContain('[orders].[OrderHeader]');
83
+ });
84
+ it('is unaffected when the inner name equals BaseView', () => {
85
+ // Equal names are not a layering — a view cannot select from itself. `HasLayeredBaseView`
86
+ // rejects it, so generation targets BaseView exactly as it always did.
87
+ const sql = provider.generateBaseView(context(entity({ GeneratedBaseViewName: 'vwOrderHeaders' })));
88
+ expect(sql).toContain('CREATE VIEW [orders].[vwOrderHeaders]');
89
+ });
90
+ it('is unaffected when the inner name differs from BaseView only by case', () => {
91
+ // SQL Server object names are case-insensitive, so this is still the same object and still
92
+ // not a layering. Generation must target BaseView with its ORIGINAL casing — writing the
93
+ // uppercased string would be the same object here but an orphan on a case-sensitive dialect.
94
+ const sql = provider.generateBaseView(context(entity({ GeneratedBaseViewName: 'VWORDERHEADERS' })));
95
+ expect(sql).toContain('CREATE VIEW [orders].[vwOrderHeaders]');
96
+ expect(sql).not.toContain('[VWORDERHEADERS]');
97
+ });
98
+ });
99
+ /**
100
+ * The bootstrap pass — the one CodeGen run where the application-owned outer view does not exist.
101
+ *
102
+ * Enabling layering has an unavoidable ordering: the outer view selects from the inner view, so it
103
+ * cannot be created until CodeGen has written the inner one. That means the very run that sets the
104
+ * arrangement up necessarily executes against a missing outer view. Unguarded, its `sp_refreshview`
105
+ * and `GRANT` both fail — and the step they fail on is the documented setup procedure itself, so
106
+ * layering could never be adopted at all.
107
+ */
108
+ describe('refresh and permissions for an application-owned base view', () => {
109
+ let provider;
110
+ beforeEach(() => {
111
+ provider = new SQLServerCodeGenProvider();
112
+ });
113
+ it('guards the wrapped SQL on the view existing', () => {
114
+ const sql = provider.generateIfViewExistsSQL('orders', 'vwOrderHeaders', "EXEC sp_refreshview 'orders.vwOrderHeaders';");
115
+ expect(sql).toContain("IF OBJECT_ID('[orders].[vwOrderHeaders]', 'V') IS NOT NULL");
116
+ expect(sql).toContain('sp_executesql');
117
+ });
118
+ it('blocks and terminates the guard so concatenated statements stay outside it', () => {
119
+ // recompileAllBaseViews appends these into one script with no separator between entries. A
120
+ // bare single-statement IF would leave whatever follows looking like the guarded statement
121
+ // to a reader, and the next entry butted onto the same line.
122
+ const guarded = provider.generateIfViewExistsSQL('orders', 'vwOrderHeaders', "EXEC sp_refreshview 'orders.vwOrderHeaders';");
123
+ expect(guarded).toContain('BEGIN');
124
+ expect(guarded).toContain('END');
125
+ expect(guarded.endsWith('\n')).toBe(true);
126
+ const script = guarded + provider.generateViewRefreshSQL('orders', 'vwOther');
127
+ expect(script).toContain("END\nEXEC sp_refreshview 'orders.vwOther';");
128
+ });
129
+ it('escapes quotes so the wrapped statement survives the string literal', () => {
130
+ // sp_refreshview takes a quoted name, so the guarded body always contains quotes. Leaving
131
+ // them unescaped would terminate the N'...' literal early and emit a syntax error.
132
+ const sql = provider.generateIfViewExistsSQL('orders', 'vwOrderHeaders', "EXEC sp_refreshview 'orders.vwOrderHeaders';");
133
+ expect(sql).toContain("EXEC sp_refreshview ''orders.vwOrderHeaders'';");
134
+ expect(sql).not.toContain("N'EXEC sp_refreshview 'orders");
135
+ });
136
+ });
137
+ /**
138
+ * STEP 4.5 — the refresh statements CodeGen writes into the MIGRATION LOG, which is the SQL that
139
+ * runs on staging and production rather than on the dev box.
140
+ *
141
+ * A layered entity has `BaseViewGenerated = 0`, so it qualifies as a "custom base view" entity here
142
+ * alongside genuinely hand-written ones. The two are not interchangeable: for a fully custom view
143
+ * the object is a standing prerequisite and a missing one should fail loudly, while a layered
144
+ * entity's outer view legitimately does not exist during the bootstrap pass. Emitting an unguarded
145
+ * refresh for both treats the bootstrap case as an error — and the run it breaks is the documented
146
+ * setup procedure.
147
+ */
148
+ class RefreshProbe extends SQLCodeGenBase {
149
+ build(entities) {
150
+ return this.buildCustomBaseViewRefreshSQL(entities);
151
+ }
152
+ }
153
+ describe('sp_refreshview emitted into the migration log', () => {
154
+ let probe;
155
+ beforeEach(() => {
156
+ probe = new RefreshProbe();
157
+ probe.DBProvider = new SQLServerCodeGenProvider();
158
+ });
159
+ const layered = () => entity({ BaseViewGenerated: false, GeneratedBaseViewName: 'vwOrderHeadersGenerated' });
160
+ it('refreshes the INNER view before the outer one', () => {
161
+ // The outer view selects `g.*` and caches its column list, so it must never be re-resolved
162
+ // against a stale inner. Asserted by position, since both statements name a view and a
163
+ // substring check alone would pass with the order reversed. The two anchors are chosen to
164
+ // be unambiguous: 'vwOrderHeaders' is a prefix of 'vwOrderHeadersGenerated', and the outer
165
+ // refresh is nested inside sp_executesql with its quotes doubled.
166
+ const sql = probe.build([layered()]);
167
+ const inner = sql.indexOf("sp_refreshview 'orders.vwOrderHeadersGenerated'");
168
+ const outer = sql.indexOf("OBJECT_ID('[orders].[vwOrderHeaders]'");
169
+ expect(inner).toBeGreaterThan(-1);
170
+ expect(outer).toBeGreaterThan(-1);
171
+ expect(inner).toBeLessThan(outer);
172
+ });
173
+ it('guards the outer refresh on the application-owned view existing', () => {
174
+ const sql = probe.build([layered()]);
175
+ expect(sql).toContain("IF OBJECT_ID('[orders].[vwOrderHeaders]', 'V') IS NOT NULL");
176
+ });
177
+ it('leaves a fully custom base view unguarded and unchanged', () => {
178
+ // Not a layering, so there is no inner view and no bootstrap window. A missing view here is
179
+ // a real misconfiguration and must stay a loud failure rather than a silent skip.
180
+ const sql = probe.build([entity({ BaseViewGenerated: false })]);
181
+ expect(sql).toContain("EXEC sp_refreshview 'orders.vwOrderHeaders';");
182
+ expect(sql).not.toContain('OBJECT_ID');
183
+ });
184
+ });
185
+ /**
186
+ * The GRANTs CodeGen emits alongside a generated base view.
187
+ *
188
+ * `generateViewPermissions` grants on `entity.BaseView` — the PUBLIC view. For an ordinary entity
189
+ * that is the same object the view DDL just created, so the two travel together harmlessly. For a
190
+ * LAYERED entity they are DIFFERENT objects, and the public one may not exist: the documented setup
191
+ * is "name the inner view -> run CodeGen -> then create BaseView", so the bootstrap pass necessarily
192
+ * grants against a view that is not there yet. Unguarded, that pass fails on the one run meant to
193
+ * enable the feature.
194
+ *
195
+ * Both assertions below were red before the guard was added, and the third exists because the fix
196
+ * initially broke the formatting: `generateViewPermissions` returns a string with a LEADING NEWLINE,
197
+ * and wrapping it verbatim pulled that newline inside the sp_executesql literal, emitting `GOIF
198
+ * OBJECT_ID` — the batch separator fused to the next statement, which is a syntax error rather than
199
+ * anything a substring assertion would notice.
200
+ */
201
+ const stubConnection = {
202
+ // Only reachable for entities with related-entity join fields; the fixtures here have none, so
203
+ // every method throws rather than silently returning something that could mask a real query.
204
+ get Dialect() { throw new Error('stubConnection: Dialect must not be read in these tests'); },
205
+ query: () => { throw new Error('stubConnection: query() must not be called in these tests'); },
206
+ queryWithParams: () => { throw new Error('stubConnection: queryWithParams() must not be called'); },
207
+ executeStoredProcedure: () => { throw new Error('stubConnection: executeStoredProcedure() must not be called'); },
208
+ beginTransaction: () => { throw new Error('stubConnection: beginTransaction() must not be called'); },
209
+ };
210
+ class PermissionsProbe extends SQLCodeGenBase {
211
+ pieces(e) {
212
+ return this.generateBaseViewPieces(stubConnection, e);
213
+ }
214
+ wholeView(e) {
215
+ return this.generateBaseView(stubConnection, e);
216
+ }
217
+ }
218
+ describe('base view permissions for a layered entity', () => {
219
+ let probe;
220
+ beforeEach(() => {
221
+ probe = new PermissionsProbe();
222
+ probe.DBProvider = new SQLServerCodeGenProvider();
223
+ });
224
+ /** The fixture entity carries one role so `generateViewPermissions` emits something. */
225
+ const withRole = (over = {}) => entity({ EntityPermissions: [{ RoleSQLName: 'cdp_UI' }], ...over });
226
+ const layered = () => withRole({ BaseViewGenerated: false, GeneratedBaseViewName: 'vwOrderHeadersGenerated' });
227
+ it('guards the GRANT on the application-owned view existing', async () => {
228
+ const { viewPermSQL } = await probe.pieces(layered());
229
+ expect(viewPermSQL).toContain("IF OBJECT_ID('[orders].[vwOrderHeaders]', 'V') IS NOT NULL");
230
+ expect(viewPermSQL).toContain('GRANT SELECT ON [orders].[vwOrderHeaders]');
231
+ });
232
+ it('keeps the batch separator on its own line', async () => {
233
+ // The view DDL ends in `GO`. If the guard swallows the leading newline the emitted script
234
+ // reads `GOIF OBJECT_ID(...)`, which SQL Server cannot parse — and which every
235
+ // "does it contain the guard" assertion would still pass.
236
+ const sql = await probe.wholeView(layered());
237
+ expect(sql).not.toContain('GOIF');
238
+ expect(sql).toContain("GO\nIF OBJECT_ID('[orders].[vwOrderHeaders]', 'V') IS NOT NULL");
239
+ });
240
+ it('leaves a NON-layered entity byte-identical', async () => {
241
+ // The guard must not reformat the ordinary path, or every entity in the repo regenerates.
242
+ const { viewPermSQL } = await probe.pieces(withRole());
243
+ expect(viewPermSQL).toBe('\nGRANT SELECT ON [orders].[vwOrderHeaders] TO [cdp_UI]');
244
+ expect(viewPermSQL).not.toContain('OBJECT_ID');
245
+ });
246
+ it('emits nothing at all when the entity has no roles', async () => {
247
+ // An empty permissions string must stay empty rather than becoming an empty guarded block.
248
+ const { viewPermSQL } = await probe.pieces(entity({ BaseViewGenerated: false, GeneratedBaseViewName: 'vwOrderHeadersGenerated' }));
249
+ expect(viewPermSQL.trim()).toBe('');
250
+ });
251
+ });
252
+ //# sourceMappingURL=LayeredBaseView.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LayeredBaseView.test.js","sourceRoot":"","sources":["../../../../../src/Database/providers/sqlserver/__tests__/LayeredBaseView.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,146 @@
1
+ /**
2
+ * Pure heuristics for the CodeGen "Smart Field Identification" pipeline.
3
+ *
4
+ * The LLM behind the prompt template at
5
+ * `metadata/prompts/templates/codegen/smart-field-identification.template.md`
6
+ * is liberal with `AllowUserSearchAPI`, `IncludeInUserSearchAPI`, and the
7
+ * `Contains` predicate. These helpers are the code-level safety net that
8
+ * applies regardless of what the model returns. They live in their own
9
+ * module so they can be unit-tested without spinning up the database layer.
10
+ *
11
+ * Conventions:
12
+ * - All functions are pure and side-effect free.
13
+ * - `*FieldName` predicates do simple regex matches on the field name; they
14
+ * intentionally don't try to read field type or extended-type metadata.
15
+ * - "Identifier-shaped" means a unique business identifier the user types
16
+ * in full (Email, SKU, OrderNumber). "Name-like" means a human-readable
17
+ * prefix users type into a search box (Name, Title, FirstName).
18
+ */
19
+ export type SearchPredicate = 'BeginsWith' | 'Contains' | 'EndsWith' | 'Exact';
20
+ /**
21
+ * Hard cap on searchable fields per entity. The plan calls out 0–2 as typical
22
+ * and >3 as exceptional (`plans/codegen-search-tightening.md` §Phase 2: "Per-entity
23
+ * cap of 3" / "slice to at most 3 fields"), so 3 is the absolute backstop. This
24
+ * cap kicks in after eligibility filtering — fields blocked by other guardrails
25
+ * don't count against the cap.
26
+ */
27
+ export declare const MAX_SEARCHABLE_FIELDS_PER_ENTITY = 3;
28
+ /**
29
+ * Match narrative field names that should never participate in plain
30
+ * (non-FTS) `LIKE` search. These force unindexed `LIKE '%term%'` scans
31
+ * even when MaxLength is small, and the data is rarely the right global-
32
+ * search target anyway. If a narrative field genuinely needs to be
33
+ * searchable, it belongs in `fullTextSearchFields[]` on an FTS-enabled
34
+ * entity, not in `searchableFields`.
35
+ *
36
+ * Matches:
37
+ * - Exact names: Comments, Note(s), Description, Bio, Body, Memo,
38
+ * Summary, Content, Remark(s), Details
39
+ * - Suffix variants: ReleaseNotes, EndpointDescription, BodyText
40
+ *
41
+ * The suffix half is the noisier matcher — false positives on names
42
+ * like `ReleaseNotes` or `RequestBody` are intentional (those are also
43
+ * narrative content), but if a real-world entity gets caught
44
+ * unfairly, an operator can set `AutoUpdateIncludeInUserSearchAPI=0`
45
+ * on that field to opt out of LLM-driven flips.
46
+ */
47
+ export declare function isNarrativeFieldName(fieldName: string): boolean;
48
+ /**
49
+ * Identifier-shaped field names — values users type in full, where `Exact`
50
+ * is the right predicate by default.
51
+ */
52
+ export declare function isIdentifierFieldName(fieldName: string): boolean;
53
+ /**
54
+ * Name-like field names — human-readable prefixes where `BeginsWith` is the
55
+ * right predicate by default.
56
+ */
57
+ export declare function isNameLikeFieldName(fieldName: string): boolean;
58
+ /**
59
+ * Match entity names that are detail / line-item / step / param / mapping
60
+ * children of a parent record. These are reached through their parent — they
61
+ * are never global-search targets even when they have text columns.
62
+ *
63
+ * Whole-word boundaries on the trailing token are intentional — we don't
64
+ * want to false-positive on entities like `Stepford Cities` (silly example,
65
+ * but the principle holds).
66
+ */
67
+ export declare function isDetailOrLineItemEntity(entityName: string | undefined): boolean;
68
+ /**
69
+ * Default predicate for a searchable field when the LLM didn't supply one
70
+ * (or supplied an inappropriate `Contains` we had to reject).
71
+ */
72
+ export declare function defaultPredicateFor(fieldName: string): SearchPredicate;
73
+ /**
74
+ * Normalize a single LLM-proposed predicate against the field context.
75
+ *
76
+ * Rules:
77
+ * - `Contains` is reserved for fields included in `fullTextSearchFields[]`
78
+ * on an FTS-enabled entity. Anywhere else, we rewrite `Contains` to
79
+ * the field's default predicate.
80
+ * - `Exact` and `EndsWith` pass through unchanged.
81
+ * - `BeginsWith` passes through unchanged.
82
+ * - If the LLM didn't propose a predicate at all (or proposed one we
83
+ * rejected), fall back to `defaultPredicateFor()`.
84
+ */
85
+ export declare function normalizePredicate(opts: {
86
+ fieldName: string;
87
+ proposed?: SearchPredicate;
88
+ isInFullTextSearchFields: boolean;
89
+ entityFullTextSearchEnabled: boolean;
90
+ }): {
91
+ predicate: SearchPredicate;
92
+ rewritten: boolean;
93
+ };
94
+ /**
95
+ * Per-entity cap. Given an already-eligible list of field names (PK / type /
96
+ * narrative guardrails have already run), trim to the configured cap,
97
+ * preferring name-like and identifier-shaped fields over ambiguous matches.
98
+ */
99
+ export declare function applySearchableFieldsCap(eligibleFieldNames: string[]): {
100
+ accepted: string[];
101
+ dropped: string[];
102
+ };
103
+ /**
104
+ * First-pass cleanup of the raw LLM result, applied immediately after the
105
+ * model returns. Catches contradictory shapes the LLM occasionally emits.
106
+ *
107
+ * - If `allowUserSearch === false`, force `searchableFields` and
108
+ * `searchPredicates` to empty (the entity is opted out — any field-level
109
+ * flags would be no-ops at best, misleading at worst).
110
+ * - If `searchableFields` is empty, force `allowUserSearch` to `false`.
111
+ * - Deduplicate `searchableFields` while preserving order.
112
+ *
113
+ * Returns a NEW object (does not mutate the input).
114
+ */
115
+ export declare function normalizeSmartFieldResultShape<T extends {
116
+ searchableFields?: string[];
117
+ searchPredicates?: Array<{
118
+ field: string;
119
+ predicate: SearchPredicate;
120
+ }>;
121
+ allowUserSearch?: boolean;
122
+ }>(result: T): T;
123
+ /**
124
+ * Heuristic: does the entity name match an audit / log / run-history /
125
+ * change-tracking shape? Mirrors the existing `isLikelyLogOrAuditEntity`
126
+ * heuristic on `ManageMetadataBase` so callers outside the class (e.g.
127
+ * tests) can ask the same question without having to subclass.
128
+ */
129
+ export declare function isLikelyLogOrAuditEntityName(name: string | undefined): boolean;
130
+ /**
131
+ * Decide whether an LLM-proposed entity-level enable (0 → 1 flip on
132
+ * `AllowUserSearchAPI`) should be allowed through. Returns a reason string
133
+ * when blocked, `null` when accepted.
134
+ *
135
+ * The plan's gating conditions:
136
+ * - `confidence === 'high'`
137
+ * - `acceptedSearchableFields.length >= 1` (post-guardrail)
138
+ * - entity is NOT log/audit-shaped
139
+ * - entity is NOT detail/line-item-shaped
140
+ */
141
+ export declare function entityLevelEnableBlockedReason(opts: {
142
+ entityName: string | undefined;
143
+ confidence: 'high' | 'medium' | 'low' | undefined;
144
+ acceptedSearchableFieldsCount: number;
145
+ }): string | null;
146
+ //# sourceMappingURL=search-guardrails.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-guardrails.d.ts","sourceRoot":"","sources":["../../src/Database/search-guardrails.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,CAAC;AAE/E;;;;;;GAMG;AACH,eAAO,MAAM,gCAAgC,IAAI,CAAC;AAElD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAM/D;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAIhE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAG9D;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAIhF;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,CAItE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,wBAAwB,EAAE,OAAO,CAAC;IAClC,2BAA2B,EAAE,OAAO,CAAC;CACxC,GAAG;IAAE,SAAS,EAAE,eAAe,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAarD;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,kBAAkB,EAAE,MAAM,EAAE,GAAG;IACpE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;CACrB,CAgBA;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,8BAA8B,CAAC,CAAC,SAAS;IACrD,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,gBAAgB,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,eAAe,CAAA;KAAE,CAAC,CAAC;IACxE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAsBf;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAU9E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE;IACjD,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;IAClD,6BAA6B,EAAE,MAAM,CAAC;CACzC,GAAG,MAAM,GAAG,IAAI,CAchB"}