@theia/plugin-ext 1.20.0 → 1.21.0-next.15

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 (80) hide show
  1. package/lib/common/connection.d.ts +47 -33
  2. package/lib/common/connection.d.ts.map +1 -1
  3. package/lib/common/connection.js +90 -28
  4. package/lib/common/connection.js.map +1 -1
  5. package/lib/common/plugin-api-rpc.d.ts +0 -2
  6. package/lib/common/plugin-api-rpc.d.ts.map +1 -1
  7. package/lib/common/plugin-api-rpc.js.map +1 -1
  8. package/lib/common/plugin-protocol.d.ts +1 -0
  9. package/lib/common/plugin-protocol.d.ts.map +1 -1
  10. package/lib/common/plugin-protocol.js.map +1 -1
  11. package/lib/hosted/browser/hosted-plugin.js +1 -1
  12. package/lib/hosted/browser/hosted-plugin.js.map +1 -1
  13. package/lib/hosted/node/scanners/scanner-theia.d.ts.map +1 -1
  14. package/lib/hosted/node/scanners/scanner-theia.js +4 -1
  15. package/lib/hosted/node/scanners/scanner-theia.js.map +1 -1
  16. package/lib/main/browser/debug/debug-main.d.ts +3 -3
  17. package/lib/main/browser/debug/debug-main.d.ts.map +1 -1
  18. package/lib/main/browser/debug/debug-main.js +1 -2
  19. package/lib/main/browser/debug/debug-main.js.map +1 -1
  20. package/lib/main/browser/debug/plugin-debug-session-factory.d.ts +4 -4
  21. package/lib/main/browser/debug/plugin-debug-session-factory.d.ts.map +1 -1
  22. package/lib/main/browser/debug/plugin-debug-session-factory.js +1 -1
  23. package/lib/main/browser/debug/plugin-debug-session-factory.js.map +1 -1
  24. package/lib/main/browser/file-system-main-impl.js +1 -1
  25. package/lib/main/browser/file-system-main-impl.js.map +1 -1
  26. package/lib/main/browser/main-context.js +2 -2
  27. package/lib/main/browser/main-context.js.map +1 -1
  28. package/lib/main/browser/view/plugin-view-registry.d.ts.map +1 -1
  29. package/lib/main/browser/view/plugin-view-registry.js +14 -3
  30. package/lib/main/browser/view/plugin-view-registry.js.map +1 -1
  31. package/lib/plugin/node/debug/debug.d.ts +4 -4
  32. package/lib/plugin/node/debug/debug.d.ts.map +1 -1
  33. package/lib/plugin/node/debug/debug.js +3 -4
  34. package/lib/plugin/node/debug/debug.js.map +1 -1
  35. package/lib/plugin/node/debug/plugin-debug-adapter-session.d.ts +7 -7
  36. package/lib/plugin/node/debug/plugin-debug-adapter-session.d.ts.map +1 -1
  37. package/lib/plugin/node/debug/plugin-debug-adapter-session.js +6 -6
  38. package/lib/plugin/node/debug/plugin-debug-adapter-session.js.map +1 -1
  39. package/lib/plugin/node/debug/plugin-debug-adapter-starter.d.ts +7 -5
  40. package/lib/plugin/node/debug/plugin-debug-adapter-starter.d.ts.map +1 -1
  41. package/lib/plugin/node/debug/plugin-debug-adapter-starter.js +6 -13
  42. package/lib/plugin/node/debug/plugin-debug-adapter-starter.js.map +1 -1
  43. package/lib/plugin/plugin-context.d.ts.map +1 -1
  44. package/lib/plugin/plugin-context.js +2 -2
  45. package/lib/plugin/plugin-context.js.map +1 -1
  46. package/package.json +23 -23
  47. package/src/common/connection.ts +98 -41
  48. package/src/common/plugin-api-rpc.ts +0 -2
  49. package/src/common/plugin-protocol.ts +1 -0
  50. package/src/hosted/browser/hosted-plugin.ts +1 -1
  51. package/src/hosted/node/scanners/scanner-theia.ts +4 -1
  52. package/src/main/browser/debug/debug-main.ts +3 -4
  53. package/src/main/browser/debug/plugin-debug-session-factory.ts +3 -3
  54. package/src/main/browser/file-system-main-impl.ts +1 -1
  55. package/src/main/browser/main-context.ts +3 -3
  56. package/src/main/browser/view/plugin-view-registry.ts +16 -3
  57. package/src/plugin/node/debug/debug.ts +7 -8
  58. package/src/plugin/node/debug/plugin-debug-adapter-session.ts +9 -9
  59. package/src/plugin/node/debug/plugin-debug-adapter-starter.ts +11 -18
  60. package/src/plugin/plugin-context.ts +4 -3
  61. package/lib/common/plugin-message-reader.d.ts +0 -46
  62. package/lib/common/plugin-message-reader.d.ts.map +0 -1
  63. package/lib/common/plugin-message-reader.js +0 -116
  64. package/lib/common/plugin-message-reader.js.map +0 -1
  65. package/lib/common/plugin-message-writer.d.ts +0 -38
  66. package/lib/common/plugin-message-writer.d.ts.map +0 -1
  67. package/lib/common/plugin-message-writer.js +0 -67
  68. package/lib/common/plugin-message-writer.js.map +0 -1
  69. package/lib/main/browser/connection-main.d.ts +0 -59
  70. package/lib/main/browser/connection-main.d.ts.map +0 -1
  71. package/lib/main/browser/connection-main.js +0 -98
  72. package/lib/main/browser/connection-main.js.map +0 -1
  73. package/lib/plugin/connection-ext.d.ts +0 -56
  74. package/lib/plugin/connection-ext.d.ts.map +0 -1
  75. package/lib/plugin/connection-ext.js +0 -88
  76. package/lib/plugin/connection-ext.js.map +0 -1
  77. package/src/common/plugin-message-reader.ts +0 -111
  78. package/src/common/plugin-message-writer.ts +0 -65
  79. package/src/main/browser/connection-main.ts +0 -107
  80. package/src/plugin/connection-ext.ts +0 -95
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-debug-adapter-starter.js","sourceRoot":"","sources":["../../../../src/plugin/node/debug/plugin-debug-adapter-starter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-debug-adapter-starter.js","sourceRoot":"","sources":["../../../../src/plugin/node/debug/plugin-debug-adapter-starter.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;AAElF,2BAA2B;AAC3B,iDAAuE;AAGvE,qFAAgF;AAChF,qFAAqG;AACrG,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAE1C;;GAEG;AACH,SAAgB,iBAAiB,CAAC,UAAkC;IAChE,8DAA8D;IAC9D,MAAM,OAAO,GAAQ,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC;IAEpD,IAAI,UAAU,CAAC,OAAO,EAAE;QACpB,OAAO,CAAC,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC;QAErC,0EAA0E;QAC1E,yEAAyE;QACzE,mCAAmC;QACnC,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;KACtD;IAED,IAAI,YAA0B,CAAC;IAC/B,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;IACrC,IAAI,OAAO,KAAK,MAAM,EAAE;QACpB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACxC,MAAM,WAAW,GAAgB;gBAC7B,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,2FAA2F;gBAC3F,+EAA+E;gBAC/E,QAAQ,EAAE,UAAU,EAAE;oBAClB,CAAC,CAAC,CAAC,IAAI,EAAE,kEAAkE,CAAC;oBAC5E,CAAC,CAAC,EAAE;gBACR,MAAM,EAAE,IAAI;aACf,CAAC;YACF,IAAI,OAAO,CAAC,GAAG,EAAE;gBACb,WAAW,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;aACjC;YACD,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,WAAW,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YAClC,YAAY,GAAG,oBAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;SAC5D;aAAM;YACH,MAAM,IAAI,KAAK,CAAC,gEAAgE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;SACjH;KACJ;SAAM;QACH,YAAY,GAAG,qBAAK,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;KAChD;IAED,OAAO,IAAI,0CAAmB,CAAC,YAAY,CAAC,CAAC;AACjD,CAAC;AAzCD,8CAyCC;AAED;;GAEG;AACH,SAAgB,yBAAyB,CAAC,MAA0B;IAChE,MAAM,MAAM,GAAG,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9D,OAAO,IAAI,yCAAkB,CAAC,MAAM,CAAC,CAAC;AAC1C,CAAC;AAHD,8DAGC;AAED,SAAgB,uBAAuB,CAAC,OAAoC;IACxE,MAAM,MAAM,GAAG,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,OAAO,IAAI,yCAAkB,CAAC,MAAM,CAAC,CAAC;AAC1C,CAAC;AAHD,0DAGC;AAED,SAAgB,yBAAyB,CAAC,OAAyC;IAC/E,OAAO,IAAI,yCAAkB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;AAC1D,CAAC;AAFD,8DAEC"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-context.d.ts","sourceRoot":"","sources":["../../src/plugin/plugin-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAUlF,OAAO,EAGH,aAAa,EACb,gBAAgB,EAGnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAGxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AA2GnC,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAIrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAYlE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAMlD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAQ7C,wBAAgB,gBAAgB,CAC5B,GAAG,EAAE,WAAW,EAChB,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,YAAY,EACtB,qBAAqB,EAAE,yBAAyB,EAChD,sBAAsB,EAAE,0BAA0B,EAClD,YAAY,EAAE,gBAAgB,EAC9B,kBAAkB,EAAE,kBAAkB,EACtC,SAAS,EAAE,YAAY,EACvB,UAAU,EAAE,eAAe,GAC5B,gBAAgB,CA8wBlB"}
1
+ {"version":3,"file":"plugin-context.d.ts","sourceRoot":"","sources":["../../src/plugin/plugin-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAUlF,OAAO,EAGH,aAAa,EACb,gBAAgB,EAInB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAGxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AA2GnC,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAIrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAYlE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAMlD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAQ7C,wBAAgB,gBAAgB,CAC5B,GAAG,EAAE,WAAW,EAChB,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,YAAY,EACtB,qBAAqB,EAAE,yBAAyB,EAChD,sBAAsB,EAAE,0BAA0B,EAClD,YAAY,EAAE,gBAAgB,EAC9B,kBAAkB,EAAE,kBAAkB,EACtC,SAAS,EAAE,YAAY,EACvB,UAAU,EAAE,eAAe,GAC5B,gBAAgB,CA8wBlB"}
@@ -38,7 +38,7 @@ const notification_1 = require("./notification");
38
38
  const language_selector_1 = require("@theia/callhierarchy/lib/common/language-selector");
39
39
  const markdown_string_1 = require("./markdown-string");
40
40
  const tree_views_1 = require("./tree/tree-views");
41
- const connection_ext_1 = require("./connection-ext");
41
+ const connection_1 = require("../common/connection");
42
42
  const tasks_1 = require("./tasks/tasks");
43
43
  const file_system_ext_impl_1 = require("./file-system-ext-impl");
44
44
  const scm_1 = require("./scm");
@@ -64,7 +64,7 @@ function createAPIFactory(rpc, pluginManager, envExt, debugExt, preferenceRegist
64
64
  const languagesExt = rpc.set(plugin_api_rpc_1.MAIN_RPC_CONTEXT.LANGUAGES_EXT, new languages_1.LanguagesExtImpl(rpc, documents, commandRegistry));
65
65
  const treeViewsExt = rpc.set(plugin_api_rpc_1.MAIN_RPC_CONTEXT.TREE_VIEWS_EXT, new tree_views_1.TreeViewsExtImpl(rpc, commandRegistry));
66
66
  const tasksExt = rpc.set(plugin_api_rpc_1.MAIN_RPC_CONTEXT.TASKS_EXT, new tasks_1.TasksExtImpl(rpc, terminalExt));
67
- const connectionExt = rpc.set(plugin_api_rpc_1.MAIN_RPC_CONTEXT.CONNECTION_EXT, new connection_ext_1.ConnectionExtImpl(rpc));
67
+ const connectionExt = rpc.set(plugin_api_rpc_1.MAIN_RPC_CONTEXT.CONNECTION_EXT, new connection_1.ConnectionImpl(rpc.getProxy(plugin_api_rpc_1.PLUGIN_RPC_CONTEXT.CONNECTION_MAIN)));
68
68
  const fileSystemExt = rpc.set(plugin_api_rpc_1.MAIN_RPC_CONTEXT.FILE_SYSTEM_EXT, new file_system_ext_impl_1.FileSystemExtImpl(rpc, languagesExt));
69
69
  const extHostFileSystemEvent = rpc.set(plugin_api_rpc_1.MAIN_RPC_CONTEXT.ExtHostFileSystemEventService, new file_system_event_service_ext_impl_1.ExtHostFileSystemEventService(rpc, editorsAndDocumentsExt));
70
70
  const scmExt = rpc.set(plugin_api_rpc_1.MAIN_RPC_CONTEXT.SCM_EXT, new scm_1.ScmExtImpl(rpc, commandRegistry));
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-context.js","sourceRoot":"","sources":["../../src/plugin/plugin-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-context.js","sourceRoot":"","sources":["../../src/plugin/plugin-context.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;AAMlF,yDAAyD;AACzD,wDAAuD;AACvD,sEAAoH;AACpH,6CAAgD;AAChD,6DAQkC;AAGlC,+EAA4E;AAC5E,iDAAoD;AAIpD,6CAsGsB;AACtB,6DAA6D;AAC7D,yEAA4D;AAE5D,iDAAoD;AACpD,2CAA+C;AAC/C,6DAAiE;AAEjE,uEAAyE;AACzE,iDAAyE;AACzE,2CAA+C;AAC/C,uDAA8F;AAC9F,uCAA2C;AAC3C,iDAAqD;AACrD,yFAA0E;AAC1E,uDAAmD;AACnD,kDAAqD;AACrD,qDAAsD;AACtD,yCAA6C;AAE7C,iEAA2D;AAE3D,+BAAmC;AACnC,+CAAmD;AAInD,6FAAqF;AACrF,2DAA8D;AAC9D,yCAA6C;AAC7C,uCAA2C;AAC3C,yCAA6C;AAC7C,qDAAwD;AAExD,SAAgB,gBAAgB,CAC5B,GAAgB,EAChB,aAA4B,EAC5B,MAAkB,EAClB,QAAsB,EACtB,qBAAgD,EAChD,sBAAkD,EAClD,YAA8B,EAC9B,kBAAsC,EACtC,SAAuB,EACvB,UAA2B;IAG3B,MAAM,iBAAiB,GAAG,GAAG,CAAC,GAAG,CAAC,iCAAgB,CAAC,kBAAkB,EAAE,IAAI,0CAAqB,CAAC,GAAG,CAAC,CAAC,CAAC;IACvG,MAAM,eAAe,GAAG,GAAG,CAAC,GAAG,CAAC,iCAAgB,CAAC,oBAAoB,EAAE,IAAI,sCAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;IACrG,MAAM,YAAY,GAAG,GAAG,CAAC,GAAG,CAAC,iCAAgB,CAAC,cAAc,EAAE,IAAI,6BAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzF,MAAM,UAAU,GAAG,IAAI,wBAAc,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,cAAc,GAAG,GAAG,CAAC,GAAG,CAAC,iCAAgB,CAAC,gBAAgB,EAAE,IAAI,iCAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/F,MAAM,eAAe,GAAG,GAAG,CAAC,GAAG,CAAC,iCAAgB,CAAC,gBAAgB,EAAE,IAAI,kCAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;IACjG,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,iCAAgB,CAAC,gBAAgB,EAAE,IAAI,iCAAkB,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAC,CAAC;IAChH,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,iCAAgB,CAAC,aAAa,EAAE,IAAI,4BAAgB,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAC,CAAC;IAC7G,MAAM,2BAA2B,GAAG,IAAI,yDAA2B,CAAC,GAAG,CAAC,CAAC;IACzE,MAAM,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,iCAAgB,CAAC,YAAY,EAAE,IAAI,qCAAsB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5F,MAAM,wBAAwB,GAAG,GAAG,CAAC,GAAG,CAAC,iCAAgB,CAAC,2BAA2B,EAAE,IAAI,sDAA4B,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9H,MAAM,YAAY,GAAG,GAAG,CAAC,GAAG,CAAC,iCAAgB,CAAC,aAAa,EAAE,IAAI,4BAAgB,CAAC,GAAG,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC;IACpH,MAAM,YAAY,GAAG,GAAG,CAAC,GAAG,CAAC,iCAAgB,CAAC,cAAc,EAAE,IAAI,6BAAgB,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC;IAC1G,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,iCAAgB,CAAC,SAAS,EAAE,IAAI,oBAAY,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;IACzF,MAAM,aAAa,GAAG,GAAG,CAAC,GAAG,CAAC,iCAAgB,CAAC,cAAc,EAAE,IAAI,2BAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,mCAAkB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IACrI,MAAM,aAAa,GAAG,GAAG,CAAC,GAAG,CAAC,iCAAgB,CAAC,eAAe,EAAE,IAAI,wCAAiB,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC;IAC1G,MAAM,sBAAsB,GAAG,GAAG,CAAC,GAAG,CAAC,iCAAgB,CAAC,6BAA6B,EAAE,IAAI,kEAA6B,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAC,CAAC;IACvJ,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,iCAAgB,CAAC,OAAO,EAAE,IAAI,gBAAU,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC;IACvF,MAAM,cAAc,GAAG,GAAG,CAAC,GAAG,CAAC,iCAAgB,CAAC,eAAe,EAAE,IAAI,gCAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9F,MAAM,eAAe,GAAG,GAAG,CAAC,GAAG,CAAC,iCAAgB,CAAC,iBAAiB,EAAE,IAAI,mCAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;IAClG,MAAM,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,iCAAgB,CAAC,YAAY,EAAE,IAAI,0BAAe,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC;IACtG,MAAM,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC,iCAAgB,CAAC,WAAW,EAAE,IAAI,wBAAc,CAAC,GAAG,CAAC,CAAC,CAAC;IAClF,MAAM,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,iCAAgB,CAAC,YAAY,EAAE,IAAI,0BAAe,CAAC,GAAG,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC,CAAC;IACjH,MAAM,eAAe,GAAG,GAAG,CAAC,GAAG,CAAC,iCAAgB,CAAC,kBAAkB,EAAE,IAAI,qCAAoB,CAAC,GAAG,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;IACzI,GAAG,CAAC,GAAG,CAAC,iCAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAE9C,OAAO,UAAU,MAAsB;QACnC,MAAM,cAAc,GAAgC;YAChD,8BAA8B,CAAC,QAAsC;gBACjE,OAAO,iBAAiB,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC;YACtE,CAAC;YACD,IAAI,kCAAkC;gBAClC,OAAO,iBAAiB,CAAC,kCAAkC,CAAC;YAChE,CAAC;YACD,cAAc;gBACV,OAAO,iBAAiB,CAAC,cAAc,EAAE,CAAC;YAC9C,CAAC;YACD,IAAI,WAAW;gBACX,OAAO,iBAAiB,CAAC,WAAW,CAAC;YACzC,CAAC;YACD,IAAI,SAAS;gBACT,OAAO,iBAAiB,CAAC,SAAS,CAAC;YACvC,CAAC;YACD,UAAU,CAAC,UAAkB,EAAE,MAAgB,EAAE,OAA8C;gBAC3F,OAAO,iBAAiB,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAc,CAAC,CAAC;YACpF,CAAC;YACD,MAAM,CAAC,UAAkB,EAAE,SAAiB;gBACxC,OAAO,iBAAiB,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YAC3D,CAAC;YACD,IAAI,mBAAmB;gBACnB,OAAO,iBAAiB,CAAC,mBAAmB,CAAC;YACjD,CAAC;SACJ,CAAC;QACF,MAAM,QAAQ,GAA0B;YACpC,8DAA8D;YAC9D,eAAe,CAAC,OAA0C,EAAE,OAA4D,EAAE,OAAa;gBACnI,0CAA0C;gBAC1C,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;oBAC7B,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC;oBACxF,MAAM,mBAAmB,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBAC/G,IAAI,OAAO,IAAI,mBAAmB,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,EAAE;wBAC9F,OAAO,eAAe,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;qBACrE;oBACD,OAAO,eAAe,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;iBAC7E;gBACD,OAAO,eAAe,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACtE,CAAC;YACD,8DAA8D;YAC9D,cAAc,CAAI,SAAiB,EAAE,GAAG,IAAW;gBAC/C,OAAO,eAAe,CAAC,cAAc,CAAI,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;YACjE,CAAC;YACD,yBAAyB,CAAC,OAAe,EAAE,OAA0F,EAAE,OAAa;gBAChJ,OAAO,eAAe,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,IAAW,EAAO,EAAE;oBAC5E,MAAM,gBAAgB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;oBACnD,IAAI,CAAC,gBAAgB,EAAE;wBACnB,OAAO,CAAC,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,0CAA0C,CAAC,CAAC;wBACvF,OAAO,SAAS,CAAC;qBACpB;oBAED,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,IAA0B,EAAE,EAAE;wBACxD,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;wBACrC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;oBACjC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;wBACb,IAAI,CAAC,MAAM,EAAE;4BACT,OAAO,CAAC,IAAI,CAAC,qBAAqB,GAAG,OAAO,GAAG,oBAAoB,CAAC,CAAC;yBACxE;oBACL,CAAC,EAAE,GAAG,CAAC,EAAE;wBACL,OAAO,CAAC,IAAI,CAAC,0CAA0C,GAAG,OAAO,EAAE,GAAG,CAAC,CAAC;oBAC5E,CAAC,CAAC,CAAC;gBACP,CAAC,CAAC,CAAC;YACP,CAAC;YACD,8DAA8D;YAC9D,eAAe,CAAC,SAAiB,EAAE,OAAgC,EAAE,OAAa;gBAC9E,OAAO,eAAe,CAAC,eAAe,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACxE,CAAC;YACD,aAAa,CAAC,SAAiB;gBAC3B,OAAO,eAAe,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YACpD,CAAC;YACD,WAAW,CAAC,iBAA0B,KAAK;gBACvC,OAAO,eAAe,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YACvD,CAAC;YACD,8BAA8B,CAAC,OAAe,EAAE,QAAqD,EAAE,OAAa;gBAChH,wBAAwB;gBACxB,OAAO,IAAI,uBAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YACrC,CAAC;SACJ,CAAC;QAEF,MAAM,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,GAAG,WAAW,CAAC;QACzF,MAAM,sBAAsB,GAAG,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,EAAE,gCAAe,CAAC,IAAI,CAAC,CAAC;QAC7G,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,EAAE,gCAAe,CAAC,OAAO,CAAC,CAAC;QAC5G,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,EAAE,gCAAe,CAAC,KAAK,CAAC,CAAC;QACxG,MAAM,MAAM,GAAwB;YAEhC,IAAI,cAAc;gBACd,OAAO,WAAW,CAAC,cAAc,CAAC;YACtC,CAAC;YACD,IAAI,gBAAgB;gBAChB,OAAO,OAAO,CAAC,eAAe,EAAE,CAAC;YACrC,CAAC;YACD,IAAI,kBAAkB;gBAClB,OAAO,OAAO,CAAC,qBAAqB,EAAE,CAAC;YAC3C,CAAC;YACD,IAAI,SAAS;gBACT,OAAO,WAAW,CAAC,SAAS,CAAC;YACjC,CAAC;YACD,yBAAyB;YACzB,2BAA2B,CAAC,QAAQ,EAAE,OAAQ,EAAE,WAAY;gBACxD,OAAO,OAAO,CAAC,2BAA2B,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;YAC/E,CAAC;YACD,6BAA6B,CAAC,QAAQ,EAAE,OAAQ,EAAE,WAAY;gBAC1D,OAAO,OAAO,CAAC,6BAA6B,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;YACjF,CAAC;YACD,8BAA8B,CAAC,QAAQ,EAAE,OAAQ,EAAE,WAAY;gBAC3D,OAAO,OAAO,CAAC,8BAA8B,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;YAClF,CAAC;YACD,4BAA4B,CAAC,QAAQ,EAAE,OAAQ,EAAE,WAAY;gBACzD,OAAO,OAAO,CAAC,4BAA4B,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;YAChF,CAAC;YACD,+BAA+B,CAAC,QAAQ,EAAE,OAAQ,EAAE,WAAY;gBAC5D,OAAO,OAAO,CAAC,+BAA+B,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;YACnF,CAAC;YACD,kCAAkC,CAAC,QAAQ,EAAE,OAAQ,EAAE,WAAY;gBAC/D,OAAO,OAAO,CAAC,kCAAkC,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;YACtF,CAAC;YACD,KAAK,CAAC,gBAAgB,CAAC,WAAqC,EACxD,eAAkE,EAClE,aAAuB;gBAEvB,IAAI,eAA0D,CAAC;gBAC/D,MAAM,GAAG,GAAQ,WAAW,YAAY,gBAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC;gBAC5E,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE;oBACrC,eAAe,GAAG;wBACd,UAAU,EAAE,eAAe;qBAC9B,CAAC;iBACL;qBAAM,IAAI,eAAe,IAAI,CAAC,eAAe,CAAC,aAAa,IAAI,eAAe,CAAC,OAAO,IAAI,eAAe,CAAC,SAAS,IAAI,eAAe,CAAC,UAAU,CAAC,EAAE;oBACjJ,eAAe,qBACR,eAAe,CACrB,CAAC;iBACL;gBACD,IAAI,aAAa,EAAE;oBACf,IAAI,eAAe,EAAE;wBACjB,eAAe,CAAC,aAAa,GAAG,aAAa,CAAC;qBACjD;yBAAM;wBACH,eAAe,GAAG,EAAE,aAAa,EAAE,CAAC;qBACvC;iBACJ;gBACD,MAAM,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;gBACnD,MAAM,UAAU,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACrH,IAAI,UAAU,EAAE;oBACZ,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;iBACtC;qBAAM;oBACH,MAAM,IAAI,KAAK,CAAC,gCAAgC,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;iBAC7E;YACL,CAAC;YACD,8DAA8D;YAC9D,aAAa,CAAC,KAAU,EAAE,OAA+B,EAAE,KAA+B;gBACtF,OAAO,YAAY,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YAC7D,CAAC;YACD,eAAe;gBACX,OAAO,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAChD,CAAC;YACD,uBAAuB,CAAC,OAA0C;gBAC9D,OAAO,YAAY,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YACrD,CAAC;YACD,sBAAsB;YACtB,kBAAkB;YAClB,gBAAgB;YAChB,cAAc,CAAC,OAAgC;gBAC3C,OAAO,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAC9C,CAAC;YACD,cAAc,CAAC,OAAgC;gBAC3C,OAAO,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAC9C,CAAC;YACD,gBAAgB,CAAC,OAAkC;gBAC/C,OAAO,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAChD,CAAC;YACD,8DAA8D;YAC9D,mBAAmB,CAAC,IAAY,EAAE,GAA+B;gBAC7D,OAAO,2BAA2B,CAAC,mBAAmB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACtE,CAAC;YACD,YAAY,CAAC,OAA+B,EAAE,KAA+B;gBACzE,OAAO,YAAY,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAClD,CAAC;YACD,mBAAmB,CAAC,SAAoC,EAAE,QAAiB;gBACvE,OAAO,2BAA2B,CAAC,mBAAmB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAChF,CAAC;YACD,mBAAmB,CAAC,IAAY;gBAC5B,OAAO,wBAAwB,CAAC,mBAAmB,CAAC,IAAI,EAAE,oCAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC1F,CAAC;YACD,kBAAkB,CAAC,QAAgB,EAC/B,KAAa,EACb,WAA6D,EAC7D,UAA4D,EAAE;gBAC9D,OAAO,UAAU,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YACnF,CAAC;YACD,8BAA8B,CAAC,QAAgB,EAAE,UAAwC;gBACrF,OAAO,UAAU,CAAC,8BAA8B,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;YACnF,CAAC;YACD,4BAA4B,CAAC,QAAgB,EACzC,QAA6E,EAC7E,UAAwG,EAAE;gBAC1G,OAAO,eAAe,CAAC,4BAA4B,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAC7F,CAAC;YACD,IAAI,KAAK;gBACL,OAAO,cAAc,CAAC,cAAc,EAAE,CAAC;YAC3C,CAAC;YACD,sBAAsB,CAAC,QAAQ,EAAE,OAAQ,EAAE,WAAY;gBACnD,OAAO,cAAc,CAAC,sBAAsB,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;YACjF,CAAC;YACD,cAAc,CAAC,aAAyF,EAAE,SAAkB,EAAE,SAAoB;gBAC9I,OAAO,WAAW,CAAC,cAAc,CAAC,aAAa,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAC3E,CAAC;YACD,kBAAkB;YAClB,iBAAiB;YACjB,8BAA8B,CAAC,OAAsC;gBACjE,OAAO,OAAO,CAAC,8BAA8B,CAAC,OAAO,CAAC,CAAC;YAC3D,CAAC;YACD,wBAAwB,CAAI,MAAc,EAAE,gBAA2C;gBACnF,OAAO,YAAY,CAAC,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC;YACnF,CAAC;YACD,cAAc,CAAI,MAAc,EAAE,OAAwD;gBACtF,OAAO,YAAY,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAChE,CAAC;YACD,YAAY,CACR,OAAwB,EACxB,IAAsH;gBAEtH,OAAO,eAAe,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACvD,CAAC;YACD,8BAA8B,CAAC,QAAsC;gBACjE,OAAO,cAAc,CAAC,8BAA8B,CAAC,QAAQ,EAAE,oCAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC/F,CAAC;YACD,kBAAkB,CAAC,OAAyB;gBACxC,SAAS;gBACT,OAAO,IAAI,uBAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YACrC,CAAC;YACD,cAAc;gBACV,OAAO,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAC/C,CAAC;YACD,4BAA4B,CAAC,QAAoC;gBAC7D,4CAA4C;YAChD,CAAC;YACD,IAAI,gBAAgB;gBAChB,OAAO,UAAU,CAAC,gBAAgB,CAAC;YACvC,CAAC;YACD,2BAA2B,CAAC,QAAQ,EAAE,OAAQ,EAAE,WAAY;gBACxD,OAAO,UAAU,CAAC,2BAA2B,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;YAClF,CAAC;SACJ,CAAC;QAEF,MAAM,SAAS,GAA2B;YAEtC,IAAI,EAAE;gBACF,OAAO,aAAa,CAAC,UAAU,CAAC;YACpC,CAAC;YAED,IAAI,QAAQ;gBACR,OAAO,YAAY,CAAC,QAAQ,CAAC;YACjC,CAAC;YACD,IAAI,gBAAgB;gBAChB,OAAO,YAAY,CAAC,gBAAgB,CAAC;YACzC,CAAC;YACD,IAAI,aAAa;gBACb,OAAO,YAAY,CAAC,aAAa,CAAC;YACtC,CAAC;YACD,IAAI,IAAI;gBACJ,OAAO,YAAY,CAAC,IAAI,CAAC;YAC7B,CAAC;YACD,2BAA2B,CAAC,QAAQ,EAAE,OAAQ,EAAE,WAAY;gBACxD,OAAO,YAAY,CAAC,2BAA2B,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;YACpF,CAAC;YACD,IAAI,aAAa;gBACb,OAAO,SAAS,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrE,CAAC;YACD,uBAAuB,CAAC,QAAQ,EAAE,OAAQ,EAAE,WAAY;gBACpD,OAAO,SAAS,CAAC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;YACzE,CAAC;YACD,sBAAsB,CAAC,QAAQ,EAAE,OAAQ,EAAE,WAAY;gBACnD,OAAO,SAAS,CAAC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;YACzE,CAAC;YACD,qBAAqB,CAAC,QAAQ,EAAE,OAAQ,EAAE,WAAY;gBAClD,OAAO,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;YACtE,CAAC;YACD,sBAAsB,CAAC,QAAQ,EAAE,OAAQ,EAAE,WAAY;gBACnD,OAAO,SAAS,CAAC,sBAAsB,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;YAC5E,CAAC;YACD,qBAAqB,CAAC,QAAQ,EAAE,OAAQ,EAAE,WAAY;gBAClD,OAAO,SAAS,CAAC,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;YAC3E,CAAC;YACD,gBAAgB,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,CAAC,sBAAsB,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC;YAC5H,gBAAgB,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,CAAC,sBAAsB,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC;YAC5H,gBAAgB,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,CAAC,sBAAsB,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC;YAC5H,iBAAiB,EAAE,CAAC,QAA+C,EAAE,OAAa,EAAE,WAAgC,EAAE,EAAE,CACpH,sBAAsB,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC;YAC3F,iBAAiB,EAAE,CAAC,QAA+C,EAAE,OAAa,EAAE,WAAgC,EAAE,EAAE,CACpH,sBAAsB,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC;YAC3F,iBAAiB,EAAE,CAAC,QAA+C,EAAE,OAAa,EAAE,WAAgC,EAAE,EAAE,CACpH,sBAAsB,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC;YAC3F,gBAAgB,CAAC,OAAQ,EAAE,QAAS;gBAChC,OAAO,qBAAqB,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACrE,CAAC;YACD,wBAAwB,CAAC,QAAQ,EAAE,QAAS,EAAE,WAAY;gBACtD,OAAO,qBAAqB,CAAC,wBAAwB,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YAC3F,CAAC;YACD,KAAK,CAAC,gBAAgB,CAAC,sBAAsF;gBACzG,MAAM,OAAO,GAAG,sBAAkE,CAAC;gBAEnF,IAAI,GAAQ,CAAC;gBACb,IAAI,OAAO,sBAAsB,KAAK,QAAQ,EAAE;oBAC5C,GAAG,GAAG,gBAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;iBAE1C;qBAAM,IAAI,sBAAsB,YAAY,gBAAG,EAAE;oBAC9C,GAAG,GAAG,sBAAsB,CAAC;iBAEhC;qBAAM,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;oBAChD,GAAG,GAAG,MAAM,SAAS,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;iBAErD;qBAAM;oBACH,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC,CAAC;iBACjF;gBAED,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;gBAC/C,OAAO,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC;YACjC,CAAC;YACD,uBAAuB,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAA2B,EAAE,CACpG,sBAAsB,CAAC,uBAAuB,CAAC,iCAAe,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC;YACtH,SAAS,CAAC,OAA0B,EAAE,OAAkC,EAAE,UAAmB,EAAE,KAAyB;gBACpH,OAAO,YAAY,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;YACvE,CAAC;YACD,eAAe,CAAC,KAA4B,EAAE,iBAA4F,EACtI,eAAgF,EAAE,KAAyB;gBAC3G,OAAO,YAAY,CAAC,eAAe,CAAC,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;YAC1F,CAAC;YACD,OAAO,CAAC,eAAyB;gBAC7B,OAAO,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAC5C,CAAC;YACD,SAAS,CAAC,IAAyB;gBAC/B,OAAO,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC5C,CAAC;YACD,mCAAmC,CAAC,MAAc,EAAE,QAA2C;gBAC3F,OAAO,YAAY,CAAC,mCAAmC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC9E,CAAC;YACD,0BAA0B,CAAC,MAAc,EAAE,QAAkC;gBACzE,OAAO,aAAa,CAAC,0BAA0B,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACtE,CAAC;YACD,kBAAkB,CAAC,GAAc;gBAC7B,OAAO,YAAY,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;YAChD,CAAC;YACD,cAAc,CAAC,SAA6B,EAAE,gBAA0B;gBACpE,OAAO,YAAY,CAAC,eAAe,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YACrE,CAAC;YACD,sBAAsB,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,qBAAqB,EAAE,EAAE,CACrE,YAAY,CAAC,sBAAsB,CAAC,KAAK,EAAE,WAAW,IAAI,CAAC,EAAE,GAAG,qBAAqB,CAAC;YAE1F,oBAAoB,CAAC,IAAY,EAAE,QAA4B;gBAC3D,OAAO,KAAK,CAAC,oBAAoB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACtD,CAAC;YACD,8BAA8B,CAAC,SAAiC;gBAC5D,OAAO,eAAe,CAAC,+BAA+B,CAAC,SAAS,CAAC,CAAC;YACtE,CAAC;YACD,wBAAwB,CAAC,MAAyB,EAAE,QAAgC;gBAChF,OAAO,WAAW,CAAC,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC1E,CAAC;SACJ,CAAC;QAEF,MAAM,mBAAmB,GAAG,IAAI,eAAO,EAAkB,CAAC;QAC1D,MAAM,GAAG,GAAqB,MAAM,CAAC,MAAM,CAAC;YACxC,IAAI,OAAO,KAAa,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YAChD,IAAI,OAAO,KAAa,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YAChD,IAAI,QAAQ,KAAa,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClD,IAAI,SAAS,KAAa,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YACpD,IAAI,SAAS,KAAa,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YACpD,IAAI,SAAS,KAAa,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YACpD,IAAI,KAAK,KAAa,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5C,IAAI,MAAM,KAAmB,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YACpD,SAAS;YACT,cAAc,CAAC,UAAkB;gBAC7B,OAAO,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YAC7C,CAAC;YACD,iBAAiB,CAAC,cAAsB;gBACpC,OAAO,MAAM,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;YACpD,CAAC;YACD,kBAAkB;gBACd,OAAO,MAAM,CAAC,kBAAkB,EAAE,CAAC;YACvC,CAAC;YACD,wBAAwB;gBACpB,OAAO,MAAM,CAAC,wBAAwB,EAAE,CAAC;YAC7C,CAAC;YACD,YAAY,CAAC,GAAc;gBACvB,OAAO,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACvC,CAAC;YACD,aAAa,CAAC,MAAiB;gBAC3B,OAAO,cAAc,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAChD,CAAC;YACD,IAAI,QAAQ,KAAqB,OAAO,qBAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YACxD,IAAI,mBAAmB,KAAkC,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;SAC/F,CAAC,CAAC;QAEH,MAAM,SAAS,GAA2B;YACtC,YAAY;gBACR,OAAO,YAAY,CAAC,YAAY,EAAE,CAAC;YACvC,CAAC;YACD,uBAAuB,CAAC,QAA4B,EAAE,UAAkB;gBACpE,OAAO,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YACjE,CAAC;YACD,KAAK,CAAC,QAAgC,EAAE,QAA4B;gBAChE,OAAO,yBAAK,CAAC,sCAAoB,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACpH,CAAC;YACD,IAAI,sBAAsB;gBACtB,OAAO,YAAY,CAAC,sBAAsB,CAAC;YAC/C,CAAC;YACD,cAAc,CAAC,QAAc;gBACzB,8DAA8D;gBAC9D,OAAY,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YACtD,CAAC;YACD,0BAA0B,CAAC,IAAa;gBACpC,OAAO,YAAY,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;YACzD,CAAC;YACD,wBAAwB,CAAC,QAAgB,EAAE,aAA0C;gBACjF,OAAO,YAAY,CAAC,wBAAwB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YAC1E,CAAC;YACD,8BAA8B,CAAC,QAAgC,EAAE,QAAsC,EAAE,GAAG,iBAA2B;gBACnI,OAAO,YAAY,CAAC,8BAA8B,CAAC,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,EAAE,oCAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC1H,CAAC;YACD,0BAA0B,CAAC,QAAgC,EAAE,QAAkC;gBAC3F,OAAO,YAAY,CAAC,0BAA0B,CAAC,QAAQ,EAAE,QAAQ,EAAE,oCAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;YACnG,CAAC;YACD,2BAA2B,CAAC,QAAgC,EAAE,QAAmC;gBAC7F,OAAO,YAAY,CAAC,2BAA2B,CAAC,QAAQ,EAAE,QAAQ,EAAE,oCAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;YACpG,CAAC;YACD,6BAA6B,CACzB,QAAgC,EAAE,QAAqC,EAAE,KAAoD,EAAE,GAAG,SAAmB;gBAErJ,IAAI,QAA6C,CAAC;gBAClD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;oBAC3B,QAAQ,GAAG,KAAK,CAAC;iBACpB;qBAAM;oBACH,MAAM,iBAAiB,GAAa,EAAE,CAAC;oBACvC,QAAQ,GAAG,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,EAAE,EAAE,CAAC;oBAC1D,IAAI,KAAK,EAAE;wBACP,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,SAAS,CAAC,CAAC;qBAC/C;iBACJ;gBACD,OAAO,YAAY,CAAC,6BAA6B,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,oCAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;YAChH,CAAC;YACD,8BAA8B,CAAC,QAAgC,EAAE,QAAsC;gBACnG,OAAO,YAAY,CAAC,8BAA8B,CAAC,QAAQ,EAAE,QAAQ,EAAE,oCAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;YACvG,CAAC;YACD,8BAA8B,CAAC,QAAgC,EAAE,QAAsC;gBACnG,OAAO,YAAY,CAAC,8BAA8B,CAAC,QAAQ,EAAE,QAAQ,EAAE,oCAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;YACvG,CAAC;YACD,qBAAqB,CAAC,QAAgC,EAAE,QAA6B;gBACjF,OAAO,YAAY,CAAC,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,EAAE,oCAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC9F,CAAC;YACD,iCAAiC,CAAC,QAAgC,EAAE,QAAyC;gBACzG,OAAO,YAAY,CAAC,iCAAiC,CAAC,QAAQ,EAAE,QAAQ,EAAE,oCAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC1G,CAAC;YACD,+BAA+B,CAAC,QAAuC;gBACnE,OAAO,YAAY,CAAC,+BAA+B,CAAC,QAAQ,EAAE,oCAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC9F,CAAC;YACD,sCAAsC,CAAC,QAAgC,EAAE,QAA8C;gBACnH,OAAO,YAAY,CAAC,sCAAsC,CAAC,QAAQ,EAAE,QAAQ,EAAE,oCAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC/G,CAAC;YACD,2CAA2C,CAAC,QAAgC,EAAE,QAAmD;gBAC7H,OAAO,YAAY,CAAC,2CAA2C,CAAC,QAAQ,EAAE,QAAQ,EAAE,oCAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;YACpH,CAAC;YACD,oCAAoC,CAChC,QAAgC,EAChC,QAA4C,EAC5C,qBAA6B,EAC7B,GAAG,qBAA+B;gBAElC,OAAO,YAAY,CAAC,oCAAoC,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,EAAE,oCAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;YACpK,CAAC;YACD,4BAA4B,CAAC,QAAgC,EAAE,QAAoC;gBAC/F,OAAO,YAAY,CAAC,4BAA4B,CAAC,QAAQ,EAAE,QAAQ,EAAE,oCAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;YACrG,CAAC;YACD,2BAA2B,CAAC,QAAgC,EAAE,QAAkC,EAAE,QAA2C;gBACzI,OAAO,YAAY,CAAC,2BAA2B,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,EAAE,oCAAkB,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC;YAC5H,CAAC;YACD,wBAAwB,CAAC,QAAgC,EAAE,QAAgC;gBACvF,OAAO,YAAY,CAAC,wBAAwB,CAAC,QAAQ,EAAE,QAAQ,EAAE,oCAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;YACjG,CAAC;YACD,yBAAyB,CAAC,QAAgC,EAAE,QAAiC;gBACzF,OAAO,YAAY,CAAC,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,EAAE,oCAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;YAClG,CAAC;YACD,8BAA8B,CAAC,QAAgC,EAAE,QAAsC;gBACnG,OAAO,YAAY,CAAC,8BAA8B,CAAC,QAAQ,EAAE,QAAQ,EAAE,oCAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;YACvG,CAAC;YACD,qBAAqB,CAAC,QAAgC,EAAE,QAAqC;gBACzF,OAAO,YAAY,CAAC,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,EAAE,oCAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC9F,CAAC;YACD,4BAA4B,CAAC,QAAgC,EAAE,QAAoC;gBAC/F,OAAO,YAAY,CAAC,4BAA4B,CAAC,QAAQ,EAAE,QAAQ,EAAE,oCAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;YACrG,CAAC;YACD,8BAA8B,CAAC,QAAgC,EAAE,QAAsC;gBACnG,OAAO,YAAY,CAAC,8BAA8B,CAAC,QAAQ,EAAE,QAAQ,EAAE,oCAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;YACvG,CAAC;YACD,sBAAsB,CAAC,QAAgC,EAAE,QAA8B;gBACnF,OAAO,YAAY,CAAC,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,oCAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC/F,CAAC;YACD,sCAAsC,CAAC,QAAgC,EAAE,QAA8C,EAAE,MAAkC;gBAEvJ,OAAO,YAAY,CAAC,sCAAsC,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,oCAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;YACvH,CAAC;YACD,2CAA2C,CAAC,QAAgC,EAAE,QAAmD,EAAE,MAAkC;gBAEjK,OAAO,YAAY,CAAC,2CAA2C,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,oCAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC5H,CAAC;YACD,6BAA6B,CAAC,QAAgC,EAAE,QAAqC;gBACjG,OAAO,YAAY,CAAC,6BAA6B,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC1E,CAAC;SACJ,CAAC;QAEF,MAAM,OAAO,GAAyB;YAClC,8DAA8D;YAC9D,IAAI,GAAG;gBACH,OAAO,aAAa,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC;YACpF,CAAC;YACD,8DAA8D;YAC9D,SAAS,CAAC,QAAgB;gBACtB,MAAM,GAAG,GAAG,aAAa,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;gBAChE,IAAI,GAAG,EAAE;oBACL,OAAO,IAAI,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;iBACzC;gBACD,OAAO,SAAS,CAAC;YACrB,CAAC;YACD,IAAI,WAAW;gBACX,OAAO,aAAa,CAAC,WAAW,CAAC;YACrC,CAAC;SACJ,CAAC;QAEF,MAAM,sBAAsB,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,IAAI,EAAE,CAAC;QAC1G,QAAQ,CAAC,cAAc,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;QACxD,QAAQ,CAAC,8BAA8B,CAAC,MAAM,CAAC,YAAY,EAAE,sBAAsB,CAAC,CAAC;QACrF,MAAM,KAAK,GAAuB;YAC9B,IAAI,kBAAkB;gBAClB,OAAO,QAAQ,CAAC,kBAAkB,CAAC;YACvC,CAAC;YACD,IAAI,kBAAkB;gBAClB,OAAO,QAAQ,CAAC,kBAAkB,CAAC;YACvC,CAAC;YACD,IAAI,WAAW;gBACX,OAAO,QAAQ,CAAC,WAAW,CAAC;YAChC,CAAC;YACD,IAAI,6BAA6B;gBAC7B,OAAO,QAAQ,CAAC,6BAA6B,CAAC;YAClD,CAAC;YACD,IAAI,sBAAsB;gBACtB,OAAO,QAAQ,CAAC,sBAAsB,CAAC;YAC3C,CAAC;YACD,IAAI,mCAAmC;gBACnC,OAAO,QAAQ,CAAC,mCAAmC,CAAC;YACxD,CAAC;YACD,IAAI,0BAA0B;gBAC1B,OAAO,QAAQ,CAAC,0BAA0B,CAAC;YAC/C,CAAC;YACD,IAAI,sBAAsB;gBACtB,OAAO,QAAQ,CAAC,sBAAsB,CAAC;YAC3C,CAAC;YACD,qCAAqC,CAAC,SAAiB,EAAE,OAA4C;gBACjG,OAAO,QAAQ,CAAC,qCAAqC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC9E,CAAC;YACD,kCAAkC,CAC9B,SAAiB,EACjB,QAA0C,EAC1C,WAAyD;gBAEzD,OAAO,QAAQ,CAAC,kCAAkC,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,IAAI,sDAAqC,CAAC,OAAO,CAAC,CAAC;YAC1I,CAAC;YACD,kCAAkC,CAAC,SAAiB,EAAE,OAAyC;gBAC3F,OAAO,QAAQ,CAAC,kCAAkC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC3E,CAAC;YACD,cAAc,CAAC,MAAyC,EAAE,mBAAsD,EAAE,OAAkC;gBAEhJ,OAAO,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC;YACzE,CAAC;YACD,cAAc,CAAC,WAA+B;gBAC1C,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YACzC,CAAC;YACD,iBAAiB,CAAC,WAA+B;gBAC7C,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAC5C,CAAC;SACJ,CAAC;QAEF,MAAM,KAAK,GAAuB;YAC9B,oBAAoB,CAAC,IAAY,EAAE,QAA4B;gBAC3D,OAAO,QAAQ,CAAC,oBAAoB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACzD,CAAC;YAED,UAAU,CAAC,MAAyB;gBAChC,OAAO,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YACvC,CAAC;YAED,WAAW,CAAC,IAAgB;gBACxB,OAAO,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACtC,CAAC;YAED,IAAI,cAAc;gBACd,OAAO,QAAQ,CAAC,cAAc,CAAC;YACnC,CAAC;YACD,cAAc,CAAC,QAAQ,EAAE,OAAQ,EAAE,WAAY;gBAC3C,OAAO,QAAQ,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;YACnE,CAAC;YACD,YAAY,CAAC,QAAQ,EAAE,OAAQ,EAAE,WAAY;gBACzC,OAAO,QAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;YACjE,CAAC;YACD,qBAAqB,CAAC,QAAQ,EAAE,OAAQ,EAAE,WAAY;gBAClD,OAAO,QAAQ,CAAC,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;YAC1E,CAAC;YACD,mBAAmB,CAAC,QAAQ,EAAE,OAAQ,EAAE,WAAY;gBAChD,OAAO,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;YACxE,CAAC;SACJ,CAAC;QAEF,MAAM,GAAG,GAAqB;YAC1B,IAAI,QAAQ;gBACR,MAAM,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;gBAChD,IAAI,QAAQ,EAAE;oBACV,OAAO,QAAQ,CAAC;iBACnB;qBAAM;oBACH,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;iBAC3C;YACL,CAAC;YACD,mBAAmB,CAAC,EAAU,EAAE,KAAa,EAAE,OAAa;gBACxD,OAAO,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAClE,CAAC;SACJ,CAAC;QAEF,MAAM,QAAQ,GAA0B;YACpC,uBAAuB,CAAC,EAAU,EAAE,KAAa;gBAC7C,OAAO,WAAW,CAAC,uBAAuB,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;YAClE,CAAC;SACJ,CAAC;QAEF,OAAqB;YACjB,OAAO,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAO;YAC9C,cAAc;YACd,QAAQ;YACR,QAAQ;YACR,MAAM;YACN,SAAS;YACT,GAAG;YACH,SAAS;YACT,OAAO;YACP,KAAK;YACL,KAAK;YACL,GAAG;YACH,QAAQ;YACR,kBAAkB,EAAE,+BAAkB;YACtC,UAAU,EAAE,uBAAU;YACtB,YAAY,EAAE,eAAO;YACrB,uBAAuB,EAAE,sCAAuB;YAChD,cAAc,EAAd,gCAAc;YACd,QAAQ,EAAE,qBAAQ;YAClB,KAAK,EAAE,kBAAK;YACZ,SAAS,EAAE,sBAAS;YACpB,UAAU,EAAE,uBAAU;YACtB,6BAA6B,EAAE,0CAA6B;YAC5D,GAAG,EAAE,gBAAG;YACR,SAAS,EAAT,sBAAS;YACT,oBAAoB,EAApB,iCAAoB;YACpB,qBAAqB,EAArB,sCAAqB;YACrB,0BAA0B,EAA1B,uCAA0B;YAC1B,UAAU,EAAV,uBAAU;YACV,SAAS,EAAT,sBAAS;YACT,aAAa,EAAb,0BAAa;YACb,uBAAuB,EAAvB,oCAAuB;YACvB,iBAAiB,EAAjB,8BAAiB;YACjB,mBAAmB,EAAnB,gCAAmB;YACnB,eAAe,EAAf,4BAAe;YACf,YAAY,EAAZ,yBAAY;YACZ,cAAc,EAAd,2BAAc;YACd,kBAAkB,EAAlB,+BAAkB;YAClB,cAAc,EAAd,2BAAc;YACd,gBAAgB,EAAhB,6BAAgB;YAChB,kBAAkB,EAAlB,+BAAkB;YAClB,4BAA4B,EAA5B,yCAA4B;YAC5B,QAAQ,EAAR,qBAAQ;YACR,QAAQ,EAAR,qBAAQ;YACR,aAAa,EAAb,0BAAa;YACb,iBAAiB,EAAjB,8BAAiB;YACjB,UAAU,EAAV,uBAAU;YACV,qBAAqB,EAArB,kCAAqB;YACrB,QAAQ,EAAR,qBAAQ;YACR,gBAAgB,EAAhB,6BAAgB;YAChB,eAAe,EAAf,4BAAe;YACf,QAAQ,EAAR,qBAAQ;YACR,oBAAoB,EAApB,iCAAoB;YACpB,oBAAoB,EAApB,iCAAoB;YACpB,aAAa,EAAb,0BAAa;YACb,wBAAwB,EAAxB,qCAAwB;YACxB,KAAK,EAAL,kBAAK;YACL,qBAAqB,EAArB,kCAAqB;YACrB,iBAAiB,EAAjB,8BAAiB;YACjB,YAAY,EAAZ,yBAAY;YACZ,QAAQ,EAAR,qBAAQ;YACR,cAAc,EAAd,2BAAc;YACd,iBAAiB,EAAjB,8BAAiB;YACjB,qBAAqB,EAArB,kCAAqB;YACrB,sBAAsB,EAAtB,mCAAsB;YACtB,UAAU,EAAV,uBAAU;YACV,QAAQ,EAAR,qBAAQ;YACR,SAAS,EAAE,qBAAQ;YACnB,wBAAwB,EAAxB,qCAAwB;YACxB,UAAU,EAAV,iCAAU;YACV,SAAS,EAAT,sBAAS;YACT,cAAc,EAAd,2BAAc;YACd,aAAa,EAAb,0BAAa;YACb,iBAAiB,EAAjB,8BAAiB;YACjB,QAAQ,EAAR,qBAAQ;YACR,cAAc,EAAd,2BAAc;YACd,YAAY,EAAZ,yBAAY;YACZ,cAAc,EAAd,2BAAc;YACd,gBAAgB,EAAhB,6BAAgB;YAChB,eAAe,EAAf,4BAAe;YACf,SAAS,EAAT,sBAAS;YACT,cAAc,EAAd,2BAAc;YACd,aAAa,EAAb,0BAAa;YACb,SAAS,EAAT,sBAAS;YACT,IAAI,EAAJ,iBAAI;YACJ,KAAK,EAAL,kBAAK;YACL,sBAAsB,EAAtB,mCAAsB;YACtB,kBAAkB,EAAlB,+BAAkB;YAClB,2BAA2B,EAA3B,wCAA2B;YAC3B,gCAAgC,EAAhC,6CAAgC;YAChC,qCAAqC,EAArC,sDAAqC;YACrC,UAAU,EAAV,uBAAU;YACV,gBAAgB,EAAhB,6BAAgB;YAChB,kBAAkB,EAAlB,+BAAkB;YAClB,KAAK,EAAL,kBAAK;YACL,gBAAgB,EAAhB,6BAAgB;YAChB,iBAAiB,EAAjB,8BAAiB;YACjB,YAAY,EAAZ,yBAAY;YACZ,cAAc,EAAd,2BAAc;YACd,gBAAgB,EAAhB,6BAAgB;YAChB,eAAe,EAAf,4BAAe;YACf,sBAAsB,EAAtB,mCAAsB;YACtB,MAAM,EAAN,mBAAM;YACN,eAAe,EAAf,4BAAe;YACf,6BAA6B,EAA7B,0CAA6B;YAC7B,iBAAiB,EAAjB,8BAAiB;YACjB,WAAW,EAAX,wBAAW;YACX,iBAAiB,EAAjB,8BAAiB;YACjB,yBAAyB,EAAzB,sCAAyB;YACzB,yBAAyB,EAAzB,sCAAyB;YACzB,YAAY,EAAZ,yBAAY;YACZ,8BAA8B,EAA9B,2CAA8B;YAC9B,oBAAoB,EAApB,iCAAoB;YACpB,qBAAqB,EAArB,kCAAqB;YACrB,cAAc,EAAd,2BAAc;YACd,mBAAmB,EAAnB,gCAAmB;YACnB,kBAAkB,EAAlB,+BAAkB;YAClB,cAAc,EAAd,2BAAc;YACd,mCAAmC,EAAnC,gDAAmC;YACnC,cAAc,EAAd,2BAAc;YACd,iBAAiB,EAAjB,gCAAiB;YACjB,aAAa,EAAb,0BAAa;SAChB,CAAC;IACN,CAAC,CAAC;AACN,CAAC;AAzxBD,4CAyxBC;AAED,MAAM,MAAM;IAOR,YAA6B,aAA4B,EAAE,MAAsB;QAApD,kBAAa,GAAb,aAAa,CAAe;QACrD,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,gBAAG,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IAChF,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,OAAO;QACP,OAAU,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/E,CAAC;CACJ"}
package/package.json CHANGED
@@ -1,31 +1,31 @@
1
1
  {
2
2
  "name": "@theia/plugin-ext",
3
- "version": "1.20.0",
3
+ "version": "1.21.0-next.15+c4c6cab0372",
4
4
  "description": "Theia - Plugin Extension",
5
5
  "main": "lib/common/index.js",
6
6
  "typings": "lib/common/index.d.ts",
7
7
  "dependencies": {
8
- "@theia/bulk-edit": "1.20.0",
9
- "@theia/callhierarchy": "1.20.0",
10
- "@theia/console": "1.20.0",
11
- "@theia/core": "1.20.0",
12
- "@theia/debug": "1.20.0",
13
- "@theia/editor": "1.20.0",
14
- "@theia/file-search": "1.20.0",
15
- "@theia/filesystem": "1.20.0",
16
- "@theia/markers": "1.20.0",
17
- "@theia/messages": "1.20.0",
18
- "@theia/monaco": "1.20.0",
19
- "@theia/navigator": "1.20.0",
20
- "@theia/output": "1.20.0",
21
- "@theia/plugin": "1.20.0",
22
- "@theia/preferences": "1.20.0",
23
- "@theia/scm": "1.20.0",
24
- "@theia/search-in-workspace": "1.20.0",
25
- "@theia/task": "1.20.0",
26
- "@theia/terminal": "1.20.0",
27
- "@theia/timeline": "1.20.0",
28
- "@theia/workspace": "1.20.0",
8
+ "@theia/bulk-edit": "1.21.0-next.15+c4c6cab0372",
9
+ "@theia/callhierarchy": "1.21.0-next.15+c4c6cab0372",
10
+ "@theia/console": "1.21.0-next.15+c4c6cab0372",
11
+ "@theia/core": "1.21.0-next.15+c4c6cab0372",
12
+ "@theia/debug": "1.21.0-next.15+c4c6cab0372",
13
+ "@theia/editor": "1.21.0-next.15+c4c6cab0372",
14
+ "@theia/file-search": "1.21.0-next.15+c4c6cab0372",
15
+ "@theia/filesystem": "1.21.0-next.15+c4c6cab0372",
16
+ "@theia/markers": "1.21.0-next.15+c4c6cab0372",
17
+ "@theia/messages": "1.21.0-next.15+c4c6cab0372",
18
+ "@theia/monaco": "1.21.0-next.15+c4c6cab0372",
19
+ "@theia/navigator": "1.21.0-next.15+c4c6cab0372",
20
+ "@theia/output": "1.21.0-next.15+c4c6cab0372",
21
+ "@theia/plugin": "1.21.0-next.15+c4c6cab0372",
22
+ "@theia/preferences": "1.21.0-next.15+c4c6cab0372",
23
+ "@theia/scm": "1.21.0-next.15+c4c6cab0372",
24
+ "@theia/search-in-workspace": "1.21.0-next.15+c4c6cab0372",
25
+ "@theia/task": "1.21.0-next.15+c4c6cab0372",
26
+ "@theia/terminal": "1.21.0-next.15+c4c6cab0372",
27
+ "@theia/timeline": "1.21.0-next.15+c4c6cab0372",
28
+ "@theia/workspace": "1.21.0-next.15+c4c6cab0372",
29
29
  "@types/markdown-it": "*",
30
30
  "@types/mime": "^2.0.1",
31
31
  "decompress": "^4.2.1",
@@ -92,5 +92,5 @@
92
92
  "nyc": {
93
93
  "extends": "../../configs/nyc.json"
94
94
  },
95
- "gitHead": "774a2724c51d4ae026c6d2499bff3a02e3d50ba9"
95
+ "gitHead": "c4c6cab037230fc05e39c7b124a681630c2f6a33"
96
96
  }
@@ -13,69 +13,126 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { Disposable } from './disposable-util';
17
- import { PluginMessageReader } from './plugin-message-reader';
18
- import { PluginMessageWriter } from './plugin-message-writer';
19
- import { IWebSocket, MessageReader, MessageWriter, Message } from '@theia/core/shared/vscode-ws-jsonrpc';
16
+ import { Channel } from '@theia/debug/lib/common/debug-service';
17
+ import { ConnectionExt, ConnectionMain } from './plugin-api-rpc';
18
+ import { Emitter } from '@theia/core/lib/common/event';
20
19
 
21
20
  /**
22
- * The interface for describing the connection between plugins and main side.
21
+ * A channel communicating with a counterpart in a plugin host.
23
22
  */
24
- export interface Connection extends Disposable {
25
- readonly reader: MessageReader;
26
- readonly writer: MessageWriter;
27
- /**
28
- * Allows to forward messages to another connection.
29
- *
30
- * @param to the connection to forward messages
31
- * @param map the function in which the message can be changed before forwarding
32
- */
33
- forward(to: Connection, map?: (message: Message) => Message): void;
34
- }
23
+ export class PluginChannel implements Channel {
24
+ private messageEmitter: Emitter<string> = new Emitter();
25
+ private errorEmitter: Emitter<unknown> = new Emitter();
26
+ private closedEmitter: Emitter<void> = new Emitter();
35
27
 
36
- /**
37
- * The container for message reader and writer which can be used to create connection between plugins and main side.
38
- */
39
- export class PluginConnection implements Connection {
40
28
  constructor(
41
- readonly reader: PluginMessageReader,
42
- readonly writer: PluginMessageWriter,
43
- readonly dispose: () => void) {
29
+ protected readonly id: string,
30
+ protected readonly connection: ConnectionExt | ConnectionMain) { }
31
+
32
+ send(content: string): void {
33
+ this.connection.$sendMessage(this.id, content);
44
34
  }
45
35
 
46
- forward(to: Connection, map: (message: Message) => Message = message => message): void {
47
- this.reader.listen(input => {
48
- const output = map(input);
49
- to.writer.write(output);
50
- });
36
+ fireMessageReceived(msg: string): void {
37
+ this.messageEmitter.fire(msg);
51
38
  }
52
- }
53
39
 
54
- /**
55
- * [IWebSocket](#IWebSocket) implementation over RPC.
56
- */
57
- export class PluginWebSocketChannel implements IWebSocket {
58
- constructor(protected readonly connection: PluginConnection) { }
40
+ fireError(error: unknown): void {
41
+ this.errorEmitter.fire(error);
42
+ }
59
43
 
60
- send(content: string): void {
61
- this.connection.writer.write(content);
44
+ fireClosed(): void {
45
+ this.closedEmitter.fire();
62
46
  }
63
47
 
64
48
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
65
49
  onMessage(cb: (data: any) => void): void {
66
- this.connection.reader.listen(cb);
50
+ this.messageEmitter.event(cb);
67
51
  }
68
52
 
69
53
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
70
54
  onError(cb: (reason: any) => void): void {
71
- this.connection.reader.onError(e => cb(e));
55
+ this.errorEmitter.event(cb);
72
56
  }
73
57
 
74
58
  onClose(cb: (code: number, reason: string) => void): void {
75
- this.connection.reader.onClose(() => cb(-1, 'closed'));
59
+ this.closedEmitter.event(() => cb(-1, 'closed'));
60
+ }
61
+
62
+ close(): void {
63
+ this.connection.$deleteConnection(this.id);
64
+ }
65
+ }
66
+
67
+ export class ConnectionImpl implements ConnectionMain, ConnectionExt {
68
+ private readonly proxy: ConnectionExt | ConnectionExt;
69
+ private readonly connections = new Map<string, PluginChannel>();
70
+
71
+ constructor(proxy: ConnectionMain | ConnectionExt) {
72
+ this.proxy = proxy;
73
+ }
74
+
75
+ /**
76
+ * Gets the connection between plugin by id and sends string message to it.
77
+ *
78
+ * @param id connection's id
79
+ * @param message incoming message
80
+ */
81
+ async $sendMessage(id: string, message: string): Promise<void> {
82
+ if (this.connections.has(id)) {
83
+ this.connections.get(id)!.fireMessageReceived(message);
84
+ } else {
85
+ console.warn(`Received message for unknown connection: ${id}`);
86
+ }
87
+ }
88
+
89
+ /**
90
+ * Instantiates a new connection by the given id.
91
+ * @param id the connection id
92
+ */
93
+ async $createConnection(id: string): Promise<void> {
94
+ console.debug(`Creating plugin connection: ${id}`);
95
+
96
+ await this.doEnsureConnection(id);
97
+ }
98
+
99
+ /**
100
+ * Deletes a connection.
101
+ * @param id the connection id
102
+ */
103
+ async $deleteConnection(id: string): Promise<void> {
104
+ console.debug(`Deleting plugin connection: ${id}`);
105
+ const connection = this.connections.get(id);
106
+ if (connection) {
107
+ this.connections.delete(id);
108
+ connection.fireClosed();
109
+ }
110
+ }
111
+
112
+ /**
113
+ * Returns existed connection or creates a new one.
114
+ * @param id the connection id
115
+ */
116
+ async ensureConnection(id: string): Promise<PluginChannel> {
117
+ console.debug(`Creating local connection: ${id}`);
118
+ const connection = await this.doEnsureConnection(id);
119
+ await this.proxy.$createConnection(id);
120
+ return connection;
121
+ }
122
+
123
+ /**
124
+ * Returns existed connection or creates a new one.
125
+ * @param id the connection id
126
+ */
127
+ async doEnsureConnection(id: string): Promise<PluginChannel> {
128
+ const connection = this.connections.get(id) || await this.doCreateConnection(id);
129
+ this.connections.set(id, connection);
130
+ return connection;
76
131
  }
77
132
 
78
- dispose(): void {
79
- this.connection.dispose();
133
+ protected async doCreateConnection(id: string): Promise<PluginChannel> {
134
+ const channel = new PluginChannel(id, this.proxy);
135
+ channel.onClose(() => this.connections.delete(id));
136
+ return channel;
80
137
  }
81
138
  }
@@ -265,8 +265,6 @@ export interface ConnectionMain {
265
265
  $createConnection(id: string): Promise<void>;
266
266
  $deleteConnection(id: string): Promise<void>;
267
267
  $sendMessage(id: string, message: string): void;
268
- $createConnection(id: string): Promise<void>;
269
- $deleteConnection(id: string): Promise<void>;
270
268
  }
271
269
 
272
270
  export interface ConnectionExt {
@@ -681,6 +681,7 @@ export interface ViewContainer {
681
681
  id: string;
682
682
  title: string;
683
683
  iconUrl: string;
684
+ themeIcon?: string;
684
685
  }
685
686
 
686
687
  /**
@@ -542,7 +542,7 @@ export class HostedPluginSupport {
542
542
 
543
543
  // Make sure that folder by the path exists
544
544
  if (!await this.fileService.exists(globalStorageFolderUri)) {
545
- await this.fileService.createFolder(globalStorageFolderUri);
545
+ await this.fileService.createFolder(globalStorageFolderUri, { fromUserGesture: false });
546
546
  }
547
547
  const globalStorageFolderFsPath = await this.fileService.fsPath(globalStorageFolderUri);
548
548
  if (!globalStorageFolderFsPath) {
@@ -554,10 +554,13 @@ export class TheiaPluginScanner implements PluginScanner {
554
554
  }
555
555
 
556
556
  private readViewContainer(rawViewContainer: PluginPackageViewContainer, pck: PluginPackage): ViewContainer {
557
+ const themeIcon = rawViewContainer.icon.startsWith('$(') ? rawViewContainer.icon : undefined;
558
+ const iconUrl = this.toPluginUrl(pck, rawViewContainer.icon);
557
559
  return {
558
560
  id: rawViewContainer.id,
559
561
  title: rawViewContainer.title,
560
- iconUrl: this.toPluginUrl(pck, rawViewContainer.icon)
562
+ iconUrl,
563
+ themeIcon,
561
564
  };
562
565
  }
563
566
 
@@ -32,7 +32,6 @@ import { DebugSourceBreakpoint } from '@theia/debug/lib/browser/model/debug-sour
32
32
  import { URI as Uri } from '@theia/core/shared/vscode-uri';
33
33
  import { SourceBreakpoint, FunctionBreakpoint } from '@theia/debug/lib/browser/breakpoint/breakpoint-marker';
34
34
  import { DebugConfiguration, DebugSessionOptions } from '@theia/debug/lib/common/debug-configuration';
35
- import { ConnectionMainImpl } from '../connection-main';
36
35
  import { DebuggerDescription } from '@theia/debug/lib/common/debug-service';
37
36
  import { DebugProtocol } from 'vscode-debugprotocol';
38
37
  import { DebugConfigurationManager } from '@theia/debug/lib/browser/debug-configuration-manager';
@@ -44,7 +43,6 @@ import { PluginDebugAdapterContribution } from './plugin-debug-adapter-contribut
44
43
  import { PluginDebugSessionContributionRegistrator, PluginDebugSessionContributionRegistry } from './plugin-debug-session-contribution-registry';
45
44
  import { Disposable, DisposableCollection } from '@theia/core/lib/common/disposable';
46
45
  import { PluginDebugSessionFactory } from './plugin-debug-session-factory';
47
- import { PluginWebSocketChannel } from '../../../common/connection';
48
46
  import { PluginDebugAdapterContributionRegistrator, PluginDebugService } from './plugin-debug-service';
49
47
  import { HostedPluginSupport } from '../../../hosted/browser/hosted-plugin';
50
48
  import { DebugFunctionBreakpoint } from '@theia/debug/lib/browser/model/debug-function-breakpoint';
@@ -53,6 +51,7 @@ import { ConsoleSessionManager } from '@theia/console/lib/browser/console-sessio
53
51
  import { DebugConsoleSession } from '@theia/debug/lib/browser/console/debug-console-session';
54
52
  import { ContributionProvider } from '@theia/core/lib/common';
55
53
  import { DebugContribution } from '@theia/debug/lib/browser/debug-contribution';
54
+ import { ConnectionImpl } from '../../../common/connection';
56
55
 
57
56
  export class DebugMainImpl implements DebugMain, Disposable {
58
57
  private readonly debugExt: DebugExt;
@@ -76,7 +75,7 @@ export class DebugMainImpl implements DebugMain, Disposable {
76
75
  private readonly debuggerContributions = new Map<string, DisposableCollection>();
77
76
  private readonly toDispose = new DisposableCollection();
78
77
 
79
- constructor(rpc: RPCProtocol, readonly connectionMain: ConnectionMainImpl, container: interfaces.Container) {
78
+ constructor(rpc: RPCProtocol, readonly connectionMain: ConnectionImpl, container: interfaces.Container) {
80
79
  this.debugExt = rpc.getProxy(MAIN_RPC_CONTEXT.DEBUG_EXT);
81
80
  this.sessionManager = container.get(DebugSessionManager);
82
81
  this.labelProvider = container.get(LabelProvider);
@@ -149,7 +148,7 @@ export class DebugMainImpl implements DebugMain, Disposable {
149
148
  this.debugPreferences,
150
149
  async (sessionId: string) => {
151
150
  const connection = await this.connectionMain.ensureConnection(sessionId);
152
- return new PluginWebSocketChannel(connection);
151
+ return connection;
153
152
  },
154
153
  this.fileService,
155
154
  terminalOptionsExt,
@@ -25,12 +25,12 @@ import { DebugPreferences } from '@theia/debug/lib/browser/debug-preferences';
25
25
  import { DebugSessionOptions } from '@theia/debug/lib/browser/debug-session-options';
26
26
  import { DebugSession } from '@theia/debug/lib/browser/debug-session';
27
27
  import { DebugSessionConnection } from '@theia/debug/lib/browser/debug-session-connection';
28
- import { IWebSocket } from '@theia/core/shared/vscode-ws-jsonrpc';
29
28
  import { TerminalWidgetOptions, TerminalWidget } from '@theia/terminal/lib/browser/base/terminal-widget';
30
29
  import { TerminalOptionsExt } from '../../../common/plugin-api-rpc';
31
30
  import { FileService } from '@theia/filesystem/lib/browser/file-service';
32
31
  import { DebugContribution } from '@theia/debug/lib/browser/debug-contribution';
33
32
  import { ContributionProvider } from '@theia/core/lib/common/contribution-provider';
33
+ import { Channel } from '@theia/debug/lib/common/debug-service';
34
34
 
35
35
  export class PluginDebugSession extends DebugSession {
36
36
  constructor(
@@ -57,7 +57,7 @@ export class PluginDebugSession extends DebugSession {
57
57
 
58
58
  /**
59
59
  * Session factory for a client debug session that communicates with debug adapter contributed as plugin.
60
- * The main difference is to use a connection factory that creates [IWebSocket](#IWebSocket) over Rpc channel.
60
+ * The main difference is to use a connection factory that creates [Channel](#Channel) over Rpc channel.
61
61
  */
62
62
  export class PluginDebugSessionFactory extends DefaultDebugSessionFactory {
63
63
  constructor(
@@ -68,7 +68,7 @@ export class PluginDebugSessionFactory extends DefaultDebugSessionFactory {
68
68
  protected readonly messages: MessageClient,
69
69
  protected readonly outputChannelManager: OutputChannelManager,
70
70
  protected readonly debugPreferences: DebugPreferences,
71
- protected readonly connectionFactory: (sessionId: string) => Promise<IWebSocket>,
71
+ protected readonly connectionFactory: (sessionId: string) => Promise<Channel>,
72
72
  protected readonly fileService: FileService,
73
73
  protected readonly terminalOptionsExt: TerminalOptionsExt | undefined,
74
74
  protected readonly debugContributionProvider: ContributionProvider<DebugContribution>
@@ -123,7 +123,7 @@ export class FileSystemMainImpl implements FileSystemMain, Disposable {
123
123
  }
124
124
 
125
125
  $mkdir(uri: UriComponents): Promise<void> {
126
- return this._fileService.createFolder(new CoreURI(URI.revive(uri)))
126
+ return this._fileService.createFolder(new CoreURI(URI.revive(uri)), { fromUserGesture: false })
127
127
  .then(() => undefined).catch(FileSystemMainImpl._handleError);
128
128
  }
129
129
 
@@ -18,7 +18,7 @@ import { CommandRegistryMainImpl } from './command-registry-main';
18
18
  import { PreferenceRegistryMainImpl } from './preference-registry-main';
19
19
  import { QuickOpenMainImpl } from './quick-open-main';
20
20
  import { RPCProtocol } from '../../common/rpc-protocol';
21
- import { PLUGIN_RPC_CONTEXT, LanguagesMainFactory, OutputChannelRegistryFactory } from '../../common/plugin-api-rpc';
21
+ import { PLUGIN_RPC_CONTEXT, LanguagesMainFactory, OutputChannelRegistryFactory, MAIN_RPC_CONTEXT } from '../../common/plugin-api-rpc';
22
22
  import { MessageRegistryMainImpl } from './message-registry-main';
23
23
  import { WindowStateMain } from './window-state-main';
24
24
  import { WorkspaceMainImpl } from './workspace-main';
@@ -29,7 +29,7 @@ import { TerminalServiceMainImpl } from './terminal-main';
29
29
  import { DialogsMainImpl } from './dialogs-main';
30
30
  import { TreeViewsMainImpl } from './view/tree-views-main';
31
31
  import { NotificationMainImpl } from './notification-main';
32
- import { ConnectionMainImpl } from './connection-main';
32
+ import { ConnectionImpl } from '../../common/connection';
33
33
  import { WebviewsMainImpl } from './webviews-main';
34
34
  import { TasksMainImpl } from './tasks-main';
35
35
  import { StorageMainImpl } from './plugin-storage';
@@ -130,7 +130,7 @@ export function setUpPluginApi(rpc: RPCProtocol, container: interfaces.Container
130
130
  const storageMain = new StorageMainImpl(container);
131
131
  rpc.set(PLUGIN_RPC_CONTEXT.STORAGE_MAIN, storageMain);
132
132
 
133
- const connectionMain = new ConnectionMainImpl(rpc);
133
+ const connectionMain = new ConnectionImpl(rpc.getProxy(MAIN_RPC_CONTEXT.CONNECTION_EXT));
134
134
  rpc.set(PLUGIN_RPC_CONTEXT.CONNECTION_MAIN, connectionMain);
135
135
 
136
136
  const tasksMain = new TasksMainImpl(rpc, container);
@@ -218,15 +218,28 @@ export class PluginViewRegistry implements FrontendApplicationContribution {
218
218
  }
219
219
  const toDispose = new DisposableCollection();
220
220
  const containerClass = 'theia-plugin-view-container';
221
+ let themeIconClass = '';
221
222
  const iconClass = 'plugin-view-container-icon-' + viewContainer.id;
222
- const iconUrl = PluginSharedStyle.toExternalIconUrl(viewContainer.iconUrl);
223
- toDispose.push(this.style.insertRule('.' + containerClass + '.' + iconClass, () => `
223
+
224
+ if (viewContainer.themeIcon) {
225
+ const icon = monaco.theme.ThemeIcon.fromString(viewContainer.themeIcon);
226
+ if (icon) {
227
+ themeIconClass = monaco.theme.ThemeIcon.asClassName(icon) ?? '';
228
+ }
229
+ }
230
+
231
+ if (!themeIconClass) {
232
+ const iconUrl = PluginSharedStyle.toExternalIconUrl(viewContainer.iconUrl);
233
+ toDispose.push(this.style.insertRule('.' + containerClass + '.' + iconClass, () => `
224
234
  mask: url('${iconUrl}') no-repeat 50% 50%;
225
235
  -webkit-mask: url('${iconUrl}') no-repeat 50% 50%;
226
236
  `));
237
+ }
238
+
227
239
  toDispose.push(this.doRegisterViewContainer(viewContainer.id, location, {
228
240
  label: viewContainer.title,
229
- iconClass: containerClass + ' ' + iconClass,
241
+ // The container class automatically sets a mask; if we're using a theme icon, we don't want one.
242
+ iconClass: (themeIconClass || containerClass) + ' ' + iconClass,
230
243
  closeable: true
231
244
  }));
232
245
  return toDispose;