@glint/ember-tsc 1.1.2-unstable.27a551c → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2023 The Ember TypeScript team and contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # `@glint/core`
1
+ # `@glint/ember-tsc`
2
2
 
3
3
  This package contains core functionality to power template-aware typechecking on a [glint] project. Two binaries are provided:
4
4
 
@@ -47,3 +47,4 @@ ember-tsc --build --declaration --emitDeclarationOnly --watch
47
47
 
48
48
  Please refer to `tsc` docs for other use cases and flags.
49
49
 
50
+
@@ -16,6 +16,9 @@ type TypeScript = typeof TS;
16
16
  */
17
17
  export declare class ConfigLoader {
18
18
  private configs;
19
+ private logInfo?;
20
+ constructor(logInfo?: (message: string) => void);
21
+ private log;
19
22
  configForFile(filePath: string): GlintConfig | null;
20
23
  configForDirectory(directory: string): GlintConfig | null;
21
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAKjE,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C;;;;GAIG;AACH,eAAO,MAAM,OAAO,gBAAiC,CAAC;AAEtD,KAAK,UAAU,GAAG,OAAO,EAAE,CAAC;AAE5B;;;;;GAKG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAyC;IAEjD,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAInD,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;CAiBjE;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAMjE;AAiDD,wBAAgB,eAAe,CAAC,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAE1F"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAKjE,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C;;;;GAIG;AACH,eAAO,MAAM,OAAO,gBAAiC,CAAC;AAEtD,KAAK,UAAU,GAAG,OAAO,EAAE,CAAC;AAE5B;;;;;GAKG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAyC;IACxD,OAAO,CAAC,OAAO,CAAC,CAA4B;gBAEhC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI;IAI/C,OAAO,CAAC,GAAG;IAIJ,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAInD,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;CA4BjE;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAMjE;AAiDD,wBAAgB,eAAe,CAAC,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAE1F"}
@@ -16,24 +16,35 @@ export const require = createRequire(import.meta.url);
16
16
  * `jsconfig.json` source file.
17
17
  */
