@typespec/compiler 0.44.0-dev.9 → 0.44.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 (66) hide show
  1. package/dist/core/checker.d.ts +7 -9
  2. package/dist/core/checker.d.ts.map +1 -1
  3. package/dist/core/checker.js +43 -25
  4. package/dist/core/checker.js.map +1 -1
  5. package/dist/core/cli/args.d.ts.map +1 -1
  6. package/dist/core/cli/args.js +3 -2
  7. package/dist/core/cli/args.js.map +1 -1
  8. package/dist/core/decorator-utils.d.ts +1 -0
  9. package/dist/core/decorator-utils.d.ts.map +1 -1
  10. package/dist/core/decorator-utils.js +5 -1
  11. package/dist/core/decorator-utils.js.map +1 -1
  12. package/dist/core/helpers/type-name-utils.d.ts.map +1 -1
  13. package/dist/core/helpers/type-name-utils.js +9 -6
  14. package/dist/core/helpers/type-name-utils.js.map +1 -1
  15. package/dist/core/index.d.ts.map +1 -1
  16. package/dist/core/index.js +5 -1
  17. package/dist/core/index.js.map +1 -1
  18. package/dist/core/messages.d.ts +30 -2
  19. package/dist/core/messages.d.ts.map +1 -1
  20. package/dist/core/messages.js +8 -0
  21. package/dist/core/messages.js.map +1 -1
  22. package/dist/core/path-utils.d.ts +10 -0
  23. package/dist/core/path-utils.d.ts.map +1 -1
  24. package/dist/core/path-utils.js +116 -1
  25. package/dist/core/path-utils.js.map +1 -1
  26. package/dist/core/program.d.ts +4 -0
  27. package/dist/core/program.d.ts.map +1 -1
  28. package/dist/core/program.js +13 -7
  29. package/dist/core/program.js.map +1 -1
  30. package/dist/core/projector.d.ts.map +1 -1
  31. package/dist/core/projector.js +18 -7
  32. package/dist/core/projector.js.map +1 -1
  33. package/dist/core/semantic-walker.d.ts.map +1 -1
  34. package/dist/core/semantic-walker.js +15 -4
  35. package/dist/core/semantic-walker.js.map +1 -1
  36. package/dist/core/type-utils.d.ts +9 -2
  37. package/dist/core/type-utils.d.ts.map +1 -1
  38. package/dist/core/type-utils.js +19 -3
  39. package/dist/core/type-utils.js.map +1 -1
  40. package/dist/core/types.d.ts +23 -2
  41. package/dist/core/types.d.ts.map +1 -1
  42. package/dist/core/types.js.map +1 -1
  43. package/dist/emitter-framework/builders/object-builder.d.ts +1 -1
  44. package/dist/emitter-framework/builders/object-builder.d.ts.map +1 -1
  45. package/dist/emitter-framework/builders/object-builder.js +11 -2
  46. package/dist/emitter-framework/builders/object-builder.js.map +1 -1
  47. package/dist/emitter-framework/type-emitter.d.ts.map +1 -1
  48. package/dist/emitter-framework/type-emitter.js +0 -1
  49. package/dist/emitter-framework/type-emitter.js.map +1 -1
  50. package/dist/formatter/print/printer.js +1 -1
  51. package/dist/formatter/print/printer.js.map +1 -1
  52. package/dist/lib/decorators.d.ts +10 -10
  53. package/dist/lib/decorators.d.ts.map +1 -1
  54. package/dist/lib/decorators.js +83 -19
  55. package/dist/lib/decorators.js.map +1 -1
  56. package/dist/manifest.js +2 -2
  57. package/dist/server/serverlib.d.ts.map +1 -1
  58. package/dist/server/serverlib.js +9 -6
  59. package/dist/server/serverlib.js.map +1 -1
  60. package/dist/testing/test-server-host.d.ts +3 -1
  61. package/dist/testing/test-server-host.d.ts.map +1 -1
  62. package/dist/testing/test-server-host.js +3 -1
  63. package/dist/testing/test-server-host.js.map +1 -1
  64. package/lib/decorators.tsp +112 -4
  65. package/lib/lib.tsp +24 -0
  66. package/package.json +4 -5
@@ -137,22 +137,29 @@ export function createServer(host) {
137
137
  changeNotifications: true,
138
138
  },
139
139
  };
140
+ // eslint-disable-next-line deprecation/deprecation
140
141
  }
141
142
  else if (params.rootUri) {
142
143
  workspaceFolders = [
143
144
  {
144
145
  name: "<root>",
146
+ // eslint-disable-next-line deprecation/deprecation
145
147
  uri: params.rootUri,
148
+ // eslint-disable-next-line deprecation/deprecation
146
149
  path: ensureTrailingDirectorySeparator(await fileURLToRealPath(params.rootUri)),
147
150
  },
148
151
  ];
152
+ // eslint-disable-next-line deprecation/deprecation
149
153
  }
150
154
  else if (params.rootPath) {
151
155
  workspaceFolders = [
152
156
  {
153
157
  name: "<root>",
158
+ // eslint-disable-next-line deprecation/deprecation
154
159
  uri: compilerHost.pathToFileURL(params.rootPath),
155
- path: ensureTrailingDirectorySeparator(await getNormalizedRealPath(compilerHost, params.rootPath)),
160
+ path: ensureTrailingDirectorySeparator(
161
+ // eslint-disable-next-line deprecation/deprecation
162
+ await getNormalizedRealPath(compilerHost, params.rootPath)),
156
163
  },
157
164
  ];
158
165
  }
@@ -831,7 +838,7 @@ export function createServer(host) {
831
838
  }
832
839
  let dir = getDirectoryPath(path);
833
840
  const options = { allowFileNotFound: true };
834
- while (inWorkspace(dir)) {
841
+ while (true) {
835
842
  let mainFile = "main.tsp";
836
843
  let pkg;
837
844
  const pkgPath = joinPaths(dir, "package.json");
@@ -863,10 +870,6 @@ export function createServer(host) {
863
870
  log(`Unexpected diagnostic while looking for main file of ${path}`, formatDiagnostic(diagnostic));
864
871
  }
865
872
  }
866
- function inWorkspace(path) {
867
- path = ensureTrailingDirectorySeparator(path);
868
- return workspaceFolders.some((f) => path.startsWith(f.path));
869
- }
870
873
  async function getPath(document) {
871
874
  if (isUntitled(document.uri)) {
872
875
  return document.uri;
@@ -1 +1 @@
1
- {"version":3,"file":"serverlib.js","sourceRoot":"","sources":["../../server/serverlib.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serverlib.js","sourceRoot":"","sources":["../../server/serverlib.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,kBAAkB,EAClB,aAAa,EAIb,qBAAqB,EAcrB,UAAU,EAIV,KAAK,EAIL,qBAAqB,EAQrB,oBAAoB,EACpB,QAAQ,EACR,UAAU,IAAI,YAAY,GAI3B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAEjE,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EACL,gCAAgC,EAChC,gBAAgB,EAChB,SAAS,GACV,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAW,OAAO,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EACL,KAAK,EACL,aAAa,EACb,SAAS,EACT,aAAa,EACb,UAAU,EACV,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAUL,UAAU,GAIX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,IAAI,EACJ,qBAAqB,EACrB,wBAAwB,EACxB,QAAQ,EACR,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAiD9E,MAAM,CAAN,IAAY,iBAsBX;AAtBD,WAAY,iBAAiB;IAC3B,mEAAS,CAAA;IACT,yDAAI,CAAA;IACJ,2DAAK,CAAA;IACL,yDAAI,CAAA;IACJ,mEAAS,CAAA;IACT,6DAAM,CAAA;IACN,2EAAa,CAAA;IACb,mEAAS,CAAA;IACT,iEAAQ,CAAA;IACR,iEAAQ,CAAA;IACR,sEAAU,CAAA;IACV,4DAAK,CAAA;IACL,kEAAQ,CAAA;IACR,8DAAM,CAAA;IACN,4DAAK,CAAA;IACL,gEAAO,CAAA;IACP,gEAAO,CAAA;IACP,8DAAM,CAAA;IACN,8DAAM,CAAA;IACN,8DAAM,CAAA;IACN,kEAAQ,CAAA;AACV,CAAC,EAtBW,iBAAiB,GAAjB,iBAAiB,KAAjB,iBAAiB,QAsB5B;AAyBD,MAAM,aAAa,GAAoB;IACrC,MAAM,EAAE,IAAI;IACZ,eAAe,EAAE,IAAI;IACrB,YAAY,EAAE;QACZ,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,IAAI;KACX;CACF,CAAC;AAEF,MAAM,UAAU,YAAY,CAAC,IAAgB;IAC3C,0EAA0E;IAC1E,yEAAyE;IACzE,0EAA0E;IAC1E,0EAA0E;IAC1E,cAAc;IACd,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE/C,2EAA2E;IAC3E,wEAAwE;IACxE,2EAA2E;IAC3E,iBAAiB;IACjB,MAAM,eAAe,GAAG,qBAAqB,EAAE,CAAC;IAChD,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAC;IAE1C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAmB,CAAC;IAE/C,IAAI,gBAAgB,GAA4B,EAAE,CAAC;IACnD,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,eAAe,GAAa,EAAE,CAAC;IAEnC,OAAO;QACL,IAAI,eAAe;YACjB,OAAO,eAAe,CAAC;QACzB,CAAC;QACD,IAAI,gBAAgB;YAClB,OAAO,gBAAgB,CAAC;QAC1B,CAAC;QACD,OAAO;QACP,UAAU;QACV,WAAW;QACX,uBAAuB;QACvB,mBAAmB;QACnB,cAAc;QACd,cAAc;QACd,cAAc;QACd,QAAQ;QACR,cAAc;QACd,qBAAqB;QACrB,aAAa;QACb,MAAM;QACN,iBAAiB;QACjB,mBAAmB;QACnB,WAAW;QACX,gBAAgB;QAChB,QAAQ;QACR,gBAAgB;QAChB,kBAAkB;QAClB,GAAG;KACJ,CAAC;IAEF,KAAK,UAAU,UAAU,CAAC,MAAwB;;QAChD,MAAM,WAAW,GAAyB;YACxC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC;iBACvC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;iBACtC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC7D,cAAc,EAAE,EAAE;SACnB,CAAC;QAEF,MAAM,YAAY,GAAuB;YACvC,gBAAgB,EAAE,oBAAoB,CAAC,WAAW;YAClD,kBAAkB,EAAE,IAAI;YACxB,oBAAoB,EAAE,IAAI;YAC1B,aAAa,EAAE,IAAI;YACnB,sBAAsB,EAAE,IAAI;YAC5B,yBAAyB,EAAE,IAAI;YAC/B,kBAAkB,EAAE;gBAClB,eAAe,EAAE,KAAK;gBACtB,iBAAiB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;aACnC;YACD,sBAAsB,EAAE;gBACtB,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,WAAW;aACpB;YACD,kBAAkB,EAAE,IAAI;YACxB,cAAc,EAAE;gBACd,eAAe,EAAE,IAAI;aACtB;YACD,0BAA0B,EAAE,IAAI;YAChC,qBAAqB,EAAE;gBACrB,iBAAiB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;gBAClC,mBAAmB,EAAE,CAAC,GAAG,CAAC;aAC3B;SACF,CAAC;QAEF,IAAI,MAAA,MAAM,CAAC,YAAY,CAAC,SAAS,0CAAE,gBAAgB,EAAE;YACnD,KAAK,MAAM,CAAC,IAAI,MAAA,MAAM,CAAC,gBAAgB,mCAAI,EAAE,EAAE;gBAC7C,gBAAgB,CAAC,IAAI,CAAC;oBACpB,GAAG,CAAC;oBACJ,IAAI,EAAE,gCAAgC,CAAC,MAAM,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;iBACvE,CAAC,CAAC;aACJ;YACD,YAAY,CAAC,SAAS,GAAG;gBACvB,gBAAgB,EAAE;oBAChB,SAAS,EAAE,IAAI;oBACf,mBAAmB,EAAE,IAAI;iBAC1B;aACF,CAAC;YACF,mDAAmD;SACpD;aAAM,IAAI,MAAM,CAAC,OAAO,EAAE;YACzB,gBAAgB,GAAG;gBACjB;oBACE,IAAI,EAAE,QAAQ;oBACd,mDAAmD;oBACnD,GAAG,EAAE,MAAM,CAAC,OAAO;oBACnB,mDAAmD;oBACnD,IAAI,EAAE,gCAAgC,CAAC,MAAM,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;iBAChF;aACF,CAAC;YACF,mDAAmD;SACpD;aAAM,IAAI,MAAM,CAAC,QAAQ,EAAE;YAC1B,gBAAgB,GAAG;gBACjB;oBACE,IAAI,EAAE,QAAQ;oBACd,mDAAmD;oBACnD,GAAG,EAAE,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC;oBAChD,IAAI,EAAE,gCAAgC;oBACpC,mDAAmD;oBACnD,MAAM,qBAAqB,CAAC,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,CAC3D;iBACF;aACF,CAAC;SACH;QAED,GAAG,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;QAC3C,OAAO,EAAE,YAAY,EAAE,CAAC;IAC1B,CAAC;IAED,SAAS,WAAW,CAAC,MAAyB;QAC5C,aAAa,GAAG,IAAI,CAAC;QACrB,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,UAAU,uBAAuB,CAAC,CAA8B;QACnE,GAAG,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC;QACpC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,KAAK,MAAM,MAAM,IAAI,CAAC,CAAC,OAAO,EAAE;YAC9B,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SACxB;QACD,KAAK,MAAM,MAAM,IAAI,CAAC,CAAC,KAAK,EAAE;YAC5B,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE;gBAClB,GAAG,MAAM;gBACT,IAAI,EAAE,gCAAgC,CAAC,MAAM,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;aAC5E,CAAC,CAAC;SACJ;QACD,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5C,GAAG,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;IAC7C,CAAC;IAED,SAAS,mBAAmB,CAAC,MAAmC;QAC9D,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAiBD,KAAK,UAAU,OAAO,CACpB,QAA+C,EAC/C,QAA6B;QAE7B,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAE/C,MAAM,OAAO,GAAG;YACd,GAAG,aAAa;YAChB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YACvB,OAAO,SAAS,CAAC;SAClB;QAED,IAAI,OAAgB,CAAC;QACrB,IAAI;YACF,OAAO,GAAG,MAAM,cAAc,CAAC,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC3F,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACnC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;gBACvB,OAAO,SAAS,CAAC;aAClB;YAED,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBACvD,qEAAqE;gBACrE,sDAAsD;gBACtD,OAAO,GAAG,MAAM,cAAc,CAAC,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;gBACnF,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;aAChC;YAED,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;gBACvB,OAAO,SAAS,CAAC;aAClB;YAED,IAAI,QAAQ,EAAE;gBACZ,MAAM,GAAG,GAAG,SAAS,IAAI,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACvF,cAAc,CAAC,GAAG,EAAE,yBAAyB,CAAC,CAAC;gBAC/C,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;gBAChC,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC7C,cAAc,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;gBAChD,OAAO,MAAM,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;aAC7C;YAED,OAAO,OAAO,CAAC;SAChB;QAAC,OAAO,GAAQ,EAAE;YACjB,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBAC5B,MAAM,GAAG,CAAC;aACX;YACD,IAAI,CAAC,eAAe,CAAC;gBACnB,GAAG,EAAE,QAAQ,CAAC,GAAG;gBACjB,WAAW,EAAE;oBACX;wBACE,QAAQ,EAAE,kBAAkB,CAAC,KAAK;wBAClC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;wBAC/B,OAAO,EACL,mFAAmF;4BACnF,GAAG,CAAC,KAAK;qBACZ;iBACF;aACF,CAAC,CAAC;YAEH,OAAO,SAAS,CAAC;SAClB;IACH,CAAC;IAED,KAAK,UAAU,SAAS,CAAC,QAAgB,EAAE,IAAY;QACrD,MAAM,UAAU,GAAG,MAAM,sBAAsB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QACxE,IAAI,CAAC,UAAU,EAAE;YACf,OAAO,EAAE,GAAG,aAAa,EAAE,WAAW,EAAE,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;SACtE;QAED,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACrD,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,EAAE;YAChB,OAAO,MAAM,CAAC,IAAI,CAAC;SACpB;QAED,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QACtE,MAAM,eAAe,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAClD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,UAAU,SAAS,CAAC,QAA+C;;QACtE,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,MAAA,YAAY,CAAC,UAAU,0CAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAClD,OAAO,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,CAAC,MAAM,OAAO,CAAqB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5F,CAAC;IAED,KAAK,UAAU,gBAAgB,CAAC,MAA0B;QACxD,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACjD,IAAI,CAAC,GAAG,EAAE;YACR,OAAO,EAAE,CAAC;SACX;QACD,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACtB,MAAM,MAAM,GAAmB,EAAE,CAAC;QAClC,IAAI,qBAAqB,GAAG,CAAC,CAAC,CAAC;QAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC5C,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAChC,IACE,OAAO,CAAC,IAAI,KAAK,UAAU,CAAC,WAAW;gBACvC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM;gBAC3B,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,WAAW;gBACnD,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,EAClE;gBACA,IAAI,qBAAqB,KAAK,CAAC,CAAC,EAAE;oBAChC,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC;iBACrC;aACF;iBAAM,IAAI,qBAAqB,KAAK,CAAC,CAAC,EAAE;gBACvC,QAAQ,CAAC,qBAAqB,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC7C,qBAAqB,GAAG,CAAC,CAAC,CAAC;aAC5B;iBAAM;gBACL,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;aACpC;SACF;QACD,aAAa,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;QACrC,SAAS,gBAAgB,CAAC,IAAU;YAClC,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,GAAG,EAAE;gBAChC,OAAO,CAAC,wCAAwC;aACjD;YACD,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC;YACzB,IAAI,YAAY,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBACtD,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;gBACrE,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;gBAClC,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;aACjD;YAED,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9B,aAAa,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,MAAM,CAAC;QACd,SAAS,QAAQ,CAAC,QAAgB,EAAE,MAAc;YAChD,MAAM,KAAK,GAAG,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;YAC3D,MAAM,GAAG,GAAG,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC;YACvD,IAAI,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,EAAE;gBAC3B,MAAM,CAAC,IAAI,CAAC;oBACV,SAAS,EAAE,KAAK,CAAC,IAAI;oBACrB,cAAc,EAAE,KAAK,CAAC,SAAS;oBAC/B,OAAO,EAAE,GAAG,CAAC,IAAI;oBACjB,YAAY,EAAE,GAAG,CAAC,SAAS;iBAC5B,CAAC,CAAC;aACJ;QACH,CAAC;IACH,CAAC;IAED,KAAK,UAAU,kBAAkB,CAAC,MAA4B;QAC5D,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACjD,IAAI,CAAC,GAAG,EAAE;YACR,OAAO,EAAE,CAAC;SACX;QAED,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,UAAU,qBAAqB,CAClC,MAA+B;QAE/B,IAAI,UAAU,GAAwB,EAAE,CAAC;QACzC,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;YAC7D,MAAM,WAAW,GAAG,wBAAwB,CAC1C,OAAO,EACP,IAAI,EACJ,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAClC,CAAC,IAAI,CAAC,CACP,CAAC;YACF,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;gBAC5C,KAAK,EAAE,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC;gBACtC,IAAI,EAAE,qBAAqB,CAAC,IAAI;aACjC,CAAC,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;QACH,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,KAAK,UAAU,WAAW,CAAC,MAA6C;;QACtE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO;SACR;QAED,6BAA6B;QAC7B,EAAE;QACF,wEAAwE;QACxE,wEAAwE;QACxE,sEAAsE;QACtE,EAAE;QACF,MAAM,aAAa,GAAsC,IAAI,GAAG,EAAE,CAAC;QACnE,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACvC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE;YAC/C,MAAM,QAAQ,GAAG,MAAC,IAAI,CAAC,IAAyB,0CAAE,QAAQ,CAAC;YAC3D,IAAI,QAAQ,EAAE;gBACZ,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;aACjC;SACF;QAED,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE;YACtC,IAAI,QAAkC,CAAC;YAEvC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAChD,IAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,EAAE;gBAClB,QAAQ,GAAI,QAAQ,CAAC,IAAyB,CAAC,QAAQ,CAAC;aACzD;iBAAM;gBACL,mEAAmE;gBACnE,EAAE;gBACF,wEAAwE;gBACxE,yEAAyE;gBACzE,WAAW;gBACX,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;aAC5B;YAED,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;gBACpC,SAAS;aACV;YAED,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,GAAG,mCAAI,CAAC,CAAC,CAAC;YACtD,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,GAAG,mCAAI,CAAC,CAAC,CAAC;YACpD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACvC,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChD,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAC7F,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE;gBAC9B,UAAU,CAAC,IAAI,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;aAC9C;YACD,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAChD,cAAc,CACZ,WAAW,EACX,8EAA8E,CAC/E,CAAC;YACF,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC9B;QAED,KAAK,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,aAAa,EAAE;YACnD,eAAe,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;SACxC;IACH,CAAC;IAED,KAAK,UAAU,QAAQ,CAAC,MAAmB;QACzC,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;;YAC/E,MAAM,EAAE,GAAG,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YACvE,MAAM,GAAG,GACP,CAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,IAAI,MAAK,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACzF,IAAI,GAAG,EAAE;gBACP,MAAM,IAAI,GAAG,MAAA,GAAG,CAAC,IAAI,mCAAI,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7E,OAAO,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;aACtC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAkB;YAC9B,IAAI,EAAE,UAAU,CAAC,QAAQ;YACzB,KAAK,EAAE,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE;SACvB,CAAC;QACF,OAAO;YACL,QAAQ,EAAE,QAAQ;SACnB,CAAC;IACJ,CAAC;IAED,KAAK,UAAU,gBAAgB,CAAC,MAA2B;QACzD,OAAO,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;YACpE,MAAM,cAAc,GAAG,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YACnF,MAAM,IAAI,GAAG,cAAc,IAAI,wBAAwB,CAAC,cAAc,CAAC,CAAC;YACxE,IAAI,IAAI,KAAK,SAAS,EAAE;gBACtB,OAAO,SAAS,CAAC;aAClB;YACD,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;YACrC,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAChF,CAAC;YAEF,MAAM,iBAAiB,GACrB,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,YAAY,CAAC,IAAI,CACpB,CAAC,CAAC,EAA0C,EAAE,CAC5C,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,6BAA6B,CACtD,CAAC;YAEJ,IAAI,iBAAiB,KAAK,SAAS,EAAE;gBACnC,OAAO,SAAS,CAAC;aAClB;YACD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;YAC/D,cAAc,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,kCAAkC,CAAC,CAAC;YAE9E,MAAM,aAAa,GAAG,yBAAyB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC/D,IAAI,WAAW,GAAG,EAAE,CAAC;YACrB,MAAM,UAAU,GAA2B,EAAE,CAAC;YAC9C,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,yBAAyB,EAAE;gBACtD,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAI;oBAC9C,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC;oBAC/D,CAAC,CAAC,SAAS,CAAC;gBAEd,UAAU,CAAC,IAAI,CAAC;oBACd,KAAK,EAAE,GAAG,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,KACtC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SACzC,EAAE;iBACH,CAAC,CAAC;gBAEH,WAAW,GAAG,GAAG,CAAC;aACnB;YAED,UAAU,CAAC,IAAI,CACb,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC3B,MAAM,IAAI,GAAyB;oBACjC,kBAAkB;oBAClB,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;iBACzF,CAAC;gBACF,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACtC,IAAI,GAAG,EAAE;oBACP,IAAI,CAAC,aAAa,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;iBAChE;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CACH,CAAC;YAEF,MAAM,IAAI,GAAkB;gBAC1B,UAAU,EAAE;oBACV;wBACE,KAAK,EAAE,GAAG,WAAW,GAAG,IAAI,CAAC,IAAI,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;wBACjF,UAAU;wBACV,eAAe,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,aAAa,CAAC;qBAChE;iBACF;gBACD,eAAe,EAAE,CAAC;gBAClB,eAAe,EAAE,CAAC;aACnB,CAAC;YAEF,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE;gBACxC,gBAAgB,EAAE,KAAK;gBACvB,oBAAoB,EAAE,KAAK;aAC5B,CAAC,CAAC;YACH,IAAI,GAAG,EAAE;gBACP,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;aAC9E;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,UAAU,cAAc,CAAC,MAAgC;QAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACpE,IAAI,QAAQ,KAAK,SAAS,EAAE;YAC1B,OAAO,EAAE,CAAC;SACX;QACD,MAAM,aAAa,GAAG,cAAc,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE;YACvD,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO;YAChC,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY;SACtC,CAAC,CAAC;QACH,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,SAAS,WAAW,CAAC,QAAsB,EAAE,OAAe;QAC1D,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;QACnC,0BAA0B;QAC1B,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE;YAC5E,EAAE,CAAC,CAAC;SACL;QACD,0BAA0B;QAC1B,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OACE,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM;YACtB,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM;YACtB,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,EACnE;YACA,EAAE,CAAC,CAAC;SACL;QACD,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAErD,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,UAAU,cAAc,CAAC,MAAwB;QACpD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;YACzE,MAAM,EAAE,GAAG,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YACvE,OAAO,CAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,IAAI,MAAK,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAChG,CAAC,CAAC,CAAC;QAEH,OAAO,YAAY,CAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,YAAY,CAAC,CAAC;IACzC,CAAC;IACD,KAAK,UAAU,QAAQ,CAAC,MAAwB;QAC9C,MAAM,WAAW,GAAmB;YAClC,YAAY,EAAE,KAAK;YACnB,KAAK,EAAE,EAAE;SACV,CAAC;QACF,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;YACnE,MAAM,IAAI,GAAG,2BAA2B,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YAEnF,MAAM,iBAAiB,CACrB;gBACE,OAAO;gBACP,IAAI;gBACJ,WAAW;gBACX,MAAM;aACP,EACD,IAAI,CACL,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,KAAK,UAAU,cAAc,CAAC,MAAuB;QACnD,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CACjF,wBAAwB,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAC5E,CAAC;QACF,OAAO,YAAY,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,UAAU,aAAa,CAAC,MAA2B;QACtD,OAAO,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;;YAC9D,MAAM,EAAE,GAAG,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YACvE,OAAO,CAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,IAAI,MAAK,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,MAAA,WAAW,CAAC,EAAE,CAAC,0CAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QACjF,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,UAAU,MAAM,CAAC,MAAoB;QACxC,MAAM,OAAO,GAA+B,EAAE,CAAC;QAC/C,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;YAC7D,MAAM,WAAW,GAAG,wBAAwB,CAC1C,OAAO,EACP,IAAI,EACJ,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CACnC,CAAC;YACF,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE;gBAC5B,MAAM,QAAQ,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;gBACjC,IAAI,CAAC,QAAQ,EAAE;oBACb,SAAS;iBACV;gBACD,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;gBAChE,IAAI,QAAQ,CAAC,GAAG,IAAI,OAAO,EAAE;oBAC3B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iBACpC;qBAAM;oBACL,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;iBAClC;aACF;QACH,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,CAAC;IACrB,CAAC;IAED,SAAS,wBAAwB,CAC/B,OAAgB,EAChB,IAAwB,EACxB,GAAW,EACX,cAA4C,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE;QAExE,MAAM,EAAE,GAAG,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACxC,IAAI,CAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,IAAI,MAAK,UAAU,CAAC,UAAU,EAAE;YACtC,OAAO,EAAE,CAAC;SACX;QAED,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,GAAG,EAAE;YACR,OAAO,CAAC,EAAE,CAAC,CAAC;SACb;QAED,MAAM,UAAU,GAAqB,EAAE,CAAC;QACxC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;YACpC,aAAa,CAAC,UAAU,EAAE,SAAS,KAAK,CAAC,IAAI;gBAC3C,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,UAAU,EAAE;oBACvC,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;oBAClD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,IAAI,MAAK,GAAG,CAAC,IAAI,CAAC,EAAE;wBACnD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBACvB;iBACF;gBACD,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC7B,CAAC,CAAC,CAAC;SACJ;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,KAAK,UAAU,iBAAiB,CAAC,MAA4B;QAC3D,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC;QAClB,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC;QAEjB,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACjD,IAAI,CAAC,GAAG,EAAE;YACR,OAAO,EAAE,CAAC;SACX;QACD,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACtB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,YAAY,CAAC,GAAG,CAAC,CAAC;QAClB,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAEvE,SAAS,SAAS;YAChB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAC;YAChD,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAE9C,OAAO,OAAO,CAAC,IAAI,EAAE,KAAK,KAAK,CAAC,SAAS,EAAE;gBACzC,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC1C,IAAI,IAAI,KAAK,MAAM,EAAE;oBACnB,SAAS;iBACV;gBACD,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE;oBAChC,IAAI,EAAE,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,SAAU,CAAC,CAAC,CAAC,IAAI;oBACxC,GAAG,EAAE,OAAO,CAAC,aAAa;oBAC1B,GAAG,EAAE,OAAO,CAAC,QAAQ;iBACtB,CAAC,CAAC;aACJ;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,SAAS,aAAa,CAAC,KAAY;YACjC,QAAQ,KAAK,EAAE;gBACb,KAAK,KAAK,CAAC,UAAU;oBACnB,OAAO,KAAK,CAAC;gBACf,KAAK,KAAK,CAAC,aAAa;oBACtB,OAAO,iBAAiB,CAAC,MAAM,CAAC;gBAClC,KAAK,KAAK,CAAC,cAAc;oBACvB,OAAO,iBAAiB,CAAC,MAAM,CAAC;gBAClC,KAAK,KAAK,CAAC,gBAAgB,CAAC;gBAC5B,KAAK,KAAK,CAAC,iBAAiB;oBAC1B,OAAO,iBAAiB,CAAC,OAAO,CAAC;gBACnC;oBACE,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE;wBACpB,OAAO,iBAAiB,CAAC,OAAO,CAAC;qBAClC;oBACD,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE;wBACxB,OAAO,iBAAiB,CAAC,QAAQ,CAAC;qBACnC;oBACD,OAAO,MAAM,CAAC;aACjB;QACH,CAAC;QAED,SAAS,YAAY,CAAC,IAAU;YAC9B,QAAQ,IAAI,CAAC,IAAI,EAAE;gBACjB,KAAK,UAAU,CAAC,mBAAmB;oBACjC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;oBACjD,MAAM;gBACR,KAAK,UAAU,CAAC,4BAA4B;oBAC1C,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC;oBACnD,MAAM;gBACR,KAAK,UAAU,CAAC,aAAa,CAAC;gBAC9B,KAAK,UAAU,CAAC,YAAY;oBAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;oBAC9C,MAAM;gBACR,KAAK,UAAU,CAAC,cAAc;oBAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;oBAC5C,MAAM;gBACR,KAAK,UAAU,CAAC,cAAc;oBAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;oBAC5C,MAAM;gBACR,KAAK,UAAU,CAAC,eAAe;oBAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;oBAC1C,MAAM;gBACR,KAAK,UAAU,CAAC,aAAa;oBAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;oBAC1C,MAAM;gBACR,KAAK,UAAU,CAAC,UAAU;oBACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;oBAChD,MAAM;gBACR,KAAK,UAAU,CAAC,kBAAkB;oBAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;oBAC/C,MAAM;gBACR,KAAK,UAAU,CAAC,kBAAkB;oBAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;oBAC/C,MAAM;gBACR,KAAK,UAAU,CAAC,kBAAkB;oBAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;oBAC9C,MAAM;gBACR,KAAK,UAAU,CAAC,6BAA6B;oBAC3C,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;oBAC9C,MAAM;gBACR,KAAK,UAAU,CAAC,4BAA4B;oBAC1C,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;oBAC9C,MAAM;gBACR,KAAK,UAAU,CAAC,iBAAiB;oBAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;oBAC/C,MAAM;gBACR,KAAK,UAAU,CAAC,yBAAyB;oBACvC,iBAAiB,CAAC,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;oBAC3D,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;oBACxD,MAAM;gBACR,KAAK,UAAU,CAAC,mBAAmB;oBACjC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;oBACxD,MAAM;gBAER,KAAK,UAAU,CAAC,aAAa;oBAC3B,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC/B,MAAM;gBACR,KAAK,UAAU,CAAC,gBAAgB;oBAC9B,iBAAiB,CAAC,IAAI,CAAC,CAAC;oBACxB,MAAM;gBACR,KAAK,UAAU,CAAC,mBAAmB;oBACjC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;oBAC9C,MAAM;gBACR,KAAK,UAAU,CAAC,UAAU;oBACxB,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;oBACtD,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE;wBACzC,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;qBACjD;oBACD,MAAM;gBACR,KAAK,UAAU,CAAC,8BAA8B;oBAC5C,iBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;oBACxD,MAAM;gBACR,KAAK,UAAU,CAAC,wBAAwB;oBACtC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;oBAC3D,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE;wBAChC,iBAAiB,CAAC,GAAG,CAAC,CAAC;qBACxB;oBACD,MAAM;gBACR,KAAK,UAAU,CAAC,0BAA0B;oBACxC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAC3B,MAAM;aACT;YACD,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACpC,CAAC;QAED,SAAS,QAAQ,CAAC,IAAwC,EAAE,IAAuB;YACjF,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnC,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE;gBACrC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;aACnB;QACH,CAAC;QAED,SAAS,iBAAiB,CAAC,IAAU,EAAE,IAAI,GAAG,iBAAiB,CAAC,IAAI;YAClE,QAAQ,IAAI,CAAC,IAAI,EAAE;gBACjB,KAAK,UAAU,CAAC,gBAAgB;oBAC9B,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;oBAC3D,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;oBAClC,MAAM;gBACR,KAAK,UAAU,CAAC,0BAA0B;oBACxC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;oBAC1D,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;oBAClC,MAAM;gBACR,KAAK,UAAU,CAAC,aAAa;oBAC3B,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBACtC,MAAM;gBACR,KAAK,UAAU,CAAC,UAAU;oBACxB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBACrB,MAAM;aACT;QACH,CAAC;QAED,SAAS,kBAAkB,CAAC,IAAU,EAAE,IAAuB;YAC7D,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,UAAU,EAAE;gBACvC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;aACtB;QACH,CAAC;IACH,CAAC;IAED,KAAK,UAAU,mBAAmB,CAAC,MAA4B;QAC7D,MAAM,OAAO,GAAG,IAAI,qBAAqB,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;QAC7E,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAEpC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,6BAA6B,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,6BAA6B,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAE1D,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;gBACrE,MAAM,MAAM,GAAG,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;gBAChE,MAAM,SAAS,GAAG,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5D,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC3D,GAAG,GAAG,MAAM,CAAC;aACd;SACF;QAED,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,SAAS,cAAc,CAAC,MAA6C;QACnE,kCAAkC;QAClC,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,SAAS,YAAY,CAAC,OAAgD;;QACpE,OAAO,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,EAAiB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,mCAAI,EAAE,CAAC;IAC3E,CAAC;IAED,SAAS,WAAW,CAAC,MAAwB;QAC3C,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,QAAQ,CAAC,WAAW,EAAE;YACxB,OAAO,SAAS,CAAC;SAClB;QAED,OAAO;YACL,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;YAC/B,KAAK,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC;SACzC,CAAC;IACJ,CAAC;IAED,SAAS,QAAQ,CAAC,QAAmB,EAAE,IAAgB;QACrD,MAAM,KAAK,GAAG,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC7D,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,SAAS,eAAe,CAAC,QAA6B;QACpD,QAAQ,QAAQ,EAAE;YAChB,KAAK,SAAS;gBACZ,OAAO,kBAAkB,CAAC,OAAO,CAAC;YACpC,KAAK,OAAO;gBACV,OAAO,kBAAkB,CAAC,KAAK,CAAC;SACnC;IACH,CAAC;IAED,SAAS,GAAG,CAAC,OAAe,EAAE,UAAe,SAAS;QACpD,OAAO,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,kBAAkB,EAAE,KAAK,OAAO,EAAE,CAAC;QAC5D,IAAI,OAAO,EAAE;YACX,OAAO,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;SACzD;QAED,IAAI,CAAC,aAAa,EAAE;YAClB,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC9B,OAAO;SACR;QAED,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE;YACrC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SACnB;QAED,eAAe,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACpB,CAAC;IAED,SAAS,eAAe,CAAC,QAAsB,EAAE,WAA2B;QAC1E,IAAI,CAAC,eAAe,CAAC;YACnB,GAAG,EAAE,QAAQ,CAAC,GAAG;YACjB,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,WAAW;SACZ,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,SAAS,QAAQ,CAAC,QAA+C;;QAC/D,IAAI,CAAC,CAAC,SAAS,IAAI,QAAQ,CAAC,EAAE;YAC5B,OAAO,IAAI,CAAC;SACb;QACD,OAAO,QAAQ,CAAC,OAAO,MAAK,MAAA,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,GAAG,CAAC,0CAAE,OAAO,CAAA,CAAC;IAC/E,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,UAAU,sBAAsB,CAAC,IAAY;QAChD,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE;YAChC,OAAO,IAAI,CAAC;SACb;QAED,IAAI,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,OAAO,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;QAE5C,OAAO,IAAI,EAAE;YACX,IAAI,QAAQ,GAAG,UAAU,CAAC;YAC1B,IAAI,GAAQ,CAAC;YACb,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;YAC/C,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAElD,IAAI,MAAM,EAAE;gBACV,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC;aACnB;iBAAM;gBACL,CAAC,GAAG,CAAC,GAAG,MAAM,QAAQ,CACpB,YAAY,EACZ,OAAO,EACP,IAAI,CAAC,KAAK,EACV,2BAA2B,EAC3B,OAAO,CACR,CAAC;gBACF,MAAM,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,EAAE,CAAC,CAAC;aACnD;YAED,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;YACpC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;gBAC/B,QAAQ,GAAG,OAAO,CAAC;aACpB;YAED,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC3C,MAAM,IAAI,GAAG,MAAM,IAAI,CACrB,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,EAClC,SAAS,EACT,2BAA2B,EAC3B,OAAO,CACR,CAAC;YAEF,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,EAAE,EAAE;gBAClB,OAAO,SAAS,CAAC;aAClB;YAED,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,SAAS,KAAK,GAAG,EAAE;gBACrB,MAAM;aACP;YACD,GAAG,GAAG,SAAS,CAAC;SACjB;QAED,OAAO,IAAI,CAAC;QAEZ,SAAS,2BAA2B,CAAC,UAA8B;YACjE,GAAG,CACD,wDAAwD,IAAI,EAAE,EAC9D,gBAAgB,CAAC,UAAU,CAAC,CAC7B,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,UAAU,OAAO,CAAC,QAA+C;QACpE,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAC5B,OAAO,QAAQ,CAAC,GAAG,CAAC;SACrB;QACD,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACnD,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,MAAM,CAAC,IAAY;;QAC1B,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE;YACpB,OAAO,IAAI,CAAC;SACb;QACD,OAAO,MAAA,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,mCAAI,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACpE,CAAC;IAED,SAAS,UAAU,CAAC,SAAiB;QACnC,OAAO,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAC3C,CAAC;IAED,SAAS,eAAe,CAAC,IAAY;QACnC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1D,CAAC;IAED,KAAK,UAAU,iBAAiB,CAAC,GAAW;QAC1C,OAAO,qBAAqB,CAAC,YAAY,EAAE,YAAY,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,SAAS,qBAAqB;QAC5B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAoC,CAAC;QAC1D,IAAI,OAAO,GAAgB,EAAE,CAAC;QAC9B,OAAO;YACL,KAAK,CAAC,GAAG,CAAC,IAAY;gBACpB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;oBAC5B,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACjD,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;iBACpB;gBACD,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;YACD,GAAG,CAAC,IAAY,EAAE,KAA+B;gBAC/C,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACzB,CAAC;YACD,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,IAAS;gBACnC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACnC,IAAI,KAAK,EAAE;oBACT,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;iBACnB;YACH,CAAC;YACD,MAAM,CAAC,OAAoB;gBACzB,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;YAC3B,CAAC;SACF,CAAC;IACJ,CAAC;IAED,SAAS,kBAAkB;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;QAC/B,OAAO;YACL,GAAG,IAAI;YACP,UAAU,EAAE,IAAI,OAAO,EAAE;YACzB,QAAQ;YACR,IAAI;YACJ,iBAAiB;SAClB,CAAC;QAEF,KAAK,UAAU,QAAQ,CAAC,IAAY;YAClC,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;YACvC,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAE/C,YAAY;YACZ,IAAI,MAAM,IAAI,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,CAAC,EAAE;gBAChE,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE;oBAC3B,MAAM,MAAM,CAAC,KAAK,CAAC;iBACpB;gBACD,OAAO,MAAM,CAAC,IAAI,CAAC;aACpB;YAED,sEAAsE;YACtE,sEAAsE;YACtE,IAAI,QAAQ,EAAE;gBACZ,MAAM,IAAI,GAAG;oBACX,QAAQ;oBACR,GAAG,gBAAgB,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC;iBAC9C,CAAC;gBACF,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC7E,OAAO,IAAI,CAAC;aACb;YAED,yBAAyB;YACzB,IAAI;gBACF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACvC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClD,OAAO,IAAI,CAAC;aACb;YAAC,OAAO,KAAK,EAAE;gBACd,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;gBACpD,MAAM,KAAK,CAAC;aACb;QACH,CAAC;QAED,KAAK,UAAU,IAAI,CAAC,IAAY;;YAC9B,0EAA0E;YAC1E,4DAA4D;YAC5D,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAA,MAAA,CAAC,MAAM,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,0CAAE,IAAI,MAAK,MAAM,EAAE;gBAC/E,OAAO;oBACL,MAAM;wBACJ,OAAO,IAAI,CAAC;oBACd,CAAC;oBACD,WAAW;wBACT,OAAO,KAAK,CAAC;oBACf,CAAC;iBACF,CAAC;aACH;YACD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QAED,SAAS,iBAAiB,CAAC,IAAY;YACrC,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,UAAU,MAAK,UAAU,EAAE;gBACvC,OAAO,UAAU,CAAC;aACnB;YACD,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;AACH,CAAC;AAID,SAAS,wBAAwB,CAC/B,IAAU;;IAEV,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,mBAAmB,EAAE;QAChD,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;KACvD;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,yBAAyB,EAAE;QACtD,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;KAC3D;IAED,IAAI,OAAO,GAAqB,IAAI,CAAC;IACrC,OAAO,OAAO,EAAE;QACd,IAAI,CAAA,MAAA,OAAO,CAAC,MAAM,0CAAE,IAAI,MAAK,UAAU,CAAC,mBAAmB,EAAE;YAC3D,OAAO;gBACL,IAAI,EAAE,OAAO,CAAC,MAAM;gBACpB,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,OAAc,CAAC;aAChE,CAAC;SACH;QACD,IAAI,CAAA,MAAA,OAAO,CAAC,MAAM,0CAAE,IAAI,MAAK,UAAU,CAAC,yBAAyB,EAAE;YACjE,OAAO;gBACL,IAAI,EAAE,OAAO,CAAC,MAAM;gBACpB,aAAa,EACX,OAAO,MAAK,MAAA,OAAO,CAAC,MAAM,0CAAE,UAAU,CAAA;oBACpC,CAAC,CAAC,CAAC;oBACH,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,OAAc,CAAC,GAAG,CAAC;aAC3D,CAAC;SACH;QACD,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;KAC1B;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CACzC,MAA0B,EAC1B,QAAgB,EAChB,SAAkC,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI;IAEtD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7D,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,MAAK,UAAU,CAAC,aAAa,EAAE;QAC/C,OAAO,QAAQ,CAAC;KACjB;IACD,uEAAuE;IACvE,kEAAkE;IAClE,sEAAsE;IACtE,gDAAgD;IAChD,MAAM,EAAE,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACvD,IAAI,CAAC,EAAE,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,EAAE;QACpC,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC3D,IAAI,WAAW,KAAK,QAAQ,EAAE;YAC5B,OAAO,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;SACvD;KACF;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -12,7 +12,9 @@ export interface TestServerHost extends ServerHost, TestFileSystem {
12
12
  getDiagnostics(path: string): readonly Diagnostic[];
13
13
  getURL(path: string): string;
14
14
  }
15
- export declare function createTestServerHost(options?: TestHostOptions): Promise<TestServerHost>;
15
+ export declare function createTestServerHost(options?: TestHostOptions & {
16
+ workspaceDir?: string;
17
+ }): Promise<TestServerHost>;
16
18
  /**
17
19
  * Takes source code with a cursor position indicated by the given marker
18
20
  * ("┆" by default), and returns the source without the marker along with
@@ -1 +1 @@
1
- {"version":3,"file":"test-server-host.d.ts","sourceRoot":"","sources":["../../testing/test-server-host.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAc,MAAM,kBAAkB,CAAC;AAE9D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAgB,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAEL,eAAe,EAGhB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,WAAW,cAAe,SAAQ,UAAU,EAAE,cAAc;IAChE,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAAC;IACxD,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,YAAY,CAAC;IACjE,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,UAAU,EAAE,CAAC;IACpD,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CAC9B;AAED,wBAAsB,oBAAoB,CAAC,OAAO,CAAC,EAAE,eAAe,2BAkEnE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,gBAAgB,EAAE,MAAM,EACxB,MAAM,SAAM,GACX;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAKjC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,mBAAmB,EAAE,MAAM,EAC3B,MAAM,SAAQ,GACb;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAI9C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,EAAE,CAanE"}
1
+ {"version":3,"file":"test-server-host.d.ts","sourceRoot":"","sources":["../../testing/test-server-host.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAc,MAAM,kBAAkB,CAAC;AAE9D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAgB,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAEL,eAAe,EAGhB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,WAAW,cAAe,SAAQ,UAAU,EAAE,cAAc;IAChE,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAAC;IACxD,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,YAAY,CAAC;IACjE,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,UAAU,EAAE,CAAC;IACpD,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CAC9B;AAED,wBAAsB,oBAAoB,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,2BAmE/F;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,gBAAgB,EAAE,MAAM,EACxB,MAAM,SAAM,GACX;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAKjC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,mBAAmB,EAAE,MAAM,EAC3B,MAAM,SAAQ,GACb;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAI9C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,EAAE,CAanE"}
@@ -7,6 +7,7 @@ import { createStringMap } from "../core/util.js";
7
7
  import { createServer } from "../server/index.js";
8
8
  import { StandardTestLibrary, createTestFileSystem, resolveVirtualPath, } from "./test-host.js";
9
9
  export async function createTestServerHost(options) {
10
+ var _a;
10
11
  const logMessages = [];
11
12
  const documents = createStringMap(!!(options === null || options === void 0 ? void 0 : options.caseInsensitiveFileSystem));
12
13
  const diagnostics = createStringMap(!!(options === null || options === void 0 ? void 0 : options.caseInsensitiveFileSystem));
@@ -59,7 +60,8 @@ export async function createTestServerHost(options) {
59
60
  return pathToFileURL(resolveVirtualPath(path)).href;
60
61
  },
61
62
  };
62
- const rootUri = serverHost.getURL("./");
63
+ const workspaceDir = (_a = options === null || options === void 0 ? void 0 : options.workspaceDir) !== null && _a !== void 0 ? _a : "./";
64
+ const rootUri = serverHost.getURL(workspaceDir);
63
65
  const server = createServer(serverHost);
64
66
  await server.initialize({
65
67
  rootUri: (options === null || options === void 0 ? void 0 : options.caseInsensitiveFileSystem) ? rootUri.toUpperCase() : rootUri,
@@ -1 +1 @@
1
- {"version":3,"file":"test-server-host.js","sourceRoot":"","sources":["../../testing/test-server-host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-server-host.js","sourceRoot":"","sources":["../../testing/test-server-host.ts"],"names":[],"mappings":"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"}
@@ -96,7 +96,7 @@ extern dec error(target: Model);
96
96
 
97
97
  /**
98
98
  * Specify a known data format hint for this string type. For example `uuid`, `uri`, etc.
99
- * This differ from the @pattern decorator that is meant to specify a regular expression while @format takes in a known format name.
99
+ * This differs from the `@pattern` decorator which is meant to specify a regular expression while `@format` accepts a known format name.
100
100
  * The format names are open ended and are left to emitter to interpret.
101
101
  *
102
102
  * @param format format name.
@@ -242,7 +242,7 @@ extern dec tag(target: Namespace | Interface | Operation, tag: string);
242
242
  /**
243
243
  * Specifies how a templated type should name their instances.
244
244
  * @param name name the template instance should take
245
- * @formatArgs Model with key value used to interpolate the name
245
+ * @param formatArgs Model with key value used to interpolate the name
246
246
  *
247
247
  * @example
248
248
  * ```typespec
@@ -274,6 +274,7 @@ extern dec knownValues(target: string | numeric | ModelProperty, values: Enum);
274
274
 
275
275
  /**
276
276
  * Mark a model property as the key to identify instances of that type
277
+ * @param altName Name of the property. If not specified, the decorated property name is used.
277
278
  *
278
279
  * @example
279
280
  * ```typespec
@@ -316,6 +317,7 @@ extern dec projectedName(target: unknown, targetName: string, projectedName: str
316
317
 
317
318
  /**
318
319
  * Specify the property to be used to discriminate this type.
320
+ * @param propertyName The property name to use for discrimination
319
321
  *
320
322
  * @example
321
323
  *
@@ -337,6 +339,79 @@ extern dec projectedName(target: unknown, targetName: string, projectedName: str
337
339
  */
338
340
  extern dec discriminator(target: Model | Union, propertyName: string);
339
341
 
342
+ /**
343
+ * Known encoding to use on utcDateTime or offsetDateTime
344
+ */
345
+ enum DateTimeKnownEncoding {
346
+ /**
347
+ * RFC 3339 standard. https://www.ietf.org/rfc/rfc3339.txt
348
+ * Encode to string.
349
+ */
350
+ rfc3339: "rfc3339",
351
+ /**
352
+ * RFC 7231 standard. https://www.ietf.org/rfc/rfc7231.txt
353
+ * Encode to string.
354
+ */
355
+ rfc7231: "rfc7231",
356
+ /**
357
+ * Encode to integer
358
+ */
359
+ unixTimestamp: "unixTimestamp",
360
+ }
361
+
362
+ /**
363
+ * Known encoding to use on duration
364
+ */
365
+ enum DurationKnownEncoding {
366
+ /**
367
+ * ISO8601 duration
368
+ */
369
+ ISO8601: "ISO8601",
370
+ /**
371
+ * Encode to integer or float
372
+ */
373
+ seconds: "seconds",
374
+ }
375
+
376
+ /**
377
+ * Known encoding to use on bytes
378
+ */
379
+ enum BytesKnownEncoding {
380
+ /**
381
+ * Encode to Base64
382
+ */
383
+ base64: "base64",
384
+ /**
385
+ * Encode to Base64 Url
386
+ */
387
+ base64url: "base64url",
388
+ }
389
+
390
+ /**
391
+ * Specify how to encode the target type.
392
+ * @param encoding Known name of an encoding.
393
+ * @param encodedAs What target type is this being encoded as. Default to string.
394
+ *
395
+ * @example offsetDateTime encoded with rfc7231
396
+ *
397
+ * ```tsp
398
+ * @encode("rfc7231")
399
+ * scalar myDateTime extends offsetDateTime;
400
+ * ```
401
+ *
402
+ * @example utcDateTime encoded with unixTimestamp
403
+ *
404
+ * ```tsp
405
+ * @encode("unixTimestamp", int32)
406
+ * scalar myDateTime extends unixTimestamp;
407
+ * ```
408
+ */
409
+ extern dec encode(
410
+ target: Scalar | ModelProperty,
411
+ encoding: string | EnumMember,
412
+ encodedAs?: string | numeric
413
+ );
414
+
340
415
  /**
341
416
  * Indicates that a property is only considered to be present or applicable ("visible") with
342
417
  * the in the given named contexts ("visibilities"). When a property has no visibilities applied
@@ -352,7 +427,9 @@ extern dec discriminator(target: Model | Union, propertyName: string);
352
427
  * - "update": input to operations that update data.
353
428
  * - "delete": input to operations that delete data.
354
429
  *
355
- * See also: [Automatic visibility](https://microsoft.github.io/typespec/standard-library/rest/operations#automatic-visibility)
430
+ * See also: [Automatic visibility](https://microsoft.github.io/typespec/standard-library/http/operations#automatic-visibility)
431
+ *
432
+ * @param visibilities List of visibilities which apply to this property.
356
433
  *
357
434
  * @example
358
435
  *
@@ -375,11 +452,13 @@ extern dec visibility(target: ModelProperty, ...visibilities: string[]);
375
452
  * together with spread to effectively spread only visible properties into
376
453
  * a new model.
377
454
  *
378
- * See also: [Automatic visibility](https://microsoft.github.io/typespec/standard-library/rest/operations#automatic-visibility)
455
+ * See also: [Automatic visibility](https://microsoft.github.io/typespec/standard-library/http/operations#automatic-visibility)
379
456
  *
380
457
  * When using an emitter that applies visibility automatically, it is generally
381
458
  * not necessary to use this decorator.
382
459
  *
460
+ * @param visibilities List of visibilities which apply to this property.
461
+ *
383
462
  * @example
384
463
  * ```typespec
385
464
  * model Dog {
@@ -408,13 +487,42 @@ extern dec visibility(target: ModelProperty, ...visibilities: string[]);
408
487
  * ```
409
488
  */
410
489
  extern dec withVisibility(target: Model, ...visibilities: string[]);
490
+
491
+ /**
492
+ * Set the visibility of key properties in a model if not already set.
493
+ *
494
+ * @param visibility The desired default visibility value. If a key property already has a `visibility` decorator then the default visibility is not applied.
495
+ */
411
496
  extern dec withDefaultKeyVisibility(target: Model, visibility: unknown);
497
+
498
+ /**
499
+ * Returns the model with non-updateable properties removed.
500
+ */
412
501
  extern dec withUpdateableProperties(target: Model);
502
+
503
+ /**
504
+ * Returns the model with any default values removed.
505
+ */
413
506
  extern dec withoutDefaultValues(target: Model);
507
+
508
+ /**
509
+ * Returns the model with the given properties omitted.
510
+ * @param omit List of properties to omit
511
+ */
414
512
  extern dec withoutOmittedProperties(target: Model, omit: string | Union);
415
513
 
416
514
  //---------------------------------------------------------------------------
417
515
  // Debugging
418
516
  //---------------------------------------------------------------------------
517
+
518
+ /**
519
+ * A debugging decorator used to inspect a type.
520
+ * @param text Custom text to log
521
+ */
419
522
  extern dec inspectType(target: unknown, text: string);
523
+
524
+ /**
525
+ * A debugging decorator used to inspect a type name.
526
+ * @param text Custom text to log
527
+ */
420
528
  extern dec inspectTypeName(target: unknown, text: string);
package/lib/lib.tsp CHANGED
@@ -117,12 +117,14 @@ model object {}
117
117
 
118
118
  /**
119
119
  * Array model type, equivalent to `T[]`
120
+ * @template T The type of the array elements
120
121
  */
121
122
  @indexer(integer, T)
122
123
  model Array<T> {}
123
124
 
124
125
  /**
125
126
  * Model with string properties where all the properties have type `T`
127
+ * @template T The type of the properties
126
128
  */
127
129
  @indexer(string, T)
128
130
  model Record<T> {}
@@ -133,29 +135,51 @@ model Record<T> {}
133
135
  @format("url")
134
136
  scalar url extends string;
135
137
 
138
+ /**
139
+ * Represents a collection of optional properties.
140
+ * @template T An object whose spread properties are all optional.
141
+ */
136
142
  @doc("The template for adding optional properties.")
137
143
  @withOptionalProperties
138
144
  model OptionalProperties<T> {
139
145
  ...T;
140
146
  }
141
147
 
148
+ /**
149
+ * Represents a collection of updateable properties.
150
+ * @template T An object whose spread properties are all updateable.
151
+ */
142
152
  @doc("The template for adding updateable properties.")
143
153
  @withUpdateableProperties
144
154
  model UpdateableProperties<T> {
145
155
  ...T;
146
156
  }
147
157
 
158
+ /**
159
+ * Represents a collection of omitted properties.
160
+ * @template T An object whose properties are spread.
161
+ * @template TKeys The property keys to omit.
162
+ */
148
163
  @doc("The template for omitting properties.")
149
164
  @withoutOmittedProperties(TKeys)
150
165
  model OmitProperties<T, TKeys extends string> {
151
166
  ...T;
152
167
  }
153
168
 
169
+ /**
170
+ * Represents a collection of properties with default values omitted.
171
+ * @template T An object whose spread property defaults are all omitted.
172
+ */
154
173
  @withoutDefaultValues
155
174
  model OmitDefaults<T> {
156
175
  ...T;
157
176
  }
158
177
 
178
+ /**
179
+ * Applies a visiblity setting to a collection of properties.
180
+ * @template T An object whose properties are spread.
181
+ * @template Visibility The visibility to apply to all properties.
182
+ */
159
183
  @doc("The template for setting the default visibility of key properties.")
160
184
  @withDefaultKeyVisibility(Visibility)
161
185
  model DefaultKeyVisibility<T, Visibility extends string> {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typespec/compiler",
3
- "version": "0.44.0-dev.9",
3
+ "version": "0.44.0",
4
4
  "description": "TypeSpec Compiler Preview",
5
5
  "author": "Microsoft Corporation",
6
6
  "license": "MIT",
@@ -81,8 +81,8 @@
81
81
  "@types/prettier": "2.6.0",
82
82
  "@types/prompts": "~2.4.3",
83
83
  "@types/yargs": "~17.0.24",
84
- "@typespec/eslint-config-typespec": ">=0.6.0",
85
- "@typespec/internal-build-utils": ">=0.4.0",
84
+ "@typespec/eslint-config-typespec": "~0.7.0",
85
+ "@typespec/internal-build-utils": "~0.4.1",
86
86
  "eslint": "^8.36.0",
87
87
  "grammarkdown": "~3.2.0",
88
88
  "mocha": "~10.2.0",
@@ -92,14 +92,13 @@
92
92
  "prettier-plugin-organize-imports": "~3.2.0",
93
93
  "source-map-support": "~0.5.19",
94
94
  "rimraf": "~5.0.0",
95
- "tmlanguage-generator": ">=0.4.0",
95
+ "tmlanguage-generator": "~0.4.1",
96
96
  "typescript": "~5.0.2",
97
97
  "vscode-oniguruma": "~1.7.0",
98
98
  "vscode-textmate": "~9.0.0",
99
99
  "sinon": "~15.0.3",
100
100
  "@types/sinon": "~10.0.13"
101
101
  },
102
- "peerDependencies": {},
103
102
  "scripts": {
104
103
  "clean": "rimraf ./dist ./temp",
105
104
  "build": "npm run gen-manifest && npm run compile && npm run generate-tmlanguage",