18
18
  export class ConfigLoader {
19
- constructor() {
19
+ constructor(logInfo) {
20
20
  this.configs = new Map();
21
+ this.logInfo = logInfo;
22
+ }
23
+ log(message) {
24
+ this.logInfo?.(message);
21
25
  }
22
26
  configForFile(filePath) {
23
27
  return this.configForDirectory(path.dirname(filePath));
24
28
  }
25
29
  configForDirectory(directory) {
26
30
  let ts = findTypeScript(directory);
27
- if (!ts)
31
+ if (!ts) {
32
+ this.log(`No TypeScript installation found from ${directory}.`);
28
33
  return null;
34
+ }
29
35
  let configPath = findNearestConfigFile(ts, directory);
30
- if (!configPath)
36
+ if (!configPath) {
37
+ this.log(`No tsconfig.json or jsconfig.json found from ${directory}.`);
31
38
  return null;
39
+ }
32
40
  let existing = this.configs.get(configPath);
33
- if (existing !== undefined)
41
+ if (existing !== undefined) {
42
+ this.log(`Using cached Glint config from ${configPath}.`);
34
43
  return existing;
44
+ }
35
45
  let configInput = loadConfigInput(ts, configPath);
36
46
  let config = new GlintConfig(ts, configPath, configInput || { environment: [] });
47
+ this.log(`Loaded Glint config from ${configPath}.`);
37
48
  this.configs.set(configPath, config);
38
49
  return config;
39
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"template-to-typescript.d.ts","sourceRoot":"","sources":["../../../src/transform/template/template-to-typescript.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGpF,OAAO,EAAE,eAAe,EAAuB,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAKjG,MAAM,MAAM,2BAA2B,GAAG;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACrC,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACzB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;CACjD,CAAC;AAkBF;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,gBAAgB,EAAE,MAAM,EACxB,EACE,WAAW,EACX,OAAO,EACP,IAAI,EACJ,YAAY,EACZ,QAAa,EACb,eAA4C,EAC5C,YAAiB,EACjB,QAAgB,GACjB,EAAE,2BAA2B,GAC7B,aAAa,CA+0Cf"}
1
+ {"version":3,"file":"template-to-typescript.d.ts","sourceRoot":"","sources":["../../../src/transform/template/template-to-typescript.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGpF,OAAO,EAAE,eAAe,EAAuB,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAKjG,MAAM,MAAM,2BAA2B,GAAG;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACrC,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACzB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;CACjD,CAAC;AAkBF;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,gBAAgB,EAAE,MAAM,EACxB,EACE,WAAW,EACX,OAAO,EACP,IAAI,EACJ,YAAY,EACZ,QAAa,EACb,eAA4C,EAC5C,YAAiB,EACjB,QAAgB,GACjB,EAAE,2BAA2B,GAC7B,aAAa,CAy1Cf"}
@@ -382,6 +382,11 @@ export function templateToTypescript(originalTemplate, { typesModule, globals, m
382
382
  emitPlainElement(node);
383
383
  }
384
384
  }
385
+ function emitQuotedTextNodeValue(node) {
386
+ mapper.text('"');
387
+ mapper.identifier(JSON.stringify(node.chars).slice(1, -1), node.loc.getStart().offset + prefix.length + 1, node.chars.length);
388
+ mapper.text('"');
389
+ }
385
390
  function emitConcatStatement(node) {
386
391
  mapper.forNode(node, () => {
387
392
  mapper.text('`');
@@ -477,7 +482,7 @@ export function templateToTypescript(originalTemplate, { typesModule, globals, m
477
482
  mapper.text(': ');
478
483
  switch (attr.value.type) {
479
484
  case 'TextNode':
480
- mapper.text(JSON.stringify(attr.value.chars));
485
+ emitQuotedTextNodeValue(attr.value);
481
486
  break;
482
487
  case 'ConcatStatement':
483
488
  emitConcatStatement(attr.value);
@@ -1 +1 @@
1
- {"version":3,"file":"template-to-typescript.js","sourceRoot":"","sources":["../../../src/transform/template/template-to-typescript.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAmB,mBAAmB,EAAiB,MAAM,4BAA4B,CAAC;AACjG,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAE1C,MAAM,aAAa,GAAG,eAAe,CAAC;AAatC;;;;GAIG;AACH,SAAS,YAAY,CAAC,IAAwB;IAC5C,oEAAoE;IACpE,0CAA0C;IAC1C,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAElD,qEAAqE;IACrE,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC;IAExC,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,gBAAwB,EACxB,EACE,WAAW,EACX,OAAO,EACP,IAAI,EACJ,YAAY,EACZ,QAAQ,GAAG,EAAE,EACb,eAAe,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAC5C,YAAY,GAAG,EAAE,EACjB,QAAQ,GAAG,KAAK,GACY;IAE9B,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC;IACzC,IAAI,QAAQ,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,gBAAgB,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;IAE3F,OAAO,mBAAmB,CAAC,gBAAgB,EAAE,EAAE,eAAe,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;QAChF,IAAI,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;QAC9B,IAAI,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,aAAa,GAA+B,SAAS,CAAC;QAE1D,uBAAuB,CAAC,GAAG,EAAE;YAC3B,KAAK,IAAI,SAAS,IAAI,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC;gBACtC,qBAAqB,CAAC,SAAS,CAAC,CAAC;YACnC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO;QAEP,SAAS,qBAAqB,CAAC,IAA2B;YACxD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClB,KAAK,OAAO;oBACV,MAAM,IAAI,KAAK,CAAC,wCAAwC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBACvE,6DAA6D;gBAC7D,mBAAmB;gBACnB,KAAK,kBAAkB;oBACrB,6DAA6D;oBAC7D,mBAAmB;oBACnB,MAAM,IAAI,KAAK,CAAC,wCAAwC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBAEvE,KAAK,UAAU;oBACb,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC;gBAEpC,KAAK,kBAAkB,CAAC;gBACxB,KAAK,0BAA0B;oBAC7B,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;gBAE3B,KAAK,mBAAmB;oBACtB,OAAO,6BAA6B,CAAC,IAAI,CAAC,CAAC;gBAE7C,KAAK,gBAAgB;oBACnB,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBAElC,KAAK,aAAa;oBAChB,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;gBAE/B;oBACE,WAAW,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QAED,SAAS,uBAAuB,CAAC,QAAoB;YACnD,IAAI,IAAI,EAAE,OAAO,EAAE,CAAC;gBAClB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5B,CAAC;YAED,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;gBAC1C,IAAI,GAAG,EAAE,CAAC;oBACR,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE;wBACvB,MAAM,CAAC,IAAI,CAAC,IAAI,WAAW,GAAG,CAAC,CAAC;oBAClC,CAAC,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,CAAC,IAAI,WAAW,GAAG,CAAC,CAAC;gBAClC,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;gBACrC,IAAI,GAAG,EAAE,CAAC;oBACR,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE;wBACvB,MAAM,CAAC,IAAI,CAAC,IAAI,WAAW,GAAG,CAAC,CAAC;oBAClC,CAAC,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,CAAC,IAAI,WAAW,GAAG,CAAC,CAAC;gBAClC,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;YAED,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,CAAC,IAAI,CAAC,4BAA4B,YAAY,yBAAyB,CAAC,CAAC;YACjF,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;YAC3D,CAAC;YAED,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,+BAA+B,WAAW,wBAAwB,CAAC,CAAC;YAClF,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,kCAAkC,WAAW,OAAO,CAAC,CAAC;YACpE,CAAC;YAED,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,CAAC,MAAM,EAAE,CAAC;YAEhB,KAAK,IAAI,IAAI,IAAI,QAAQ,EAAE,CAAC;gBAC1B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClB,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,CAAC;YAED,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAChC,CAAC;YAED,sEAAsE;YACtE,6BAA6B;YAC7B,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC3C,MAAM,CAAC,OAAO,EAAE,CAAC;YAEjB,MAAM,CAAC,yBAAyB,EAAE,CAAC;YAEnC,MAAM,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAElB,IAAI,IAAI,EAAE,MAAM,EAAE,CAAC;gBACjB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,SAAS,oBAAoB,CAAC,IAAkB;YAC9C,sEAAsE;YACtE,sEAAsE;YACtE,gDAAgD;YAChD,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,WAAW,EAAE,CAAC,CAAC;QAC1C,CAAC;QAED,SAAS,WAAW,CAAC,IAAyD;YAC5E,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAC7B,MAAM,cAAc,GAAG,oBAAoB,CAAC;YAC5C,IAAI,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;YAED,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC7B,CAAC;QAED,SAAS,aAAa,CACpB,KAAsB,EACtB,IAAyD;YAEzD,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;gBACjD,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;YACrF,CAAC;iBAAM,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC9B,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC;YACrF,CAAC;iBAAM,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7B,aAAa,GAAG,KAAK,CAAC;YACxB,CAAC;iBAAM,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;gBAChC,aAAa,GAAG,MAAM,CAAC;YACzB,CAAC;iBAAM,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;gBACvD,aAAa,GAAG,SAAS,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,8BAA8B;gBAC9B,MAAM,CAAC,KAAK,CAAC,4BAA4B,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QAED,SAAS,6BAA6B,CAAC,IAA2B;YAChE,qBAAqB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC;QAQD,SAAS,yBAAyB,CAChC,QAAyB,EACzB,IAA+C,EAC/C,QAAwB;YAExB,IAAI,QAAQ,CAAC,mBAAmB,EAAE,CAAC;gBACjC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;gBACnC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC1B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;YAED,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACtB,KAAK,OAAO;oBACV,mBAAmB,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;oBAC9C,MAAM;gBAER,KAAK,IAAI;oBACP,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;oBACjC,MAAM;gBAER,KAAK,QAAQ;oBACX,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;oBACpC,MAAM;gBAER,KAAK,gBAAgB;oBACnB,oBAAoB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;oBACrC,MAAM;gBAER,KAAK,eAAe;oBAClB,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;oBACpC,MAAM;gBAER,KAAK,gBAAgB;oBACnB,2BAA2B,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;oBACtD,MAAM;gBAER,KAAK,KAAK,CAAC;gBACX,KAAK,KAAK;oBACR,4BAA4B,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;oBAC7C,MAAM;gBAER,KAAK,IAAI,CAAC;gBACV,KAAK,IAAI;oBACP,qBAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;oBACtC,MAAM;gBAER,KAAK,GAAG;oBACN,2BAA2B,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;oBAC5C,MAAM;gBAER;oBACE,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,IAAI,8BAA8B,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;oBACjF,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC7B,CAAC;YAED,IAAI,QAAQ,CAAC,mBAAmB,EAAE,CAAC;gBACjC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;QAED,SAAS,2BAA2B,CAClC,QAAyB,EACzB,IAA+C,EAC/C,QAAwB;YAExB,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE;gBACxB,MAAM,CACJ,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,EACvB,GAAG,EAAE,CAAC,KAAK,QAAQ,CAAC,IAAI,8CAA8C,CACvE,CAAC;gBAEF,MAAM,CACJ,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EACxD,GAAG,EAAE,CACH,8CAA8C,QAAQ,CAAC,IAAI,uBAAuB;oBAClF,mFAAmF;oBACnF,+BAA+B;oBAC/B,KAAK,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,2CAA2C,CAClF,CAAC;gBAEF,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;oBAC7B,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;gBAC3C,CAAC;gBAED,4EAA4E;gBAC5E,4EAA4E;gBAC5E,kFAAkF;gBAClF,4EAA4E;gBAC5E,gFAAgF;gBAChF,iFAAiF;gBACjF,iFAAiF;gBACjF,mBAAmB;gBACnB,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;gBACrC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC1B,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;gBACrD,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/B,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACtB,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC1C,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAEjB,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;oBAC7B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACnB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,SAAS,oBAAoB,CAC3B,QAAyB,EACzB,IAA+C;YAE/C,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE;gBACxB,MAAM,CACJ,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EACxB,GAAG,EAAE,CAAC,KAAK,QAAQ,CAAC,IAAI,kCAAkC,CAC3D,CAAC;gBAEF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;oBAC5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAClB,OAAO;gBACT,CAAC;gBAED,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClB,MAAM,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,CAAC,OAAO,EAAE,CAAC;gBAEjB,IAAI,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACnE,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;oBACjC,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;oBAC1C,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;oBAC7B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAClB,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC3B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACjB,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,CAAC;gBAED,MAAM,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,SAAS,mBAAmB,CAC1B,QAAyB,EACzB,IAA+C;YAE/C,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE;gBACxB,MAAM,CACJ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAC5B,GAAG,EAAE,CAAC,KAAK,QAAQ,CAAC,IAAI,uCAAuC,CAChE,CAAC;gBAEF,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAEjB,KAAK,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;oBACjD,cAAc,CAAC,KAAK,CAAC,CAAC;oBAEtB,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACnC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACpB,CAAC;gBACH,CAAC;gBAED,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,SAAS,gBAAgB,CACvB,QAAyB,EACzB,IAA+C;YAE/C,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE;gBACxB,MAAM,CACJ,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,EACvB,GAAG,EAAE,CAAC,KAAK,QAAQ,CAAC,IAAI,qCAAqC,CAC9D,CAAC;gBAEF,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjB,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACrB,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAErB,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnB,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjC,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC3B,CAAC;gBAED,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,SAAS,mBAAmB,CAC1B,QAAyB,EACzB,IAA+C;YAE/C,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE;gBACxB,MAAM,CACJ,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,EACvB,GAAG,EAAE,CAAC,KAAK,QAAQ,CAAC,IAAI,qCAAqC,CAC9D,CAAC;gBAEF,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClB,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACrB,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAErB,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnB,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjC,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC3B,CAAC;gBAED,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,SAAS,4BAA4B,CACnC,QAAyB,EACzB,IAA+C;YAE/C,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE;gBACxB,MAAM,CACJ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAC5B,GAAG,EAAE,CAAC,KAAK,QAAQ,CAAC,IAAI,uCAAuC,CAChE,CAAC;gBACF,MAAM,CACJ,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EACxB,GAAG,EAAE,CAAC,KAAK,QAAQ,CAAC,IAAI,oCAAoC,CAC7D,CAAC;gBAEF,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;gBAElC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjB,cAAc,CAAC,IAAI,CAAC,CAAC;gBACrB,MAAM,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;gBAClC,cAAc,CAAC,KAAK,CAAC,CAAC;gBACtB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,SAAS,qBAAqB,CAC5B,QAAyB,EACzB,IAA+C;YAE/C,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE;gBACxB,MAAM,CACJ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAC5B,GAAG,EAAE,CAAC,KAAK,QAAQ,CAAC,IAAI,uCAAuC,CAChE,CAAC;gBACF,MAAM,CACJ,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,EACvB,GAAG,EAAE,CAAC,KAAK,QAAQ,CAAC,IAAI,qCAAqC,CAC9D,CAAC;gBAEF,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjB,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;oBACnD,cAAc,CAAC,KAAK,CAAC,CAAC;oBAEtB,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACnC,MAAM,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;oBACpC,CAAC;gBACH,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,SAAS,2BAA2B,CAClC,QAAyB,EACzB,IAA+C;YAE/C,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE;gBACxB,MAAM,CACJ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAC5B,GAAG,EAAE,CAAC,KAAK,QAAQ,CAAC,IAAI,uCAAuC,CAChE,CAAC;gBACF,MAAM,CACJ,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EACxB,GAAG,EAAE,CAAC,KAAK,QAAQ,CAAC,IAAI,mCAAmC,CAC5D,CAAC;gBAEF,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;gBAE5B,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC3B,cAAc,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC,CAAC,CAAC;QACL,CAAC;QAQD,SAAS,gBAAgB,CAAC,IAAkB;YAC1C,IACE,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB;gBACnC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS;gBACjC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EACtB,CAAC;gBACD,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC/B,IAAI,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;oBACtE,IAAI,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBACvD,IAAI,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;oBAE9B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,QAAQ,EAAE,CAAC;gBACxD,CAAC;YACH,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAED,SAAS,cAAc,CAAC,IAAoB;YAC1C,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClB,KAAK,gBAAgB;oBACnB,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAExB,KAAK,eAAe;oBAClB,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBAEjC,KAAK,gBAAgB,CAAC;gBACtB,KAAK,aAAa,CAAC;gBACnB,KAAK,eAAe,CAAC;gBACrB,KAAK,eAAe,CAAC;gBACrB,KAAK,kBAAkB;oBACrB,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;gBAE3B;oBACE,WAAW,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QAED,SAAS,eAAe,CAAC,IAAqB;YAC5C,IAAI,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACxC,IACE,cAAc,CAAC,WAAW,EAAE,KAAK,cAAc;gBAC/C,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;gBACtB,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAC1B,CAAC;gBACD,aAAa,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QAED,SAAS,mBAAmB,CAAC,IAAyB;YACpD,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE;gBACxB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;wBACtC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;wBACvB,qBAAqB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;wBACtC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACnB,CAAC;gBACH,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,SAAS,uBAAuB,CAAC,IAAY,EAAE,SAAiB;YAC9D,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;gBACtC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC7E,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;QAED,SAAS,aAAa,CAAC,IAAY;YACjC,IAAI,OAAO,EAAE,CAAC;gBACZ,qEAAqE;gBACrE,oEAAoE;gBACpE,iEAAiE;gBACjE,2DAA2D;gBAC3D,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACN,iEAAiE;gBACjE,mEAAmE;gBACnE,sCAAsC;gBACtC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QAED,SAAS,qBAAqB,CAAC,IAAqB;YAKlD,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC;YACvB,IAAI,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;YAEhE,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5B,OAAO;oBACL,KAAK;oBACL,IAAI,EAAE,KAAK;oBACX,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;iBAClC,CAAC;YACJ,CAAC;iBAAM,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvC,OAAO;oBACL,KAAK;oBACL,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;iBAC/C,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO;oBACL,KAAK;oBACL,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;iBACzB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,SAAS,aAAa,CAAC,IAAqB;YAC1C,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE;gBACxB,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;gBAExD,KAAK,IAAI,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAClC,WAAW,CAAC,OAAO,CAAC,CAAC;gBACvB,CAAC;gBAED,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjB,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,MAAM,CAAC,MAAM,EAAE,CAAC;gBAEhB,uFAAuF;gBACvF,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;gBAE9D,mGAAmG;gBACnG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE;oBAC7B,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;oBACrC,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;oBACpC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACnB,CAAC,CAAC,CAAC;gBAEH,sFAAsF;gBACtF,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAEjB,IAAI,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC3E,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;oBACrB,kHAAkH;oBAClH,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;wBAC9C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAElB,KAAK,IAAI,IAAI,IAAI,SAAS,EAAE,CAAC;4BAC3B,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE;gCACxB,MAAM,CAAC,OAAO,EAAE,CAAC;gCAEjB,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,MAAO,CAAC;gCACpD,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gCACrE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gCAElB,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;oCACxB,KAAK,UAAU;wCACb,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;wCAC9C,MAAM;oCACR,KAAK,iBAAiB;wCACpB,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wCAChC,MAAM;oCACR,KAAK,mBAAmB;wCACtB,qBAAqB,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;wCACzC,MAAM;oCACR;wCACE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gCAC5B,CAAC;4BACH,CAAC,CAAC,CAAC;4BAEH,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC;4BACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACpB,CAAC;wBAED,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;oBACnD,CAAC,CAAC,CAAC;gBACL,CAAC;gBAED,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACnB,MAAM,CAAC,OAAO,EAAE,CAAC;gBAEjB,0BAA0B,CAAC,IAAI,CAAC,CAAC;gBAEjC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;oBACtB,IAAI,MAAM,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;oBAC1C,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;wBAC5B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;4BACpC,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,IAAI,KAAK,CAAC,IAAI,KAAK,0BAA0B,EAAE,CAAC;gCACnF,WAAW,CAAC,KAAK,CAAC,CAAC;gCACnB,SAAS;4BACX,CAAC;4BAED,IAAI,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;4BAC3C,IAAI,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC;4BACrE,IAAI,gBAAgB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;4BACzD,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;4BAE9B,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,CACzB,iBAAiB,CACf,IAAI,EACJ,SAAS,EACT,KAAK,CAAC,WAAW,EACjB,gBAAgB,EAChB,KAAK,CAAC,QAAQ,CACf,CACF,CAAC;wBACJ,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,IAAI,gBAAgB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;wBACvE,iBAAiB,CACf,SAAS,EACT,SAAS,EACT,IAAI,CAAC,WAAW,EAChB,gBAAgB,EAChB,MAAM,CAAC,QAAQ,CAChB,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,MAAM,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjB,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,SAAS,yBAAyB,CAAC,IAAc;YAC/C,OAAO,CACL,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;gBACtD,IAAI,CAAC,IAAI,KAAK,kBAAkB;gBAChC,IAAI,CAAC,IAAI,KAAK,0BAA0B,CACzC,CAAC;QACJ,CAAC;QAED,SAAS,YAAY,CAAC,IAAc;YAClC,OAAO,IAAI,CAAC,IAAI,KAAK,aAAa,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACjE,CAAC;QAOD,SAAS,sBAAsB,CAAC,IAAqB;YACnD,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,KAAK,GAAG,CAAC,CAAC;YAEd,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChC,IAAI,yBAAyB,CAAC,KAAK,CAAC,EAAE,CAAC;oBACrC,SAAS;gBACX,CAAC;gBAED,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;oBACxB,KAAK,IAAI,CAAC,CAAC;gBACb,CAAC;qBAAM,CAAC;oBACN,KAAK,IAAI,CAAC,CAAC;gBACb,CAAC;YACH,CAAC;YAED,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBAChB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtD,CAAC;iBAAM,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO;oBACL,IAAI,EAAE,OAAO;oBACb,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;oBAC5B,oDAAoD;oBACpD,CAAC,KAAK,EAA4B,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,CAIlE;iBACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,kEAAkE;gBAClE,gEAAgE;gBAChE,cAAc;gBACd,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAChC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;wBACzB,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,CACzB,MAAM,CACJ,yBAAyB,CAAC,KAAK,CAAC,EAChC,kDAAkD,CACnD,CACF,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;YACzC,CAAC;QACH,CAAC;QAED,SAAS,gBAAgB,CAAC,IAAqB;YAC7C,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE;gBACxB,IAAI,IAAI,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;oBACvB,aAAa,GAAG,KAAK,CAAC;gBACxB,CAAC;gBAED,IAAI,IAAI,CAAC,GAAG,KAAK,MAAM,EAAE,CAAC;oBACxB,aAAa,GAAG,MAAM,CAAC;gBACzB,CAAC;gBAED,KAAK,IAAI,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAClC,WAAW,CAAC,OAAO,CAAC,CAAC;gBACvB,CAAC;gBAED,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjB,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,MAAM,CAAC,MAAM,EAAE,CAAC;gBAEhB,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;oBAChC,MAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;gBAC/D,CAAC;qBAAM,IAAI,aAAa,KAAK,KAAK,EAAE,CAAC;oBACnC,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;gBAClE,CAAC;qBAAM,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;oBACpC,MAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;gBACrE,CAAC;gBACD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE;oBAC7B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACxB,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACnB,MAAM,CAAC,OAAO,EAAE,CAAC;gBAEjB,0BAA0B,CAAC,IAAI,CAAC,CAAC;gBAEjC,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAChC,qBAAqB,CAAC,KAAK,CAAC,CAAC;gBAC/B,CAAC;gBAED,IAAI,IAAI,CAAC,GAAG,KAAK,KAAK,IAAI,IAAI,CAAC,GAAG,KAAK,MAAM,EAAE,CAAC;oBAC9C,aAAa,GAAG,SAAS,CAAC;gBAC5B,CAAC;gBAED,MAAM,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjB,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,SAAS,0BAA0B,CAAC,IAAqB;YACvD,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxB,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAC1B,aAAa,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;QAED,SAAS,mBAAmB,CAAC,IAAqB;YAChD,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CACrC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,CACpE,CAAC;YAEF,gEAAgE;YAChE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAEpC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO;iBAC3B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;iBACjC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE;gBAC3C,IAAI,gBAAgB,GAAG,IAAI,CAAC;gBAE5B,KAAK,IAAI,IAAI,IAAI,UAAU,EAAE,CAAC;oBAC5B,IAAI,gBAAgB,EAAE,CAAC;wBACrB,gBAAgB,GAAG,KAAK,CAAC;wBAEzB,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;wBAE7C,wFAAwF;wBACxF,mFAAmF;wBACnF,sDAAsD;wBACtD,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE;4BACxB,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;wBACpC,CAAC,CAAC,CAAC;wBAEH,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACrB,CAAC;oBAED,MAAM,CAAC,OAAO,EAAE,CAAC;oBACjB,MAAM,CAAC,MAAM,EAAE,CAAC;oBAEhB,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE;wBACxB,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,MAAO,CAAC;wBACpD,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;wBACxD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAElB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;4BAC5C,qBAAqB,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;wBAC5C,CAAC;6BAAM,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;4BACjD,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBAClC,CAAC;6BAAM,CAAC;4BACN,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;wBAChD,CAAC;wBAED,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBACjB,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,CAAC,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnB,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC;QAED,SAAS,iBAAiB,CAAC,IAAqB;YAC9C,IAAI,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;YAChF,IAAI,CAAC,aAAa;gBAAE,OAAO;YAE3B,MAAM,CACJ,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,aAAa,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,EAC3E,uCAAuC,CACxC,CAAC;YAEF,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,EAAE;gBACjC,MAAM,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAC;YAC5F,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC;QAED,SAAS,aAAa,CAAC,IAAqB;YAC1C,KAAK,IAAI,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACpC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE;oBAC5B,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;oBAE3C,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE;wBAC5B,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;wBACrC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;wBAC9B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACnB,CAAC,CAAC,CAAC;oBAEH,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;oBACrC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACzC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACnB,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,SAAS,qBAAqB,CAAC,IAA2B,EAAE,QAAwB;YAClF,IAAI,eAAe,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,eAAe,EAAE,CAAC;gBACpB,yBAAyB,CAAC,eAAe,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAC3D,OAAO;YACT,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gBACrF,6EAA6E;gBAC7E,kEAAkE;gBAClE,MAAM,CACJ,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EACxD,+BAA+B,CAChC,CAAC;gBAEF,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvB,OAAO;YACT,CAAC;YAED,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE;gBACxB,qEAAqE;gBACrE,oEAAoE;gBACpE,+DAA+D;gBAC/D,uDAAuD;gBACvD,IAAI,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACtE,IAAI,CAAC,SAAS,IAAI,QAAQ,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC7D,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,CAAC;qBAAM,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;oBACpC,0CAA0C;oBAC1C,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;oBACzC,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;oBAC7D,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACnB,CAAC;qBAAM,CAAC;oBACN,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,SAAS,QAAQ,CAAC,IAAoB;YACpC,OAAO,OAAO,CACZ,IAAI,CAAC,IAAI,KAAK,gBAAgB;gBAC9B,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS;gBAC5B,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBACjC,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAClC,CAAC;QACJ,CAAC;QAED,SAAS,mBAAmB,CAC1B,QAAyB,EACzB,IAA+C,EAC/C,QAAwB;YAExB,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE;gBACxB,MAAM,CACJ,QAAQ,KAAK,WAAW,EACxB,GAAG,EAAE,CAAC,KAAK,QAAQ,CAAC,IAAI,6CAA6C,CACtE,CAAC;gBAEF,IAAI,EAAE,GAAG,SAAS,CAAC;gBACnB,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC;gBAC/D,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,CACJ,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,eAAe,EACrC,GAAG,EAAE,CAAC,iBAAiB,QAAQ,CAAC,IAAI,oCAAoC,CACzE,CAAC;oBACF,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;gBAC1B,CAAC;gBAED,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;oBACrB,EAAE,GAAG,MAAM,CAAC;gBACd,CAAC;gBAED,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;gBACxD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAElB,KAAK,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;oBACjD,IAAI,KAAK,EAAE,CAAC;wBACV,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACpB,CAAC;oBAED,cAAc,CAAC,KAAK,CAAC,CAAC;gBACxB,CAAC;gBAED,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,SAAS,wBAAwB,CAAC,QAAyB,EAAE,IAAwB;YACnF,IAAI,QAAQ,CAAC,mBAAmB,EAAE,CAAC;gBACjC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjB,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,CAAC;YAED,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACtB,KAAK,IAAI;oBACP,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;oBAChC,MAAM;gBAER,KAAK,QAAQ;oBACX,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;oBACpC,MAAM;gBAER,KAAK,gBAAgB;oBACnB,MAAM,CAAC,KAAK,CACV,SAAS,QAAQ,CAAC,IAAI,8DAA8D;wBAClF,kEAAkE,QAAQ,CAAC,IAAI,oBAAoB;wBACnG,iCAAiC,EACnC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CACxB,CAAC;oBACF,MAAM;gBAER;oBACE,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,IAAI,6BAA6B,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACzF,CAAC;QACH,CAAC;QAED,SAAS,eAAe,CAAC,QAAyB,EAAE,IAAwB;YAC1E,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE;gBACxB,MAAM,CACJ,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EACxB,GAAG,EAAE,CAAC,MAAM,QAAQ,CAAC,IAAI,mCAAmC,CAC7D,CAAC;gBAEF,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACpB,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACnB,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,MAAM,CAAC,MAAM,EAAE,CAAC;gBAEhB,KAAK,IAAI,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;oBACxC,qBAAqB,CAAC,SAAS,CAAC,CAAC;gBACnC,CAAC;gBAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACjB,MAAM,CAAC,MAAM,EAAE,CAAC;oBAChB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBACxB,MAAM,CAAC,MAAM,EAAE,CAAC;oBAChB,MAAM,CAAC,OAAO,EAAE,CAAC;oBAEjB,KAAK,IAAI,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;wBACxC,qBAAqB,CAAC,SAAS,CAAC,CAAC;oBACnC,CAAC;gBACH,CAAC;gBAED,MAAM,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjB,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,SAAS,mBAAmB,CAAC,QAAyB,EAAE,IAAwB;YAC9E,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE;gBACxB,MAAM,CACJ,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EACxB,GAAG,EAAE,CAAC,MAAM,QAAQ,CAAC,IAAI,mCAAmC,CAC7D,CAAC;gBAEF,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACtB,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACpB,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,MAAM,CAAC,MAAM,EAAE,CAAC;gBAEhB,KAAK,IAAI,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;oBACxC,qBAAqB,CAAC,SAAS,CAAC,CAAC;gBACnC,CAAC;gBAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACjB,MAAM,CAAC,MAAM,EAAE,CAAC;oBAChB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBACxB,MAAM,CAAC,MAAM,EAAE,CAAC;oBAChB,MAAM,CAAC,OAAO,EAAE,CAAC;oBAEjB,KAAK,IAAI,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;wBACxC,qBAAqB,CAAC,SAAS,CAAC,CAAC;oBACnC,CAAC;gBACH,CAAC;gBAED,MAAM,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjB,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,SAAS,kBAAkB,CAAC,IAAwB;YAClD,IAAI,eAAe,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,eAAe,EAAE,CAAC;gBACpB,wBAAwB,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;gBAChD,OAAO;YACT,CAAC;YAED,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE;gBACxB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjB,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,MAAM,CAAC,MAAM,EAAE,CAAC;gBAEhB,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;gBAC9D,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBAC7B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClB,MAAM,CAAC,OAAO,EAAE,CAAC;gBAEjB,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBAEnC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACjB,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBAClC,CAAC;gBAED,8DAA8D;gBAC9D,kEAAkE;gBAClE,kDAAkD;gBAClD,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;oBACxC,IAAI,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;oBAC7E,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;oBAC/E,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACjB,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,CAAC;gBAED,MAAM,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC;QAED,SAAS,SAAS,CAAC,IAAY,EAAE,IAAe;YAC9C,IAAI,WAAW,GAAG,QAAQ,CAAC,WAAW,CACpC,GAAG,EACH,QAAQ,CAAC,WAAW,CAAC,GAAG,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CACtD,CAAC;YAEF,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/E,CAAC;QAED,SAAS,iBAAiB,CACxB,IAAY,EACZ,UAA8B,EAC9B,WAAqB,EACrB,iBAAyB,EACzB,QAAiC;YAEjC,MAAM,CACJ,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAChD,mDAAmD,CACpD,CAAC;YAEF,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAExB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,CAAC,MAAM,EAAE,CAAC;YAEhB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAEvB,IAAI,KAAK,GAAG,iBAAiB,CAAC;YAC9B,KAAK,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;gBACjD,IAAI,KAAK;oBAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAE7B,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBACvC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YAC5D,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YAC1C,mBAAmB,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACnE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,MAAM,CAAC,OAAO,EAAE,CAAC;YAEjB,KAAK,IAAI,SAAS,IAAI,QAAQ,EAAE,CAAC;gBAC/B,qBAAqB,CAAC,SAAS,CAAC,CAAC;YACnC,CAAC;YAED,MAAM,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,KAAK,CAAC,GAAG,EAAE,CAAC;QACd,CAAC;QAED,SAAS,iBAAiB,CAAC,IAAuB;YAChD,IAAI,eAAe,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,eAAe,EAAE,CAAC;gBACpB,yBAAyB,CAAC,eAAe,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;gBAC1D,OAAO;YACT,CAAC;YAED,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE;gBACxB,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAC/B,CAAC,CAAC,CAAC;QACL,CAAC;QASD,SAAS,WAAW,CAAC,IAAyB,EAAE,WAAmB;YACjE,+EAA+E;YAC/E,gEAAgE;YAChE,yFAAyF;YACzF,sDAAsD;YACtD,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE;gBACxB,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAC7B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACzB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC1B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClB,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,SAAS,QAAQ,CAAC,UAAiC,EAAE,KAAe;YAClE,uBAAuB;YACvB,KAAK,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;gBAChD,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpB,CAAC;gBAED,cAAc,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC;YAED,kBAAkB;YAClB,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBACvB,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;oBACtB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpB,CAAC;gBAED,+BAA+B;gBAC/B,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE;oBACzB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAElB,IAAI,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;oBACpC,KAAK,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;wBAChD,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;wBAC1C,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;wBAC7B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAClB,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBAE3B,IAAI,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACrC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBACnB,CAAC;wBAED,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC;wBACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACpB,CAAC;oBAED,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;gBACnD,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAID,SAAS,QAAQ,CAAC,IAAwB;YACxC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE;gBACxB,IAAI,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;gBACnC,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;YACvE,CAAC,CAAC,CAAC;QACL,CAAC;QAED,SAAS,iBAAiB,CAAC,IAAwB;YACjD,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACvB,KAAK,QAAQ;oBACX,OAAO,KAAK,CAAC;gBACf,KAAK,UAAU;oBACb,OAAO,MAAM,CAAC;gBAChB,KAAK,SAAS;oBACZ,OAAO,MAAM,CAAC;YAClB,CAAC;QACH,CAAC;QAED,SAAS,gBAAgB,CAAC,KAAe,EAAE,KAAa,EAAE,IAAc;YACtE,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBACpB,IAAI,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAChD,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAC7B,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBACrC,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;YAC/C,CAAC;iBAAM,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;gBAC1B,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBACjC,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;YAC3C,CAAC;YAED,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,IAAI;gBAAE,OAAO;YAElB,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAEtC,6DAA6D;YAC7D,+BAA+B;YAC/B,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBACpB,uBAAuB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,mBAAmB,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YAChE,CAAC;YAED,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC;YAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACpB,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACtC,mBAAmB,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC7D,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC;YACvB,CAAC;QACH,CAAC;QAQD,SAAS,mBAAmB,CAC1B,IAAY,EACZ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,KAA4B,EAAE;YAE3D,sFAAsF;YACtF,2FAA2F;YAC3F,uDAAuD;YACvD,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACnC,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBAClC,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACpC,IAAI,MAAM,EAAE,CAAC;oBACX,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACrC,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;gBACpC,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;QAED,SAAS,WAAW,CAAC,IAAY,EAAE,KAAa;YAC9C,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpB,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACN,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QAED,SAAS,oBAAoB,CAAC,IAAY,EAAE,KAAa;YACvD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACzE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;QAED,SAAS,WAAW,CAAC,IAAiB;YACpC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,CACxB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CACjF,CAAC;QACJ,CAAC;QAED,SAAS,SAAS,CAAC,GAAW;YAC5B,OAAO,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC;IACzB,OAAO;IACP,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,UAAU;IACV,UAAU;IACV,SAAS;IACT,QAAQ;IACR,IAAI;IACJ,MAAM;IACN,MAAM;IACN,MAAM;IACN,QAAQ;IACR,SAAS;IACT,OAAO;IACP,SAAS;IACT,KAAK;IACL,UAAU;IACV,IAAI;IACJ,YAAY;IACZ,QAAQ;IACR,IAAI;IACJ,YAAY;IACZ,WAAW;IACX,KAAK;IACL,KAAK;IACL,MAAM;IACN,SAAS;IACT,SAAS;IACT,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,QAAQ;IACR,WAAW;IACX,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;CACR,CAAC,CAAC;AAEH,SAAS,WAAW,CAAC,KAAa;IAChC,OAAO,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,UAAU,CAAC,UAAkB;IACpC,IAAI,WAAW,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3D,OAAO,KAAK,UAAU,EAAE,CAAC;IAC3B,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"template-to-typescript.js","sourceRoot":"","sources":["../../../src/transform/template/template-to-typescript.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,12 @@ import { createEmberLanguagePlugin } from './ember-language-plugin.js';
13
13
  const connection = createConnection();
14
14
  const server = createServer(connection);
15
15
  const tsserverRequestHandlers = new Map();
16
+ const logInfo = (message) => {
17
+ connection.console.info(`[Glint] ${message}`);
18
+ };
19
+ const logWarn = (message) => {
20
+ connection.console.warn(`[Glint] ${message}`);
21
+ };
16
22
  let tsserverRequestId = 0;
17
23
  connection.listen();
18
24
  connection.onNotification('tsserver/response', ([id, res]) => {
@@ -25,6 +31,17 @@ connection.onNotification('tsserver/response', ([id, res]) => {
25
31
  * other initialization params needed by the server.
26
32
  */
27
33
  connection.onInitialize((params) => {
34
+ logInfo('Language server initializing.');
35
+ if (params.workspaceFolders && params.workspaceFolders.length > 0) {
36
+ const folders = params.workspaceFolders.map((folder) => folder.uri).join(', ');
37
+ logInfo(`Workspace folders: ${folders}`);
38
+ }
39
+ else if (params.rootUri) {
40
+ logInfo(`Workspace root: ${params.rootUri}`);
41
+ }
42
+ else {
43
+ logWarn('No workspace folder or root URI provided by client.');
44
+ }
28
45
  const tsconfigProjects = createUriMap();
29
46
  server.fileWatcher.onDidChangeWatchedFiles((obj) => {
30
47
  for (const change of obj.changes) {
@@ -36,6 +53,8 @@ connection.onInitialize((params) => {
36
53
  }
37
54
  });
38
55
  let simpleLs;
56
+ let warnedMissingProjectInfo = false;
57
+ let warnedSimpleLs = false;
39
58
  return server.initialize(params, {
40
59
  setup() { },
41
60
  async getLanguageService(uri) {
@@ -55,9 +74,17 @@ connection.onInitialize((params) => {
55
74
  }
56
75
  return ls;
57
76
  }
77
+ else if (!warnedMissingProjectInfo) {
78
+ warnedMissingProjectInfo = true;
79
+ logWarn(`No tsserver project info for ${fileName}; falling back to simple LS.`);
80
+ }
58
81
  }
59
82
  // TODO: this branch is hit when running Volar Labs and currently breaks. Figure out
60
83
  // how to reinstate a "simple" LS without a tsconfig.
84
+ if (!warnedSimpleLs) {
85
+ warnedSimpleLs = true;
86
+ logWarn('Using simple language service without a tsconfig/jsconfig.');
87
+ }
61
88
  return (simpleLs ?? (simpleLs = createLanguageServiceHelper(server, undefined)));
62
89
  },
63
90
  getExistingLanguageServices() {
@@ -97,12 +124,19 @@ connection.onInitialize((params) => {
97
124
  },
98
125
  ];
99
126
  if (tsconfigFileName) {
100
- const configLoader = new ConfigLoader();
127
+ const configLoader = new ConfigLoader(logInfo);
101
128
  const glintConfig = configLoader.configForFile(tsconfigFileName);
102
129
  if (glintConfig) {
130
+ logInfo(`Glint config active for ${tsconfigFileName}.`);
103
131
  const emberLanguagePlugin = createEmberLanguagePlugin(glintConfig);
104
132
  languagePlugins.push(emberLanguagePlugin);
105
133
  }
134
+ else {
135
+ logWarn(`Glint config not found for ${tsconfigFileName}; Glint features disabled.`);
136
+ }
137
+ }
138
+ else {
139
+ logWarn('No tsconfig/jsconfig provided; Glint config cannot be resolved.');
106
140
  }
107
141
  const language = createLanguage(languagePlugins, createUriMap(), (uri) => {
108
142
  const document = server.documents.get(uri);
@@ -132,83 +166,6 @@ function getHybridModeLanguageServicePluginsForLanguageServer(tsPluginClient = {
132
166
  return plugins;
133
167
  }
134
168
  function getCommonLanguageServicePluginsForLanguageServer(getTsPluginClient) {
135
- return [
136
- createTemplateTagSymbolsPlugin(),
137
- createCompilerErrorsPlugin(),
138
- // createTypeScriptTwoslashQueriesPlugin(ts),
139
- // createCssPlugin(),
140
- // createPugFormatPlugin(),
141
- // createJsonPlugin(),
142
- // createVueTemplatePlugin('html', getTsPluginClient),
143
- // createVueTemplatePlugin('pug', getTsPluginClient),
144
- // createVueMissingPropsHintsPlugin(getTsPluginClient),
145
- // createVueCompilerDomErrorsPlugin(),
146
- // createVueSfcPlugin(),
147
- // createVueTwoslashQueriesPlugin(getTsPluginClient),
148
- // createVueDocumentLinksPlugin(),
149
- // createVueDocumentDropPlugin(ts, getTsPluginClient),
150
- // createVueCompleteDefineAssignmentPlugin(),
151
- // createVueAutoDotValuePlugin(ts, getTsPluginClient),
152
- // createVueAutoAddSpacePlugin(),
153
- // createVueInlayHintsPlugin(ts),
154
- // createVueDirectiveCommentsPlugin(),
155
- // createVueExtractFilePlugin(ts, getTsPluginClient),
156
- // createEmmetPlugin({
157
- // mappedLanguages: {
158
- // 'vue-root-tags': 'html',
159
- // 'postcss': 'scss',
160
- // },
161
- // }),
162
- // {
163
- // name: 'vue-parse-sfc',
164
- // capabilities: {
165
- // executeCommandProvider: {
166
- // commands: [commands.parseSfc],
167
- // },
168
- // },
169
- // create() {
170
- // return {
171
- // executeCommand(_command, [source]) {
172
- // return parse(source);
173
- // },
174
- // };
175
- // },
176
- // },
177
- // {
178
- // name: 'vue-name-casing',
179
- // capabilities: {
180
- // executeCommandProvider: {
181
- // commands: [
182
- // commands.detectNameCasing,
183
- // commands.convertTagsToKebabCase,
184
- // commands.convertTagsToPascalCase,
185
- // commands.convertPropsToKebabCase,
186
- // commands.convertPropsToCamelCase,
187
- // ],
188
- // }
189
- // },
190
- // create(context) {
191
- // return {
192
- // executeCommand(command, [uri]) {
193
- // if (command === commands.detectNameCasing) {
194
- // return detect(context, URI.parse(uri));
195
- // }
196
- // else if (command === commands.convertTagsToKebabCase) {
197
- // return convertTagName(context, URI.parse(uri), TagNameCasing.Kebab, getTsPluginClient(context));
198
- // }
199
- // else if (command === commands.convertTagsToPascalCase) {
200
- // return convertTagName(context, URI.parse(uri), TagNameCasing.Pascal, getTsPluginClient(context));
201
- // }
202
- // else if (command === commands.convertPropsToKebabCase) {
203
- // return convertAttrName(context, URI.parse(uri), AttrNameCasing.Kebab, getTsPluginClient(context));
204
- // }
205
- // else if (command === commands.convertPropsToCamelCase) {
206
- // return convertAttrName(context, URI.parse(uri), AttrNameCasing.Camel, getTsPluginClient(context));
207
- // }
208
- // },
209
- // };
210
- // },
211
- // }
212
- ];
169
+ return [createTemplateTagSymbolsPlugin(), createCompilerErrorsPlugin()];
213
170
  }
214
171
  //# sourceMappingURL=language-server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"language-server.js","sourceRoot":"","sources":["../../src/volar/language-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"language-server.js","sourceRoot":"","sources":["../../src/volar/language-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,gCAAgC,EAAE,MAAM,qDAAqD,CAAC;AACvG,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAEhF,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAmB,MAAM,yBAAyB,CAAC;AAC/F,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,MAAM,IAAI,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,MAAM,IAAI,+BAA+B,EAAE,MAAM,mDAAmD,CAAC;AAC9G,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,MAAM,IAAI,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AACvF,OAAO,EAAE,MAAM,IAAI,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AAChG,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAEvE,MAAM,UAAU,GAAG,gBAAgB,EAAE,CAAC;AACtC,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;AACxC,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAA8B,CAAC;AAEtE,MAAM,OAAO,GAAG,CAAC,OAAe,EAAQ,EAAE;IACxC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,OAAO,EAAE,CAAC,CAAC;AAChD,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,CAAC,OAAe,EAAQ,EAAE;IACxC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,OAAO,EAAE,CAAC,CAAC;AAChD,CAAC,CAAC;AAEF,IAAI,iBAAiB,GAAG,CAAC,CAAC;AAE1B,UAAU,CAAC,MAAM,EAAE,CAAC;AAEpB,UAAU,CAAC,cAAc,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE;IAC3D,uBAAuB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACvC,uBAAuB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC;AAEH;;;;GAIG;AACH,UAAU,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,EAAE;IACjC,OAAO,CAAC,+BAA+B,CAAC,CAAC;IACzC,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClE,MAAM,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/E,OAAO,CAAC,sBAAsB,OAAO,EAAE,CAAC,CAAC;IAC3C,CAAC;SAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QAC1B,OAAO,CAAC,mBAAmB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/C,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,qDAAqD,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,gBAAgB,GAAG,YAAY,EAAmB,CAAC;IAEzD,MAAM,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC,GAAQ,EAAE,EAAE;QACtD,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YACjC,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACpC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC,OAAO,EAAE,CAAC;gBAC3C,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,QAAqC,CAAC;IAC1C,IAAI,wBAAwB,GAAG,KAAK,CAAC;IACrC,IAAI,cAAc,GAAG,KAAK,CAAC;IAE3B,OAAO,MAAM,CAAC,UAAU,CACtB,MAAM,EACN;QACE,KAAK,KAAI,CAAC;QACV,KAAK,CAAC,kBAAkB,CAAC,GAAG;YAC1B,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC1B,yDAAyD;gBACzD,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBAChD,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAC3C,SAAS,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,EACvD;oBACE,IAAI,EAAE,QAAQ;oBACd,gBAAgB,EAAE,KAAK;iBAC4B,CACtD,CAAC;gBACF,IAAI,WAAW,EAAE,CAAC;oBAChB,MAAM,EAAE,cAAc,EAAE,GAAG,WAAW,CAAC;oBACvC,IAAI,EAAE,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;oBACxD,IAAI,CAAC,EAAE,EAAE,CAAC;wBACR,EAAE,GAAG,2BAA2B,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;wBACzD,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC;oBACrD,CAAC;oBACD,OAAO,EAAE,CAAC;gBACZ,CAAC;qBAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC;oBACrC,wBAAwB,GAAG,IAAI,CAAC;oBAChC,OAAO,CAAC,gCAAgC,QAAQ,8BAA8B,CAAC,CAAC;gBAClF,CAAC;YACH,CAAC;YACD,oFAAoF;YACpF,qDAAqD;YACrD,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,cAAc,GAAG,IAAI,CAAC;gBACtB,OAAO,CAAC,4DAA4D,CAAC,CAAC;YACxE,CAAC;YACD,OAAO,CAAC,QAAQ,KAAR,QAAQ,GAAK,2BAA2B,CAAC,MAAM,EAAE,SAAS,CAAC,EAAC,CAAC;QACvE,CAAC;QACD,2BAA2B;YACzB,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9F,CAAC;QACD,MAAM;YACJ,KAAK,MAAM,EAAE,IAAI,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC;gBAC1D,EAAE,EAAE,OAAO,EAAE,CAAC;YAChB,CAAC;YACD,gBAAgB,CAAC,KAAK,EAAE,CAAC;YACzB,QAAQ,GAAG,SAAS,CAAC;QACvB,CAAC;KACF,EACD,oDAAoD,CAAC;IACnD,kEAAkE;IAClE,uEAAuE;IACvE,oCAAoC;IACpC,0DAA0D;IAC1D,KAAK;IACL,mCAAmC;IACnC,wEAAwE;IACxE,KAAK;IACL,+CAA+C;IAC/C,oFAAoF;IACpF,KAAK;KACN,CAAC,CACH,CAAC;IAEF,KAAK,UAAU,mBAAmB,CAAI,OAAe,EAAE,IAAS;QAC9D,OAAO,MAAM,IAAI,OAAO,CAAW,CAAC,OAAO,EAAE,EAAE;YAC7C,MAAM,SAAS,GAAG,EAAE,iBAAiB,CAAC;YACtC,uBAAuB,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAChD,UAAU,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS,2BAA2B,CAClC,MAAsB,EACtB,gBAAoC;QAEpC,MAAM,eAAe,GAA0B;YAC7C;gBACE,aAAa,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,UAAU;aAC9D;SACF,CAAC;QAEF,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;YAC/C,MAAM,WAAW,GAAG,YAAY,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;YACjE,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,CAAC,2BAA2B,gBAAgB,GAAG,CAAC,CAAC;gBACxD,MAAM,mBAAmB,GAAG,yBAAyB,CAAC,WAAW,CAAC,CAAC;gBACnE,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,8BAA8B,gBAAgB,4BAA4B,CAAC,CAAC;YACtF,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,iEAAiE,CAAC,CAAC;QAC7E,CAAC;QAED,MAAM,QAAQ,GAAG,cAAc,CAAM,eAAe,EAAE,YAAY,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;YAC5E,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;YACzE,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,qBAAqB,CAC1B,QAAQ,EACR,MAAM,CAAC,sBAAsB,EAC7B,gCAAgC,CAAC,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAC1E,EAAE,CACH,CAAC;IACJ,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AAE7C,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAEvC,SAAS,oDAAoD,CAC3D,iBAAsB,EAAE;IAExB,MAAM,OAAO,GAAG;QACd,wGAAwG;QACxG,+BAA+B,CAAC,EAAE,CAAC;QACnC,yBAAyB,EAAE;QAC3B,GAAG,gDAAgD,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC;KAC1E,CAAC;IACF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,4BAA4B;QAC5B,OAAO,MAAM,CAAC,YAAY,CAAC,sBAAsB,CAAC;IACpD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,gDAAgD,CACvD,iBAA2D;IAE3D,OAAO,CAAC,8BAA8B,EAAE,EAAE,0BAA0B,EAAE,CAAC,CAAC;AAC1E,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@glint/ember-tsc",
3
- "version": "1.1.2-unstable.27a551c",
3
+ "version": "1.2.2",
4
4
  "repository": "typed-ember/glint",
5
5
  "description": "A CLI for performing typechecking on Glimmer templates",
6
6
  "license": "MIT",
@@ -52,17 +52,11 @@
52
52
  "ember-tsc": "bin/ember-tsc.js",
53
53
  "glint-language-server": "bin/glint-language-server.js"
54
54
  },
55
- "scripts": {
56
- "build": "tsc --build",
57
- "dev": "tsc --watch",
58
- "prepack": "pnpm build"
59
- },
60
55
  "peerDependencies": {
61
56
  "typescript": ">=5.6.0"
62
57
  },
63
58
  "dependencies": {
64
59
  "@glimmer/syntax": "^0.95.0",
65
- "@glint/template": "1.7.5-unstable.27a551c",
66
60
  "@volar/kit": "~2.4.28",
67
61
  "@volar/language-core": "~2.4.28",
68
62
  "@volar/language-server": "~2.4.28",
@@ -76,11 +70,11 @@
76
70
  "volar-service-typescript": "~0.0.68",
77
71
  "vscode-languageserver-protocol": "^3.17.5",
78
72
  "vscode-languageserver-textdocument": "^1.0.12",
79
- "vscode-uri": "^3.1.0"
73
+ "vscode-uri": "^3.1.0",
74
+ "@glint/template": "1.7.6"
80
75
  },
81
76
  "devDependencies": {
82
77
  "@glimmer/component": "^2.0.0",
83
- "@glint/type-test": "2.0.1-unstable.27a551c",
84
78
  "@types/common-tags": "^1.8.0",
85
79
  "@types/node": "^18.11.5",
86
80
  "@types/semver": "^7.3.13",
@@ -90,11 +84,16 @@
90
84
  "@vitest/ui": "~1.0.0",
91
85
  "common-tags": "^1.8.0",
92
86
  "execa": "^4.0.1",
93
- "glint-monorepo-test-utils": "workspace:*",
94
87
  "strip-ansi": "^6.0.0",
95
- "typescript": "^5.9.3"
88
+ "typescript": "^5.9.3",
89
+ "glint-monorepo-test-utils": "0.0.0",
90
+ "@glint/type-test": "2.0.1"
96
91
  },
97
92
  "publishConfig": {
98
93
  "access": "public"
94
+ },
95
+ "scripts": {
96
+ "build": "tsc --build",
97
+ "dev": "tsc --watch"
99
98
  }
100
- }
99
+ }
@@ -23,6 +23,15 @@ type TypeScript = typeof TS;
23
23
  */
24
24
  export class ConfigLoader {
25
25
  private configs = new Map<string, GlintConfig | null>();
26
+ private logInfo?: (message: string) => void;
27
+
28
+ constructor(logInfo?: (message: string) => void) {
29
+ this.logInfo = logInfo;
30
+ }
31
+
32
+ private log(message: string): void {
33
+ this.logInfo?.(message);
34
+ }
26
35
 
27
36
  public configForFile(filePath: string): GlintConfig | null {
28
37
  return this.configForDirectory(path.dirname(filePath));
@@ -30,17 +39,28 @@ export class ConfigLoader {
30
39
 
31
40
  public configForDirectory(directory: string): GlintConfig | null {
32
41
  let ts = findTypeScript(directory);
33
- if (!ts) return null;
42
+ if (!ts) {
43
+ this.log(`No TypeScript installation found from ${directory}.`);
44
+ return null;
45
+ }
34
46
 
35
47
  let configPath = findNearestConfigFile(ts, directory);
36
- if (!configPath) return null;
48
+ if (!configPath) {
49
+ this.log(`No tsconfig.json or jsconfig.json found from ${directory}.`);
50
+ return null;
51
+ }
37
52
 
38
53
  let existing = this.configs.get(configPath);
39
- if (existing !== undefined) return existing;
54
+ if (existing !== undefined) {
55
+ this.log(`Using cached Glint config from ${configPath}.`);
56
+ return existing;
57
+ }
40
58
 
41
59
  let configInput = loadConfigInput(ts, configPath);
42
60
  let config = new GlintConfig(ts, configPath, configInput || { environment: [] });
43
61
 
62
+ this.log(`Loaded Glint config from ${configPath}.`);
63
+
44
64
  this.configs.set(configPath, config);
45
65
 
46
66
  return config;
@@ -562,6 +562,16 @@ export function templateToTypescript(
562
562
  }
563
563
  }
564
564
 
565
+ function emitQuotedTextNodeValue(node: AST.TextNode): void {
566
+ mapper.text('"');
567
+ mapper.identifier(
568
+ JSON.stringify(node.chars).slice(1, -1),
569
+ node.loc.getStart().offset! + prefix.length + 1,
570
+ node.chars.length,
571
+ );
572
+ mapper.text('"');
573
+ }
574
+
565
575
  function emitConcatStatement(node: AST.ConcatStatement): void {
566
576
  mapper.forNode(node, () => {
567
577
  mapper.text('`');
@@ -671,7 +681,7 @@ export function templateToTypescript(
671
681
 
672
682
  switch (attr.value.type) {
673
683
  case 'TextNode':
674
- mapper.text(JSON.stringify(attr.value.chars));
684
+ emitQuotedTextNodeValue(attr.value);
675
685
  break;
676
686
  case 'ConcatStatement':
677
687
  emitConcatStatement(attr.value);
@@ -17,6 +17,14 @@ const connection = createConnection();
17
17
  const server = createServer(connection);
18
18
  const tsserverRequestHandlers = new Map<number, (res: any) => void>();
19
19
 
20
+ const logInfo = (message: string): void => {
21
+ connection.console.info(`[Glint] ${message}`);
22
+ };
23
+
24
+ const logWarn = (message: string): void => {
25
+ connection.console.warn(`[Glint] ${message}`);
26
+ };
27
+
20
28
  let tsserverRequestId = 0;
21
29
 
22
30
  connection.listen();
@@ -32,6 +40,16 @@ connection.onNotification('tsserver/response', ([id, res]) => {
32
40
  * other initialization params needed by the server.
33
41
  */
34
42
  connection.onInitialize((params) => {
43
+ logInfo('Language server initializing.');
44
+ if (params.workspaceFolders && params.workspaceFolders.length > 0) {
45
+ const folders = params.workspaceFolders.map((folder) => folder.uri).join(', ');
46
+ logInfo(`Workspace folders: ${folders}`);
47
+ } else if (params.rootUri) {
48
+ logInfo(`Workspace root: ${params.rootUri}`);
49
+ } else {
50
+ logWarn('No workspace folder or root URI provided by client.');
51
+ }
52
+
35
53
  const tsconfigProjects = createUriMap<LanguageService>();
36
54
 
37
55
  server.fileWatcher.onDidChangeWatchedFiles((obj: any) => {
@@ -45,6 +63,8 @@ connection.onInitialize((params) => {
45
63
  });
46
64
 
47
65
  let simpleLs: LanguageService | undefined;
66
+ let warnedMissingProjectInfo = false;
67
+ let warnedSimpleLs = false;
48
68
 
49
69
  return server.initialize(
50
70
  params,
@@ -69,10 +89,17 @@ connection.onInitialize((params) => {
69
89
  tsconfigProjects.set(URI.file(configFileName), ls);
70
90
  }
71
91
  return ls;
92
+ } else if (!warnedMissingProjectInfo) {
93
+ warnedMissingProjectInfo = true;
94
+ logWarn(`No tsserver project info for ${fileName}; falling back to simple LS.`);
72
95
  }
73
96
  }
74
97
  // TODO: this branch is hit when running Volar Labs and currently breaks. Figure out
75
98
  // how to reinstate a "simple" LS without a tsconfig.
99
+ if (!warnedSimpleLs) {
100
+ warnedSimpleLs = true;
101
+ logWarn('Using simple language service without a tsconfig/jsconfig.');
102
+ }
76
103
  return (simpleLs ??= createLanguageServiceHelper(server, undefined));
77
104
  },
78
105
  getExistingLanguageServices() {
@@ -120,12 +147,17 @@ connection.onInitialize((params) => {
120
147
  ];
121
148
 
122
149
  if (tsconfigFileName) {
123
- const configLoader = new ConfigLoader();
150
+ const configLoader = new ConfigLoader(logInfo);
124
151
  const glintConfig = configLoader.configForFile(tsconfigFileName);
125
152
  if (glintConfig) {
153
+ logInfo(`Glint config active for ${tsconfigFileName}.`);
126
154
  const emberLanguagePlugin = createEmberLanguagePlugin(glintConfig);
127
155
  languagePlugins.push(emberLanguagePlugin);
156
+ } else {
157
+ logWarn(`Glint config not found for ${tsconfigFileName}; Glint features disabled.`);
128
158
  }
159
+ } else {
160
+ logWarn('No tsconfig/jsconfig provided; Glint config cannot be resolved.');
129
161
  }
130
162
 
131
163
  const language = createLanguage<URI>(languagePlugins, createUriMap(), (uri) => {
@@ -167,84 +199,6 @@ function getHybridModeLanguageServicePluginsForLanguageServer(
167
199
 
168
200
  function getCommonLanguageServicePluginsForLanguageServer(
169
201
  getTsPluginClient: (context: LanguageServiceContext) => any,
170
- // ) => import('@glint/tsserver/lib/requests').Requests | undefined,
171
202
  ): LanguageServicePlugin[] {
172
- return [
173
- createTemplateTagSymbolsPlugin(),
174
- createCompilerErrorsPlugin(),
175
- // createTypeScriptTwoslashQueriesPlugin(ts),
176
- // createCssPlugin(),
177
- // createPugFormatPlugin(),
178
- // createJsonPlugin(),
179
- // createVueTemplatePlugin('html', getTsPluginClient),
180
- // createVueTemplatePlugin('pug', getTsPluginClient),
181
- // createVueMissingPropsHintsPlugin(getTsPluginClient),
182
- // createVueCompilerDomErrorsPlugin(),
183
- // createVueSfcPlugin(),
184
- // createVueTwoslashQueriesPlugin(getTsPluginClient),
185
- // createVueDocumentLinksPlugin(),
186
- // createVueDocumentDropPlugin(ts, getTsPluginClient),
187
- // createVueCompleteDefineAssignmentPlugin(),
188
- // createVueAutoDotValuePlugin(ts, getTsPluginClient),
189
- // createVueAutoAddSpacePlugin(),
190
- // createVueInlayHintsPlugin(ts),
191
- // createVueDirectiveCommentsPlugin(),
192
- // createVueExtractFilePlugin(ts, getTsPluginClient),
193
- // createEmmetPlugin({
194
- // mappedLanguages: {
195
- // 'vue-root-tags': 'html',
196
- // 'postcss': 'scss',
197
- // },
198
- // }),
199
- // {
200
- // name: 'vue-parse-sfc',
201
- // capabilities: {
202
- // executeCommandProvider: {
203
- // commands: [commands.parseSfc],
204
- // },
205
- // },
206
- // create() {
207
- // return {
208
- // executeCommand(_command, [source]) {
209
- // return parse(source);
210
- // },
211
- // };
212
- // },
213
- // },
214
- // {
215
- // name: 'vue-name-casing',
216
- // capabilities: {
217
- // executeCommandProvider: {
218
- // commands: [
219
- // commands.detectNameCasing,
220
- // commands.convertTagsToKebabCase,
221
- // commands.convertTagsToPascalCase,
222
- // commands.convertPropsToKebabCase,
223
- // commands.convertPropsToCamelCase,
224
- // ],
225
- // }
226
- // },
227
- // create(context) {
228
- // return {
229
- // executeCommand(command, [uri]) {
230
- // if (command === commands.detectNameCasing) {
231
- // return detect(context, URI.parse(uri));
232
- // }
233
- // else if (command === commands.convertTagsToKebabCase) {
234
- // return convertTagName(context, URI.parse(uri), TagNameCasing.Kebab, getTsPluginClient(context));
235
- // }
236
- // else if (command === commands.convertTagsToPascalCase) {
237
- // return convertTagName(context, URI.parse(uri), TagNameCasing.Pascal, getTsPluginClient(context));
238
- // }
239
- // else if (command === commands.convertPropsToKebabCase) {
240
- // return convertAttrName(context, URI.parse(uri), AttrNameCasing.Kebab, getTsPluginClient(context));
241
- // }
242
- // else if (command === commands.convertPropsToCamelCase) {
243
- // return convertAttrName(context, URI.parse(uri), AttrNameCasing.Camel, getTsPluginClient(context));
244
- // }
245
- // },
246
- // };
247
- // },
248
- // }
249
- ];
203
+ return [createTemplateTagSymbolsPlugin(), createCompilerErrorsPlugin()];
250
204
  }